agim-cli 1.0.1
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/CHANGELOG.md +1234 -0
- package/LICENSE +21 -0
- package/README.md +422 -0
- package/README.zh-CN.md +414 -0
- package/dist/cli-ui/cmd-handlers.d.ts +11 -0
- package/dist/cli-ui/cmd-handlers.d.ts.map +1 -0
- package/dist/cli-ui/cmd-handlers.js +240 -0
- package/dist/cli-ui/cmd-handlers.js.map +1 -0
- package/dist/cli-ui/config-wizard.d.ts +3 -0
- package/dist/cli-ui/config-wizard.d.ts.map +1 -0
- package/dist/cli-ui/config-wizard.js +851 -0
- package/dist/cli-ui/config-wizard.js.map +1 -0
- package/dist/cli-ui/entry-menu.d.ts +28 -0
- package/dist/cli-ui/entry-menu.d.ts.map +1 -0
- package/dist/cli-ui/entry-menu.js +50 -0
- package/dist/cli-ui/entry-menu.js.map +1 -0
- package/dist/cli-ui/env-file.d.ts +35 -0
- package/dist/cli-ui/env-file.d.ts.map +1 -0
- package/dist/cli-ui/env-file.js +163 -0
- package/dist/cli-ui/env-file.js.map +1 -0
- package/dist/cli-ui/i18n.d.ts +204 -0
- package/dist/cli-ui/i18n.d.ts.map +1 -0
- package/dist/cli-ui/i18n.js +455 -0
- package/dist/cli-ui/i18n.js.map +1 -0
- package/dist/cli-ui/lang-picker.d.ts +10 -0
- package/dist/cli-ui/lang-picker.d.ts.map +1 -0
- package/dist/cli-ui/lang-picker.js +33 -0
- package/dist/cli-ui/lang-picker.js.map +1 -0
- package/dist/cli-ui/paths.d.ts +4 -0
- package/dist/cli-ui/paths.d.ts.map +1 -0
- package/dist/cli-ui/paths.js +11 -0
- package/dist/cli-ui/paths.js.map +1 -0
- package/dist/cli-ui/prompts.d.ts +65 -0
- package/dist/cli-ui/prompts.d.ts.map +1 -0
- package/dist/cli-ui/prompts.js +125 -0
- package/dist/cli-ui/prompts.js.map +1 -0
- package/dist/cli-ui/service.d.ts +41 -0
- package/dist/cli-ui/service.d.ts.map +1 -0
- package/dist/cli-ui/service.js +241 -0
- package/dist/cli-ui/service.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1143 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/acp-server.d.ts +8 -0
- package/dist/core/acp-server.d.ts.map +1 -0
- package/dist/core/acp-server.js +266 -0
- package/dist/core/acp-server.js.map +1 -0
- package/dist/core/agent-base.d.ts +94 -0
- package/dist/core/agent-base.d.ts.map +1 -0
- package/dist/core/agent-base.js +373 -0
- package/dist/core/agent-base.js.map +1 -0
- package/dist/core/agent-cwd.d.ts +48 -0
- package/dist/core/agent-cwd.d.ts.map +1 -0
- package/dist/core/agent-cwd.js +181 -0
- package/dist/core/agent-cwd.js.map +1 -0
- package/dist/core/agent-helper.d.ts +65 -0
- package/dist/core/agent-helper.d.ts.map +1 -0
- package/dist/core/agent-helper.js +150 -0
- package/dist/core/agent-helper.js.map +1 -0
- package/dist/core/agim-paths.d.ts +10 -0
- package/dist/core/agim-paths.d.ts.map +1 -0
- package/dist/core/agim-paths.js +64 -0
- package/dist/core/agim-paths.js.map +1 -0
- package/dist/core/approval-bus.d.ts +300 -0
- package/dist/core/approval-bus.d.ts.map +1 -0
- package/dist/core/approval-bus.js +990 -0
- package/dist/core/approval-bus.js.map +1 -0
- package/dist/core/approval-router.d.ts +101 -0
- package/dist/core/approval-router.d.ts.map +1 -0
- package/dist/core/approval-router.js +540 -0
- package/dist/core/approval-router.js.map +1 -0
- package/dist/core/audit-log.d.ts +55 -0
- package/dist/core/audit-log.d.ts.map +1 -0
- package/dist/core/audit-log.js +203 -0
- package/dist/core/audit-log.js.map +1 -0
- package/dist/core/bgjob-reader.d.ts +65 -0
- package/dist/core/bgjob-reader.d.ts.map +1 -0
- package/dist/core/bgjob-reader.js +212 -0
- package/dist/core/bgjob-reader.js.map +1 -0
- package/dist/core/circuit-breaker.d.ts +37 -0
- package/dist/core/circuit-breaker.d.ts.map +1 -0
- package/dist/core/circuit-breaker.js +115 -0
- package/dist/core/circuit-breaker.js.map +1 -0
- package/dist/core/commands/agent.d.ts +4 -0
- package/dist/core/commands/agent.d.ts.map +1 -0
- package/dist/core/commands/agent.js +40 -0
- package/dist/core/commands/agent.js.map +1 -0
- package/dist/core/commands/approval.d.ts +3 -0
- package/dist/core/commands/approval.d.ts.map +1 -0
- package/dist/core/commands/approval.js +85 -0
- package/dist/core/commands/approval.js.map +1 -0
- package/dist/core/commands/audit.d.ts +3 -0
- package/dist/core/commands/audit.d.ts.map +1 -0
- package/dist/core/commands/audit.js +84 -0
- package/dist/core/commands/audit.js.map +1 -0
- package/dist/core/commands/builtin.d.ts +3 -0
- package/dist/core/commands/builtin.d.ts.map +1 -0
- package/dist/core/commands/builtin.js +304 -0
- package/dist/core/commands/builtin.js.map +1 -0
- package/dist/core/commands/cron.d.ts +3 -0
- package/dist/core/commands/cron.d.ts.map +1 -0
- package/dist/core/commands/cron.js +128 -0
- package/dist/core/commands/cron.js.map +1 -0
- package/dist/core/commands/job.d.ts +3 -0
- package/dist/core/commands/job.d.ts.map +1 -0
- package/dist/core/commands/job.js +195 -0
- package/dist/core/commands/job.js.map +1 -0
- package/dist/core/commands/memo.d.ts +3 -0
- package/dist/core/commands/memo.d.ts.map +1 -0
- package/dist/core/commands/memo.js +151 -0
- package/dist/core/commands/memo.js.map +1 -0
- package/dist/core/commands/model.d.ts +9 -0
- package/dist/core/commands/model.d.ts.map +1 -0
- package/dist/core/commands/model.js +183 -0
- package/dist/core/commands/model.js.map +1 -0
- package/dist/core/commands/plan.d.ts +3 -0
- package/dist/core/commands/plan.d.ts.map +1 -0
- package/dist/core/commands/plan.js +75 -0
- package/dist/core/commands/plan.js.map +1 -0
- package/dist/core/commands/remind.d.ts +3 -0
- package/dist/core/commands/remind.d.ts.map +1 -0
- package/dist/core/commands/remind.js +271 -0
- package/dist/core/commands/remind.js.map +1 -0
- package/dist/core/commands/router.d.ts +3 -0
- package/dist/core/commands/router.d.ts.map +1 -0
- package/dist/core/commands/router.js +71 -0
- package/dist/core/commands/router.js.map +1 -0
- package/dist/core/commands/sessions.d.ts +3 -0
- package/dist/core/commands/sessions.d.ts.map +1 -0
- package/dist/core/commands/sessions.js +88 -0
- package/dist/core/commands/sessions.js.map +1 -0
- package/dist/core/commands/stats.d.ts +3 -0
- package/dist/core/commands/stats.d.ts.map +1 -0
- package/dist/core/commands/stats.js +73 -0
- package/dist/core/commands/stats.js.map +1 -0
- package/dist/core/commands/think.d.ts +3 -0
- package/dist/core/commands/think.d.ts.map +1 -0
- package/dist/core/commands/think.js +28 -0
- package/dist/core/commands/think.js.map +1 -0
- package/dist/core/commands/workspaces.d.ts +3 -0
- package/dist/core/commands/workspaces.d.ts.map +1 -0
- package/dist/core/commands/workspaces.js +47 -0
- package/dist/core/commands/workspaces.js.map +1 -0
- package/dist/core/config-schema.d.ts +60 -0
- package/dist/core/config-schema.d.ts.map +1 -0
- package/dist/core/config-schema.js +75 -0
- package/dist/core/config-schema.js.map +1 -0
- package/dist/core/coord-systems.d.ts +65 -0
- package/dist/core/coord-systems.d.ts.map +1 -0
- package/dist/core/coord-systems.js +229 -0
- package/dist/core/coord-systems.js.map +1 -0
- package/dist/core/cron.d.ts +29 -0
- package/dist/core/cron.d.ts.map +1 -0
- package/dist/core/cron.js +184 -0
- package/dist/core/cron.js.map +1 -0
- package/dist/core/event-bus.d.ts +80 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +62 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/intent-llm.d.ts +27 -0
- package/dist/core/intent-llm.d.ts.map +1 -0
- package/dist/core/intent-llm.js +170 -0
- package/dist/core/intent-llm.js.map +1 -0
- package/dist/core/intent.d.ts +12 -0
- package/dist/core/intent.d.ts.map +1 -0
- package/dist/core/intent.js +187 -0
- package/dist/core/intent.js.map +1 -0
- package/dist/core/job-board.d.ts +82 -0
- package/dist/core/job-board.d.ts.map +1 -0
- package/dist/core/job-board.js +379 -0
- package/dist/core/job-board.js.map +1 -0
- package/dist/core/location-context.d.ts +32 -0
- package/dist/core/location-context.d.ts.map +1 -0
- package/dist/core/location-context.js +69 -0
- package/dist/core/location-context.js.map +1 -0
- package/dist/core/location-token.d.ts +57 -0
- package/dist/core/location-token.d.ts.map +1 -0
- package/dist/core/location-token.js +128 -0
- package/dist/core/location-token.js.map +1 -0
- package/dist/core/logger.d.ts +6 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +54 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/memo-rpc.d.ts +13 -0
- package/dist/core/memo-rpc.d.ts.map +1 -0
- package/dist/core/memo-rpc.js +288 -0
- package/dist/core/memo-rpc.js.map +1 -0
- package/dist/core/memos.d.ts +163 -0
- package/dist/core/memos.d.ts.map +1 -0
- package/dist/core/memos.js +502 -0
- package/dist/core/memos.js.map +1 -0
- package/dist/core/metrics.d.ts +55 -0
- package/dist/core/metrics.d.ts.map +1 -0
- package/dist/core/metrics.js +291 -0
- package/dist/core/metrics.js.map +1 -0
- package/dist/core/onboarding.d.ts +99 -0
- package/dist/core/onboarding.d.ts.map +1 -0
- package/dist/core/onboarding.js +426 -0
- package/dist/core/onboarding.js.map +1 -0
- package/dist/core/pending-reminder.d.ts +25 -0
- package/dist/core/pending-reminder.d.ts.map +1 -0
- package/dist/core/pending-reminder.js +53 -0
- package/dist/core/pending-reminder.js.map +1 -0
- package/dist/core/rate-limiter.d.ts +44 -0
- package/dist/core/rate-limiter.d.ts.map +1 -0
- package/dist/core/rate-limiter.js +115 -0
- package/dist/core/rate-limiter.js.map +1 -0
- package/dist/core/registry.d.ts +32 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +126 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/remind-intent.d.ts +25 -0
- package/dist/core/remind-intent.d.ts.map +1 -0
- package/dist/core/remind-intent.js +196 -0
- package/dist/core/remind-intent.js.map +1 -0
- package/dist/core/reminder-rpc.d.ts +17 -0
- package/dist/core/reminder-rpc.d.ts.map +1 -0
- package/dist/core/reminder-rpc.js +169 -0
- package/dist/core/reminder-rpc.js.map +1 -0
- package/dist/core/reminders.d.ts +159 -0
- package/dist/core/reminders.d.ts.map +1 -0
- package/dist/core/reminders.js +977 -0
- package/dist/core/reminders.js.map +1 -0
- package/dist/core/router.d.ts +55 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +497 -0
- package/dist/core/router.js.map +1 -0
- package/dist/core/schedule.d.ts +65 -0
- package/dist/core/schedule.d.ts.map +1 -0
- package/dist/core/schedule.js +323 -0
- package/dist/core/schedule.js.map +1 -0
- package/dist/core/session.d.ts +182 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +807 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/sqlite-helper.d.ts +37 -0
- package/dist/core/sqlite-helper.d.ts.map +1 -0
- package/dist/core/sqlite-helper.js +79 -0
- package/dist/core/sqlite-helper.js.map +1 -0
- package/dist/core/transcribe.d.ts +25 -0
- package/dist/core/transcribe.d.ts.map +1 -0
- package/dist/core/transcribe.js +217 -0
- package/dist/core/transcribe.js.map +1 -0
- package/dist/core/types.d.ts +360 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +3 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/workspace.d.ts +67 -0
- package/dist/core/workspace.d.ts.map +1 -0
- package/dist/core/workspace.js +113 -0
- package/dist/core/workspace.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/agents/acp/acp-adapter.d.ts +16 -0
- package/dist/plugins/agents/acp/acp-adapter.d.ts.map +1 -0
- package/dist/plugins/agents/acp/acp-adapter.js +49 -0
- package/dist/plugins/agents/acp/acp-adapter.js.map +1 -0
- package/dist/plugins/agents/acp/acp-client.d.ts +32 -0
- package/dist/plugins/agents/acp/acp-client.d.ts.map +1 -0
- package/dist/plugins/agents/acp/acp-client.js +177 -0
- package/dist/plugins/agents/acp/acp-client.js.map +1 -0
- package/dist/plugins/agents/acp/discovery.d.ts +19 -0
- package/dist/plugins/agents/acp/discovery.d.ts.map +1 -0
- package/dist/plugins/agents/acp/discovery.js +111 -0
- package/dist/plugins/agents/acp/discovery.js.map +1 -0
- package/dist/plugins/agents/acp/index.d.ts +4 -0
- package/dist/plugins/agents/acp/index.d.ts.map +1 -0
- package/dist/plugins/agents/acp/index.js +4 -0
- package/dist/plugins/agents/acp/index.js.map +1 -0
- package/dist/plugins/agents/acp/types.d.ts +62 -0
- package/dist/plugins/agents/acp/types.d.ts.map +1 -0
- package/dist/plugins/agents/acp/types.js +5 -0
- package/dist/plugins/agents/acp/types.js.map +1 -0
- package/dist/plugins/agents/claude-code/index.d.ts +25 -0
- package/dist/plugins/agents/claude-code/index.d.ts.map +1 -0
- package/dist/plugins/agents/claude-code/index.js +184 -0
- package/dist/plugins/agents/claude-code/index.js.map +1 -0
- package/dist/plugins/agents/claude-code/mcp-approval-server.d.ts +59 -0
- package/dist/plugins/agents/claude-code/mcp-approval-server.d.ts.map +1 -0
- package/dist/plugins/agents/claude-code/mcp-approval-server.js +645 -0
- package/dist/plugins/agents/claude-code/mcp-approval-server.js.map +1 -0
- package/dist/plugins/agents/codex/build-mcp-cli-args.d.ts +28 -0
- package/dist/plugins/agents/codex/build-mcp-cli-args.d.ts.map +1 -0
- package/dist/plugins/agents/codex/build-mcp-cli-args.js +74 -0
- package/dist/plugins/agents/codex/build-mcp-cli-args.js.map +1 -0
- package/dist/plugins/agents/codex/index.d.ts +53 -0
- package/dist/plugins/agents/codex/index.d.ts.map +1 -0
- package/dist/plugins/agents/codex/index.js +341 -0
- package/dist/plugins/agents/codex/index.js.map +1 -0
- package/dist/plugins/agents/copilot/index.d.ts +35 -0
- package/dist/plugins/agents/copilot/index.d.ts.map +1 -0
- package/dist/plugins/agents/copilot/index.js +182 -0
- package/dist/plugins/agents/copilot/index.js.map +1 -0
- package/dist/plugins/agents/opencode/ensure-mcp-config.d.ts +11 -0
- package/dist/plugins/agents/opencode/ensure-mcp-config.d.ts.map +1 -0
- package/dist/plugins/agents/opencode/ensure-mcp-config.js +100 -0
- package/dist/plugins/agents/opencode/ensure-mcp-config.js.map +1 -0
- package/dist/plugins/agents/opencode/index.d.ts +5 -0
- package/dist/plugins/agents/opencode/index.d.ts.map +1 -0
- package/dist/plugins/agents/opencode/index.js +30 -0
- package/dist/plugins/agents/opencode/index.js.map +1 -0
- package/dist/plugins/agents/opencode/opencode-http-adapter.d.ts +166 -0
- package/dist/plugins/agents/opencode/opencode-http-adapter.d.ts.map +1 -0
- package/dist/plugins/agents/opencode/opencode-http-adapter.js +682 -0
- package/dist/plugins/agents/opencode/opencode-http-adapter.js.map +1 -0
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.d.ts +32 -0
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.d.ts.map +1 -0
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.js +137 -0
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.js.map +1 -0
- package/dist/plugins/agents/opencode/serve-manager.d.ts +27 -0
- package/dist/plugins/agents/opencode/serve-manager.d.ts.map +1 -0
- package/dist/plugins/agents/opencode/serve-manager.js +194 -0
- package/dist/plugins/agents/opencode/serve-manager.js.map +1 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-adapter.d.ts +57 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-adapter.d.ts.map +1 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-adapter.js +409 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-adapter.js.map +1 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-client.d.ts +48 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-client.d.ts.map +1 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-client.js +236 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-client.js.map +1 -0
- package/dist/plugins/messengers/dingtalk/index.d.ts +3 -0
- package/dist/plugins/messengers/dingtalk/index.d.ts.map +1 -0
- package/dist/plugins/messengers/dingtalk/index.js +3 -0
- package/dist/plugins/messengers/dingtalk/index.js.map +1 -0
- package/dist/plugins/messengers/dingtalk/link-coords.d.ts +23 -0
- package/dist/plugins/messengers/dingtalk/link-coords.d.ts.map +1 -0
- package/dist/plugins/messengers/dingtalk/link-coords.js +89 -0
- package/dist/plugins/messengers/dingtalk/link-coords.js.map +1 -0
- package/dist/plugins/messengers/dingtalk/media-store.d.ts +16 -0
- package/dist/plugins/messengers/dingtalk/media-store.d.ts.map +1 -0
- package/dist/plugins/messengers/dingtalk/media-store.js +77 -0
- package/dist/plugins/messengers/dingtalk/media-store.js.map +1 -0
- package/dist/plugins/messengers/dingtalk/types.d.ts +82 -0
- package/dist/plugins/messengers/dingtalk/types.d.ts.map +1 -0
- package/dist/plugins/messengers/dingtalk/types.js +14 -0
- package/dist/plugins/messengers/dingtalk/types.js.map +1 -0
- package/dist/plugins/messengers/discord/discord-adapter.d.ts +21 -0
- package/dist/plugins/messengers/discord/discord-adapter.d.ts.map +1 -0
- package/dist/plugins/messengers/discord/discord-adapter.js +238 -0
- package/dist/plugins/messengers/discord/discord-adapter.js.map +1 -0
- package/dist/plugins/messengers/discord/index.d.ts +4 -0
- package/dist/plugins/messengers/discord/index.d.ts.map +1 -0
- package/dist/plugins/messengers/discord/index.js +4 -0
- package/dist/plugins/messengers/discord/index.js.map +1 -0
- package/dist/plugins/messengers/discord/markdown-to-discord.d.ts +11 -0
- package/dist/plugins/messengers/discord/markdown-to-discord.d.ts.map +1 -0
- package/dist/plugins/messengers/discord/markdown-to-discord.js +59 -0
- package/dist/plugins/messengers/discord/markdown-to-discord.js.map +1 -0
- package/dist/plugins/messengers/discord/types.d.ts +9 -0
- package/dist/plugins/messengers/discord/types.d.ts.map +1 -0
- package/dist/plugins/messengers/discord/types.js +3 -0
- package/dist/plugins/messengers/discord/types.js.map +1 -0
- package/dist/plugins/messengers/email/email-adapter.d.ts +33 -0
- package/dist/plugins/messengers/email/email-adapter.d.ts.map +1 -0
- package/dist/plugins/messengers/email/email-adapter.js +137 -0
- package/dist/plugins/messengers/email/email-adapter.js.map +1 -0
- package/dist/plugins/messengers/feishu/card-builder.d.ts +23 -0
- package/dist/plugins/messengers/feishu/card-builder.d.ts.map +1 -0
- package/dist/plugins/messengers/feishu/card-builder.js +89 -0
- package/dist/plugins/messengers/feishu/card-builder.js.map +1 -0
- package/dist/plugins/messengers/feishu/feishu-adapter.d.ts +23 -0
- package/dist/plugins/messengers/feishu/feishu-adapter.d.ts.map +1 -0
- package/dist/plugins/messengers/feishu/feishu-adapter.js +250 -0
- package/dist/plugins/messengers/feishu/feishu-adapter.js.map +1 -0
- package/dist/plugins/messengers/feishu/feishu-client.d.ts +43 -0
- package/dist/plugins/messengers/feishu/feishu-client.d.ts.map +1 -0
- package/dist/plugins/messengers/feishu/feishu-client.js +118 -0
- package/dist/plugins/messengers/feishu/feishu-client.js.map +1 -0
- package/dist/plugins/messengers/feishu/index.d.ts +4 -0
- package/dist/plugins/messengers/feishu/index.d.ts.map +1 -0
- package/dist/plugins/messengers/feishu/index.js +4 -0
- package/dist/plugins/messengers/feishu/index.js.map +1 -0
- package/dist/plugins/messengers/feishu/types.d.ts +113 -0
- package/dist/plugins/messengers/feishu/types.d.ts.map +1 -0
- package/dist/plugins/messengers/feishu/types.js +4 -0
- package/dist/plugins/messengers/feishu/types.js.map +1 -0
- package/dist/plugins/messengers/telegram/index.d.ts +4 -0
- package/dist/plugins/messengers/telegram/index.d.ts.map +1 -0
- package/dist/plugins/messengers/telegram/index.js +4 -0
- package/dist/plugins/messengers/telegram/index.js.map +1 -0
- package/dist/plugins/messengers/telegram/markdown-to-html.d.ts +5 -0
- package/dist/plugins/messengers/telegram/markdown-to-html.d.ts.map +1 -0
- package/dist/plugins/messengers/telegram/markdown-to-html.js +186 -0
- package/dist/plugins/messengers/telegram/markdown-to-html.js.map +1 -0
- package/dist/plugins/messengers/telegram/media-download.d.ts +59 -0
- package/dist/plugins/messengers/telegram/media-download.d.ts.map +1 -0
- package/dist/plugins/messengers/telegram/media-download.js +228 -0
- package/dist/plugins/messengers/telegram/media-download.js.map +1 -0
- package/dist/plugins/messengers/telegram/telegram-adapter.d.ts +77 -0
- package/dist/plugins/messengers/telegram/telegram-adapter.d.ts.map +1 -0
- package/dist/plugins/messengers/telegram/telegram-adapter.js +880 -0
- package/dist/plugins/messengers/telegram/telegram-adapter.js.map +1 -0
- package/dist/plugins/messengers/telegram/types.d.ts +47 -0
- package/dist/plugins/messengers/telegram/types.d.ts.map +1 -0
- package/dist/plugins/messengers/telegram/types.js +3 -0
- package/dist/plugins/messengers/telegram/types.js.map +1 -0
- package/dist/plugins/messengers/wechat/context-store.d.ts +18 -0
- package/dist/plugins/messengers/wechat/context-store.d.ts.map +1 -0
- package/dist/plugins/messengers/wechat/context-store.js +105 -0
- package/dist/plugins/messengers/wechat/context-store.js.map +1 -0
- package/dist/plugins/messengers/wechat/ilink-adapter.d.ts +71 -0
- package/dist/plugins/messengers/wechat/ilink-adapter.d.ts.map +1 -0
- package/dist/plugins/messengers/wechat/ilink-adapter.js +664 -0
- package/dist/plugins/messengers/wechat/ilink-adapter.js.map +1 -0
- package/dist/plugins/messengers/wechat/ilink-client.d.ts +75 -0
- package/dist/plugins/messengers/wechat/ilink-client.d.ts.map +1 -0
- package/dist/plugins/messengers/wechat/ilink-client.js +331 -0
- package/dist/plugins/messengers/wechat/ilink-client.js.map +1 -0
- package/dist/plugins/messengers/wechat/ilink-types.d.ts +181 -0
- package/dist/plugins/messengers/wechat/ilink-types.d.ts.map +1 -0
- package/dist/plugins/messengers/wechat/ilink-types.js +22 -0
- package/dist/plugins/messengers/wechat/ilink-types.js.map +1 -0
- package/dist/plugins/messengers/wechat/media-download.d.ts +32 -0
- package/dist/plugins/messengers/wechat/media-download.d.ts.map +1 -0
- package/dist/plugins/messengers/wechat/media-download.js +78 -0
- package/dist/plugins/messengers/wechat/media-download.js.map +1 -0
- package/dist/scripts/migrate-gcj02-to-wgs84.d.ts +3 -0
- package/dist/scripts/migrate-gcj02-to-wgs84.d.ts.map +1 -0
- package/dist/scripts/migrate-gcj02-to-wgs84.js +52 -0
- package/dist/scripts/migrate-gcj02-to-wgs84.js.map +1 -0
- package/dist/utils/backoff.d.ts +35 -0
- package/dist/utils/backoff.d.ts.map +1 -0
- package/dist/utils/backoff.js +59 -0
- package/dist/utils/backoff.js.map +1 -0
- package/dist/utils/cross-platform.d.ts +26 -0
- package/dist/utils/cross-platform.d.ts.map +1 -0
- package/dist/utils/cross-platform.js +58 -0
- package/dist/utils/cross-platform.js.map +1 -0
- package/dist/utils/message-split.d.ts +14 -0
- package/dist/utils/message-split.d.ts.map +1 -0
- package/dist/utils/message-split.js +65 -0
- package/dist/utils/message-split.js.map +1 -0
- package/dist/utils/safe-equal.d.ts +2 -0
- package/dist/utils/safe-equal.d.ts.map +1 -0
- package/dist/utils/safe-equal.js +11 -0
- package/dist/utils/safe-equal.js.map +1 -0
- package/dist/web/public/_app.js +196 -0
- package/dist/web/public/index.html +936 -0
- package/dist/web/public/loc.html +305 -0
- package/dist/web/public/login.html +106 -0
- package/dist/web/public/memos.html +271 -0
- package/dist/web/public/reminders.html +234 -0
- package/dist/web/public/settings.html +1355 -0
- package/dist/web/public/tasks.html +1835 -0
- package/dist/web/server.d.ts +12 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +2399 -0
- package/dist/web/server.js.map +1 -0
- package/package.json +92 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
// Claude Code agent adapter
|
|
2
|
+
// Uses --print --output-format stream-json for programmatic interaction
|
|
3
|
+
//
|
|
4
|
+
// Permission flow has two modes, decided per-call in prepareCommand():
|
|
5
|
+
//
|
|
6
|
+
// Approval-routed (default when IM context is present and the bus is up):
|
|
7
|
+
// --permission-mode default
|
|
8
|
+
// --permission-prompt-tool mcp__imhub__request
|
|
9
|
+
// --mcp-config <tmpfile>
|
|
10
|
+
// The MCP sidecar (mcp-approval-server.js) is registered via --mcp-config;
|
|
11
|
+
// it connects to im-hub's approval-bus over a unix socket, and im-hub
|
|
12
|
+
// surfaces approval prompts to the originating IM thread.
|
|
13
|
+
//
|
|
14
|
+
// Legacy "dontAsk" fallback (env IMHUB_APPROVAL_DISABLED=1, OR no IM
|
|
15
|
+
// thread context, OR approvalBus not started):
|
|
16
|
+
// --permission-mode dontAsk
|
|
17
|
+
// Previous behavior — Claude leans entirely on PreToolUse hooks in
|
|
18
|
+
// ~/.claude/settings.json plus the CLAUDE_VIA_IM env signal injected by
|
|
19
|
+
// im-hub.service. Use this when human approval over IM isn't available.
|
|
20
|
+
//
|
|
21
|
+
// IMPORTANT: every per-spawn resource (runId, mcp-config dir, registry
|
|
22
|
+
// entry) lives in the SpawnPlan returned by prepareCommand — never on the
|
|
23
|
+
// adapter instance. The adapter is a singleton and concurrent IM threads
|
|
24
|
+
// would otherwise clobber each other's state mid-spawn.
|
|
25
|
+
import { randomUUID } from 'node:crypto';
|
|
26
|
+
import { mkdtemp, writeFile, rm } from 'node:fs/promises';
|
|
27
|
+
import { tmpdir } from 'node:os';
|
|
28
|
+
import { fileURLToPath } from 'node:url';
|
|
29
|
+
import { dirname, join } from 'node:path';
|
|
30
|
+
import { AgentBase } from '../../../core/agent-base.js';
|
|
31
|
+
import { approvalBus } from '../../../core/approval-bus.js';
|
|
32
|
+
import { resolveAgentCwd } from '../../../core/agent-cwd.js';
|
|
33
|
+
import { logger as rootLogger } from '../../../core/logger.js';
|
|
34
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
35
|
+
const SIDECAR_PATH = join(__dirname, 'mcp-approval-server.js');
|
|
36
|
+
const log = rootLogger.child({ component: 'agent.claude-code' });
|
|
37
|
+
const BASE_ARGS = ['--print', '--verbose', '--output-format', 'stream-json'];
|
|
38
|
+
/** First call with a UUID: --session-id (creates the session under that id).
|
|
39
|
+
* Subsequent calls: --resume (continues from existing). Mixing them up gets
|
|
40
|
+
* you "Session ID already in use" or "session not found". */
|
|
41
|
+
function sessionFlag(opts) {
|
|
42
|
+
if (!opts.agentSessionId)
|
|
43
|
+
return [];
|
|
44
|
+
return opts.agentSessionResume
|
|
45
|
+
? ['--resume', opts.agentSessionId]
|
|
46
|
+
: ['--session-id', opts.agentSessionId];
|
|
47
|
+
}
|
|
48
|
+
export class ClaudeCodeAdapter extends AgentBase {
|
|
49
|
+
name = 'claude-code';
|
|
50
|
+
aliases = ['cc', 'claude', 'claudecode'];
|
|
51
|
+
get commandName() { return 'claude'; }
|
|
52
|
+
/**
|
|
53
|
+
* Legacy/fallback args — used when approval routing is disabled or not
|
|
54
|
+
* applicable (no IM context, bus down, IMHUB_APPROVAL_DISABLED=1).
|
|
55
|
+
*
|
|
56
|
+
* planMode override: when opts.planMode is true we hand claude
|
|
57
|
+
* `--permission-mode plan` regardless of fallback path. plan is read-only
|
|
58
|
+
* by design so the IM approval bus has nothing to gate, and dontAsk would
|
|
59
|
+
* silently re-allow mutations the user explicitly opted out of.
|
|
60
|
+
*/
|
|
61
|
+
buildArgs(prompt, opts) {
|
|
62
|
+
const mode = opts.planMode ? 'plan' : 'dontAsk';
|
|
63
|
+
return [
|
|
64
|
+
...sessionFlag(opts),
|
|
65
|
+
...BASE_ARGS,
|
|
66
|
+
'--permission-mode', mode,
|
|
67
|
+
prompt,
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
async prepareCommand(prompt, opts) {
|
|
71
|
+
// Cwd is computed once and shared by all return paths below — both the
|
|
72
|
+
// approval-routed path and every fallback ("dontAsk", missing IM context,
|
|
73
|
+
// tmpdir failure, etc.). Skipping cwd on the fallbacks would silently
|
|
74
|
+
// demote those calls back to im-hub's "/" cwd and leak across memory.
|
|
75
|
+
const cwd = resolveAgentCwd(this.name, opts);
|
|
76
|
+
// Plan mode short-circuits the approval-bus pipeline: claude's `plan`
|
|
77
|
+
// permission mode is strictly read-only, so there are no mutating tools
|
|
78
|
+
// for the IM bridge to gate. Skipping the mcp-config tmpdir + bus run
|
|
79
|
+
// registration also keeps cleanup trivial. buildArgs picks `--permission-mode plan`
|
|
80
|
+
// when opts.planMode is true.
|
|
81
|
+
if (opts.planMode) {
|
|
82
|
+
return { args: this.buildArgs(prompt, opts), cwd };
|
|
83
|
+
}
|
|
84
|
+
if (process.env.IMHUB_APPROVAL_DISABLED === '1') {
|
|
85
|
+
return { args: this.buildArgs(prompt, opts), cwd };
|
|
86
|
+
}
|
|
87
|
+
const sockPath = approvalBus.getSocketPath();
|
|
88
|
+
if (!sockPath)
|
|
89
|
+
return { args: this.buildArgs(prompt, opts), cwd }; // bus not started
|
|
90
|
+
const { threadId, platform, channelId, userId } = opts;
|
|
91
|
+
if (!threadId || !platform || !channelId) {
|
|
92
|
+
// Non-IM call (web/scheduler/intent-llm) — no thread to route prompts to.
|
|
93
|
+
// resolveAgentCwd returns undefined here too, so cwd ends up undefined and
|
|
94
|
+
// the spawn inherits im-hub's cwd, matching the historical behavior.
|
|
95
|
+
return { args: this.buildArgs(prompt, opts), cwd };
|
|
96
|
+
}
|
|
97
|
+
const runId = randomUUID();
|
|
98
|
+
let configDir;
|
|
99
|
+
try {
|
|
100
|
+
configDir = await mkdtemp(join(tmpdir(), 'imhub-mcp-'));
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
log.warn({ event: 'claude.approval.mkdtemp_failed', err: String(err) }, 'Falling back to dontAsk: cannot create mcp-config tmpdir');
|
|
104
|
+
return { args: this.buildArgs(prompt, opts), cwd };
|
|
105
|
+
}
|
|
106
|
+
const configPath = join(configDir, 'mcp.json');
|
|
107
|
+
const config = {
|
|
108
|
+
mcpServers: {
|
|
109
|
+
imhub: {
|
|
110
|
+
command: process.execPath,
|
|
111
|
+
args: [SIDECAR_PATH],
|
|
112
|
+
env: {
|
|
113
|
+
IMHUB_APPROVAL_SOCK: sockPath,
|
|
114
|
+
IMHUB_RUN_ID: runId,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
try {
|
|
120
|
+
await writeFile(configPath, JSON.stringify(config), 'utf8');
|
|
121
|
+
}
|
|
122
|
+
catch (err) {
|
|
123
|
+
log.warn({ event: 'claude.approval.write_config_failed', err: String(err) }, 'Falling back to dontAsk: cannot write mcp-config');
|
|
124
|
+
try {
|
|
125
|
+
await rm(configDir, { recursive: true, force: true });
|
|
126
|
+
}
|
|
127
|
+
catch { /* ignore */ }
|
|
128
|
+
return { args: this.buildArgs(prompt, opts), cwd };
|
|
129
|
+
}
|
|
130
|
+
approvalBus.registerRun(runId, {
|
|
131
|
+
threadId, platform, userId: userId ?? '', channelId,
|
|
132
|
+
});
|
|
133
|
+
log.info({ event: 'claude.approval.routed', runId, threadId, platform }, 'Claude run routed via approval-bus');
|
|
134
|
+
// Closure captures runId + configDir locally — concurrent runs each have
|
|
135
|
+
// their own copy, so cleanup never deletes another spawn's tmpdir.
|
|
136
|
+
return {
|
|
137
|
+
args: [
|
|
138
|
+
...sessionFlag(opts),
|
|
139
|
+
// ORDER MATTERS: --mcp-config takes <configs...> (variadic). Place it
|
|
140
|
+
// before another `-X` flag so it sees exactly one file path, not the
|
|
141
|
+
// prompt as a second config file.
|
|
142
|
+
'--mcp-config', configPath,
|
|
143
|
+
...BASE_ARGS,
|
|
144
|
+
'--permission-mode', 'default',
|
|
145
|
+
'--permission-prompt-tool', 'mcp__imhub__request',
|
|
146
|
+
prompt,
|
|
147
|
+
],
|
|
148
|
+
cwd,
|
|
149
|
+
cleanup: async () => {
|
|
150
|
+
approvalBus.unregisterRun(runId);
|
|
151
|
+
try {
|
|
152
|
+
await rm(configDir, { recursive: true, force: true });
|
|
153
|
+
}
|
|
154
|
+
catch { /* ignore */ }
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
extractText(event) {
|
|
159
|
+
const msg = event;
|
|
160
|
+
if (msg.type === 'assistant' && msg.message?.content) {
|
|
161
|
+
const parts = [];
|
|
162
|
+
for (const item of msg.message.content) {
|
|
163
|
+
if (item.type === 'text' && item.text)
|
|
164
|
+
parts.push(item.text);
|
|
165
|
+
}
|
|
166
|
+
return parts.join('');
|
|
167
|
+
}
|
|
168
|
+
return '';
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
export const claudeCodeAdapter = new ClaudeCodeAdapter();
|
|
172
|
+
// Test-only escape hatch — drives prepareCommand/buildArgs without going
|
|
173
|
+
// through the spawnStream pipeline.
|
|
174
|
+
export const _testInternals = {
|
|
175
|
+
async prepareCommand(adapter, prompt, opts) {
|
|
176
|
+
// @ts-expect-error — protected; tests reach in deliberately
|
|
177
|
+
return adapter.prepareCommand(prompt, opts);
|
|
178
|
+
},
|
|
179
|
+
buildArgs(adapter, prompt, opts = {}) {
|
|
180
|
+
// @ts-expect-error
|
|
181
|
+
return adapter.buildArgs(prompt, opts);
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/agents/claude-code/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,wEAAwE;AACxE,EAAE;AACF,uEAAuE;AACvE,EAAE;AACF,4EAA4E;AAC5E,gCAAgC;AAChC,mDAAmD;AACnD,6BAA6B;AAC7B,6EAA6E;AAC7E,wEAAwE;AACxE,4DAA4D;AAC5D,EAAE;AACF,uEAAuE;AACvE,iDAAiD;AACjD,gCAAgC;AAChC,qEAAqE;AACrE,0EAA0E;AAC1E,0EAA0E;AAC1E,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,yEAAyE;AACzE,wDAAwD;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAkB,MAAM,6BAA6B,CAAA;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAE9D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAA;AAC9D,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAA;AAEhE,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAU,CAAA;AAErF;;8DAE8D;AAC9D,SAAS,WAAW,CAAC,IAAmB;IACtC,IAAI,CAAC,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAA;IACnC,OAAO,IAAI,CAAC,kBAAkB;QAC5B,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC;QACnC,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;AAC3C,CAAC;AAUD,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IACrC,IAAI,GAAG,aAAa,CAAA;IACpB,OAAO,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAEjD,IAAc,WAAW,KAAa,OAAO,QAAQ,CAAA,CAAC,CAAC;IAEvD;;;;;;;;OAQG;IACO,SAAS,CAAC,MAAc,EAAE,IAAmB;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/C,OAAO;YACL,GAAG,WAAW,CAAC,IAAI,CAAC;YACpB,GAAG,SAAS;YACZ,mBAAmB,EAAE,IAAI;YACzB,MAAM;SACP,CAAA;IACH,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,IAAmB;QAChE,uEAAuE;QACvE,0EAA0E;QAC1E,sEAAsE;QACtE,sEAAsE;QACtE,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAE5C,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,oFAAoF;QACpF,8BAA8B;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACpD,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,EAAE,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,CAAA;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA,CAAC,kBAAkB;QAEpF,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACtD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,0EAA0E;YAC1E,2EAA2E;YAC3E,qEAAqE;YACrE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACpD,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;QAE1B,IAAI,SAAiB,CAAA;QACrB,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACpE,0DAA0D,CAAC,CAAA;YAC7D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACpD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAE9C,MAAM,MAAM,GAAG;YACb,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO,CAAC,QAAQ;oBACzB,IAAI,EAAE,CAAC,YAAY,CAAC;oBACpB,GAAG,EAAE;wBACH,mBAAmB,EAAE,QAAQ;wBAC7B,YAAY,EAAE,KAAK;qBACpB;iBACF;aACF;SACF,CAAA;QAED,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACzE,kDAAkD,CAAC,CAAA;YACrD,IAAI,CAAC;gBAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACpF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACpD,CAAC;QAED,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE;YAC7B,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,SAAS;SACpD,CAAC,CAAA;QAEF,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACrE,oCAAoC,CAAC,CAAA;QAEvC,yEAAyE;QACzE,mEAAmE;QACnE,OAAO;YACL,IAAI,EAAE;gBACJ,GAAG,WAAW,CAAC,IAAI,CAAC;gBACpB,sEAAsE;gBACtE,qEAAqE;gBACrE,kCAAkC;gBAClC,cAAc,EAAE,UAAU;gBAC1B,GAAG,SAAS;gBACZ,mBAAmB,EAAE,SAAS;gBAC9B,0BAA0B,EAAE,qBAAqB;gBACjD,MAAM;aACP;YACD,GAAG;YACH,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBAChC,IAAI,CAAC;oBAAC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACtF,CAAC;SACF,CAAA;IACH,CAAC;IAES,WAAW,CAAC,KAAc;QAClC,MAAM,GAAG,GAAG,KAAoB,CAAA;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACrD,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC9D,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAA;AAExD,yEAAyE;AACzE,oCAAoC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,cAAc,CAAC,OAA0B,EAAE,MAAc,EAAE,IAAmB;QAClF,4DAA4D;QAC5D,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IACD,SAAS,CAAC,OAA0B,EAAE,MAAc,EAAE,OAAsB,EAAE;QAC5E,mBAAmB;QACnB,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
interface DecisionAllow {
|
|
3
|
+
behavior: 'allow';
|
|
4
|
+
updatedInput?: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
interface DecisionDeny {
|
|
7
|
+
behavior: 'deny';
|
|
8
|
+
message?: string;
|
|
9
|
+
}
|
|
10
|
+
type Decision = DecisionAllow | DecisionDeny;
|
|
11
|
+
interface ReminderResult {
|
|
12
|
+
ok: boolean;
|
|
13
|
+
result?: unknown;
|
|
14
|
+
error?: string;
|
|
15
|
+
}
|
|
16
|
+
type MemoResult = ReminderResult;
|
|
17
|
+
declare class ApprovalClient {
|
|
18
|
+
private readonly socketPath;
|
|
19
|
+
private readonly runId;
|
|
20
|
+
private socket;
|
|
21
|
+
private buf;
|
|
22
|
+
private pending;
|
|
23
|
+
private pendingReminders;
|
|
24
|
+
private pendingMemos;
|
|
25
|
+
private connectErr;
|
|
26
|
+
private closed;
|
|
27
|
+
private connectPromise;
|
|
28
|
+
constructor(socketPath: string, runId: string);
|
|
29
|
+
private connect;
|
|
30
|
+
private onData;
|
|
31
|
+
private dispatch;
|
|
32
|
+
private onClose;
|
|
33
|
+
/**
|
|
34
|
+
* Send an approval request and wait for the decision. If the bus is
|
|
35
|
+
* unreachable or the connection has dropped, returns a deny synchronously.
|
|
36
|
+
*/
|
|
37
|
+
request(args: {
|
|
38
|
+
toolName: string;
|
|
39
|
+
input: Record<string, unknown>;
|
|
40
|
+
toolUseId: string;
|
|
41
|
+
}): Promise<Decision>;
|
|
42
|
+
/**
|
|
43
|
+
* Send a reminder RPC and wait for the result. Same socket as approvals,
|
|
44
|
+
* different message type. Bus delegates to reminder-rpc.ts which actually
|
|
45
|
+
* touches reminders.db.
|
|
46
|
+
*/
|
|
47
|
+
requestReminder(op: string, payload: Record<string, unknown>): Promise<ReminderResult>;
|
|
48
|
+
/** Same shape as requestReminder, different message type. Bus delegates
|
|
49
|
+
* to memo-rpc.ts which actually writes memos.db. */
|
|
50
|
+
requestMemo(op: string, payload: Record<string, unknown>): Promise<MemoResult>;
|
|
51
|
+
close(): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Build the MCP server. Exposed as a function (rather than top-level `await`)
|
|
55
|
+
* so tests can construct it without spinning up stdio.
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildServer(client: ApprovalClient): McpServer;
|
|
58
|
+
export { ApprovalClient };
|
|
59
|
+
//# sourceMappingURL=mcp-approval-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-approval-server.d.ts","sourceRoot":"","sources":["../../../../src/plugins/agents/claude-code/mcp-approval-server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AASnE,UAAU,aAAa;IAAG,QAAQ,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;AACrF,UAAU,YAAY;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AAC7D,KAAK,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAA;AAS5C,UAAU,cAAc;IACtB,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAUD,KAAK,UAAU,GAAG,cAAc,CAAA;AAGhC,cAAM,cAAc;IAUN,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAU,OAAO,CAAC,QAAQ,CAAC,KAAK;IATvE,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAAe;gBAER,UAAU,EAAE,MAAM,EAAmB,KAAK,EAAE,MAAM;IAI/E,OAAO,CAAC,OAAO;IA0Bf,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,QAAQ;IAwDhB,OAAO,CAAC,OAAO;IAmBf;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9B,SAAS,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2BrB;;;;OAIG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAyB5F;yDACqD;IAC/C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAyB9E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAU7B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAkZ7D;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|