openbotgate 1.0.0
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/LICENSE +21 -0
- package/README.md +293 -0
- package/bin/openbotgate.js +31 -0
- package/dist/config/config.d.ts +56 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +136 -0
- package/dist/config/config.js.map +1 -0
- package/dist/debug.d.ts +2 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/debug.js +33 -0
- package/dist/debug.js.map +1 -0
- package/dist/gateway/bluebubbles.d.ts +12 -0
- package/dist/gateway/bluebubbles.d.ts.map +1 -0
- package/dist/gateway/bluebubbles.js +80 -0
- package/dist/gateway/bluebubbles.js.map +1 -0
- package/dist/gateway/catalog.d.ts +10 -0
- package/dist/gateway/catalog.d.ts.map +1 -0
- package/dist/gateway/catalog.js +28 -0
- package/dist/gateway/catalog.js.map +1 -0
- package/dist/gateway/discord.d.ts +12 -0
- package/dist/gateway/discord.d.ts.map +1 -0
- package/dist/gateway/discord.js +83 -0
- package/dist/gateway/discord.js.map +1 -0
- package/dist/gateway/feishu.d.ts +35 -0
- package/dist/gateway/feishu.d.ts.map +1 -0
- package/dist/gateway/feishu.js +290 -0
- package/dist/gateway/feishu.js.map +1 -0
- package/dist/gateway/googlechat.d.ts +11 -0
- package/dist/gateway/googlechat.d.ts.map +1 -0
- package/dist/gateway/googlechat.js +92 -0
- package/dist/gateway/googlechat.js.map +1 -0
- package/dist/gateway/imessage.d.ts +12 -0
- package/dist/gateway/imessage.d.ts.map +1 -0
- package/dist/gateway/imessage.js +84 -0
- package/dist/gateway/imessage.js.map +1 -0
- package/dist/gateway/index.d.ts +9 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +27 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/line.d.ts +13 -0
- package/dist/gateway/line.d.ts.map +1 -0
- package/dist/gateway/line.js +80 -0
- package/dist/gateway/line.js.map +1 -0
- package/dist/gateway/matrix.d.ts +12 -0
- package/dist/gateway/matrix.d.ts.map +1 -0
- package/dist/gateway/matrix.js +105 -0
- package/dist/gateway/matrix.js.map +1 -0
- package/dist/gateway/mattermost.d.ts +14 -0
- package/dist/gateway/mattermost.d.ts.map +1 -0
- package/dist/gateway/mattermost.js +92 -0
- package/dist/gateway/mattermost.js.map +1 -0
- package/dist/gateway/msteams.d.ts +12 -0
- package/dist/gateway/msteams.d.ts.map +1 -0
- package/dist/gateway/msteams.js +119 -0
- package/dist/gateway/msteams.js.map +1 -0
- package/dist/gateway/nextcloud-talk.d.ts +11 -0
- package/dist/gateway/nextcloud-talk.d.ts.map +1 -0
- package/dist/gateway/nextcloud-talk.js +93 -0
- package/dist/gateway/nextcloud-talk.js.map +1 -0
- package/dist/gateway/nostr.d.ts +15 -0
- package/dist/gateway/nostr.d.ts.map +1 -0
- package/dist/gateway/nostr.js +95 -0
- package/dist/gateway/nostr.js.map +1 -0
- package/dist/gateway/qq-guild.d.ts +14 -0
- package/dist/gateway/qq-guild.d.ts.map +1 -0
- package/dist/gateway/qq-guild.js +121 -0
- package/dist/gateway/qq-guild.js.map +1 -0
- package/dist/gateway/qq.d.ts +14 -0
- package/dist/gateway/qq.d.ts.map +1 -0
- package/dist/gateway/qq.js +121 -0
- package/dist/gateway/qq.js.map +1 -0
- package/dist/gateway/registry.d.ts +4 -0
- package/dist/gateway/registry.d.ts.map +1 -0
- package/dist/gateway/registry.js +38 -0
- package/dist/gateway/registry.js.map +1 -0
- package/dist/gateway/signal.d.ts +12 -0
- package/dist/gateway/signal.d.ts.map +1 -0
- package/dist/gateway/signal.js +80 -0
- package/dist/gateway/signal.js.map +1 -0
- package/dist/gateway/slack.d.ts +12 -0
- package/dist/gateway/slack.d.ts.map +1 -0
- package/dist/gateway/slack.js +83 -0
- package/dist/gateway/slack.js.map +1 -0
- package/dist/gateway/stub.d.ts +7 -0
- package/dist/gateway/stub.d.ts.map +1 -0
- package/dist/gateway/stub.js +23 -0
- package/dist/gateway/stub.js.map +1 -0
- package/dist/gateway/telegram.d.ts +12 -0
- package/dist/gateway/telegram.d.ts.map +1 -0
- package/dist/gateway/telegram.js +61 -0
- package/dist/gateway/telegram.js.map +1 -0
- package/dist/gateway/tlon.d.ts +12 -0
- package/dist/gateway/tlon.d.ts.map +1 -0
- package/dist/gateway/tlon.js +105 -0
- package/dist/gateway/tlon.js.map +1 -0
- package/dist/gateway/types.d.ts +21 -0
- package/dist/gateway/types.d.ts.map +1 -0
- package/dist/gateway/types.js +3 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/gateway/whatsapp.d.ts +12 -0
- package/dist/gateway/whatsapp.d.ts.map +1 -0
- package/dist/gateway/whatsapp.js +81 -0
- package/dist/gateway/whatsapp.js.map +1 -0
- package/dist/gateway/zalo.d.ts +12 -0
- package/dist/gateway/zalo.d.ts.map +1 -0
- package/dist/gateway/zalo.js +77 -0
- package/dist/gateway/zalo.js.map +1 -0
- package/dist/gateway/zalouser.d.ts +12 -0
- package/dist/gateway/zalouser.d.ts.map +1 -0
- package/dist/gateway/zalouser.js +85 -0
- package/dist/gateway/zalouser.js.map +1 -0
- package/dist/handler/code/agent.d.ts +10 -0
- package/dist/handler/code/agent.d.ts.map +1 -0
- package/dist/handler/code/agent.js +63 -0
- package/dist/handler/code/agent.js.map +1 -0
- package/dist/handler/code/code.d.ts +15 -0
- package/dist/handler/code/code.d.ts.map +1 -0
- package/dist/handler/code/code.js +129 -0
- package/dist/handler/code/code.js.map +1 -0
- package/dist/handler/code/model.d.ts +10 -0
- package/dist/handler/code/model.d.ts.map +1 -0
- package/dist/handler/code/model.js +63 -0
- package/dist/handler/code/model.js.map +1 -0
- package/dist/handler/code/new.d.ts +7 -0
- package/dist/handler/code/new.d.ts.map +1 -0
- package/dist/handler/code/new.js +27 -0
- package/dist/handler/code/new.js.map +1 -0
- package/dist/handler/code/opencode.d.ts +12 -0
- package/dist/handler/code/opencode.d.ts.map +1 -0
- package/dist/handler/code/opencode.js +88 -0
- package/dist/handler/code/opencode.js.map +1 -0
- package/dist/handler/code/session.d.ts +9 -0
- package/dist/handler/code/session.d.ts.map +1 -0
- package/dist/handler/code/session.js +55 -0
- package/dist/handler/code/session.js.map +1 -0
- package/dist/handler/code/workspace.d.ts +10 -0
- package/dist/handler/code/workspace.d.ts.map +1 -0
- package/dist/handler/code/workspace.js +80 -0
- package/dist/handler/code/workspace.js.map +1 -0
- package/dist/handler/commands/agent.d.ts +10 -0
- package/dist/handler/commands/agent.d.ts.map +1 -0
- package/dist/handler/commands/agent.js +63 -0
- package/dist/handler/commands/agent.js.map +1 -0
- package/dist/handler/commands/async.d.ts +3 -0
- package/dist/handler/commands/async.d.ts.map +1 -0
- package/dist/handler/commands/async.js +30 -0
- package/dist/handler/commands/async.js.map +1 -0
- package/dist/handler/commands/claude.d.ts +3 -0
- package/dist/handler/commands/claude.d.ts.map +1 -0
- package/dist/handler/commands/claude.js +19 -0
- package/dist/handler/commands/claude.js.map +1 -0
- package/dist/handler/commands/code.d.ts +15 -0
- package/dist/handler/commands/code.d.ts.map +1 -0
- package/dist/handler/commands/code.js +133 -0
- package/dist/handler/commands/code.js.map +1 -0
- package/dist/handler/commands/git.d.ts +3 -0
- package/dist/handler/commands/git.d.ts.map +1 -0
- package/dist/handler/commands/git.js +25 -0
- package/dist/handler/commands/git.js.map +1 -0
- package/dist/handler/commands/help.d.ts +3 -0
- package/dist/handler/commands/help.d.ts.map +1 -0
- package/dist/handler/commands/help.js +49 -0
- package/dist/handler/commands/help.js.map +1 -0
- package/dist/handler/commands/index.d.ts +10 -0
- package/dist/handler/commands/index.d.ts.map +1 -0
- package/dist/handler/commands/index.js +43 -0
- package/dist/handler/commands/index.js.map +1 -0
- package/dist/handler/commands/model.d.ts +10 -0
- package/dist/handler/commands/model.d.ts.map +1 -0
- package/dist/handler/commands/model.js +63 -0
- package/dist/handler/commands/model.js.map +1 -0
- package/dist/handler/commands/new.d.ts +3 -0
- package/dist/handler/commands/new.d.ts.map +1 -0
- package/dist/handler/commands/new.js +25 -0
- package/dist/handler/commands/new.js.map +1 -0
- package/dist/handler/commands/opencode.d.ts +12 -0
- package/dist/handler/commands/opencode.d.ts.map +1 -0
- package/dist/handler/commands/opencode.js +131 -0
- package/dist/handler/commands/opencode.js.map +1 -0
- package/dist/handler/commands/session.d.ts +9 -0
- package/dist/handler/commands/session.d.ts.map +1 -0
- package/dist/handler/commands/session.js +55 -0
- package/dist/handler/commands/session.js.map +1 -0
- package/dist/handler/commands/shell.d.ts +11 -0
- package/dist/handler/commands/shell.d.ts.map +1 -0
- package/dist/handler/commands/shell.js +142 -0
- package/dist/handler/commands/shell.js.map +1 -0
- package/dist/handler/commands/status.d.ts +3 -0
- package/dist/handler/commands/status.d.ts.map +1 -0
- package/dist/handler/commands/status.js +21 -0
- package/dist/handler/commands/status.js.map +1 -0
- package/dist/handler/commands/sync.d.ts +3 -0
- package/dist/handler/commands/sync.d.ts.map +1 -0
- package/dist/handler/commands/sync.js +26 -0
- package/dist/handler/commands/sync.js.map +1 -0
- package/dist/handler/commands/tasks.d.ts +10 -0
- package/dist/handler/commands/tasks.d.ts.map +1 -0
- package/dist/handler/commands/tasks.js +58 -0
- package/dist/handler/commands/tasks.js.map +1 -0
- package/dist/handler/commands/utils.d.ts +10 -0
- package/dist/handler/commands/utils.d.ts.map +1 -0
- package/dist/handler/commands/utils.js +63 -0
- package/dist/handler/commands/utils.js.map +1 -0
- package/dist/handler/commands/workspace.d.ts +10 -0
- package/dist/handler/commands/workspace.d.ts.map +1 -0
- package/dist/handler/commands/workspace.js +80 -0
- package/dist/handler/commands/workspace.js.map +1 -0
- package/dist/handler/dedup.d.ts +3 -0
- package/dist/handler/dedup.d.ts.map +1 -0
- package/dist/handler/dedup.js +29 -0
- package/dist/handler/dedup.js.map +1 -0
- package/dist/handler/index.d.ts +21 -0
- package/dist/handler/index.d.ts.map +1 -0
- package/dist/handler/index.js +189 -0
- package/dist/handler/index.js.map +1 -0
- package/dist/handler/parse.d.ts +30 -0
- package/dist/handler/parse.d.ts.map +1 -0
- package/dist/handler/parse.js +57 -0
- package/dist/handler/parse.js.map +1 -0
- package/dist/handler/session/agent.d.ts +10 -0
- package/dist/handler/session/agent.d.ts.map +1 -0
- package/dist/handler/session/agent.js +63 -0
- package/dist/handler/session/agent.js.map +1 -0
- package/dist/handler/session/model.d.ts +10 -0
- package/dist/handler/session/model.d.ts.map +1 -0
- package/dist/handler/session/model.js +63 -0
- package/dist/handler/session/model.js.map +1 -0
- package/dist/handler/session/new.d.ts +3 -0
- package/dist/handler/session/new.d.ts.map +1 -0
- package/dist/handler/session/new.js +25 -0
- package/dist/handler/session/new.js.map +1 -0
- package/dist/handler/session/session.d.ts +9 -0
- package/dist/handler/session/session.d.ts.map +1 -0
- package/dist/handler/session/session.js +55 -0
- package/dist/handler/session/session.js.map +1 -0
- package/dist/handler/session/workspace.d.ts +10 -0
- package/dist/handler/session/workspace.d.ts.map +1 -0
- package/dist/handler/session/workspace.js +80 -0
- package/dist/handler/session/workspace.js.map +1 -0
- package/dist/handler/shell/git.d.ts +3 -0
- package/dist/handler/shell/git.d.ts.map +1 -0
- package/dist/handler/shell/git.js +25 -0
- package/dist/handler/shell/git.js.map +1 -0
- package/dist/handler/shell/runShell.d.ts +7 -0
- package/dist/handler/shell/runShell.d.ts.map +1 -0
- package/dist/handler/shell/runShell.js +42 -0
- package/dist/handler/shell/runShell.js.map +1 -0
- package/dist/handler/shell/utils.d.ts +10 -0
- package/dist/handler/shell/utils.d.ts.map +1 -0
- package/dist/handler/shell/utils.js +63 -0
- package/dist/handler/shell/utils.js.map +1 -0
- package/dist/handler/streamHandler.d.ts +9 -0
- package/dist/handler/streamHandler.d.ts.map +1 -0
- package/dist/handler/streamHandler.js +49 -0
- package/dist/handler/streamHandler.js.map +1 -0
- package/dist/handler/types.d.ts +36 -0
- package/dist/handler/types.d.ts.map +1 -0
- package/dist/handler/types.js +3 -0
- package/dist/handler/types.js.map +1 -0
- package/dist/handlers/messageHandler.d.ts +3 -0
- package/dist/handlers/messageHandler.d.ts.map +1 -0
- package/dist/handlers/messageHandler.js +249 -0
- package/dist/handlers/messageHandler.js.map +1 -0
- package/dist/handlers/messageHandlerOfficial.d.ts +2 -0
- package/dist/handlers/messageHandlerOfficial.d.ts.map +1 -0
- package/dist/handlers/messageHandlerOfficial.js +302 -0
- package/dist/handlers/messageHandlerOfficial.js.map +1 -0
- package/dist/handlers/messageHandlerV2.d.ts +2 -0
- package/dist/handlers/messageHandlerV2.d.ts.map +1 -0
- package/dist/handlers/messageHandlerV2.js +250 -0
- package/dist/handlers/messageHandlerV2.js.map +1 -0
- package/dist/helloWorld.d.ts +5 -0
- package/dist/helloWorld.d.ts.map +1 -0
- package/dist/helloWorld.js +19 -0
- package/dist/helloWorld.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/indexOfficial.d.ts +4 -0
- package/dist/indexOfficial.d.ts.map +1 -0
- package/dist/indexOfficial.js +92 -0
- package/dist/indexOfficial.js.map +1 -0
- package/dist/indexV2.d.ts +4 -0
- package/dist/indexV2.d.ts.map +1 -0
- package/dist/indexV2.js +109 -0
- package/dist/indexV2.js.map +1 -0
- package/dist/runtime/cliTools.d.ts +17 -0
- package/dist/runtime/cliTools.d.ts.map +1 -0
- package/dist/runtime/cliTools.js +97 -0
- package/dist/runtime/cliTools.js.map +1 -0
- package/dist/runtime/executor.d.ts +27 -0
- package/dist/runtime/executor.d.ts.map +1 -0
- package/dist/runtime/executor.js +108 -0
- package/dist/runtime/executor.js.map +1 -0
- package/dist/runtime/sessionManager.d.ts +42 -0
- package/dist/runtime/sessionManager.d.ts.map +1 -0
- package/dist/runtime/sessionManager.js +161 -0
- package/dist/runtime/sessionManager.js.map +1 -0
- package/dist/runtime/streamHandler.d.ts +9 -0
- package/dist/runtime/streamHandler.d.ts.map +1 -0
- package/dist/runtime/streamHandler.js +49 -0
- package/dist/runtime/streamHandler.js.map +1 -0
- package/dist/runtime/taskManager.d.ts +26 -0
- package/dist/runtime/taskManager.d.ts.map +1 -0
- package/dist/runtime/taskManager.js +153 -0
- package/dist/runtime/taskManager.js.map +1 -0
- package/dist/runtime/tools/base.d.ts +81 -0
- package/dist/runtime/tools/base.d.ts.map +1 -0
- package/dist/runtime/tools/base.js +100 -0
- package/dist/runtime/tools/base.js.map +1 -0
- package/dist/runtime/tools/claudecode.d.ts +19 -0
- package/dist/runtime/tools/claudecode.d.ts.map +1 -0
- package/dist/runtime/tools/claudecode.js +59 -0
- package/dist/runtime/tools/claudecode.js.map +1 -0
- package/dist/runtime/tools/codex.d.ts +19 -0
- package/dist/runtime/tools/codex.d.ts.map +1 -0
- package/dist/runtime/tools/codex.js +68 -0
- package/dist/runtime/tools/codex.js.map +1 -0
- package/dist/runtime/tools/cursor.d.ts +15 -0
- package/dist/runtime/tools/cursor.d.ts.map +1 -0
- package/dist/runtime/tools/cursor.js +33 -0
- package/dist/runtime/tools/cursor.js.map +1 -0
- package/dist/runtime/tools/cursorcode.d.ts +20 -0
- package/dist/runtime/tools/cursorcode.d.ts.map +1 -0
- package/dist/runtime/tools/cursorcode.js +99 -0
- package/dist/runtime/tools/cursorcode.js.map +1 -0
- package/dist/runtime/tools/geminicode.d.ts +20 -0
- package/dist/runtime/tools/geminicode.d.ts.map +1 -0
- package/dist/runtime/tools/geminicode.js +65 -0
- package/dist/runtime/tools/geminicode.js.map +1 -0
- package/dist/runtime/tools/index.d.ts +11 -0
- package/dist/runtime/tools/index.d.ts.map +1 -0
- package/dist/runtime/tools/index.js +36 -0
- package/dist/runtime/tools/index.js.map +1 -0
- package/dist/runtime/tools/kimi.d.ts +16 -0
- package/dist/runtime/tools/kimi.d.ts.map +1 -0
- package/dist/runtime/tools/kimi.js +32 -0
- package/dist/runtime/tools/kimi.js.map +1 -0
- package/dist/runtime/tools/kimicode.d.ts +16 -0
- package/dist/runtime/tools/kimicode.d.ts.map +1 -0
- package/dist/runtime/tools/kimicode.js +43 -0
- package/dist/runtime/tools/kimicode.js.map +1 -0
- package/dist/runtime/tools/nanobot.d.ts +19 -0
- package/dist/runtime/tools/nanobot.d.ts.map +1 -0
- package/dist/runtime/tools/nanobot.js +94 -0
- package/dist/runtime/tools/nanobot.js.map +1 -0
- package/dist/runtime/tools/openaicodex.d.ts +17 -0
- package/dist/runtime/tools/openaicodex.d.ts.map +1 -0
- package/dist/runtime/tools/openaicodex.js +54 -0
- package/dist/runtime/tools/openaicodex.js.map +1 -0
- package/dist/runtime/tools/openclaw.d.ts +24 -0
- package/dist/runtime/tools/openclaw.d.ts.map +1 -0
- package/dist/runtime/tools/openclaw.js +88 -0
- package/dist/runtime/tools/openclaw.js.map +1 -0
- package/dist/runtime/tools/opencode.d.ts +23 -0
- package/dist/runtime/tools/opencode.d.ts.map +1 -0
- package/dist/runtime/tools/opencode.js +82 -0
- package/dist/runtime/tools/opencode.js.map +1 -0
- package/dist/runtime/tools/qwencode.d.ts +17 -0
- package/dist/runtime/tools/qwencode.d.ts.map +1 -0
- package/dist/runtime/tools/qwencode.js +49 -0
- package/dist/runtime/tools/qwencode.js.map +1 -0
- package/dist/runtime/tools/registerAll.d.ts +9 -0
- package/dist/runtime/tools/registerAll.d.ts.map +1 -0
- package/dist/runtime/tools/registerAll.js +29 -0
- package/dist/runtime/tools/registerAll.js.map +1 -0
- package/dist/runtime/tools/registry.d.ts +21 -0
- package/dist/runtime/tools/registry.d.ts.map +1 -0
- package/dist/runtime/tools/registry.js +41 -0
- package/dist/runtime/tools/registry.js.map +1 -0
- package/dist/runtime/tools/types.d.ts +67 -0
- package/dist/runtime/tools/types.d.ts.map +1 -0
- package/dist/runtime/tools/types.js +3 -0
- package/dist/runtime/tools/types.js.map +1 -0
- package/dist/services/cliTools.d.ts +32 -0
- package/dist/services/cliTools.d.ts.map +1 -0
- package/dist/services/cliTools.js +149 -0
- package/dist/services/cliTools.js.map +1 -0
- package/dist/services/commandExecutor.d.ts +29 -0
- package/dist/services/commandExecutor.d.ts.map +1 -0
- package/dist/services/commandExecutor.js +125 -0
- package/dist/services/commandExecutor.js.map +1 -0
- package/dist/services/commandExecutor.test.d.ts +2 -0
- package/dist/services/commandExecutor.test.d.ts.map +1 -0
- package/dist/services/commandExecutor.test.js +54 -0
- package/dist/services/commandExecutor.test.js.map +1 -0
- package/dist/services/feishuService.d.ts +14 -0
- package/dist/services/feishuService.d.ts.map +1 -0
- package/dist/services/feishuService.js +103 -0
- package/dist/services/feishuService.js.map +1 -0
- package/dist/services/feishuServiceOfficial.d.ts +15 -0
- package/dist/services/feishuServiceOfficial.d.ts.map +1 -0
- package/dist/services/feishuServiceOfficial.js +167 -0
- package/dist/services/feishuServiceOfficial.js.map +1 -0
- package/dist/services/feishuServiceV2.d.ts +20 -0
- package/dist/services/feishuServiceV2.d.ts.map +1 -0
- package/dist/services/feishuServiceV2.js +222 -0
- package/dist/services/feishuServiceV2.js.map +1 -0
- package/dist/services/taskManager.d.ts +25 -0
- package/dist/services/taskManager.d.ts.map +1 -0
- package/dist/services/taskManager.js +129 -0
- package/dist/services/taskManager.js.map +1 -0
- package/dist/services/taskManagerSimple.d.ts +25 -0
- package/dist/services/taskManagerSimple.d.ts.map +1 -0
- package/dist/services/taskManagerSimple.js +147 -0
- package/dist/services/taskManagerSimple.js.map +1 -0
- package/dist/testHelloWorld.d.ts +2 -0
- package/dist/testHelloWorld.d.ts.map +1 -0
- package/dist/testHelloWorld.js +18 -0
- package/dist/testHelloWorld.js.map +1 -0
- package/dist/utils/encoding.d.ts +3 -0
- package/dist/utils/encoding.d.ts.map +1 -0
- package/dist/utils/encoding.js +110 -0
- package/dist/utils/encoding.js.map +1 -0
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +192 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/shellEncoding.d.ts +5 -0
- package/dist/utils/shellEncoding.d.ts.map +1 -0
- package/dist/utils/shellEncoding.js +117 -0
- package/dist/utils/shellEncoding.js.map +1 -0
- package/openbotgate.example.yml +60 -0
- package/package.json +81 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseToolAdapter } from './base';
|
|
2
|
+
import type { RunOptions, ToolCapabilities, ToolResult } from './base';
|
|
3
|
+
/**
|
|
4
|
+
* Adapter for Nanobot CLI.
|
|
5
|
+
* Personal AI assistant with basic session support.
|
|
6
|
+
* - Execute: nanobot agent --message "prompt"
|
|
7
|
+
* - Session: --session <id> (default: cli:default)
|
|
8
|
+
* - Windows: needs PYTHONIOENCODING=utf-8 for Unicode
|
|
9
|
+
*/
|
|
10
|
+
export declare class NanobotAdapter extends BaseToolAdapter {
|
|
11
|
+
readonly name = "nanobot";
|
|
12
|
+
readonly commandName = "nanobot";
|
|
13
|
+
readonly displayName = "Nanobot";
|
|
14
|
+
readonly capabilities: ToolCapabilities;
|
|
15
|
+
buildCommand(prompt: string, options: RunOptions): string;
|
|
16
|
+
/** Override execute to set PYTHONIOENCODING for Windows Unicode support */
|
|
17
|
+
execute(prompt: string, options: RunOptions): Promise<ToolResult>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=nanobot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nanobot.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/nanobot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAIvE;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,WAAW,aAAa;IACjC,QAAQ,CAAC,WAAW,aAAa;IACjC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAQrC;IAEF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM;IAUzD,2EAA2E;IACrE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAsDxE"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NanobotAdapter = void 0;
|
|
7
|
+
const base_1 = require("./base");
|
|
8
|
+
const executor_1 = require("../executor");
|
|
9
|
+
const config_1 = require("../../config/config");
|
|
10
|
+
const logger_1 = __importDefault(require("../../utils/logger"));
|
|
11
|
+
/**
|
|
12
|
+
* Adapter for Nanobot CLI.
|
|
13
|
+
* Personal AI assistant with basic session support.
|
|
14
|
+
* - Execute: nanobot agent --message "prompt"
|
|
15
|
+
* - Session: --session <id> (default: cli:default)
|
|
16
|
+
* - Windows: needs PYTHONIOENCODING=utf-8 for Unicode
|
|
17
|
+
*/
|
|
18
|
+
class NanobotAdapter extends base_1.BaseToolAdapter {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.name = 'nanobot';
|
|
22
|
+
this.commandName = 'nanobot';
|
|
23
|
+
this.displayName = 'Nanobot';
|
|
24
|
+
this.capabilities = {
|
|
25
|
+
session: true,
|
|
26
|
+
model: false,
|
|
27
|
+
agent: false,
|
|
28
|
+
compact: false,
|
|
29
|
+
listModels: false,
|
|
30
|
+
listSessions: false,
|
|
31
|
+
listAgents: false,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
buildCommand(prompt, options) {
|
|
35
|
+
const parts = [this.getExecutable(), 'agent', '--message', `"${this.escapePrompt(prompt)}"`];
|
|
36
|
+
if (!options.newSession && options.sessionId) {
|
|
37
|
+
parts.push('--session', options.sessionId);
|
|
38
|
+
}
|
|
39
|
+
return parts.join(' ');
|
|
40
|
+
}
|
|
41
|
+
/** Override execute to set PYTHONIOENCODING for Windows Unicode support */
|
|
42
|
+
async execute(prompt, options) {
|
|
43
|
+
if (!config_1.config.allowedCodeTools.includes(this.name)) {
|
|
44
|
+
return {
|
|
45
|
+
tool: this.name,
|
|
46
|
+
success: false,
|
|
47
|
+
output: '',
|
|
48
|
+
error: `${this.displayName} is not in allowed code tools`,
|
|
49
|
+
duration: 0,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const command = this.buildCommand(prompt, options);
|
|
53
|
+
logger_1.default.debug(`🔧 ${this.displayName} command: ${command}`);
|
|
54
|
+
const startTime = Date.now();
|
|
55
|
+
const timeout = options.timeout ?? config_1.config.execution.codeTimeout ?? config_1.config.execution.timeout;
|
|
56
|
+
const handleOutput = options.onOutput ? (chunk) => {
|
|
57
|
+
const cleaned = chunk.replace(/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g, '').trim();
|
|
58
|
+
if (cleaned) {
|
|
59
|
+
logger_1.default.info(`📺 ${this.name}: ${cleaned}`);
|
|
60
|
+
options.onOutput(cleaned);
|
|
61
|
+
}
|
|
62
|
+
} : undefined;
|
|
63
|
+
try {
|
|
64
|
+
const result = await executor_1.executor.execute(command, {
|
|
65
|
+
timeout,
|
|
66
|
+
workingDir: options.cwd,
|
|
67
|
+
env: { PYTHONIOENCODING: 'utf-8' },
|
|
68
|
+
onStdout: handleOutput,
|
|
69
|
+
onStderr: handleOutput,
|
|
70
|
+
});
|
|
71
|
+
const duration = Date.now() - startTime;
|
|
72
|
+
return {
|
|
73
|
+
tool: this.name,
|
|
74
|
+
success: result.success,
|
|
75
|
+
output: result.stdout,
|
|
76
|
+
error: result.success ? undefined : (result.stderr || 'Command failed'),
|
|
77
|
+
duration,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
const duration = Date.now() - startTime;
|
|
82
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
83
|
+
return {
|
|
84
|
+
tool: this.name,
|
|
85
|
+
success: false,
|
|
86
|
+
output: '',
|
|
87
|
+
error: msg || 'Unknown error occurred',
|
|
88
|
+
duration,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.NanobotAdapter = NanobotAdapter;
|
|
94
|
+
//# sourceMappingURL=nanobot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nanobot.js","sourceRoot":"","sources":["../../../src/runtime/tools/nanobot.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAyC;AACzC,0CAAuC;AAEvC,gDAA6C;AAC7C,gEAAwC;AAExC;;;;;;GAMG;AACH,MAAa,cAAe,SAAQ,sBAAe;IAAnD;;QACW,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,SAAS,CAAC;QACxB,gBAAW,GAAG,SAAS,CAAC;QACxB,iBAAY,GAAqB;YACxC,OAAO,EAAE,IAAI;YACb,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;IAmEJ,CAAC;IAjEC,YAAY,CAAC,MAAc,EAAE,OAAmB;QAC9C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7F,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAmB;QAC/C,IAAI,CAAC,eAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,+BAA+B;gBACzD,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,gBAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,aAAa,OAAO,EAAE,CAAC,CAAC;QAE3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAM,CAAC,SAAS,CAAC,WAAW,IAAI,eAAM,CAAC,SAAS,CAAC,OAAO,CAAC;QAE5F,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAa,EAAE,EAAE;YACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACnF,IAAI,OAAO,EAAE,CAAC;gBACZ,gBAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,QAAS,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC7C,OAAO;gBACP,UAAU,EAAE,OAAO,CAAC,GAAG;gBACvB,GAAG,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBAClC,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC;gBACvE,QAAQ;aACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,GAAG,IAAI,wBAAwB;gBACtC,QAAQ;aACT,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA/ED,wCA+EC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseToolAdapter } from './base';
|
|
2
|
+
import type { RunOptions, ToolCapabilities } from './base';
|
|
3
|
+
/**
|
|
4
|
+
* Adapter for OpenAI Codex CLI.
|
|
5
|
+
* - Execute: codex exec resume [id|--last] "prompt"
|
|
6
|
+
* - Session: resume <id> or resume --last (continue most recent in cwd)
|
|
7
|
+
* - Model: -m model
|
|
8
|
+
*/
|
|
9
|
+
export declare class CodexAdapter extends BaseToolAdapter {
|
|
10
|
+
readonly name = "openaicodex";
|
|
11
|
+
readonly commandName = "codex";
|
|
12
|
+
readonly displayName = "OpenAI Codex";
|
|
13
|
+
readonly capabilities: ToolCapabilities;
|
|
14
|
+
buildCommand(prompt: string, options: RunOptions): string;
|
|
15
|
+
listModels(): Promise<string[]>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=openaicodex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openaicodex.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/openaicodex.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,YAAa,SAAQ,eAAe;IAC/C,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,WAAW;IAC/B,QAAQ,CAAC,WAAW,kBAAkB;IACtC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAQrC;IAEF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM;IAoBnD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAOtC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodexAdapter = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
/**
|
|
6
|
+
* Adapter for OpenAI Codex CLI.
|
|
7
|
+
* - Execute: codex exec resume [id|--last] "prompt"
|
|
8
|
+
* - Session: resume <id> or resume --last (continue most recent in cwd)
|
|
9
|
+
* - Model: -m model
|
|
10
|
+
*/
|
|
11
|
+
class CodexAdapter extends base_1.BaseToolAdapter {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.name = 'openaicodex';
|
|
15
|
+
this.commandName = 'codex';
|
|
16
|
+
this.displayName = 'OpenAI Codex';
|
|
17
|
+
this.capabilities = {
|
|
18
|
+
session: true,
|
|
19
|
+
model: true,
|
|
20
|
+
agent: false,
|
|
21
|
+
compact: false,
|
|
22
|
+
listModels: false,
|
|
23
|
+
listSessions: false,
|
|
24
|
+
listAgents: false,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
buildCommand(prompt, options) {
|
|
28
|
+
const parts = [this.getExecutable(), 'exec'];
|
|
29
|
+
if (!options.newSession) {
|
|
30
|
+
parts.push('resume');
|
|
31
|
+
if (options.sessionId) {
|
|
32
|
+
parts.push(options.sessionId);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
parts.push('--last'); // continue most recent session in cwd
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// newSession: codex exec without resume (start fresh)
|
|
39
|
+
if (options.model)
|
|
40
|
+
parts.push('-m', options.model);
|
|
41
|
+
parts.push('--full-auto');
|
|
42
|
+
parts.push(`"${this.escapePrompt(prompt)}"`);
|
|
43
|
+
return parts.join(' ');
|
|
44
|
+
}
|
|
45
|
+
async listModels() {
|
|
46
|
+
return [
|
|
47
|
+
'o4-mini',
|
|
48
|
+
'o3',
|
|
49
|
+
'gpt-4.1',
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.CodexAdapter = CodexAdapter;
|
|
54
|
+
//# sourceMappingURL=openaicodex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openaicodex.js","sourceRoot":"","sources":["../../../src/runtime/tools/openaicodex.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AAGzC;;;;;GAKG;AACH,MAAa,YAAa,SAAQ,sBAAe;IAAjD;;QACW,SAAI,GAAG,aAAa,CAAC;QACrB,gBAAW,GAAG,OAAO,CAAC;QACtB,gBAAW,GAAG,cAAc,CAAC;QAC7B,iBAAY,GAAqB;YACxC,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SAClB,CAAC;IA6BJ,CAAC;IA3BC,YAAY,CAAC,MAAc,EAAE,OAAmB;QAC9C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,sCAAsC;YAC9D,CAAC;QACH,CAAC;QACD,sDAAsD;QAEtD,IAAI,OAAO,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO;YACL,SAAS;YACT,IAAI;YACJ,SAAS;SACV,CAAC;IACJ,CAAC;CACF;AAzCD,oCAyCC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseToolAdapter } from './base';
|
|
2
|
+
import type { RunOptions, ToolCapabilities, SessionInfo } from './base';
|
|
3
|
+
/**
|
|
4
|
+
* Adapter for OpenClaw CLI.
|
|
5
|
+
* Rich AI agent platform with full session/model/agent management.
|
|
6
|
+
* - Execute: openclaw agent --message "prompt"
|
|
7
|
+
* - Session: --session-id <id>
|
|
8
|
+
* - Agent: --agent <id>
|
|
9
|
+
* - Thinking: --thinking <level>
|
|
10
|
+
* - List models: openclaw models list --json
|
|
11
|
+
* - List sessions: openclaw sessions --json
|
|
12
|
+
* - List agents: openclaw agents list --json
|
|
13
|
+
*/
|
|
14
|
+
export declare class OpenClawAdapter extends BaseToolAdapter {
|
|
15
|
+
readonly name = "openclaw";
|
|
16
|
+
readonly commandName = "openclaw";
|
|
17
|
+
readonly displayName = "OpenClaw";
|
|
18
|
+
readonly capabilities: ToolCapabilities;
|
|
19
|
+
buildCommand(prompt: string, options: RunOptions): string;
|
|
20
|
+
listModels(): Promise<string[]>;
|
|
21
|
+
listSessions(): Promise<SessionInfo[]>;
|
|
22
|
+
listAgents(): Promise<string[]>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=openclaw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/openclaw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAkBxE;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAClD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,cAAc;IAClC,QAAQ,CAAC,WAAW,cAAc;IAClC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAQrC;IAEF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM;IASnD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM/B,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA0BtC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAetC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenClawAdapter = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
/**
|
|
6
|
+
* Adapter for OpenClaw CLI.
|
|
7
|
+
* Rich AI agent platform with full session/model/agent management.
|
|
8
|
+
* - Execute: openclaw agent --message "prompt"
|
|
9
|
+
* - Session: --session-id <id>
|
|
10
|
+
* - Agent: --agent <id>
|
|
11
|
+
* - Thinking: --thinking <level>
|
|
12
|
+
* - List models: openclaw models list --json
|
|
13
|
+
* - List sessions: openclaw sessions --json
|
|
14
|
+
* - List agents: openclaw agents list --json
|
|
15
|
+
*/
|
|
16
|
+
class OpenClawAdapter extends base_1.BaseToolAdapter {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.name = 'openclaw';
|
|
20
|
+
this.commandName = 'openclaw';
|
|
21
|
+
this.displayName = 'OpenClaw';
|
|
22
|
+
this.capabilities = {
|
|
23
|
+
session: true,
|
|
24
|
+
model: true,
|
|
25
|
+
agent: true,
|
|
26
|
+
compact: false,
|
|
27
|
+
listModels: true,
|
|
28
|
+
listSessions: true,
|
|
29
|
+
listAgents: true,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
buildCommand(prompt, options) {
|
|
33
|
+
const parts = [this.getExecutable(), 'agent', '--message', `"${this.escapePrompt(prompt)}"`];
|
|
34
|
+
if (!options.newSession && options.sessionId)
|
|
35
|
+
parts.push('--session-id', options.sessionId);
|
|
36
|
+
if (options.agent)
|
|
37
|
+
parts.push('--agent', options.agent);
|
|
38
|
+
return parts.join(' ');
|
|
39
|
+
}
|
|
40
|
+
async listModels() {
|
|
41
|
+
const output = await this.runHelper(`${this.getExecutable()} models list --plain`);
|
|
42
|
+
if (!output)
|
|
43
|
+
return [];
|
|
44
|
+
return output.split('\n').map(l => l.trim()).filter(Boolean);
|
|
45
|
+
}
|
|
46
|
+
async listSessions() {
|
|
47
|
+
const output = await this.runHelper(`${this.getExecutable()} sessions --json`);
|
|
48
|
+
if (!output)
|
|
49
|
+
return [];
|
|
50
|
+
try {
|
|
51
|
+
const data = JSON.parse(output);
|
|
52
|
+
if (Array.isArray(data)) {
|
|
53
|
+
return data.map((s) => ({
|
|
54
|
+
id: s.id || s.session_id || '',
|
|
55
|
+
title: s.title || s.name || '',
|
|
56
|
+
updatedAt: s.updated_at || s.updatedAt || '',
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Parse line by line if not JSON array
|
|
62
|
+
return output.split('\n')
|
|
63
|
+
.filter(l => l.trim())
|
|
64
|
+
.map(l => {
|
|
65
|
+
const parts = l.split(/\s{2,}/);
|
|
66
|
+
return { id: parts[0] || '', title: parts[1] || '', updatedAt: parts[2] || '' };
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
async listAgents() {
|
|
72
|
+
const output = await this.runHelper(`${this.getExecutable()} agents list --json`);
|
|
73
|
+
if (!output)
|
|
74
|
+
return [];
|
|
75
|
+
try {
|
|
76
|
+
const data = JSON.parse(output);
|
|
77
|
+
if (Array.isArray(data)) {
|
|
78
|
+
return data.map((a) => a.name || a.id || String(a));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return output.split('\n').map(l => l.trim()).filter(Boolean);
|
|
83
|
+
}
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.OpenClawAdapter = OpenClawAdapter;
|
|
88
|
+
//# sourceMappingURL=openclaw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../../src/runtime/tools/openclaw.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AAmBzC;;;;;;;;;;GAUG;AACH,MAAa,eAAgB,SAAQ,sBAAe;IAApD;;QACW,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,UAAU,CAAC;QACzB,gBAAW,GAAG,UAAU,CAAC;QACzB,iBAAY,GAAqB;YACxC,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;SACjB,CAAC;IA0DJ,CAAC;IAxDC,YAAY,CAAC,MAAc,EAAE,OAAmB;QAC9C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7F,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5F,IAAI,OAAO,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAExD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqC,CAAC;YACpE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE;oBAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE;oBAC9B,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE;iBAC7C,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;YACvC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;iBACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACrB,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAClF,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAmC,CAAC;YAClE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAtED,0CAsEC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseToolAdapter } from './base';
|
|
2
|
+
import type { RunOptions, ToolCapabilities, SessionInfo } from './base';
|
|
3
|
+
/**
|
|
4
|
+
* Adapter for OpenCode CLI.
|
|
5
|
+
* - Execute: opencode run "prompt"
|
|
6
|
+
* - Session: -s <id> / --continue (continue last)
|
|
7
|
+
* - Model: -m provider/model
|
|
8
|
+
* - Agent: --agent name
|
|
9
|
+
* - List models: opencode models
|
|
10
|
+
* - List sessions: opencode session list
|
|
11
|
+
* - List agents: opencode agent list
|
|
12
|
+
*/
|
|
13
|
+
export declare class OpenCodeAdapter extends BaseToolAdapter {
|
|
14
|
+
readonly name = "opencode";
|
|
15
|
+
readonly commandName = "opencode";
|
|
16
|
+
readonly displayName = "OpenCode";
|
|
17
|
+
readonly capabilities: ToolCapabilities;
|
|
18
|
+
buildCommand(prompt: string, options: RunOptions): string;
|
|
19
|
+
listModels(): Promise<string[]>;
|
|
20
|
+
listSessions(): Promise<SessionInfo[]>;
|
|
21
|
+
listAgents(): Promise<string[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=opencode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAExE;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAClD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,cAAc;IAClC,QAAQ,CAAC,WAAW,cAAc;IAClC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAQrC;IAEF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM;IAkBnD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM/B,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAqBtC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAKtC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenCodeAdapter = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
/**
|
|
6
|
+
* Adapter for OpenCode CLI.
|
|
7
|
+
* - Execute: opencode run "prompt"
|
|
8
|
+
* - Session: -s <id> / --continue (continue last)
|
|
9
|
+
* - Model: -m provider/model
|
|
10
|
+
* - Agent: --agent name
|
|
11
|
+
* - List models: opencode models
|
|
12
|
+
* - List sessions: opencode session list
|
|
13
|
+
* - List agents: opencode agent list
|
|
14
|
+
*/
|
|
15
|
+
class OpenCodeAdapter extends base_1.BaseToolAdapter {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.name = 'opencode';
|
|
19
|
+
this.commandName = 'opencode';
|
|
20
|
+
this.displayName = 'OpenCode';
|
|
21
|
+
this.capabilities = {
|
|
22
|
+
session: true,
|
|
23
|
+
model: true,
|
|
24
|
+
agent: true,
|
|
25
|
+
compact: true,
|
|
26
|
+
listModels: true,
|
|
27
|
+
listSessions: true,
|
|
28
|
+
listAgents: true,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
buildCommand(prompt, options) {
|
|
32
|
+
const parts = [this.getExecutable(), 'run'];
|
|
33
|
+
if (!options.newSession) {
|
|
34
|
+
if (options.sessionId) {
|
|
35
|
+
parts.push('-s', options.sessionId);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
parts.push('--continue'); // continue last session by default
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// newSession: don't pass -s or --continue (start fresh)
|
|
42
|
+
if (options.model)
|
|
43
|
+
parts.push('-m', options.model);
|
|
44
|
+
if (options.agent)
|
|
45
|
+
parts.push('--agent', options.agent);
|
|
46
|
+
parts.push(`"${this.escapePrompt(prompt)}"`);
|
|
47
|
+
return parts.join(' ');
|
|
48
|
+
}
|
|
49
|
+
async listModels() {
|
|
50
|
+
const output = await this.runHelper(`${this.getExecutable()} models`);
|
|
51
|
+
if (!output)
|
|
52
|
+
return [];
|
|
53
|
+
return output.split('\n').map(l => l.trim()).filter(Boolean);
|
|
54
|
+
}
|
|
55
|
+
async listSessions() {
|
|
56
|
+
const output = await this.runHelper(`${this.getExecutable()} session list`);
|
|
57
|
+
if (!output)
|
|
58
|
+
return [];
|
|
59
|
+
// Parse table output - each line typically: ID Title Updated
|
|
60
|
+
const lines = output.split('\n').filter(l => l.trim() && !l.startsWith('-'));
|
|
61
|
+
const sessions = [];
|
|
62
|
+
for (const line of lines) {
|
|
63
|
+
const parts = line.split(/\s{2,}/).map(p => p.trim()).filter(Boolean);
|
|
64
|
+
if (parts.length >= 2) {
|
|
65
|
+
sessions.push({
|
|
66
|
+
id: parts[0],
|
|
67
|
+
title: parts[1] || '',
|
|
68
|
+
updatedAt: parts[2] || '',
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return sessions;
|
|
73
|
+
}
|
|
74
|
+
async listAgents() {
|
|
75
|
+
const output = await this.runHelper(`${this.getExecutable()} agent list`);
|
|
76
|
+
if (!output)
|
|
77
|
+
return [];
|
|
78
|
+
return output.split('\n').map(l => l.trim()).filter(Boolean);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.OpenCodeAdapter = OpenCodeAdapter;
|
|
82
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/runtime/tools/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseToolAdapter } from './base';
|
|
2
|
+
import type { RunOptions, ToolCapabilities } from './base';
|
|
3
|
+
/**
|
|
4
|
+
* Adapter for Qwen Code CLI.
|
|
5
|
+
* Similar to Claude Code CLI interface.
|
|
6
|
+
* - Execute: qwen -p "prompt"
|
|
7
|
+
* - Session: --resume <id> / --continue
|
|
8
|
+
*/
|
|
9
|
+
export declare class QwenCodeAdapter extends BaseToolAdapter {
|
|
10
|
+
readonly name = "qwencode";
|
|
11
|
+
readonly commandName = "qwen";
|
|
12
|
+
readonly displayName = "Qwen Code";
|
|
13
|
+
readonly capabilities: ToolCapabilities;
|
|
14
|
+
buildCommand(prompt: string, options: RunOptions): string;
|
|
15
|
+
listModels(): Promise<string[]>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=qwencode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qwencode.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/qwencode.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,eAAgB,SAAQ,eAAe;IAClD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,UAAU;IAC9B,QAAQ,CAAC,WAAW,eAAe;IACnC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAQrC;IAEF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM;IAiBnD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAMtC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QwenCodeAdapter = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
/**
|
|
6
|
+
* Adapter for Qwen Code CLI.
|
|
7
|
+
* Similar to Claude Code CLI interface.
|
|
8
|
+
* - Execute: qwen -p "prompt"
|
|
9
|
+
* - Session: --resume <id> / --continue
|
|
10
|
+
*/
|
|
11
|
+
class QwenCodeAdapter extends base_1.BaseToolAdapter {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.name = 'qwencode';
|
|
15
|
+
this.commandName = 'qwen';
|
|
16
|
+
this.displayName = 'Qwen Code';
|
|
17
|
+
this.capabilities = {
|
|
18
|
+
session: true,
|
|
19
|
+
model: false,
|
|
20
|
+
agent: false,
|
|
21
|
+
compact: true,
|
|
22
|
+
listModels: false,
|
|
23
|
+
listSessions: false,
|
|
24
|
+
listAgents: false,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
buildCommand(prompt, options) {
|
|
28
|
+
const parts = [this.getExecutable(), '-p'];
|
|
29
|
+
if (!options.newSession) {
|
|
30
|
+
if (options.sessionId) {
|
|
31
|
+
parts.push('--resume', options.sessionId);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
parts.push('--continue'); // continue last session by default
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// newSession: don't pass --resume or --continue (start fresh)
|
|
38
|
+
parts.push(`"${this.escapePrompt(prompt)}"`);
|
|
39
|
+
return parts.join(' ');
|
|
40
|
+
}
|
|
41
|
+
async listModels() {
|
|
42
|
+
return [
|
|
43
|
+
'qwen3-coder-plus',
|
|
44
|
+
'qwen3-coder',
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.QwenCodeAdapter = QwenCodeAdapter;
|
|
49
|
+
//# sourceMappingURL=qwencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qwencode.js","sourceRoot":"","sources":["../../../src/runtime/tools/qwencode.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AAGzC;;;;;GAKG;AACH,MAAa,eAAgB,SAAQ,sBAAe;IAApD;;QACW,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,MAAM,CAAC;QACrB,gBAAW,GAAG,WAAW,CAAC;QAC1B,iBAAY,GAAqB;YACxC,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SAClB,CAAC;IAyBJ,CAAC;IAvBC,YAAY,CAAC,MAAc,EAAE,OAAmB;QAC9C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,mCAAmC;YAC/D,CAAC;QACH,CAAC;QACD,8DAA8D;QAE9D,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO;YACL,kBAAkB;YAClB,aAAa;SACd,CAAC;IACJ,CAAC;CACF;AArCD,0CAqCC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ToolAdapter } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Register all built-in tool adapters with the registry.
|
|
4
|
+
* Add new adapters here when extending the gateway.
|
|
5
|
+
*/
|
|
6
|
+
export declare function registerAll(registry: {
|
|
7
|
+
register(adapter: ToolAdapter): void;
|
|
8
|
+
}): void;
|
|
9
|
+
//# sourceMappingURL=registerAll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerAll.d.ts","sourceRoot":"","sources":["../../../src/runtime/tools/registerAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAmB3C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAIpF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerAll = registerAll;
|
|
4
|
+
const opencode_1 = require("./opencode");
|
|
5
|
+
const claudecode_1 = require("./claudecode");
|
|
6
|
+
const codex_1 = require("./codex");
|
|
7
|
+
const qwencode_1 = require("./qwencode");
|
|
8
|
+
const kimi_1 = require("./kimi");
|
|
9
|
+
const openclaw_1 = require("./openclaw");
|
|
10
|
+
const nanobot_1 = require("./nanobot");
|
|
11
|
+
const ALL_ADAPTERS = [
|
|
12
|
+
new opencode_1.OpenCodeAdapter(),
|
|
13
|
+
new claudecode_1.ClaudeCodeAdapter(),
|
|
14
|
+
new codex_1.CodexAdapter(),
|
|
15
|
+
new qwencode_1.QwenCodeAdapter(),
|
|
16
|
+
new kimi_1.KimiAdapter(),
|
|
17
|
+
new openclaw_1.OpenClawAdapter(),
|
|
18
|
+
new nanobot_1.NanobotAdapter(),
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* Register all built-in tool adapters with the registry.
|
|
22
|
+
* Add new adapters here when extending the gateway.
|
|
23
|
+
*/
|
|
24
|
+
function registerAll(registry) {
|
|
25
|
+
for (const adapter of ALL_ADAPTERS) {
|
|
26
|
+
registry.register(adapter);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=registerAll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerAll.js","sourceRoot":"","sources":["../../../src/runtime/tools/registerAll.ts"],"names":[],"mappings":";;AAuBA,kCAIC;AA1BD,yCAA6C;AAC7C,6CAAiD;AACjD,mCAAuC;AACvC,yCAA6C;AAC7C,iCAAqC;AACrC,yCAA6C;AAC7C,uCAA2C;AAE3C,MAAM,YAAY,GAAkB;IAClC,IAAI,0BAAe,EAAE;IACrB,IAAI,8BAAiB,EAAE;IACvB,IAAI,oBAAY,EAAE;IAClB,IAAI,0BAAe,EAAE;IACrB,IAAI,kBAAW,EAAE;IACjB,IAAI,0BAAe,EAAE;IACrB,IAAI,wBAAc,EAAE;CACrB,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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ToolAdapter } from './base';
|
|
2
|
+
/**
|
|
3
|
+
* Central registry for all tool adapters.
|
|
4
|
+
* Maps both internal name and command name to adapter instances.
|
|
5
|
+
*/
|
|
6
|
+
declare class ToolRegistry {
|
|
7
|
+
private adapters;
|
|
8
|
+
private commandMap;
|
|
9
|
+
register(adapter: ToolAdapter): void;
|
|
10
|
+
/** Get adapter by internal name (e.g. 'opencode', 'claudecode') */
|
|
11
|
+
get(name: string): ToolAdapter | undefined;
|
|
12
|
+
/** Get adapter by Feishu command name (e.g. 'opencode', 'claude', 'qwen') */
|
|
13
|
+
getByCommand(cmd: string): ToolAdapter | undefined;
|
|
14
|
+
/** List all registered adapters */
|
|
15
|
+
list(): ToolAdapter[];
|
|
16
|
+
/** List only enabled adapters (based on config.allowedCodeTools) */
|
|
17
|
+
getEnabled(): ToolAdapter[];
|
|
18
|
+
}
|
|
19
|
+
export declare const toolRegistry: ToolRegistry;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.toolRegistry = void 0;
|
|
7
|
+
const config_1 = require("../../config/config");
|
|
8
|
+
const logger_1 = __importDefault(require("../../utils/logger"));
|
|
9
|
+
/**
|
|
10
|
+
* Central registry for all tool adapters.
|
|
11
|
+
* Maps both internal name and command name to adapter instances.
|
|
12
|
+
*/
|
|
13
|
+
class ToolRegistry {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.adapters = new Map();
|
|
16
|
+
this.commandMap = new Map();
|
|
17
|
+
}
|
|
18
|
+
register(adapter) {
|
|
19
|
+
this.adapters.set(adapter.name, adapter);
|
|
20
|
+
this.commandMap.set(adapter.commandName, adapter);
|
|
21
|
+
logger_1.default.debug(`📦 Registered tool: ${adapter.displayName} (/${adapter.commandName})`);
|
|
22
|
+
}
|
|
23
|
+
/** Get adapter by internal name (e.g. 'opencode', 'claudecode') */
|
|
24
|
+
get(name) {
|
|
25
|
+
return this.adapters.get(name);
|
|
26
|
+
}
|
|
27
|
+
/** Get adapter by Feishu command name (e.g. 'opencode', 'claude', 'qwen') */
|
|
28
|
+
getByCommand(cmd) {
|
|
29
|
+
return this.commandMap.get(cmd);
|
|
30
|
+
}
|
|
31
|
+
/** List all registered adapters */
|
|
32
|
+
list() {
|
|
33
|
+
return Array.from(this.adapters.values());
|
|
34
|
+
}
|
|
35
|
+
/** List only enabled adapters (based on config.allowedCodeTools) */
|
|
36
|
+
getEnabled() {
|
|
37
|
+
return this.list().filter(adapter => config_1.config.allowedCodeTools.includes(adapter.name));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.toolRegistry = new ToolRegistry();
|
|
41
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +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"}
|