From 439c21e078f168a3e774013c390e4d97b5404174 Mon Sep 17 00:00:00 2001 From: scoootscooob <167050519+scoootscooob@users.noreply.github.com> Date: Sat, 14 Mar 2026 03:43:07 -0700 Subject: [PATCH] refactor: remove channel shim directories, point all imports to extensions (#45967) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: remove channel shim directories, point all imports to extensions Delete the 6 backward-compat shim directories (src/telegram, src/discord, src/slack, src/signal, src/imessage, src/web) that were re-exporting from extensions. Update all 112+ source files to import directly from extensions/{channel}/src/ instead of through the shims. Also: - Move src/channels/telegram/ (allow-from, api) to extensions/telegram/src/ - Fix outbound adapters to use resolveOutboundSendDep (fixes 5 pre-existing TS errors) - Update cross-extension imports (src/web/media.js → extensions/whatsapp/src/media.js) - Update vitest, tsdown, knip, labeler, and script configs for new paths - Update guard test allowlists for extension paths After this, src/ has zero channel-specific implementation code — only the generic plugin framework remains. * fix: update raw-fetch guard allowlist line numbers after shim removal * refactor: document direct extension channel imports * test: mock transcript module in delivery helpers --- .github/labeler.yml | 6 -- CHANGELOG.md | 1 + .../discord/src/monitor/native-command.ts | 2 +- extensions/discord/src/outbound-adapter.ts | 7 +- extensions/discord/src/send.components.ts | 2 +- .../discord/src/send.emojis-stickers.ts | 2 +- extensions/discord/src/send.outbound.ts | 2 +- extensions/discord/src/send.shared.ts | 2 +- extensions/slack/src/send.ts | 2 +- .../telegram/src}/allow-from.test.ts | 0 .../telegram/src}/allow-from.ts | 0 .../telegram/src/api-fetch.test.ts | 2 +- .../telegram/src/api-fetch.ts | 0 .../bot.create-telegram-bot.test-harness.ts | 2 +- .../telegram/src/bot/delivery.replies.ts | 2 +- extensions/telegram/src/onboarding.ts | 2 +- extensions/telegram/src/outbound-adapter.ts | 8 +- extensions/telegram/src/send.test-harness.ts | 2 +- extensions/telegram/src/send.ts | 2 +- extensions/whatsapp/src/media.test.ts | 2 +- extensions/whatsapp/src/outbound-adapter.ts | 11 ++- knip.config.ts | 8 +- scripts/check-ingress-agent-owner-context.mjs | 4 +- scripts/check-no-raw-channel-fetch.mjs | 29 +++---- scripts/dev/test-device-pair-telegram.ts | 2 +- scripts/test-parallel.mjs | 22 +++-- src/agents/pi-embedded-runner/compact.ts | 6 +- src/agents/pi-embedded-runner/run/attempt.ts | 6 +- src/agents/pi-embedded-runner/run/images.ts | 2 +- src/agents/tools/discord-actions-guild.ts | 6 +- src/agents/tools/discord-actions-messaging.ts | 15 ++-- .../discord-actions-moderation.authz.test.ts | 2 +- .../tools/discord-actions-moderation.ts | 4 +- .../tools/discord-actions-presence.test.ts | 5 +- src/agents/tools/discord-actions-presence.ts | 2 +- src/agents/tools/discord-actions.test.ts | 2 +- src/agents/tools/discord-actions.ts | 2 +- src/agents/tools/image-tool.ts | 2 +- src/agents/tools/media-tool-shared.ts | 2 +- src/agents/tools/pdf-tool.test.ts | 2 +- src/agents/tools/pdf-tool.ts | 2 +- src/agents/tools/slack-actions.test.ts | 2 +- src/agents/tools/slack-actions.ts | 12 +-- src/agents/tools/telegram-actions.test.ts | 2 +- src/agents/tools/telegram-actions.ts | 23 +++--- src/agents/tools/whatsapp-actions.ts | 2 +- src/agents/tools/whatsapp-target-auth.ts | 2 +- ....triggers.trigger-handling.test-harness.ts | 2 +- src/auto-reply/reply/commands-acp.test.ts | 2 +- src/auto-reply/reply/commands-allowlist.ts | 16 ++-- src/auto-reply/reply/commands-approve.ts | 6 +- src/auto-reply/reply/commands-models.ts | 14 ++-- .../reply/commands-session-lifecycle.test.ts | 12 ++- src/auto-reply/reply/commands-session.ts | 16 ++-- .../reply/commands-subagents.test-mocks.ts | 2 +- .../reply/commands-subagents/shared.ts | 2 +- .../reply/directive-handling.model.ts | 2 +- src/auto-reply/reply/dispatch-from-config.ts | 2 +- src/auto-reply/reply/reply-payloads.ts | 2 +- src/auto-reply/reply/route-reply.test.ts | 10 +-- src/auto-reply/reply/route-reply.ts | 4 +- src/auto-reply/reply/slack-directives.ts | 4 +- src/auto-reply/reply/telegram-context.ts | 2 +- src/auto-reply/templating.ts | 2 +- src/channel-web.ts | 12 +-- src/channels/dock.ts | 12 +-- src/channels/plugins/actions/actions.test.ts | 2 +- src/channels/plugins/actions/signal.ts | 12 ++- src/channels/plugins/directory-config.ts | 8 +- src/channels/plugins/group-mentions.ts | 2 +- src/channels/plugins/normalize/imessage.ts | 2 +- src/channels/plugins/normalize/slack.ts | 2 +- src/channels/plugins/onboarding/imessage.ts | 8 +- src/channels/plugins/onboarding/signal.ts | 10 +-- src/channels/plugins/onboarding/slack.ts | 14 ++-- src/channels/plugins/outbound/imessage.ts | 2 +- src/channels/plugins/outbound/signal.ts | 2 +- src/channels/plugins/outbound/slack.test.ts | 4 +- src/channels/plugins/outbound/slack.ts | 4 +- src/channels/plugins/plugins-core.test.ts | 14 ++-- src/channels/plugins/slack.actions.ts | 7 +- src/channels/read-only-account-inspect.ts | 14 +++- src/channels/reply-prefix.ts | 2 +- src/cli/deps.test.ts | 10 +-- src/cli/deps.ts | 12 +-- src/commands/channels.mock-harness.ts | 5 +- src/commands/channels/add.ts | 4 +- src/commands/channels/capabilities.test.ts | 4 +- src/commands/channels/capabilities.ts | 6 +- src/commands/channels/remove.ts | 2 +- src/commands/doctor-config-flow.ts | 13 +-- src/commands/doctor.e2e-harness.ts | 2 +- src/config/plugin-auto-enable.ts | 2 +- src/config/schema.help.ts | 2 +- .../explicit-session-key-normalization.ts | 2 +- src/config/types.discord.ts | 2 +- .../isolated-agent/delivery-target.test.ts | 2 +- src/cron/isolated-agent/delivery-target.ts | 2 +- src/discord/account-inspect.ts | 1 - src/discord/accounts.ts | 1 - src/discord/api.ts | 1 - src/discord/audit.ts | 1 - src/discord/chunk.ts | 1 - src/discord/client.ts | 1 - src/discord/components-registry.ts | 1 - src/discord/components.ts | 1 - src/discord/directory-cache.ts | 1 - src/discord/directory-live.ts | 1 - src/discord/draft-chunking.ts | 1 - src/discord/draft-stream.ts | 1 - src/discord/exec-approvals.ts | 1 - src/discord/gateway-logging.ts | 1 - src/discord/guilds.ts | 1 - src/discord/mentions.ts | 1 - src/discord/monitor.gateway.ts | 1 - src/discord/monitor.ts | 1 - src/discord/monitor/agent-components.ts | 1 - src/discord/monitor/allow-list.ts | 1 - src/discord/monitor/auto-presence.ts | 1 - src/discord/monitor/commands.ts | 1 - src/discord/monitor/dm-command-auth.ts | 1 - src/discord/monitor/dm-command-decision.ts | 1 - src/discord/monitor/exec-approvals.ts | 1 - src/discord/monitor/format.ts | 1 - src/discord/monitor/gateway-error-guard.ts | 1 - src/discord/monitor/gateway-plugin.ts | 1 - src/discord/monitor/gateway-registry.ts | 1 - src/discord/monitor/inbound-context.ts | 1 - src/discord/monitor/inbound-job.ts | 1 - src/discord/monitor/inbound-worker.ts | 1 - src/discord/monitor/listeners.ts | 1 - .../monitor/message-handler.preflight.ts | 1 - .../message-handler.preflight.types.ts | 1 - .../monitor/message-handler.process.ts | 1 - src/discord/monitor/message-handler.ts | 1 - src/discord/monitor/message-utils.ts | 1 - .../monitor/model-picker-preferences.ts | 1 - src/discord/monitor/model-picker.ts | 1 - src/discord/monitor/native-command-context.ts | 1 - src/discord/monitor/native-command.ts | 1 - src/discord/monitor/preflight-audio.ts | 1 - src/discord/monitor/presence-cache.ts | 1 - src/discord/monitor/presence.ts | 1 - src/discord/monitor/provider.allowlist.ts | 1 - src/discord/monitor/provider.lifecycle.ts | 1 - src/discord/monitor/provider.ts | 1 - src/discord/monitor/reply-context.ts | 1 - src/discord/monitor/reply-delivery.ts | 1 - src/discord/monitor/rest-fetch.ts | 1 - src/discord/monitor/route-resolution.ts | 1 - src/discord/monitor/sender-identity.ts | 1 - src/discord/monitor/status.ts | 1 - src/discord/monitor/system-events.ts | 1 - src/discord/monitor/thread-bindings.config.ts | 1 - .../monitor/thread-bindings.discord-api.ts | 1 - .../monitor/thread-bindings.lifecycle.ts | 1 - .../monitor/thread-bindings.manager.ts | 1 - .../monitor/thread-bindings.messages.ts | 1 - .../monitor/thread-bindings.persona.ts | 1 - src/discord/monitor/thread-bindings.state.ts | 1 - src/discord/monitor/thread-bindings.ts | 1 - src/discord/monitor/thread-bindings.types.ts | 1 - src/discord/monitor/thread-session-close.ts | 1 - src/discord/monitor/threading.ts | 1 - src/discord/monitor/timeouts.ts | 1 - src/discord/monitor/typing.ts | 1 - src/discord/pluralkit.ts | 1 - src/discord/probe.ts | 1 - src/discord/resolve-allowlist-common.ts | 1 - src/discord/resolve-channels.ts | 1 - src/discord/resolve-users.ts | 1 - src/discord/send.channels.ts | 1 - src/discord/send.components.ts | 1 - src/discord/send.emojis-stickers.ts | 1 - src/discord/send.guild.ts | 1 - src/discord/send.messages.ts | 1 - src/discord/send.outbound.ts | 1 - src/discord/send.permissions.ts | 1 - src/discord/send.reactions.ts | 1 - src/discord/send.shared.ts | 1 - src/discord/send.ts | 1 - src/discord/send.types.ts | 1 - src/discord/session-key-normalization.ts | 1 - src/discord/targets.ts | 1 - src/discord/token.ts | 1 - src/discord/ui.ts | 1 - src/discord/voice-message.ts | 1 - src/discord/voice/command.ts | 1 - src/discord/voice/manager.runtime.ts | 1 - src/discord/voice/manager.ts | 1 - src/gateway/client-callsites.guard.test.ts | 2 +- src/gateway/server-http.ts | 2 +- ...sessions.gateway-server-sessions-a.test.ts | 7 +- src/gateway/session-reset-service.ts | 2 +- src/gateway/test-helpers.mocks.ts | 2 +- src/imessage/accounts.ts | 2 - src/imessage/client.ts | 2 - src/imessage/constants.ts | 2 - src/imessage/monitor.ts | 2 - src/imessage/monitor/abort-handler.ts | 2 - src/imessage/monitor/deliver.ts | 2 - src/imessage/monitor/echo-cache.ts | 2 - src/imessage/monitor/inbound-processing.ts | 2 - src/imessage/monitor/loop-rate-limiter.ts | 2 - src/imessage/monitor/monitor-provider.ts | 2 - src/imessage/monitor/parse-notification.ts | 2 - src/imessage/monitor/reflection-guard.ts | 2 - src/imessage/monitor/runtime.ts | 2 - src/imessage/monitor/sanitize-outbound.ts | 2 - src/imessage/monitor/self-chat-cache.ts | 2 - src/imessage/monitor/types.ts | 2 - src/imessage/probe.ts | 2 - src/imessage/send.ts | 2 - src/imessage/target-parsing-helpers.ts | 2 - src/imessage/targets.ts | 2 - src/infra/exec-approval-forwarder.ts | 4 +- src/infra/exec-approval-surface.test.ts | 8 +- src/infra/exec-approval-surface.ts | 8 +- .../outbound/cfg-threading.guard.test.ts | 6 +- src/infra/outbound/channel-adapters.test.ts | 2 +- src/infra/outbound/channel-adapters.ts | 2 +- src/infra/outbound/deliver.test-helpers.ts | 9 +++ src/infra/outbound/deliver.test.ts | 2 +- src/infra/outbound/deliver.ts | 7 +- src/infra/outbound/message-action-params.ts | 6 +- .../message-action-runner.media.test.ts | 13 +-- src/infra/outbound/outbound-session.ts | 38 +++++---- src/infra/outbound/targets.ts | 9 ++- src/infra/state-migrations.ts | 2 +- src/media/fetch.telegram-network.test.ts | 7 +- src/media/outbound-attachment.ts | 2 +- src/plugin-sdk/bluebubbles.ts | 4 +- src/plugin-sdk/channel-config-helpers.ts | 4 +- src/plugin-sdk/discord-send.ts | 2 +- src/plugin-sdk/discord.ts | 12 +-- src/plugin-sdk/imessage.ts | 4 +- src/plugin-sdk/index.ts | 45 ++++++----- src/plugin-sdk/msteams.ts | 2 +- src/plugin-sdk/outbound-media.ts | 2 +- src/plugin-sdk/signal.ts | 4 +- src/plugin-sdk/slack-message-actions.ts | 2 +- src/plugin-sdk/slack.ts | 17 ++-- src/plugin-sdk/telegram.ts | 12 +-- src/plugins/runtime/runtime-channel.ts | 66 +++++++-------- src/plugins/runtime/runtime-media.ts | 2 +- .../runtime/runtime-whatsapp-login.runtime.ts | 2 +- .../runtime-whatsapp-outbound.runtime.ts | 2 +- src/plugins/runtime/runtime-whatsapp.ts | 12 +-- src/plugins/runtime/types-channel.ts | 80 +++++++++---------- src/plugins/runtime/types-core.ts | 2 +- src/security/audit-channel.ts | 8 +- src/security/dm-policy-channel-smoke.test.ts | 2 +- src/signal/accounts.ts | 2 - src/signal/client.test.ts | 2 - src/signal/client.ts | 2 - src/signal/daemon.ts | 2 - src/signal/format.chunking.test.ts | 2 - src/signal/format.links.test.ts | 2 - src/signal/format.test.ts | 2 - src/signal/format.ts | 2 - src/signal/format.visual.test.ts | 2 - src/signal/identity.test.ts | 2 - src/signal/identity.ts | 2 - src/signal/index.ts | 2 - src/signal/monitor.test.ts | 2 - ...-only-senders-uuid-allowlist-entry.test.ts | 2 - ...ends-tool-summaries-responseprefix.test.ts | 2 - .../monitor.tool-result.test-harness.ts | 2 - src/signal/monitor.ts | 2 - src/signal/monitor/access-policy.ts | 2 - .../event-handler.inbound-contract.test.ts | 2 - .../event-handler.mention-gating.test.ts | 2 - .../monitor/event-handler.test-harness.ts | 2 - src/signal/monitor/event-handler.ts | 2 - src/signal/monitor/event-handler.types.ts | 2 - src/signal/monitor/mentions.ts | 2 - src/signal/probe.test.ts | 2 - src/signal/probe.ts | 2 - src/signal/reaction-level.ts | 2 - src/signal/rpc-context.ts | 2 - src/signal/send-reactions.test.ts | 2 - src/signal/send-reactions.ts | 2 - src/signal/send.ts | 2 - src/signal/sse-reconnect.ts | 2 - src/slack/account-inspect.ts | 2 - src/slack/account-surface-fields.ts | 2 - src/slack/accounts.test.ts | 2 - src/slack/accounts.ts | 2 - src/slack/actions.blocks.test.ts | 2 - src/slack/actions.download-file.test.ts | 2 - src/slack/actions.read.test.ts | 2 - src/slack/actions.ts | 2 - src/slack/blocks-fallback.test.ts | 2 - src/slack/blocks-fallback.ts | 2 - src/slack/blocks-input.test.ts | 2 - src/slack/blocks-input.ts | 2 - src/slack/blocks.test-helpers.ts | 2 - src/slack/channel-migration.test.ts | 2 - src/slack/channel-migration.ts | 2 - src/slack/client.test.ts | 2 - src/slack/client.ts | 2 - src/slack/directory-live.ts | 2 - src/slack/draft-stream.test.ts | 2 - src/slack/draft-stream.ts | 2 - src/slack/format.test.ts | 2 - src/slack/format.ts | 2 - src/slack/http/index.ts | 2 - src/slack/http/registry.test.ts | 2 - src/slack/http/registry.ts | 2 - src/slack/index.ts | 2 - src/slack/interactive-replies.test.ts | 2 - src/slack/interactive-replies.ts | 2 - src/slack/message-actions.test.ts | 2 - src/slack/message-actions.ts | 2 - src/slack/modal-metadata.test.ts | 2 - src/slack/modal-metadata.ts | 2 - src/slack/monitor.test-helpers.ts | 2 - src/slack/monitor.test.ts | 2 - ...onitor.threading.missing-thread-ts.test.ts | 2 - src/slack/monitor.tool-result.test.ts | 2 - src/slack/monitor.ts | 2 - src/slack/monitor/allow-list.test.ts | 2 - src/slack/monitor/allow-list.ts | 2 - src/slack/monitor/auth.test.ts | 2 - src/slack/monitor/auth.ts | 2 - src/slack/monitor/channel-config.ts | 2 - src/slack/monitor/channel-type.ts | 2 - src/slack/monitor/commands.ts | 2 - src/slack/monitor/context.test.ts | 2 - src/slack/monitor/context.ts | 2 - src/slack/monitor/dm-auth.ts | 2 - src/slack/monitor/events.ts | 2 - src/slack/monitor/events/channels.test.ts | 2 - src/slack/monitor/events/channels.ts | 2 - .../monitor/events/interactions.modal.ts | 2 - src/slack/monitor/events/interactions.test.ts | 2 - src/slack/monitor/events/interactions.ts | 2 - src/slack/monitor/events/members.test.ts | 2 - src/slack/monitor/events/members.ts | 2 - .../events/message-subtype-handlers.test.ts | 2 - .../events/message-subtype-handlers.ts | 2 - src/slack/monitor/events/messages.test.ts | 2 - src/slack/monitor/events/messages.ts | 2 - src/slack/monitor/events/pins.test.ts | 2 - src/slack/monitor/events/pins.ts | 2 - src/slack/monitor/events/reactions.test.ts | 2 - src/slack/monitor/events/reactions.ts | 2 - .../monitor/events/system-event-context.ts | 2 - .../events/system-event-test-harness.ts | 2 - src/slack/monitor/external-arg-menu-store.ts | 2 - src/slack/monitor/media.test.ts | 2 - src/slack/monitor/media.ts | 2 - .../message-handler.app-mention-race.test.ts | 2 - .../message-handler.debounce-key.test.ts | 2 - src/slack/monitor/message-handler.test.ts | 2 - src/slack/monitor/message-handler.ts | 2 - .../dispatch.streaming.test.ts | 2 - src/slack/monitor/message-handler/dispatch.ts | 2 - .../message-handler/prepare-content.ts | 2 - .../message-handler/prepare-thread-context.ts | 2 - .../message-handler/prepare.test-helpers.ts | 2 - .../monitor/message-handler/prepare.test.ts | 2 - .../prepare.thread-session-key.test.ts | 2 - src/slack/monitor/message-handler/prepare.ts | 2 - src/slack/monitor/message-handler/types.ts | 2 - src/slack/monitor/monitor.test.ts | 2 - src/slack/monitor/mrkdwn.ts | 2 - src/slack/monitor/policy.ts | 2 - .../monitor/provider.auth-errors.test.ts | 2 - .../monitor/provider.group-policy.test.ts | 2 - src/slack/monitor/provider.reconnect.test.ts | 2 - src/slack/monitor/provider.ts | 2 - src/slack/monitor/reconnect-policy.ts | 2 - src/slack/monitor/replies.test.ts | 2 - src/slack/monitor/replies.ts | 2 - src/slack/monitor/room-context.ts | 2 - src/slack/monitor/slash-commands.runtime.ts | 2 - src/slack/monitor/slash-dispatch.runtime.ts | 2 - .../monitor/slash-skill-commands.runtime.ts | 2 - src/slack/monitor/slash.test-harness.ts | 2 - src/slack/monitor/slash.test.ts | 2 - src/slack/monitor/slash.ts | 2 - src/slack/monitor/thread-resolution.ts | 2 - src/slack/monitor/types.ts | 2 - src/slack/probe.test.ts | 2 - src/slack/probe.ts | 2 - src/slack/resolve-allowlist-common.test.ts | 2 - src/slack/resolve-allowlist-common.ts | 2 - src/slack/resolve-channels.test.ts | 2 - src/slack/resolve-channels.ts | 2 - src/slack/resolve-users.test.ts | 2 - src/slack/resolve-users.ts | 2 - src/slack/scopes.ts | 2 - src/slack/send.blocks.test.ts | 2 - src/slack/send.ts | 2 - src/slack/send.upload.test.ts | 2 - src/slack/sent-thread-cache.test.ts | 2 - src/slack/sent-thread-cache.ts | 2 - src/slack/stream-mode.test.ts | 2 - src/slack/stream-mode.ts | 2 - src/slack/streaming.ts | 2 - src/slack/targets.test.ts | 2 - src/slack/targets.ts | 2 - src/slack/threading-tool-context.test.ts | 2 - src/slack/threading-tool-context.ts | 2 - src/slack/threading.test.ts | 2 - src/slack/threading.ts | 2 - src/slack/token.ts | 2 - src/slack/truncate.ts | 2 - src/slack/types.ts | 2 - src/telegram/account-inspect.test.ts | 2 - src/telegram/account-inspect.ts | 1 - src/telegram/accounts.ts | 1 - src/telegram/allowed-updates.ts | 1 - src/telegram/api-logging.ts | 1 - src/telegram/approval-buttons.test.ts | 2 - src/telegram/approval-buttons.ts | 2 - src/telegram/audit-membership-runtime.ts | 1 - src/telegram/audit.ts | 1 - src/telegram/bot-access.test.ts | 2 - src/telegram/bot-access.ts | 1 - src/telegram/bot-handlers.ts | 1 - src/telegram/bot-message-context.body.ts | 2 - ...t-message-context.named-account-dm.test.ts | 2 - src/telegram/bot-message-context.session.ts | 2 - src/telegram/bot-message-context.ts | 1 - src/telegram/bot-message-context.types.ts | 2 - src/telegram/bot-message-dispatch.ts | 1 - src/telegram/bot-message.ts | 1 - src/telegram/bot-native-command-menu.ts | 1 - .../bot-native-commands.group-auth.test.ts | 2 - src/telegram/bot-native-commands.ts | 1 - src/telegram/bot-updates.ts | 1 - src/telegram/bot.fetch-abort.test.ts | 2 - src/telegram/bot.ts | 1 - src/telegram/bot/delivery.replies.ts | 1 - src/telegram/bot/delivery.resolve-media.ts | 1 - src/telegram/bot/delivery.send.ts | 1 - src/telegram/bot/delivery.ts | 1 - src/telegram/bot/helpers.ts | 1 - src/telegram/bot/reply-threading.ts | 1 - src/telegram/bot/types.ts | 1 - src/telegram/button-types.ts | 1 - src/telegram/caption.ts | 1 - src/telegram/conversation-route.ts | 1 - src/telegram/dm-access.ts | 1 - src/telegram/draft-chunking.ts | 1 - src/telegram/draft-stream.ts | 1 - src/telegram/exec-approvals-handler.test.ts | 2 - src/telegram/exec-approvals-handler.ts | 2 - src/telegram/exec-approvals.test.ts | 2 - src/telegram/exec-approvals.ts | 2 - src/telegram/fetch.env-proxy-runtime.test.ts | 2 - src/telegram/fetch.ts | 1 - src/telegram/format.ts | 1 - src/telegram/forum-service-message.ts | 1 - src/telegram/group-access.ts | 1 - src/telegram/group-config-helpers.ts | 1 - src/telegram/group-migration.ts | 1 - src/telegram/inline-buttons.ts | 1 - src/telegram/lane-delivery-state.ts | 2 - src/telegram/lane-delivery-text-deliverer.ts | 2 - src/telegram/lane-delivery.ts | 1 - src/telegram/model-buttons.ts | 1 - src/telegram/monitor.ts | 1 - src/telegram/network-config.ts | 1 - src/telegram/network-errors.ts | 1 - src/telegram/outbound-params.ts | 1 - src/telegram/polling-session.ts | 2 - src/telegram/probe.ts | 1 - src/telegram/proxy.ts | 1 - src/telegram/reaction-level.ts | 1 - src/telegram/reasoning-lane-coordinator.ts | 1 - src/telegram/send.ts | 1 - src/telegram/sendchataction-401-backoff.ts | 1 - src/telegram/sent-message-cache.ts | 1 - src/telegram/sequential-key.ts | 1 - src/telegram/status-reaction-variants.ts | 1 - src/telegram/sticker-cache.ts | 1 - src/telegram/target-writeback.ts | 1 - src/telegram/targets.ts | 1 - src/telegram/thread-bindings.ts | 1 - src/telegram/token.ts | 1 - src/telegram/update-offset-store.ts | 1 - src/telegram/voice.ts | 1 - src/telegram/webhook.ts | 1 - src/test-utils/imessage-test-plugin.ts | 2 +- src/web/accounts.ts | 2 - src/web/active-listener.ts | 2 - src/web/auth-store.ts | 2 - src/web/auto-reply.impl.ts | 2 - src/web/auto-reply.ts | 2 - src/web/auto-reply/constants.ts | 2 - src/web/auto-reply/deliver-reply.ts | 2 - src/web/auto-reply/heartbeat-runner.ts | 2 - src/web/auto-reply/loggers.ts | 2 - src/web/auto-reply/mentions.ts | 2 - src/web/auto-reply/monitor.ts | 2 - src/web/auto-reply/monitor/ack-reaction.ts | 2 - src/web/auto-reply/monitor/broadcast.ts | 2 - src/web/auto-reply/monitor/commands.ts | 2 - src/web/auto-reply/monitor/echo.ts | 2 - .../auto-reply/monitor/group-activation.ts | 2 - src/web/auto-reply/monitor/group-gating.ts | 2 - src/web/auto-reply/monitor/group-members.ts | 2 - src/web/auto-reply/monitor/last-route.ts | 2 - src/web/auto-reply/monitor/message-line.ts | 2 - src/web/auto-reply/monitor/on-message.ts | 2 - src/web/auto-reply/monitor/peer.ts | 2 - src/web/auto-reply/monitor/process-message.ts | 2 - src/web/auto-reply/session-snapshot.ts | 2 - src/web/auto-reply/types.ts | 2 - src/web/auto-reply/util.ts | 2 - src/web/inbound.ts | 2 - src/web/inbound/access-control.ts | 2 - src/web/inbound/dedupe.ts | 2 - src/web/inbound/extract.ts | 2 - src/web/inbound/media.ts | 2 - src/web/inbound/monitor.ts | 2 - src/web/inbound/send-api.ts | 2 - src/web/inbound/types.ts | 2 - src/web/login-qr.ts | 2 - src/web/login.ts | 2 - src/web/media.ts | 2 - src/web/outbound.ts | 2 - src/web/qr-image.ts | 2 - src/web/reconnect.ts | 2 - src/web/session.ts | 2 - src/web/test-helpers.ts | 2 - src/web/vcard.ts | 2 - tsdown.config.ts | 4 +- vitest.channels.config.ts | 8 +- vitest.config.ts | 8 -- vitest.unit.config.ts | 6 +- 534 files changed, 524 insertions(+), 1088 deletions(-) rename {src/channels/telegram => extensions/telegram/src}/allow-from.test.ts (100%) rename {src/channels/telegram => extensions/telegram/src}/allow-from.ts (100%) rename src/channels/telegram/api.test.ts => extensions/telegram/src/api-fetch.test.ts (96%) rename src/channels/telegram/api.ts => extensions/telegram/src/api-fetch.ts (100%) delete mode 100644 src/discord/account-inspect.ts delete mode 100644 src/discord/accounts.ts delete mode 100644 src/discord/api.ts delete mode 100644 src/discord/audit.ts delete mode 100644 src/discord/chunk.ts delete mode 100644 src/discord/client.ts delete mode 100644 src/discord/components-registry.ts delete mode 100644 src/discord/components.ts delete mode 100644 src/discord/directory-cache.ts delete mode 100644 src/discord/directory-live.ts delete mode 100644 src/discord/draft-chunking.ts delete mode 100644 src/discord/draft-stream.ts delete mode 100644 src/discord/exec-approvals.ts delete mode 100644 src/discord/gateway-logging.ts delete mode 100644 src/discord/guilds.ts delete mode 100644 src/discord/mentions.ts delete mode 100644 src/discord/monitor.gateway.ts delete mode 100644 src/discord/monitor.ts delete mode 100644 src/discord/monitor/agent-components.ts delete mode 100644 src/discord/monitor/allow-list.ts delete mode 100644 src/discord/monitor/auto-presence.ts delete mode 100644 src/discord/monitor/commands.ts delete mode 100644 src/discord/monitor/dm-command-auth.ts delete mode 100644 src/discord/monitor/dm-command-decision.ts delete mode 100644 src/discord/monitor/exec-approvals.ts delete mode 100644 src/discord/monitor/format.ts delete mode 100644 src/discord/monitor/gateway-error-guard.ts delete mode 100644 src/discord/monitor/gateway-plugin.ts delete mode 100644 src/discord/monitor/gateway-registry.ts delete mode 100644 src/discord/monitor/inbound-context.ts delete mode 100644 src/discord/monitor/inbound-job.ts delete mode 100644 src/discord/monitor/inbound-worker.ts delete mode 100644 src/discord/monitor/listeners.ts delete mode 100644 src/discord/monitor/message-handler.preflight.ts delete mode 100644 src/discord/monitor/message-handler.preflight.types.ts delete mode 100644 src/discord/monitor/message-handler.process.ts delete mode 100644 src/discord/monitor/message-handler.ts delete mode 100644 src/discord/monitor/message-utils.ts delete mode 100644 src/discord/monitor/model-picker-preferences.ts delete mode 100644 src/discord/monitor/model-picker.ts delete mode 100644 src/discord/monitor/native-command-context.ts delete mode 100644 src/discord/monitor/native-command.ts delete mode 100644 src/discord/monitor/preflight-audio.ts delete mode 100644 src/discord/monitor/presence-cache.ts delete mode 100644 src/discord/monitor/presence.ts delete mode 100644 src/discord/monitor/provider.allowlist.ts delete mode 100644 src/discord/monitor/provider.lifecycle.ts delete mode 100644 src/discord/monitor/provider.ts delete mode 100644 src/discord/monitor/reply-context.ts delete mode 100644 src/discord/monitor/reply-delivery.ts delete mode 100644 src/discord/monitor/rest-fetch.ts delete mode 100644 src/discord/monitor/route-resolution.ts delete mode 100644 src/discord/monitor/sender-identity.ts delete mode 100644 src/discord/monitor/status.ts delete mode 100644 src/discord/monitor/system-events.ts delete mode 100644 src/discord/monitor/thread-bindings.config.ts delete mode 100644 src/discord/monitor/thread-bindings.discord-api.ts delete mode 100644 src/discord/monitor/thread-bindings.lifecycle.ts delete mode 100644 src/discord/monitor/thread-bindings.manager.ts delete mode 100644 src/discord/monitor/thread-bindings.messages.ts delete mode 100644 src/discord/monitor/thread-bindings.persona.ts delete mode 100644 src/discord/monitor/thread-bindings.state.ts delete mode 100644 src/discord/monitor/thread-bindings.ts delete mode 100644 src/discord/monitor/thread-bindings.types.ts delete mode 100644 src/discord/monitor/thread-session-close.ts delete mode 100644 src/discord/monitor/threading.ts delete mode 100644 src/discord/monitor/timeouts.ts delete mode 100644 src/discord/monitor/typing.ts delete mode 100644 src/discord/pluralkit.ts delete mode 100644 src/discord/probe.ts delete mode 100644 src/discord/resolve-allowlist-common.ts delete mode 100644 src/discord/resolve-channels.ts delete mode 100644 src/discord/resolve-users.ts delete mode 100644 src/discord/send.channels.ts delete mode 100644 src/discord/send.components.ts delete mode 100644 src/discord/send.emojis-stickers.ts delete mode 100644 src/discord/send.guild.ts delete mode 100644 src/discord/send.messages.ts delete mode 100644 src/discord/send.outbound.ts delete mode 100644 src/discord/send.permissions.ts delete mode 100644 src/discord/send.reactions.ts delete mode 100644 src/discord/send.shared.ts delete mode 100644 src/discord/send.ts delete mode 100644 src/discord/send.types.ts delete mode 100644 src/discord/session-key-normalization.ts delete mode 100644 src/discord/targets.ts delete mode 100644 src/discord/token.ts delete mode 100644 src/discord/ui.ts delete mode 100644 src/discord/voice-message.ts delete mode 100644 src/discord/voice/command.ts delete mode 100644 src/discord/voice/manager.runtime.ts delete mode 100644 src/discord/voice/manager.ts delete mode 100644 src/imessage/accounts.ts delete mode 100644 src/imessage/client.ts delete mode 100644 src/imessage/constants.ts delete mode 100644 src/imessage/monitor.ts delete mode 100644 src/imessage/monitor/abort-handler.ts delete mode 100644 src/imessage/monitor/deliver.ts delete mode 100644 src/imessage/monitor/echo-cache.ts delete mode 100644 src/imessage/monitor/inbound-processing.ts delete mode 100644 src/imessage/monitor/loop-rate-limiter.ts delete mode 100644 src/imessage/monitor/monitor-provider.ts delete mode 100644 src/imessage/monitor/parse-notification.ts delete mode 100644 src/imessage/monitor/reflection-guard.ts delete mode 100644 src/imessage/monitor/runtime.ts delete mode 100644 src/imessage/monitor/sanitize-outbound.ts delete mode 100644 src/imessage/monitor/self-chat-cache.ts delete mode 100644 src/imessage/monitor/types.ts delete mode 100644 src/imessage/probe.ts delete mode 100644 src/imessage/send.ts delete mode 100644 src/imessage/target-parsing-helpers.ts delete mode 100644 src/imessage/targets.ts delete mode 100644 src/signal/accounts.ts delete mode 100644 src/signal/client.test.ts delete mode 100644 src/signal/client.ts delete mode 100644 src/signal/daemon.ts delete mode 100644 src/signal/format.chunking.test.ts delete mode 100644 src/signal/format.links.test.ts delete mode 100644 src/signal/format.test.ts delete mode 100644 src/signal/format.ts delete mode 100644 src/signal/format.visual.test.ts delete mode 100644 src/signal/identity.test.ts delete mode 100644 src/signal/identity.ts delete mode 100644 src/signal/index.ts delete mode 100644 src/signal/monitor.test.ts delete mode 100644 src/signal/monitor.tool-result.pairs-uuid-only-senders-uuid-allowlist-entry.test.ts delete mode 100644 src/signal/monitor.tool-result.sends-tool-summaries-responseprefix.test.ts delete mode 100644 src/signal/monitor.tool-result.test-harness.ts delete mode 100644 src/signal/monitor.ts delete mode 100644 src/signal/monitor/access-policy.ts delete mode 100644 src/signal/monitor/event-handler.inbound-contract.test.ts delete mode 100644 src/signal/monitor/event-handler.mention-gating.test.ts delete mode 100644 src/signal/monitor/event-handler.test-harness.ts delete mode 100644 src/signal/monitor/event-handler.ts delete mode 100644 src/signal/monitor/event-handler.types.ts delete mode 100644 src/signal/monitor/mentions.ts delete mode 100644 src/signal/probe.test.ts delete mode 100644 src/signal/probe.ts delete mode 100644 src/signal/reaction-level.ts delete mode 100644 src/signal/rpc-context.ts delete mode 100644 src/signal/send-reactions.test.ts delete mode 100644 src/signal/send-reactions.ts delete mode 100644 src/signal/send.ts delete mode 100644 src/signal/sse-reconnect.ts delete mode 100644 src/slack/account-inspect.ts delete mode 100644 src/slack/account-surface-fields.ts delete mode 100644 src/slack/accounts.test.ts delete mode 100644 src/slack/accounts.ts delete mode 100644 src/slack/actions.blocks.test.ts delete mode 100644 src/slack/actions.download-file.test.ts delete mode 100644 src/slack/actions.read.test.ts delete mode 100644 src/slack/actions.ts delete mode 100644 src/slack/blocks-fallback.test.ts delete mode 100644 src/slack/blocks-fallback.ts delete mode 100644 src/slack/blocks-input.test.ts delete mode 100644 src/slack/blocks-input.ts delete mode 100644 src/slack/blocks.test-helpers.ts delete mode 100644 src/slack/channel-migration.test.ts delete mode 100644 src/slack/channel-migration.ts delete mode 100644 src/slack/client.test.ts delete mode 100644 src/slack/client.ts delete mode 100644 src/slack/directory-live.ts delete mode 100644 src/slack/draft-stream.test.ts delete mode 100644 src/slack/draft-stream.ts delete mode 100644 src/slack/format.test.ts delete mode 100644 src/slack/format.ts delete mode 100644 src/slack/http/index.ts delete mode 100644 src/slack/http/registry.test.ts delete mode 100644 src/slack/http/registry.ts delete mode 100644 src/slack/index.ts delete mode 100644 src/slack/interactive-replies.test.ts delete mode 100644 src/slack/interactive-replies.ts delete mode 100644 src/slack/message-actions.test.ts delete mode 100644 src/slack/message-actions.ts delete mode 100644 src/slack/modal-metadata.test.ts delete mode 100644 src/slack/modal-metadata.ts delete mode 100644 src/slack/monitor.test-helpers.ts delete mode 100644 src/slack/monitor.test.ts delete mode 100644 src/slack/monitor.threading.missing-thread-ts.test.ts delete mode 100644 src/slack/monitor.tool-result.test.ts delete mode 100644 src/slack/monitor.ts delete mode 100644 src/slack/monitor/allow-list.test.ts delete mode 100644 src/slack/monitor/allow-list.ts delete mode 100644 src/slack/monitor/auth.test.ts delete mode 100644 src/slack/monitor/auth.ts delete mode 100644 src/slack/monitor/channel-config.ts delete mode 100644 src/slack/monitor/channel-type.ts delete mode 100644 src/slack/monitor/commands.ts delete mode 100644 src/slack/monitor/context.test.ts delete mode 100644 src/slack/monitor/context.ts delete mode 100644 src/slack/monitor/dm-auth.ts delete mode 100644 src/slack/monitor/events.ts delete mode 100644 src/slack/monitor/events/channels.test.ts delete mode 100644 src/slack/monitor/events/channels.ts delete mode 100644 src/slack/monitor/events/interactions.modal.ts delete mode 100644 src/slack/monitor/events/interactions.test.ts delete mode 100644 src/slack/monitor/events/interactions.ts delete mode 100644 src/slack/monitor/events/members.test.ts delete mode 100644 src/slack/monitor/events/members.ts delete mode 100644 src/slack/monitor/events/message-subtype-handlers.test.ts delete mode 100644 src/slack/monitor/events/message-subtype-handlers.ts delete mode 100644 src/slack/monitor/events/messages.test.ts delete mode 100644 src/slack/monitor/events/messages.ts delete mode 100644 src/slack/monitor/events/pins.test.ts delete mode 100644 src/slack/monitor/events/pins.ts delete mode 100644 src/slack/monitor/events/reactions.test.ts delete mode 100644 src/slack/monitor/events/reactions.ts delete mode 100644 src/slack/monitor/events/system-event-context.ts delete mode 100644 src/slack/monitor/events/system-event-test-harness.ts delete mode 100644 src/slack/monitor/external-arg-menu-store.ts delete mode 100644 src/slack/monitor/media.test.ts delete mode 100644 src/slack/monitor/media.ts delete mode 100644 src/slack/monitor/message-handler.app-mention-race.test.ts delete mode 100644 src/slack/monitor/message-handler.debounce-key.test.ts delete mode 100644 src/slack/monitor/message-handler.test.ts delete mode 100644 src/slack/monitor/message-handler.ts delete mode 100644 src/slack/monitor/message-handler/dispatch.streaming.test.ts delete mode 100644 src/slack/monitor/message-handler/dispatch.ts delete mode 100644 src/slack/monitor/message-handler/prepare-content.ts delete mode 100644 src/slack/monitor/message-handler/prepare-thread-context.ts delete mode 100644 src/slack/monitor/message-handler/prepare.test-helpers.ts delete mode 100644 src/slack/monitor/message-handler/prepare.test.ts delete mode 100644 src/slack/monitor/message-handler/prepare.thread-session-key.test.ts delete mode 100644 src/slack/monitor/message-handler/prepare.ts delete mode 100644 src/slack/monitor/message-handler/types.ts delete mode 100644 src/slack/monitor/monitor.test.ts delete mode 100644 src/slack/monitor/mrkdwn.ts delete mode 100644 src/slack/monitor/policy.ts delete mode 100644 src/slack/monitor/provider.auth-errors.test.ts delete mode 100644 src/slack/monitor/provider.group-policy.test.ts delete mode 100644 src/slack/monitor/provider.reconnect.test.ts delete mode 100644 src/slack/monitor/provider.ts delete mode 100644 src/slack/monitor/reconnect-policy.ts delete mode 100644 src/slack/monitor/replies.test.ts delete mode 100644 src/slack/monitor/replies.ts delete mode 100644 src/slack/monitor/room-context.ts delete mode 100644 src/slack/monitor/slash-commands.runtime.ts delete mode 100644 src/slack/monitor/slash-dispatch.runtime.ts delete mode 100644 src/slack/monitor/slash-skill-commands.runtime.ts delete mode 100644 src/slack/monitor/slash.test-harness.ts delete mode 100644 src/slack/monitor/slash.test.ts delete mode 100644 src/slack/monitor/slash.ts delete mode 100644 src/slack/monitor/thread-resolution.ts delete mode 100644 src/slack/monitor/types.ts delete mode 100644 src/slack/probe.test.ts delete mode 100644 src/slack/probe.ts delete mode 100644 src/slack/resolve-allowlist-common.test.ts delete mode 100644 src/slack/resolve-allowlist-common.ts delete mode 100644 src/slack/resolve-channels.test.ts delete mode 100644 src/slack/resolve-channels.ts delete mode 100644 src/slack/resolve-users.test.ts delete mode 100644 src/slack/resolve-users.ts delete mode 100644 src/slack/scopes.ts delete mode 100644 src/slack/send.blocks.test.ts delete mode 100644 src/slack/send.ts delete mode 100644 src/slack/send.upload.test.ts delete mode 100644 src/slack/sent-thread-cache.test.ts delete mode 100644 src/slack/sent-thread-cache.ts delete mode 100644 src/slack/stream-mode.test.ts delete mode 100644 src/slack/stream-mode.ts delete mode 100644 src/slack/streaming.ts delete mode 100644 src/slack/targets.test.ts delete mode 100644 src/slack/targets.ts delete mode 100644 src/slack/threading-tool-context.test.ts delete mode 100644 src/slack/threading-tool-context.ts delete mode 100644 src/slack/threading.test.ts delete mode 100644 src/slack/threading.ts delete mode 100644 src/slack/token.ts delete mode 100644 src/slack/truncate.ts delete mode 100644 src/slack/types.ts delete mode 100644 src/telegram/account-inspect.test.ts delete mode 100644 src/telegram/account-inspect.ts delete mode 100644 src/telegram/accounts.ts delete mode 100644 src/telegram/allowed-updates.ts delete mode 100644 src/telegram/api-logging.ts delete mode 100644 src/telegram/approval-buttons.test.ts delete mode 100644 src/telegram/approval-buttons.ts delete mode 100644 src/telegram/audit-membership-runtime.ts delete mode 100644 src/telegram/audit.ts delete mode 100644 src/telegram/bot-access.test.ts delete mode 100644 src/telegram/bot-access.ts delete mode 100644 src/telegram/bot-handlers.ts delete mode 100644 src/telegram/bot-message-context.body.ts delete mode 100644 src/telegram/bot-message-context.named-account-dm.test.ts delete mode 100644 src/telegram/bot-message-context.session.ts delete mode 100644 src/telegram/bot-message-context.ts delete mode 100644 src/telegram/bot-message-context.types.ts delete mode 100644 src/telegram/bot-message-dispatch.ts delete mode 100644 src/telegram/bot-message.ts delete mode 100644 src/telegram/bot-native-command-menu.ts delete mode 100644 src/telegram/bot-native-commands.group-auth.test.ts delete mode 100644 src/telegram/bot-native-commands.ts delete mode 100644 src/telegram/bot-updates.ts delete mode 100644 src/telegram/bot.fetch-abort.test.ts delete mode 100644 src/telegram/bot.ts delete mode 100644 src/telegram/bot/delivery.replies.ts delete mode 100644 src/telegram/bot/delivery.resolve-media.ts delete mode 100644 src/telegram/bot/delivery.send.ts delete mode 100644 src/telegram/bot/delivery.ts delete mode 100644 src/telegram/bot/helpers.ts delete mode 100644 src/telegram/bot/reply-threading.ts delete mode 100644 src/telegram/bot/types.ts delete mode 100644 src/telegram/button-types.ts delete mode 100644 src/telegram/caption.ts delete mode 100644 src/telegram/conversation-route.ts delete mode 100644 src/telegram/dm-access.ts delete mode 100644 src/telegram/draft-chunking.ts delete mode 100644 src/telegram/draft-stream.ts delete mode 100644 src/telegram/exec-approvals-handler.test.ts delete mode 100644 src/telegram/exec-approvals-handler.ts delete mode 100644 src/telegram/exec-approvals.test.ts delete mode 100644 src/telegram/exec-approvals.ts delete mode 100644 src/telegram/fetch.env-proxy-runtime.test.ts delete mode 100644 src/telegram/fetch.ts delete mode 100644 src/telegram/format.ts delete mode 100644 src/telegram/forum-service-message.ts delete mode 100644 src/telegram/group-access.ts delete mode 100644 src/telegram/group-config-helpers.ts delete mode 100644 src/telegram/group-migration.ts delete mode 100644 src/telegram/inline-buttons.ts delete mode 100644 src/telegram/lane-delivery-state.ts delete mode 100644 src/telegram/lane-delivery-text-deliverer.ts delete mode 100644 src/telegram/lane-delivery.ts delete mode 100644 src/telegram/model-buttons.ts delete mode 100644 src/telegram/monitor.ts delete mode 100644 src/telegram/network-config.ts delete mode 100644 src/telegram/network-errors.ts delete mode 100644 src/telegram/outbound-params.ts delete mode 100644 src/telegram/polling-session.ts delete mode 100644 src/telegram/probe.ts delete mode 100644 src/telegram/proxy.ts delete mode 100644 src/telegram/reaction-level.ts delete mode 100644 src/telegram/reasoning-lane-coordinator.ts delete mode 100644 src/telegram/send.ts delete mode 100644 src/telegram/sendchataction-401-backoff.ts delete mode 100644 src/telegram/sent-message-cache.ts delete mode 100644 src/telegram/sequential-key.ts delete mode 100644 src/telegram/status-reaction-variants.ts delete mode 100644 src/telegram/sticker-cache.ts delete mode 100644 src/telegram/target-writeback.ts delete mode 100644 src/telegram/targets.ts delete mode 100644 src/telegram/thread-bindings.ts delete mode 100644 src/telegram/token.ts delete mode 100644 src/telegram/update-offset-store.ts delete mode 100644 src/telegram/voice.ts delete mode 100644 src/telegram/webhook.ts delete mode 100644 src/web/accounts.ts delete mode 100644 src/web/active-listener.ts delete mode 100644 src/web/auth-store.ts delete mode 100644 src/web/auto-reply.impl.ts delete mode 100644 src/web/auto-reply.ts delete mode 100644 src/web/auto-reply/constants.ts delete mode 100644 src/web/auto-reply/deliver-reply.ts delete mode 100644 src/web/auto-reply/heartbeat-runner.ts delete mode 100644 src/web/auto-reply/loggers.ts delete mode 100644 src/web/auto-reply/mentions.ts delete mode 100644 src/web/auto-reply/monitor.ts delete mode 100644 src/web/auto-reply/monitor/ack-reaction.ts delete mode 100644 src/web/auto-reply/monitor/broadcast.ts delete mode 100644 src/web/auto-reply/monitor/commands.ts delete mode 100644 src/web/auto-reply/monitor/echo.ts delete mode 100644 src/web/auto-reply/monitor/group-activation.ts delete mode 100644 src/web/auto-reply/monitor/group-gating.ts delete mode 100644 src/web/auto-reply/monitor/group-members.ts delete mode 100644 src/web/auto-reply/monitor/last-route.ts delete mode 100644 src/web/auto-reply/monitor/message-line.ts delete mode 100644 src/web/auto-reply/monitor/on-message.ts delete mode 100644 src/web/auto-reply/monitor/peer.ts delete mode 100644 src/web/auto-reply/monitor/process-message.ts delete mode 100644 src/web/auto-reply/session-snapshot.ts delete mode 100644 src/web/auto-reply/types.ts delete mode 100644 src/web/auto-reply/util.ts delete mode 100644 src/web/inbound.ts delete mode 100644 src/web/inbound/access-control.ts delete mode 100644 src/web/inbound/dedupe.ts delete mode 100644 src/web/inbound/extract.ts delete mode 100644 src/web/inbound/media.ts delete mode 100644 src/web/inbound/monitor.ts delete mode 100644 src/web/inbound/send-api.ts delete mode 100644 src/web/inbound/types.ts delete mode 100644 src/web/login-qr.ts delete mode 100644 src/web/login.ts delete mode 100644 src/web/media.ts delete mode 100644 src/web/outbound.ts delete mode 100644 src/web/qr-image.ts delete mode 100644 src/web/reconnect.ts delete mode 100644 src/web/session.ts delete mode 100644 src/web/test-helpers.ts delete mode 100644 src/web/vcard.ts diff --git a/.github/labeler.yml b/.github/labeler.yml index ffe55984ac6..91c202b7ed6 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -6,7 +6,6 @@ "channel: discord": - changed-files: - any-glob-to-any-file: - - "src/discord/**" - "extensions/discord/**" - "docs/channels/discord.md" "channel: irc": @@ -28,7 +27,6 @@ "channel: imessage": - changed-files: - any-glob-to-any-file: - - "src/imessage/**" - "extensions/imessage/**" - "docs/channels/imessage.md" "channel: line": @@ -64,19 +62,16 @@ "channel: signal": - changed-files: - any-glob-to-any-file: - - "src/signal/**" - "extensions/signal/**" - "docs/channels/signal.md" "channel: slack": - changed-files: - any-glob-to-any-file: - - "src/slack/**" - "extensions/slack/**" - "docs/channels/slack.md" "channel: telegram": - changed-files: - any-glob-to-any-file: - - "src/telegram/**" - "extensions/telegram/**" - "docs/channels/telegram.md" "channel: tlon": @@ -96,7 +91,6 @@ "channel: whatsapp-web": - changed-files: - any-glob-to-any-file: - - "src/web/**" - "extensions/whatsapp/**" - "docs/channels/whatsapp.md" "channel: zalo": diff --git a/CHANGELOG.md b/CHANGELOG.md index 25bad54390e..0f6834575d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ Docs: https://docs.openclaw.ai ### Changes - Placeholder: replace with the first 2026.3.14 user-facing change. +- Refactor/channels: remove the legacy channel shim directories and point channel-specific imports directly at the extension-owned implementations. (#45967) thanks @scoootscooob. ## 2026.3.13 diff --git a/extensions/discord/src/monitor/native-command.ts b/extensions/discord/src/monitor/native-command.ts index 6ed61d18633..bc038927d9c 100644 --- a/extensions/discord/src/monitor/native-command.ts +++ b/extensions/discord/src/monitor/native-command.ts @@ -55,7 +55,7 @@ import { executePluginCommand, matchPluginCommand } from "../../../../src/plugin import type { ResolvedAgentRoute } from "../../../../src/routing/resolve-route.js"; import { chunkItems } from "../../../../src/utils/chunk-items.js"; import { withTimeout } from "../../../../src/utils/with-timeout.js"; -import { loadWebMedia } from "../../../../src/web/media.js"; +import { loadWebMedia } from "../../../whatsapp/src/media.js"; import { resolveDiscordMaxLinesPerMessage } from "../accounts.js"; import { chunkDiscordTextWithMode } from "../chunk.js"; import { diff --git a/extensions/discord/src/outbound-adapter.ts b/extensions/discord/src/outbound-adapter.ts index 49660d3a0a8..cea9bdb3cee 100644 --- a/extensions/discord/src/outbound-adapter.ts +++ b/extensions/discord/src/outbound-adapter.ts @@ -1,6 +1,7 @@ import { sendTextMediaPayload } from "../../../src/channels/plugins/outbound/direct-text-media.js"; import type { ChannelOutboundAdapter } from "../../../src/channels/plugins/types.js"; import type { OpenClawConfig } from "../../../src/config/config.js"; +import { resolveOutboundSendDep } from "../../../src/infra/outbound/deliver.js"; import type { OutboundIdentity } from "../../../src/infra/outbound/identity.js"; import { getThreadBindingManager, type ThreadBindingRecord } from "./monitor/thread-bindings.js"; import { normalizeDiscordOutboundTarget } from "./normalize.js"; @@ -93,7 +94,8 @@ export const discordOutbound: ChannelOutboundAdapter = { return { channel: "discord", ...webhookResult }; } } - const send = deps?.sendDiscord ?? sendMessageDiscord; + const send = + resolveOutboundSendDep(deps, "discord") ?? sendMessageDiscord; const target = resolveDiscordOutboundTarget({ to, threadId }); const result = await send(target, text, { verbose: false, @@ -116,7 +118,8 @@ export const discordOutbound: ChannelOutboundAdapter = { threadId, silent, }) => { - const send = deps?.sendDiscord ?? sendMessageDiscord; + const send = + resolveOutboundSendDep(deps, "discord") ?? sendMessageDiscord; const target = resolveDiscordOutboundTarget({ to, threadId }); const result = await send(target, text, { verbose: false, diff --git a/extensions/discord/src/send.components.ts b/extensions/discord/src/send.components.ts index 091c9733598..9212e383ed7 100644 --- a/extensions/discord/src/send.components.ts +++ b/extensions/discord/src/send.components.ts @@ -7,7 +7,7 @@ import { import { ChannelType, Routes } from "discord-api-types/v10"; import { loadConfig, type OpenClawConfig } from "../../../src/config/config.js"; import { recordChannelActivity } from "../../../src/infra/channel-activity.js"; -import { loadWebMedia } from "../../../src/web/media.js"; +import { loadWebMedia } from "../../whatsapp/src/media.js"; import { resolveDiscordAccount } from "./accounts.js"; import { registerDiscordComponentEntries } from "./components-registry.js"; import { diff --git a/extensions/discord/src/send.emojis-stickers.ts b/extensions/discord/src/send.emojis-stickers.ts index b20ce776f0c..601b8372e74 100644 --- a/extensions/discord/src/send.emojis-stickers.ts +++ b/extensions/discord/src/send.emojis-stickers.ts @@ -1,5 +1,5 @@ import { Routes } from "discord-api-types/v10"; -import { loadWebMediaRaw } from "../../../src/web/media.js"; +import { loadWebMediaRaw } from "../../whatsapp/src/media.js"; import { normalizeEmojiName, resolveDiscordRest } from "./send.shared.js"; import type { DiscordEmojiUpload, DiscordReactOpts, DiscordStickerUpload } from "./send.types.js"; import { DISCORD_MAX_EMOJI_BYTES, DISCORD_MAX_STICKER_BYTES } from "./send.types.js"; diff --git a/extensions/discord/src/send.outbound.ts b/extensions/discord/src/send.outbound.ts index d5d7780c28d..8f7b743e0d0 100644 --- a/extensions/discord/src/send.outbound.ts +++ b/extensions/discord/src/send.outbound.ts @@ -14,7 +14,7 @@ import { maxBytesForKind } from "../../../src/media/constants.js"; import { extensionForMime } from "../../../src/media/mime.js"; import { unlinkIfExists } from "../../../src/media/temp-files.js"; import type { PollInput } from "../../../src/polls.js"; -import { loadWebMediaRaw } from "../../../src/web/media.js"; +import { loadWebMediaRaw } from "../../whatsapp/src/media.js"; import { resolveDiscordAccount } from "./accounts.js"; import { rewriteDiscordKnownMentions } from "./mentions.js"; import { diff --git a/extensions/discord/src/send.shared.ts b/extensions/discord/src/send.shared.ts index 174a47f9d34..f1a7fd4c28e 100644 --- a/extensions/discord/src/send.shared.ts +++ b/extensions/discord/src/send.shared.ts @@ -18,7 +18,7 @@ import { normalizePollInput, type PollInput, } from "../../../src/polls.js"; -import { loadWebMedia } from "../../../src/web/media.js"; +import { loadWebMedia } from "../../whatsapp/src/media.js"; import { resolveDiscordAccount } from "./accounts.js"; import { chunkDiscordTextWithMode } from "./chunk.js"; import { createDiscordClient, resolveDiscordRest } from "./client.js"; diff --git a/extensions/slack/src/send.ts b/extensions/slack/src/send.ts index 938bf80b572..293affe0218 100644 --- a/extensions/slack/src/send.ts +++ b/extensions/slack/src/send.ts @@ -12,7 +12,7 @@ import { fetchWithSsrFGuard, withTrustedEnvProxyGuardedFetchMode, } from "../../../src/infra/net/fetch-guard.js"; -import { loadWebMedia } from "../../../src/web/media.js"; +import { loadWebMedia } from "../../whatsapp/src/media.js"; import type { SlackTokenSource } from "./accounts.js"; import { resolveSlackAccount } from "./accounts.js"; import { buildSlackBlocksFallbackText } from "./blocks-fallback.js"; diff --git a/src/channels/telegram/allow-from.test.ts b/extensions/telegram/src/allow-from.test.ts similarity index 100% rename from src/channels/telegram/allow-from.test.ts rename to extensions/telegram/src/allow-from.test.ts diff --git a/src/channels/telegram/allow-from.ts b/extensions/telegram/src/allow-from.ts similarity index 100% rename from src/channels/telegram/allow-from.ts rename to extensions/telegram/src/allow-from.ts diff --git a/src/channels/telegram/api.test.ts b/extensions/telegram/src/api-fetch.test.ts similarity index 96% rename from src/channels/telegram/api.test.ts rename to extensions/telegram/src/api-fetch.test.ts index caab59b7ec0..e65499ef25c 100644 --- a/src/channels/telegram/api.test.ts +++ b/extensions/telegram/src/api-fetch.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, vi } from "vitest"; -import { fetchTelegramChatId } from "./api.js"; +import { fetchTelegramChatId } from "./api-fetch.js"; describe("fetchTelegramChatId", () => { const cases = [ diff --git a/src/channels/telegram/api.ts b/extensions/telegram/src/api-fetch.ts similarity index 100% rename from src/channels/telegram/api.ts rename to extensions/telegram/src/api-fetch.ts diff --git a/extensions/telegram/src/bot.create-telegram-bot.test-harness.ts b/extensions/telegram/src/bot.create-telegram-bot.test-harness.ts index 4e590a961c7..f45cef0d1d7 100644 --- a/extensions/telegram/src/bot.create-telegram-bot.test-harness.ts +++ b/extensions/telegram/src/bot.create-telegram-bot.test-harness.ts @@ -20,7 +20,7 @@ export function getLoadWebMediaMock(): AnyMock { return loadWebMedia; } -vi.mock("../../../src/web/media.js", () => ({ +vi.mock("../../whatsapp/src/media.js", () => ({ loadWebMedia, })); diff --git a/extensions/telegram/src/bot/delivery.replies.ts b/extensions/telegram/src/bot/delivery.replies.ts index 19eddfc2866..84d66fec12b 100644 --- a/extensions/telegram/src/bot/delivery.replies.ts +++ b/extensions/telegram/src/bot/delivery.replies.ts @@ -20,7 +20,7 @@ import { buildOutboundMediaLoadOptions } from "../../../../src/media/load-option import { isGifMedia, kindFromMime } from "../../../../src/media/mime.js"; import { getGlobalHookRunner } from "../../../../src/plugins/hook-runner-global.js"; import type { RuntimeEnv } from "../../../../src/runtime.js"; -import { loadWebMedia } from "../../../../src/web/media.js"; +import { loadWebMedia } from "../../../whatsapp/src/media.js"; import type { TelegramInlineButtons } from "../button-types.js"; import { splitTelegramCaption } from "../caption.js"; import { diff --git a/extensions/telegram/src/onboarding.ts b/extensions/telegram/src/onboarding.ts index 1897d754395..c555b748d2d 100644 --- a/extensions/telegram/src/onboarding.ts +++ b/extensions/telegram/src/onboarding.ts @@ -13,7 +13,6 @@ import { setOnboardingChannelEnabled, splitOnboardingEntries, } from "../../../src/channels/plugins/onboarding/helpers.js"; -import { fetchTelegramChatId } from "../../../src/channels/telegram/api.js"; import { formatCliCommand } from "../../../src/cli/command-format.js"; import type { OpenClawConfig } from "../../../src/config/config.js"; import { hasConfiguredSecretInput } from "../../../src/config/types.secrets.js"; @@ -26,6 +25,7 @@ import { resolveDefaultTelegramAccountId, resolveTelegramAccount, } from "./accounts.js"; +import { fetchTelegramChatId } from "./api-fetch.js"; const channel = "telegram" as const; diff --git a/extensions/telegram/src/outbound-adapter.ts b/extensions/telegram/src/outbound-adapter.ts index 9b29523e3c2..4309fc4b882 100644 --- a/extensions/telegram/src/outbound-adapter.ts +++ b/extensions/telegram/src/outbound-adapter.ts @@ -4,7 +4,10 @@ import { sendPayloadMediaSequence, } from "../../../src/channels/plugins/outbound/direct-text-media.js"; import type { ChannelOutboundAdapter } from "../../../src/channels/plugins/types.js"; -import type { OutboundSendDeps } from "../../../src/infra/outbound/deliver.js"; +import { + resolveOutboundSendDep, + type OutboundSendDeps, +} from "../../../src/infra/outbound/deliver.js"; import type { TelegramInlineButtons } from "./button-types.js"; import { markdownToTelegramHtmlChunks } from "./format.js"; import { parseTelegramReplyToMessageId, parseTelegramThreadId } from "./outbound-params.js"; @@ -30,7 +33,8 @@ function resolveTelegramSendContext(params: { accountId?: string; }; } { - const send = params.deps?.sendTelegram ?? sendMessageTelegram; + const send = + resolveOutboundSendDep(params.deps, "telegram") ?? sendMessageTelegram; return { send, baseOpts: { diff --git a/extensions/telegram/src/send.test-harness.ts b/extensions/telegram/src/send.test-harness.ts index 2bb16efb8d7..6d53a3d20e7 100644 --- a/extensions/telegram/src/send.test-harness.ts +++ b/extensions/telegram/src/send.test-harness.ts @@ -40,7 +40,7 @@ type TelegramSendTestMocks = { maybePersistResolvedTelegramTarget: MockFn; }; -vi.mock("../../../src/web/media.js", () => ({ +vi.mock("../../whatsapp/src/media.js", () => ({ loadWebMedia, })); diff --git a/extensions/telegram/src/send.ts b/extensions/telegram/src/send.ts index b9c1ed371a3..a6698e8897f 100644 --- a/extensions/telegram/src/send.ts +++ b/extensions/telegram/src/send.ts @@ -19,7 +19,7 @@ import type { MediaKind } from "../../../src/media/constants.js"; import { buildOutboundMediaLoadOptions } from "../../../src/media/load-options.js"; import { isGifMedia, kindFromMime } from "../../../src/media/mime.js"; import { normalizePollInput, type PollInput } from "../../../src/polls.js"; -import { loadWebMedia } from "../../../src/web/media.js"; +import { loadWebMedia } from "../../whatsapp/src/media.js"; import { type ResolvedTelegramAccount, resolveTelegramAccount } from "./accounts.js"; import { withTelegramApiErrorLogging } from "./api-logging.js"; import { buildTelegramThreadParams, buildTypingThreadParams } from "./bot/helpers.js"; diff --git a/extensions/whatsapp/src/media.test.ts b/extensions/whatsapp/src/media.test.ts index b74f8eca525..e21d58b4bb7 100644 --- a/extensions/whatsapp/src/media.test.ts +++ b/extensions/whatsapp/src/media.test.ts @@ -4,11 +4,11 @@ import path from "node:path"; import sharp from "sharp"; import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from "vitest"; import { resolveStateDir } from "../../../src/config/paths.js"; -import { sendVoiceMessageDiscord } from "../../../src/discord/send.js"; import { resolvePreferredOpenClawTmpDir } from "../../../src/infra/tmp-openclaw-dir.js"; import { optimizeImageToPng } from "../../../src/media/image-ops.js"; import { mockPinnedHostnameResolution } from "../../../src/test-helpers/ssrf.js"; import { captureEnv } from "../../../src/test-utils/env.js"; +import { sendVoiceMessageDiscord } from "../../discord/src/send.js"; import { LocalMediaAccessError, loadWebMedia, diff --git a/extensions/whatsapp/src/outbound-adapter.ts b/extensions/whatsapp/src/outbound-adapter.ts index cc6d32466a0..12497df9d6b 100644 --- a/extensions/whatsapp/src/outbound-adapter.ts +++ b/extensions/whatsapp/src/outbound-adapter.ts @@ -2,8 +2,9 @@ import { chunkText } from "../../../src/auto-reply/chunk.js"; import { sendTextMediaPayload } from "../../../src/channels/plugins/outbound/direct-text-media.js"; import type { ChannelOutboundAdapter } from "../../../src/channels/plugins/types.js"; import { shouldLogVerbose } from "../../../src/globals.js"; +import { resolveOutboundSendDep } from "../../../src/infra/outbound/deliver.js"; import { resolveWhatsAppOutboundTarget } from "../../../src/whatsapp/resolve-outbound-target.js"; -import { sendPollWhatsApp } from "./send.js"; +import { sendMessageWhatsApp, sendPollWhatsApp } from "./send.js"; function trimLeadingWhitespace(text: string | undefined): string { return text?.trimStart() ?? ""; @@ -40,7 +41,9 @@ export const whatsappOutbound: ChannelOutboundAdapter = { if (!normalizedText) { return { channel: "whatsapp", messageId: "" }; } - const send = deps?.sendWhatsApp ?? (await import("./send.js")).sendMessageWhatsApp; + const send = + resolveOutboundSendDep(deps, "whatsapp") ?? + (await import("./send.js")).sendMessageWhatsApp; const result = await send(to, normalizedText, { verbose: false, cfg, @@ -51,7 +54,9 @@ export const whatsappOutbound: ChannelOutboundAdapter = { }, sendMedia: async ({ cfg, to, text, mediaUrl, mediaLocalRoots, accountId, deps, gifPlayback }) => { const normalizedText = trimLeadingWhitespace(text); - const send = deps?.sendWhatsApp ?? (await import("./send.js")).sendMessageWhatsApp; + const send = + resolveOutboundSendDep(deps, "whatsapp") ?? + (await import("./send.js")).sendMessageWhatsApp; const result = await send(to, normalizedText, { verbose: false, cfg, diff --git a/knip.config.ts b/knip.config.ts index e4daabd7e95..6a76a8238b7 100644 --- a/knip.config.ts +++ b/knip.config.ts @@ -9,8 +9,8 @@ const rootEntries = [ "src/channels/plugins/actions/discord.ts!", "src/channels/plugins/actions/signal.ts!", "src/channels/plugins/actions/telegram.ts!", - "src/telegram/audit.ts!", - "src/telegram/token.ts!", + "extensions/telegram/src/audit.ts!", + "extensions/telegram/src/token.ts!", "src/line/accounts.ts!", "src/line/send.ts!", "src/line/template-messages.ts!", @@ -69,8 +69,8 @@ const config = { "src/gateway/live-tool-probe-utils.ts", "src/gateway/server.auth.shared.ts", "src/shared/text/assistant-visible-text.ts", - "src/telegram/bot/reply-threading.ts", - "src/telegram/draft-chunking.ts", + "extensions/telegram/src/bot/reply-threading.ts", + "extensions/telegram/src/draft-chunking.ts", "extensions/msteams/src/conversation-store-memory.ts", "extensions/msteams/src/polls-store-memory.ts", "extensions/voice-call/src/providers/index.ts", diff --git a/scripts/check-ingress-agent-owner-context.mjs b/scripts/check-ingress-agent-owner-context.mjs index 20b99536e1d..da9da112c6b 100644 --- a/scripts/check-ingress-agent-owner-context.mjs +++ b/scripts/check-ingress-agent-owner-context.mjs @@ -5,9 +5,9 @@ import ts from "typescript"; import { runCallsiteGuard } from "./lib/callsite-guard.mjs"; import { runAsScript, toLine, unwrapExpression } from "./lib/ts-guard-utils.mjs"; -const sourceRoots = ["src/gateway", "src/discord/voice"]; +const sourceRoots = ["src/gateway", "extensions/discord/src/voice"]; const enforcedFiles = new Set([ - "src/discord/voice/manager.ts", + "extensions/discord/src/voice/manager.ts", "src/gateway/openai-http.ts", "src/gateway/openresponses-http.ts", "src/gateway/server-methods/agent.ts", diff --git a/scripts/check-no-raw-channel-fetch.mjs b/scripts/check-no-raw-channel-fetch.mjs index ecd8a2f64f8..788585b8c54 100644 --- a/scripts/check-no-raw-channel-fetch.mjs +++ b/scripts/check-no-raw-channel-fetch.mjs @@ -4,18 +4,7 @@ import ts from "typescript"; import { runCallsiteGuard } from "./lib/callsite-guard.mjs"; import { runAsScript, toLine, unwrapExpression } from "./lib/ts-guard-utils.mjs"; -const sourceRoots = [ - "src/telegram", - "src/discord", - "src/slack", - "src/signal", - "src/imessage", - "src/web", - "src/channels", - "src/routing", - "src/line", - "extensions", -]; +const sourceRoots = ["src/channels", "src/routing", "src/line", "extensions"]; // Temporary allowlist for legacy callsites. New raw fetch callsites in channel/plugin runtime // code should be rejected and migrated to fetchWithSsrFGuard/shared channel helpers. @@ -54,14 +43,14 @@ const allowedRawFetchCallsites = new Set([ "extensions/voice-call/src/providers/telnyx.ts:61", "extensions/voice-call/src/providers/tts-openai.ts:111", "extensions/voice-call/src/providers/twilio/api.ts:23", - "src/channels/telegram/api.ts:8", - "src/discord/send.outbound.ts:347", - "src/discord/voice-message.ts:264", - "src/discord/voice-message.ts:308", - "src/slack/monitor/media.ts:64", - "src/slack/monitor/media.ts:68", - "src/slack/monitor/media.ts:82", - "src/slack/monitor/media.ts:108", + "extensions/telegram/src/api-fetch.ts:8", + "extensions/discord/src/send.outbound.ts:363", + "extensions/discord/src/voice-message.ts:268", + "extensions/discord/src/voice-message.ts:312", + "extensions/slack/src/monitor/media.ts:55", + "extensions/slack/src/monitor/media.ts:59", + "extensions/slack/src/monitor/media.ts:73", + "extensions/slack/src/monitor/media.ts:99", ]); function isRawFetchCall(expression) { diff --git a/scripts/dev/test-device-pair-telegram.ts b/scripts/dev/test-device-pair-telegram.ts index e33a060ecd4..e39e0a378cd 100644 --- a/scripts/dev/test-device-pair-telegram.ts +++ b/scripts/dev/test-device-pair-telegram.ts @@ -1,7 +1,7 @@ +import { sendMessageTelegram } from "../../extensions/telegram/src/send.js"; import { loadConfig } from "../../src/config/config.js"; import { matchPluginCommand, executePluginCommand } from "../../src/plugins/commands.js"; import { loadOpenClawPlugins } from "../../src/plugins/loader.js"; -import { sendMessageTelegram } from "../../src/telegram/send.js"; const args = process.argv.slice(2); const getArg = (flag: string, short?: string) => { diff --git a/scripts/test-parallel.mjs b/scripts/test-parallel.mjs index 021ff1f905e..17d41da6dad 100644 --- a/scripts/test-parallel.mjs +++ b/scripts/test-parallel.mjs @@ -42,8 +42,8 @@ const unitIsolatedFilesRaw = [ "src/commands/agent.test.ts", "src/media/store.test.ts", "src/media/store.header-ext.test.ts", - "src/web/media.test.ts", - "src/web/auto-reply.web-auto-reply.falls-back-text-media-send-fails.test.ts", + "extensions/whatsapp/src/media.test.ts", + "extensions/whatsapp/src/auto-reply.web-auto-reply.falls-back-text-media-send-fails.test.ts", "src/browser/server.covers-additional-endpoint-branches.test.ts", "src/browser/server.post-tabs-open-profile-unknown-returns-404.test.ts", "src/browser/server.agent-contract-snapshot-endpoints.test.ts", @@ -80,15 +80,15 @@ const unitIsolatedFilesRaw = [ "src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.test.ts", "src/auto-reply/reply.triggers.group-intro-prompts.test.ts", "src/auto-reply/reply.triggers.trigger-handling.handles-inline-commands-strips-it-before-agent.test.ts", - "src/web/auto-reply.web-auto-reply.compresses-common-formats-jpeg-cap.test.ts", + "extensions/whatsapp/src/auto-reply.web-auto-reply.compresses-common-formats-jpeg-cap.test.ts", // Setup-heavy bot bootstrap suite. - "src/telegram/bot.create-telegram-bot.test.ts", + "extensions/telegram/src/bot.create-telegram-bot.test.ts", // Medium-heavy bot behavior suite; move off unit-fast critical path. - "src/telegram/bot.test.ts", + "extensions/telegram/src/bot.test.ts", // Slack slash registration tests are setup-heavy and can bottleneck unit-fast. - "src/slack/monitor/slash.test.ts", + "extensions/slack/src/monitor/slash.test.ts", // Uses process-level unhandledRejection listeners; keep it off vmForks to avoid cross-file leakage. - "src/imessage/monitor.shutdown.unhandled-rejection.test.ts", + "extensions/imessage/src/monitor.shutdown.unhandled-rejection.test.ts", // Mutates process.cwd() and mocks core module loaders; isolate from the shared fast lane. "src/infra/git-commit.test.ts", ]; @@ -303,7 +303,13 @@ const passthroughRequiresSingleRun = passthroughOptionArgs.some((arg) => { const [flag] = arg.split("=", 1); return SINGLE_RUN_ONLY_FLAGS.has(flag); }); -const channelPrefixes = ["src/telegram/", "src/discord/", "src/web/", "src/browser/", "src/line/"]; +const channelPrefixes = [ + "extensions/telegram/", + "extensions/discord/", + "extensions/whatsapp/", + "src/browser/", + "src/line/", +]; const baseConfigPrefixes = ["src/agents/", "src/auto-reply/", "src/commands/", "test/", "ui/"]; const normalizeRepoPath = (value) => value.split(path.sep).join("/"); const walkTestFiles = (rootDir) => { diff --git a/src/agents/pi-embedded-runner/compact.ts b/src/agents/pi-embedded-runner/compact.ts index 8c490e113d4..63678333bed 100644 --- a/src/agents/pi-embedded-runner/compact.ts +++ b/src/agents/pi-embedded-runner/compact.ts @@ -7,6 +7,9 @@ import { estimateTokens, SessionManager, } from "@mariozechner/pi-coding-agent"; +import { resolveSignalReactionLevel } from "../../../extensions/signal/src/reaction-level.js"; +import { resolveTelegramInlineButtonsScope } from "../../../extensions/telegram/src/inline-buttons.js"; +import { resolveTelegramReactionLevel } from "../../../extensions/telegram/src/reaction-level.js"; import { resolveHeartbeatPrompt } from "../../auto-reply/heartbeat.js"; import type { ReasoningLevel, ThinkLevel } from "../../auto-reply/thinking.js"; import { resolveChannelCapabilities } from "../../config/channel-capabilities.js"; @@ -23,9 +26,6 @@ import { getGlobalHookRunner } from "../../plugins/hook-runner-global.js"; import { type enqueueCommand, enqueueCommandInLane } from "../../process/command-queue.js"; import { isCronSessionKey, isSubagentSessionKey } from "../../routing/session-key.js"; import { emitSessionTranscriptUpdate } from "../../sessions/transcript-events.js"; -import { resolveSignalReactionLevel } from "../../signal/reaction-level.js"; -import { resolveTelegramInlineButtonsScope } from "../../telegram/inline-buttons.js"; -import { resolveTelegramReactionLevel } from "../../telegram/reaction-level.js"; import { buildTtsSystemPromptHint } from "../../tts/tts.js"; import { resolveUserPath } from "../../utils.js"; import { normalizeMessageChannel } from "../../utils/message-channel.js"; diff --git a/src/agents/pi-embedded-runner/run/attempt.ts b/src/agents/pi-embedded-runner/run/attempt.ts index 274ef0ef865..7361f8b9e00 100644 --- a/src/agents/pi-embedded-runner/run/attempt.ts +++ b/src/agents/pi-embedded-runner/run/attempt.ts @@ -7,6 +7,9 @@ import { DefaultResourceLoader, SessionManager, } from "@mariozechner/pi-coding-agent"; +import { resolveSignalReactionLevel } from "../../../../extensions/signal/src/reaction-level.js"; +import { resolveTelegramInlineButtonsScope } from "../../../../extensions/telegram/src/inline-buttons.js"; +import { resolveTelegramReactionLevel } from "../../../../extensions/telegram/src/reaction-level.js"; import { resolveHeartbeatPrompt } from "../../../auto-reply/heartbeat.js"; import { resolveChannelCapabilities } from "../../../config/channel-capabilities.js"; import type { OpenClawConfig } from "../../../config/config.js"; @@ -24,9 +27,6 @@ import type { } from "../../../plugins/types.js"; import { isCronSessionKey, isSubagentSessionKey } from "../../../routing/session-key.js"; import { joinPresentTextSegments } from "../../../shared/text/join-segments.js"; -import { resolveSignalReactionLevel } from "../../../signal/reaction-level.js"; -import { resolveTelegramInlineButtonsScope } from "../../../telegram/inline-buttons.js"; -import { resolveTelegramReactionLevel } from "../../../telegram/reaction-level.js"; import { buildTtsSystemPromptHint } from "../../../tts/tts.js"; import { resolveUserPath } from "../../../utils.js"; import { normalizeMessageChannel } from "../../../utils/message-channel.js"; diff --git a/src/agents/pi-embedded-runner/run/images.ts b/src/agents/pi-embedded-runner/run/images.ts index caf78f739ba..a1899bb99af 100644 --- a/src/agents/pi-embedded-runner/run/images.ts +++ b/src/agents/pi-embedded-runner/run/images.ts @@ -1,8 +1,8 @@ import path from "node:path"; import { fileURLToPath } from "node:url"; import type { ImageContent } from "@mariozechner/pi-ai"; +import { loadWebMedia } from "../../../../extensions/whatsapp/src/media.js"; import { resolveUserPath } from "../../../utils.js"; -import { loadWebMedia } from "../../../web/media.js"; import type { ImageSanitizationLimits } from "../../image-sanitization.js"; import { createSandboxBridgeReadFile, diff --git a/src/agents/tools/discord-actions-guild.ts b/src/agents/tools/discord-actions-guild.ts index ba0ba300985..6e08c87a276 100644 --- a/src/agents/tools/discord-actions-guild.ts +++ b/src/agents/tools/discord-actions-guild.ts @@ -1,6 +1,5 @@ import type { AgentToolResult } from "@mariozechner/pi-agent-core"; -import type { DiscordActionConfig } from "../../config/config.js"; -import { getPresence } from "../../discord/monitor/presence-cache.js"; +import { getPresence } from "../../../extensions/discord/src/monitor/presence-cache.js"; import { addRoleDiscord, createChannelDiscord, @@ -20,7 +19,8 @@ import { setChannelPermissionDiscord, uploadEmojiDiscord, uploadStickerDiscord, -} from "../../discord/send.js"; +} from "../../../extensions/discord/src/send.js"; +import type { DiscordActionConfig } from "../../config/config.js"; import { type ActionGate, jsonResult, diff --git a/src/agents/tools/discord-actions-messaging.ts b/src/agents/tools/discord-actions-messaging.ts index 7349e65a3e6..c38f2d7066f 100644 --- a/src/agents/tools/discord-actions-messaging.ts +++ b/src/agents/tools/discord-actions-messaging.ts @@ -1,7 +1,5 @@ import type { AgentToolResult } from "@mariozechner/pi-agent-core"; -import type { DiscordActionConfig } from "../../config/config.js"; -import type { OpenClawConfig } from "../../config/config.js"; -import { readDiscordComponentSpec } from "../../discord/components.js"; +import { readDiscordComponentSpec } from "../../../extensions/discord/src/components.js"; import { createThreadDiscord, deleteMessageDiscord, @@ -23,9 +21,14 @@ import { sendStickerDiscord, sendVoiceMessageDiscord, unpinMessageDiscord, -} from "../../discord/send.js"; -import type { DiscordSendComponents, DiscordSendEmbeds } from "../../discord/send.shared.js"; -import { resolveDiscordChannelId } from "../../discord/targets.js"; +} from "../../../extensions/discord/src/send.js"; +import type { + DiscordSendComponents, + DiscordSendEmbeds, +} from "../../../extensions/discord/src/send.shared.js"; +import { resolveDiscordChannelId } from "../../../extensions/discord/src/targets.js"; +import type { DiscordActionConfig } from "../../config/config.js"; +import type { OpenClawConfig } from "../../config/config.js"; import { readBooleanParam } from "../../plugin-sdk/boolean-param.js"; import { resolvePollMaxSelections } from "../../polls.js"; import { withNormalizedTimestamp } from "../date-time.js"; diff --git a/src/agents/tools/discord-actions-moderation.authz.test.ts b/src/agents/tools/discord-actions-moderation.authz.test.ts index 606a3178dd6..d6b3651ca88 100644 --- a/src/agents/tools/discord-actions-moderation.authz.test.ts +++ b/src/agents/tools/discord-actions-moderation.authz.test.ts @@ -13,7 +13,7 @@ const discordSendMocks = vi.hoisted(() => ({ const { banMemberDiscord, kickMemberDiscord, timeoutMemberDiscord, hasAnyGuildPermissionDiscord } = discordSendMocks; -vi.mock("../../discord/send.js", () => ({ +vi.mock("../../../extensions/discord/src/send.js", () => ({ ...discordSendMocks, })); diff --git a/src/agents/tools/discord-actions-moderation.ts b/src/agents/tools/discord-actions-moderation.ts index c2dd5ebc142..68db19d1d7f 100644 --- a/src/agents/tools/discord-actions-moderation.ts +++ b/src/agents/tools/discord-actions-moderation.ts @@ -1,11 +1,11 @@ import type { AgentToolResult } from "@mariozechner/pi-agent-core"; -import type { DiscordActionConfig } from "../../config/config.js"; import { banMemberDiscord, hasAnyGuildPermissionDiscord, kickMemberDiscord, timeoutMemberDiscord, -} from "../../discord/send.js"; +} from "../../../extensions/discord/src/send.js"; +import type { DiscordActionConfig } from "../../config/config.js"; import { type ActionGate, jsonResult, readStringParam } from "./common.js"; import { isDiscordModerationAction, diff --git a/src/agents/tools/discord-actions-presence.test.ts b/src/agents/tools/discord-actions-presence.test.ts index d1476f9b9b3..dc8080666c6 100644 --- a/src/agents/tools/discord-actions-presence.test.ts +++ b/src/agents/tools/discord-actions-presence.test.ts @@ -1,7 +1,10 @@ import type { GatewayPlugin } from "@buape/carbon/gateway"; import { beforeEach, describe, expect, it, vi } from "vitest"; +import { + clearGateways, + registerGateway, +} from "../../../extensions/discord/src/monitor/gateway-registry.js"; import type { DiscordActionConfig } from "../../config/config.js"; -import { clearGateways, registerGateway } from "../../discord/monitor/gateway-registry.js"; import type { ActionGate } from "./common.js"; import { handleDiscordPresenceAction } from "./discord-actions-presence.js"; diff --git a/src/agents/tools/discord-actions-presence.ts b/src/agents/tools/discord-actions-presence.ts index 90639aa64e4..46f476bafec 100644 --- a/src/agents/tools/discord-actions-presence.ts +++ b/src/agents/tools/discord-actions-presence.ts @@ -1,7 +1,7 @@ import type { Activity, UpdatePresenceData } from "@buape/carbon/gateway"; import type { AgentToolResult } from "@mariozechner/pi-agent-core"; +import { getGateway } from "../../../extensions/discord/src/monitor/gateway-registry.js"; import type { DiscordActionConfig } from "../../config/config.js"; -import { getGateway } from "../../discord/monitor/gateway-registry.js"; import { type ActionGate, jsonResult, readStringParam } from "./common.js"; const ACTIVITY_TYPE_MAP: Record = { diff --git a/src/agents/tools/discord-actions.test.ts b/src/agents/tools/discord-actions.test.ts index 95f6c7ec4f2..ab2d71caf23 100644 --- a/src/agents/tools/discord-actions.test.ts +++ b/src/agents/tools/discord-actions.test.ts @@ -67,7 +67,7 @@ const { timeoutMemberDiscord, } = discordSendMocks; -vi.mock("../../discord/send.js", () => ({ +vi.mock("../../../extensions/discord/src/send.js", () => ({ ...discordSendMocks, })); diff --git a/src/agents/tools/discord-actions.ts b/src/agents/tools/discord-actions.ts index d4533517c8a..9b1c57bb240 100644 --- a/src/agents/tools/discord-actions.ts +++ b/src/agents/tools/discord-actions.ts @@ -1,6 +1,6 @@ import type { AgentToolResult } from "@mariozechner/pi-agent-core"; +import { createDiscordActionGate } from "../../../extensions/discord/src/accounts.js"; import type { OpenClawConfig } from "../../config/config.js"; -import { createDiscordActionGate } from "../../discord/accounts.js"; import { readStringParam } from "./common.js"; import { handleDiscordGuildAction } from "./discord-actions-guild.js"; import { handleDiscordMessagingAction } from "./discord-actions-messaging.js"; diff --git a/src/agents/tools/image-tool.ts b/src/agents/tools/image-tool.ts index c1e9537d8c5..4a50263cada 100644 --- a/src/agents/tools/image-tool.ts +++ b/src/agents/tools/image-tool.ts @@ -1,8 +1,8 @@ import { type Context, complete } from "@mariozechner/pi-ai"; import { Type } from "@sinclair/typebox"; +import { loadWebMedia } from "../../../extensions/whatsapp/src/media.js"; import type { OpenClawConfig } from "../../config/config.js"; import { resolveUserPath } from "../../utils.js"; -import { loadWebMedia } from "../../web/media.js"; import { isMinimaxVlmModel, isMinimaxVlmProvider, minimaxUnderstandImage } from "../minimax-vlm.js"; import { coerceImageAssistantText, diff --git a/src/agents/tools/media-tool-shared.ts b/src/agents/tools/media-tool-shared.ts index 177bf296275..8ad943a4b91 100644 --- a/src/agents/tools/media-tool-shared.ts +++ b/src/agents/tools/media-tool-shared.ts @@ -1,6 +1,6 @@ import { type Api, type Model } from "@mariozechner/pi-ai"; +import { getDefaultLocalRoots } from "../../../extensions/whatsapp/src/media.js"; import type { OpenClawConfig } from "../../config/config.js"; -import { getDefaultLocalRoots } from "../../web/media.js"; import type { ImageModelConfig } from "./image-tool.helpers.js"; import { getApiKeyForModel, normalizeWorkspaceDir, requireApiKey } from "./tool-runtime.helpers.js"; diff --git a/src/agents/tools/pdf-tool.test.ts b/src/agents/tools/pdf-tool.test.ts index 381fc53c4b9..a9c9539d61d 100644 --- a/src/agents/tools/pdf-tool.test.ts +++ b/src/agents/tools/pdf-tool.test.ts @@ -131,7 +131,7 @@ async function stubPdfToolInfra( modelFound?: boolean; }, ) { - const webMedia = await import("../../web/media.js"); + const webMedia = await import("../../../extensions/whatsapp/src/media.js"); const loadSpy = vi.spyOn(webMedia, "loadWebMediaRaw").mockResolvedValue(FAKE_PDF_MEDIA as never); const modelDiscovery = await import("../pi-model-discovery.js"); diff --git a/src/agents/tools/pdf-tool.ts b/src/agents/tools/pdf-tool.ts index c03dbe24f84..8f229dd7b10 100644 --- a/src/agents/tools/pdf-tool.ts +++ b/src/agents/tools/pdf-tool.ts @@ -1,9 +1,9 @@ import { type Context, complete } from "@mariozechner/pi-ai"; import { Type } from "@sinclair/typebox"; +import { loadWebMediaRaw } from "../../../extensions/whatsapp/src/media.js"; import type { OpenClawConfig } from "../../config/config.js"; import { extractPdfContent, type PdfExtractedContent } from "../../media/pdf-extract.js"; import { resolveUserPath } from "../../utils.js"; -import { loadWebMediaRaw } from "../../web/media.js"; import { coerceImageModelConfig, type ImageModelConfig, diff --git a/src/agents/tools/slack-actions.test.ts b/src/agents/tools/slack-actions.test.ts index 8a57602f58e..bf28c2bed01 100644 --- a/src/agents/tools/slack-actions.test.ts +++ b/src/agents/tools/slack-actions.test.ts @@ -17,7 +17,7 @@ const removeSlackReaction = vi.fn(async (..._args: unknown[]) => ({})); const sendSlackMessage = vi.fn(async (..._args: unknown[]) => ({})); const unpinSlackMessage = vi.fn(async (..._args: unknown[]) => ({})); -vi.mock("../../slack/actions.js", () => ({ +vi.mock("../../../extensions/slack/src/actions.js", () => ({ deleteSlackMessage: (...args: Parameters) => deleteSlackMessage(...args), downloadSlackFile: (...args: Parameters) => downloadSlackFile(...args), diff --git a/src/agents/tools/slack-actions.ts b/src/agents/tools/slack-actions.ts index 1cb233f06a7..5ed58d5960f 100644 --- a/src/agents/tools/slack-actions.ts +++ b/src/agents/tools/slack-actions.ts @@ -1,6 +1,5 @@ import type { AgentToolResult } from "@mariozechner/pi-agent-core"; -import type { OpenClawConfig } from "../../config/config.js"; -import { resolveSlackAccount } from "../../slack/accounts.js"; +import { resolveSlackAccount } from "../../../extensions/slack/src/accounts.js"; import { deleteSlackMessage, downloadSlackFile, @@ -16,10 +15,11 @@ import { removeSlackReaction, sendSlackMessage, unpinSlackMessage, -} from "../../slack/actions.js"; -import { parseSlackBlocksInput } from "../../slack/blocks-input.js"; -import { recordSlackThreadParticipation } from "../../slack/sent-thread-cache.js"; -import { parseSlackTarget, resolveSlackChannelId } from "../../slack/targets.js"; +} from "../../../extensions/slack/src/actions.js"; +import { parseSlackBlocksInput } from "../../../extensions/slack/src/blocks-input.js"; +import { recordSlackThreadParticipation } from "../../../extensions/slack/src/sent-thread-cache.js"; +import { parseSlackTarget, resolveSlackChannelId } from "../../../extensions/slack/src/targets.js"; +import type { OpenClawConfig } from "../../config/config.js"; import { withNormalizedTimestamp } from "../date-time.js"; import { createActionGate, diff --git a/src/agents/tools/telegram-actions.test.ts b/src/agents/tools/telegram-actions.test.ts index e15b4bd2e17..5963a64b667 100644 --- a/src/agents/tools/telegram-actions.test.ts +++ b/src/agents/tools/telegram-actions.test.ts @@ -30,7 +30,7 @@ const createForumTopicTelegram = vi.fn(async () => ({ })); let envSnapshot: ReturnType; -vi.mock("../../telegram/send.js", () => ({ +vi.mock("../../../extensions/telegram/src/send.js", () => ({ reactMessageTelegram: (...args: Parameters) => reactMessageTelegram(...args), sendMessageTelegram: (...args: Parameters) => diff --git a/src/agents/tools/telegram-actions.ts b/src/agents/tools/telegram-actions.ts index 143d154e633..49e40a074dd 100644 --- a/src/agents/tools/telegram-actions.ts +++ b/src/agents/tools/telegram-actions.ts @@ -1,17 +1,17 @@ import type { AgentToolResult } from "@mariozechner/pi-agent-core"; -import type { OpenClawConfig } from "../../config/config.js"; -import { readBooleanParam } from "../../plugin-sdk/boolean-param.js"; -import { resolvePollMaxSelections } from "../../polls.js"; import { createTelegramActionGate, resolveTelegramPollActionGateState, -} from "../../telegram/accounts.js"; -import type { TelegramButtonStyle, TelegramInlineButtons } from "../../telegram/button-types.js"; +} from "../../../extensions/telegram/src/accounts.js"; +import type { + TelegramButtonStyle, + TelegramInlineButtons, +} from "../../../extensions/telegram/src/button-types.js"; import { resolveTelegramInlineButtonsScope, resolveTelegramTargetChatType, -} from "../../telegram/inline-buttons.js"; -import { resolveTelegramReactionLevel } from "../../telegram/reaction-level.js"; +} from "../../../extensions/telegram/src/inline-buttons.js"; +import { resolveTelegramReactionLevel } from "../../../extensions/telegram/src/reaction-level.js"; import { createForumTopicTelegram, deleteMessageTelegram, @@ -20,9 +20,12 @@ import { sendMessageTelegram, sendPollTelegram, sendStickerTelegram, -} from "../../telegram/send.js"; -import { getCacheStats, searchStickers } from "../../telegram/sticker-cache.js"; -import { resolveTelegramToken } from "../../telegram/token.js"; +} from "../../../extensions/telegram/src/send.js"; +import { getCacheStats, searchStickers } from "../../../extensions/telegram/src/sticker-cache.js"; +import { resolveTelegramToken } from "../../../extensions/telegram/src/token.js"; +import type { OpenClawConfig } from "../../config/config.js"; +import { readBooleanParam } from "../../plugin-sdk/boolean-param.js"; +import { resolvePollMaxSelections } from "../../polls.js"; import { jsonResult, readNumberParam, diff --git a/src/agents/tools/whatsapp-actions.ts b/src/agents/tools/whatsapp-actions.ts index b2da3820797..92332d1b3c5 100644 --- a/src/agents/tools/whatsapp-actions.ts +++ b/src/agents/tools/whatsapp-actions.ts @@ -1,6 +1,6 @@ import type { AgentToolResult } from "@mariozechner/pi-agent-core"; +import { sendReactionWhatsApp } from "../../../extensions/whatsapp/src/send.js"; import type { OpenClawConfig } from "../../config/config.js"; -import { sendReactionWhatsApp } from "../../web/outbound.js"; import { createActionGate, jsonResult, readReactionParams, readStringParam } from "./common.js"; import { resolveAuthorizedWhatsAppOutboundTarget } from "./whatsapp-target-auth.js"; diff --git a/src/agents/tools/whatsapp-target-auth.ts b/src/agents/tools/whatsapp-target-auth.ts index b6f4da57ccf..569a930d1a5 100644 --- a/src/agents/tools/whatsapp-target-auth.ts +++ b/src/agents/tools/whatsapp-target-auth.ts @@ -1,5 +1,5 @@ +import { resolveWhatsAppAccount } from "../../../extensions/whatsapp/src/accounts.js"; import type { OpenClawConfig } from "../../config/config.js"; -import { resolveWhatsAppAccount } from "../../web/accounts.js"; import { resolveWhatsAppOutboundTarget } from "../../whatsapp/resolve-outbound-target.js"; import { ToolAuthorizationError } from "./common.js"; diff --git a/src/auto-reply/reply.triggers.trigger-handling.test-harness.ts b/src/auto-reply/reply.triggers.trigger-handling.test-harness.ts index db8dd5b1fae..9e0390bc887 100644 --- a/src/auto-reply/reply.triggers.trigger-handling.test-harness.ts +++ b/src/auto-reply/reply.triggers.trigger-handling.test-harness.ts @@ -101,7 +101,7 @@ export function getWebSessionMocks(): AnyMocks { return webSessionMocks; } -vi.mock("../web/session.js", () => webSessionMocks); +vi.mock("../../extensions/whatsapp/src/session.js", () => webSessionMocks); export const MAIN_SESSION_KEY = "agent:main:main"; diff --git a/src/auto-reply/reply/commands-acp.test.ts b/src/auto-reply/reply/commands-acp.test.ts index 7447419fd1e..904ae965fa7 100644 --- a/src/auto-reply/reply/commands-acp.test.ts +++ b/src/auto-reply/reply/commands-acp.test.ts @@ -105,7 +105,7 @@ vi.mock("../../infra/outbound/session-binding-service.js", async (importOriginal }); // Prevent transitive import chain from reaching discord/monitor which needs https-proxy-agent. -vi.mock("../../discord/monitor/gateway-plugin.js", () => ({ +vi.mock("../../../extensions/discord/src/monitor/gateway-plugin.js", () => ({ createDiscordGatewayPlugin: () => ({}), })); diff --git a/src/auto-reply/reply/commands-allowlist.ts b/src/auto-reply/reply/commands-allowlist.ts index fcecb0b31f3..83d263b828c 100644 --- a/src/auto-reply/reply/commands-allowlist.ts +++ b/src/auto-reply/reply/commands-allowlist.ts @@ -1,3 +1,11 @@ +import { resolveDiscordAccount } from "../../../extensions/discord/src/accounts.js"; +import { resolveDiscordUserAllowlist } from "../../../extensions/discord/src/resolve-users.js"; +import { resolveIMessageAccount } from "../../../extensions/imessage/src/accounts.js"; +import { resolveSignalAccount } from "../../../extensions/signal/src/accounts.js"; +import { resolveSlackAccount } from "../../../extensions/slack/src/accounts.js"; +import { resolveSlackUserAllowlist } from "../../../extensions/slack/src/resolve-users.js"; +import { resolveTelegramAccount } from "../../../extensions/telegram/src/accounts.js"; +import { resolveWhatsAppAccount } from "../../../extensions/whatsapp/src/accounts.js"; import { getChannelDock } from "../../channels/dock.js"; import { resolveExplicitConfigWriteTarget } from "../../channels/plugins/config-writes.js"; import { listPairingChannels } from "../../channels/plugins/pairing.js"; @@ -9,9 +17,6 @@ import { validateConfigObjectWithPlugins, writeConfigFile, } from "../../config/config.js"; -import { resolveDiscordAccount } from "../../discord/accounts.js"; -import { resolveDiscordUserAllowlist } from "../../discord/resolve-users.js"; -import { resolveIMessageAccount } from "../../imessage/accounts.js"; import { isBlockedObjectKey } from "../../infra/prototype-keys.js"; import { addChannelAllowFromStoreEntry, @@ -24,11 +29,6 @@ import { normalizeOptionalAccountId, } from "../../routing/session-key.js"; import { normalizeStringEntries } from "../../shared/string-normalization.js"; -import { resolveSignalAccount } from "../../signal/accounts.js"; -import { resolveSlackAccount } from "../../slack/accounts.js"; -import { resolveSlackUserAllowlist } from "../../slack/resolve-users.js"; -import { resolveTelegramAccount } from "../../telegram/accounts.js"; -import { resolveWhatsAppAccount } from "../../web/accounts.js"; import { rejectUnauthorizedCommand, requireCommandFlagEnabled } from "./command-gates.js"; import type { CommandHandler } from "./commands-types.js"; import { resolveConfigWriteDeniedText } from "./config-write-authorization.js"; diff --git a/src/auto-reply/reply/commands-approve.ts b/src/auto-reply/reply/commands-approve.ts index 5b0caec9c8f..ad1fde9eb0b 100644 --- a/src/auto-reply/reply/commands-approve.ts +++ b/src/auto-reply/reply/commands-approve.ts @@ -1,9 +1,9 @@ -import { callGateway } from "../../gateway/call.js"; -import { logVerbose } from "../../globals.js"; import { isTelegramExecApprovalApprover, isTelegramExecApprovalClientEnabled, -} from "../../telegram/exec-approvals.js"; +} from "../../../extensions/telegram/src/exec-approvals.js"; +import { callGateway } from "../../gateway/call.js"; +import { logVerbose } from "../../globals.js"; import { GATEWAY_CLIENT_MODES, GATEWAY_CLIENT_NAMES } from "../../utils/message-channel.js"; import { requireGatewayClientScopeForInternalChannel } from "./command-gates.js"; import type { CommandHandler } from "./commands-types.js"; diff --git a/src/auto-reply/reply/commands-models.ts b/src/auto-reply/reply/commands-models.ts index 17c25a6bfe0..afe56688256 100644 --- a/src/auto-reply/reply/commands-models.ts +++ b/src/auto-reply/reply/commands-models.ts @@ -1,3 +1,10 @@ +import { + buildModelsKeyboard, + buildProviderKeyboard, + calculateTotalPages, + getModelsPageSize, + type ProviderInfo, +} from "../../../extensions/telegram/src/model-buttons.js"; import { resolveAgentDir, resolveSessionAgentId } from "../../agents/agent-scope.js"; import { resolveModelAuthLabel } from "../../agents/model-auth-label.js"; import { loadModelCatalog } from "../../agents/model-catalog.js"; @@ -10,13 +17,6 @@ import { } from "../../agents/model-selection.js"; import type { OpenClawConfig } from "../../config/config.js"; import type { SessionEntry } from "../../config/sessions.js"; -import { - buildModelsKeyboard, - buildProviderKeyboard, - calculateTotalPages, - getModelsPageSize, - type ProviderInfo, -} from "../../telegram/model-buttons.js"; import type { ReplyPayload } from "../types.js"; import { rejectUnauthorizedCommand } from "./command-gates.js"; import type { CommandHandler } from "./commands-types.js"; diff --git a/src/auto-reply/reply/commands-session-lifecycle.test.ts b/src/auto-reply/reply/commands-session-lifecycle.test.ts index baf5addc60e..92812abaae6 100644 --- a/src/auto-reply/reply/commands-session-lifecycle.test.ts +++ b/src/auto-reply/reply/commands-session-lifecycle.test.ts @@ -19,8 +19,11 @@ const hoisted = vi.hoisted(() => { }; }); -vi.mock("../../discord/monitor/thread-bindings.js", async (importOriginal) => { - const actual = await importOriginal(); +vi.mock("../../../extensions/discord/src/monitor/thread-bindings.js", async (importOriginal) => { + const actual = + await importOriginal< + typeof import("../../../extensions/discord/src/monitor/thread-bindings.js") + >(); return { ...actual, getThreadBindingManager: hoisted.getThreadBindingManagerMock, @@ -29,8 +32,9 @@ vi.mock("../../discord/monitor/thread-bindings.js", async (importOriginal) => { }; }); -vi.mock("../../telegram/thread-bindings.js", async (importOriginal) => { - const actual = await importOriginal(); +vi.mock("../../../extensions/telegram/src/thread-bindings.js", async (importOriginal) => { + const actual = + await importOriginal(); return { ...actual, setTelegramThreadBindingIdleTimeoutBySessionKey: diff --git a/src/auto-reply/reply/commands-session.ts b/src/auto-reply/reply/commands-session.ts index c4d0c88e432..b04d5112345 100644 --- a/src/auto-reply/reply/commands-session.ts +++ b/src/auto-reply/reply/commands-session.ts @@ -1,6 +1,3 @@ -import { resolveFastModeState } from "../../agents/fast-mode.js"; -import { parseDurationMs } from "../../cli/parse-duration.js"; -import { isRestartEnabled } from "../../config/commands.js"; import { formatThreadBindingDurationLabel, getThreadBindingManager, @@ -10,16 +7,19 @@ import { resolveThreadBindingMaxAgeMs, setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey, -} from "../../discord/monitor/thread-bindings.js"; +} from "../../../extensions/discord/src/monitor/thread-bindings.js"; +import { + setTelegramThreadBindingIdleTimeoutBySessionKey, + setTelegramThreadBindingMaxAgeBySessionKey, +} from "../../../extensions/telegram/src/thread-bindings.js"; +import { resolveFastModeState } from "../../agents/fast-mode.js"; +import { parseDurationMs } from "../../cli/parse-duration.js"; +import { isRestartEnabled } from "../../config/commands.js"; import { logVerbose } from "../../globals.js"; import { getSessionBindingService } from "../../infra/outbound/session-binding-service.js"; import type { SessionBindingRecord } from "../../infra/outbound/session-binding-service.js"; import { scheduleGatewaySigusr1Restart, triggerOpenClawRestart } from "../../infra/restart.js"; import { loadCostUsageSummary, loadSessionCostSummary } from "../../infra/session-cost-usage.js"; -import { - setTelegramThreadBindingIdleTimeoutBySessionKey, - setTelegramThreadBindingMaxAgeBySessionKey, -} from "../../telegram/thread-bindings.js"; import { formatTokenCount, formatUsd } from "../../utils/usage-format.js"; import { parseActivationCommand } from "../group-activation.js"; import { parseSendPolicyCommand } from "../send-policy.js"; diff --git a/src/auto-reply/reply/commands-subagents.test-mocks.ts b/src/auto-reply/reply/commands-subagents.test-mocks.ts index da70d449b6f..99c34fbf35c 100644 --- a/src/auto-reply/reply/commands-subagents.test-mocks.ts +++ b/src/auto-reply/reply/commands-subagents.test-mocks.ts @@ -10,7 +10,7 @@ export function installSubagentsCommandCoreMocks() { }); // Prevent transitive import chain from reaching discord/monitor which needs https-proxy-agent. - vi.mock("../../discord/monitor/gateway-plugin.js", () => ({ + vi.mock("../../../extensions/discord/src/monitor/gateway-plugin.js", () => ({ createDiscordGatewayPlugin: () => ({}), })); } diff --git a/src/auto-reply/reply/commands-subagents/shared.ts b/src/auto-reply/reply/commands-subagents/shared.ts index bb923b52e46..1c7db7e13cd 100644 --- a/src/auto-reply/reply/commands-subagents/shared.ts +++ b/src/auto-reply/reply/commands-subagents/shared.ts @@ -1,3 +1,4 @@ +import { parseDiscordTarget } from "../../../../extensions/discord/src/targets.js"; import { resolveStoredSubagentCapabilities } from "../../../agents/subagent-capabilities.js"; import type { ResolvedSubagentController } from "../../../agents/subagent-control.js"; import { @@ -16,7 +17,6 @@ import type { loadSessionStore as loadSessionStoreFn, resolveStorePath as resolveStorePathFn, } from "../../../config/sessions.js"; -import { parseDiscordTarget } from "../../../discord/targets.js"; import { callGateway } from "../../../gateway/call.js"; import { formatTimeAgo } from "../../../infra/format-time/format-relative.ts"; import { parseAgentSessionKey } from "../../../routing/session-key.js"; diff --git a/src/auto-reply/reply/directive-handling.model.ts b/src/auto-reply/reply/directive-handling.model.ts index e05b7044edb..bb66d8b8d7f 100644 --- a/src/auto-reply/reply/directive-handling.model.ts +++ b/src/auto-reply/reply/directive-handling.model.ts @@ -1,3 +1,4 @@ +import { buildBrowseProvidersButton } from "../../../extensions/telegram/src/model-buttons.js"; import { resolveAuthStorePathForDisplay } from "../../agents/auth-profiles.js"; import { type ModelAliasIndex, @@ -8,7 +9,6 @@ import { } from "../../agents/model-selection.js"; import type { OpenClawConfig } from "../../config/config.js"; import type { SessionEntry } from "../../config/sessions.js"; -import { buildBrowseProvidersButton } from "../../telegram/model-buttons.js"; import { shortenHomePath } from "../../utils.js"; import { resolveSelectedAndActiveModel } from "../model-runtime.js"; import type { ReplyPayload } from "../types.js"; diff --git a/src/auto-reply/reply/dispatch-from-config.ts b/src/auto-reply/reply/dispatch-from-config.ts index b21fcabe80b..5b679fa59e5 100644 --- a/src/auto-reply/reply/dispatch-from-config.ts +++ b/src/auto-reply/reply/dispatch-from-config.ts @@ -1,3 +1,4 @@ +import { shouldSuppressLocalDiscordExecApprovalPrompt } from "../../../extensions/discord/src/exec-approvals.js"; import { resolveSessionAgentId } from "../../agents/agent-scope.js"; import type { OpenClawConfig } from "../../config/config.js"; import { @@ -7,7 +8,6 @@ import { resolveStorePath, type SessionEntry, } from "../../config/sessions.js"; -import { shouldSuppressLocalDiscordExecApprovalPrompt } from "../../discord/exec-approvals.js"; import { logVerbose } from "../../globals.js"; import { fireAndForgetHook } from "../../hooks/fire-and-forget.js"; import { createInternalHookEvent, triggerInternalHook } from "../../hooks/internal-hooks.js"; diff --git a/src/auto-reply/reply/reply-payloads.ts b/src/auto-reply/reply/reply-payloads.ts index 5a20d4ba950..d0f38c745c7 100644 --- a/src/auto-reply/reply/reply-payloads.ts +++ b/src/auto-reply/reply/reply-payloads.ts @@ -1,10 +1,10 @@ +import { parseTelegramTarget } from "../../../extensions/telegram/src/targets.js"; import { isMessagingToolDuplicate } from "../../agents/pi-embedded-helpers.js"; import type { MessagingToolSend } from "../../agents/pi-embedded-runner.js"; import { normalizeChannelId } from "../../channels/plugins/index.js"; import type { ReplyToMode } from "../../config/types.js"; import { normalizeTargetForProvider } from "../../infra/outbound/target-normalization.js"; import { normalizeOptionalAccountId } from "../../routing/account-id.js"; -import { parseTelegramTarget } from "../../telegram/targets.js"; import type { OriginatingChannelType } from "../templating.js"; import type { ReplyPayload } from "../types.js"; import { extractReplyToTag } from "./reply-tags.js"; diff --git a/src/auto-reply/reply/route-reply.test.ts b/src/auto-reply/reply/route-reply.test.ts index b0a2d393738..b0818f62512 100644 --- a/src/auto-reply/reply/route-reply.test.ts +++ b/src/auto-reply/reply/route-reply.test.ts @@ -29,19 +29,19 @@ const mocks = vi.hoisted(() => ({ deliverOutboundPayloads: vi.fn(), })); -vi.mock("../../discord/send.js", () => ({ +vi.mock("../../../extensions/discord/src/send.js", () => ({ sendMessageDiscord: mocks.sendMessageDiscord, })); -vi.mock("../../imessage/send.js", () => ({ +vi.mock("../../../extensions/imessage/src/send.js", () => ({ sendMessageIMessage: mocks.sendMessageIMessage, })); -vi.mock("../../signal/send.js", () => ({ +vi.mock("../../../extensions/signal/src/send.js", () => ({ sendMessageSignal: mocks.sendMessageSignal, })); -vi.mock("../../slack/send.js", () => ({ +vi.mock("../../../extensions/slack/src/send.js", () => ({ sendMessageSlack: mocks.sendMessageSlack, })); -vi.mock("../../telegram/send.js", () => ({ +vi.mock("../../../extensions/telegram/src/send.js", () => ({ sendMessageTelegram: mocks.sendMessageTelegram, })); vi.mock("../../../extensions/whatsapp/src/send.js", () => ({ diff --git a/src/auto-reply/reply/route-reply.ts b/src/auto-reply/reply/route-reply.ts index a6f863d7d18..a2d2dcc2f1f 100644 --- a/src/auto-reply/reply/route-reply.ts +++ b/src/auto-reply/reply/route-reply.ts @@ -7,13 +7,13 @@ * across multiple providers. */ +import { parseSlackBlocksInput } from "../../../extensions/slack/src/blocks-input.js"; +import { isSlackInteractiveRepliesEnabled } from "../../../extensions/slack/src/interactive-replies.js"; import { resolveSessionAgentId } from "../../agents/agent-scope.js"; import { resolveEffectiveMessagesConfig } from "../../agents/identity.js"; import { normalizeChannelId } from "../../channels/plugins/index.js"; import type { OpenClawConfig } from "../../config/config.js"; import { buildOutboundSessionContext } from "../../infra/outbound/session-context.js"; -import { parseSlackBlocksInput } from "../../slack/blocks-input.js"; -import { isSlackInteractiveRepliesEnabled } from "../../slack/interactive-replies.js"; import { INTERNAL_MESSAGE_CHANNEL, normalizeMessageChannel } from "../../utils/message-channel.js"; import type { OriginatingChannelType } from "../templating.js"; import type { ReplyPayload } from "../types.js"; diff --git a/src/auto-reply/reply/slack-directives.ts b/src/auto-reply/reply/slack-directives.ts index fe58f0c5961..552be69335c 100644 --- a/src/auto-reply/reply/slack-directives.ts +++ b/src/auto-reply/reply/slack-directives.ts @@ -1,5 +1,5 @@ -import { parseSlackBlocksInput } from "../../slack/blocks-input.js"; -import { truncateSlackText } from "../../slack/truncate.js"; +import { parseSlackBlocksInput } from "../../../extensions/slack/src/blocks-input.js"; +import { truncateSlackText } from "../../../extensions/slack/src/truncate.js"; import type { ReplyPayload } from "../types.js"; const SLACK_REPLY_BUTTON_ACTION_ID = "openclaw:reply_button"; diff --git a/src/auto-reply/reply/telegram-context.ts b/src/auto-reply/reply/telegram-context.ts index b1358d27a11..f209af031fb 100644 --- a/src/auto-reply/reply/telegram-context.ts +++ b/src/auto-reply/reply/telegram-context.ts @@ -1,4 +1,4 @@ -import { parseTelegramTarget } from "../../telegram/targets.js"; +import { parseTelegramTarget } from "../../../extensions/telegram/src/targets.js"; type TelegramConversationParams = { ctx: { diff --git a/src/auto-reply/templating.ts b/src/auto-reply/templating.ts index 8ca3c2389bc..c97584aeae3 100644 --- a/src/auto-reply/templating.ts +++ b/src/auto-reply/templating.ts @@ -1,10 +1,10 @@ +import type { StickerMetadata } from "../../extensions/telegram/src/bot/types.js"; import type { ChannelId } from "../channels/plugins/types.js"; import type { MediaUnderstandingDecision, MediaUnderstandingOutput, } from "../media-understanding/types.js"; import type { InputProvenance } from "../sessions/input-provenance.js"; -import type { StickerMetadata } from "../telegram/bot/types.js"; import type { InternalMessageChannel } from "../utils/message-channel.js"; import type { CommandArgs } from "./commands-registry.types.js"; diff --git a/src/channel-web.ts b/src/channel-web.ts index bd0590412c7..99e36ef67bc 100644 --- a/src/channel-web.ts +++ b/src/channel-web.ts @@ -9,17 +9,17 @@ export { runWebHeartbeatOnce, type WebChannelStatus, type WebMonitorTuning, -} from "./web/auto-reply.js"; +} from "../extensions/whatsapp/src/auto-reply.js"; export { extractMediaPlaceholder, extractText, monitorWebInbox, type WebInboundMessage, type WebListenerCloseReason, -} from "./web/inbound.js"; -export { loginWeb } from "./web/login.js"; -export { loadWebMedia, optimizeImageToJpeg } from "./web/media.js"; -export { sendMessageWhatsApp } from "./web/outbound.js"; +} from "../extensions/whatsapp/src/inbound.js"; +export { loginWeb } from "../extensions/whatsapp/src/login.js"; +export { loadWebMedia, optimizeImageToJpeg } from "../extensions/whatsapp/src/media.js"; +export { sendMessageWhatsApp } from "../extensions/whatsapp/src/send.js"; export { createWaSocket, formatError, @@ -30,4 +30,4 @@ export { WA_WEB_AUTH_DIR, waitForWaConnection, webAuthExists, -} from "./web/session.js"; +} from "../extensions/whatsapp/src/session.js"; diff --git a/src/channels/dock.ts b/src/channels/dock.ts index 52965790beb..e080d513c16 100644 --- a/src/channels/dock.ts +++ b/src/channels/dock.ts @@ -1,8 +1,13 @@ +import { inspectDiscordAccount } from "../../extensions/discord/src/account-inspect.js"; +import { resolveSignalAccount } from "../../extensions/signal/src/accounts.js"; +import { inspectSlackAccount } from "../../extensions/slack/src/account-inspect.js"; +import { resolveSlackReplyToMode } from "../../extensions/slack/src/accounts.js"; +import { buildSlackThreadingToolContext } from "../../extensions/slack/src/threading-tool-context.js"; +import { inspectTelegramAccount } from "../../extensions/telegram/src/account-inspect.js"; import { resolveChannelGroupRequireMention, resolveChannelGroupToolsPolicy, } from "../config/group-policy.js"; -import { inspectDiscordAccount } from "../discord/account-inspect.js"; import { formatAllowFromLowercase, formatNormalizedAllowFromEntries, @@ -19,11 +24,6 @@ import { } from "../plugin-sdk/channel-config-helpers.js"; import { requireActivePluginRegistry } from "../plugins/runtime.js"; import { normalizeAccountId } from "../routing/session-key.js"; -import { resolveSignalAccount } from "../signal/accounts.js"; -import { inspectSlackAccount } from "../slack/account-inspect.js"; -import { resolveSlackReplyToMode } from "../slack/accounts.js"; -import { buildSlackThreadingToolContext } from "../slack/threading-tool-context.js"; -import { inspectTelegramAccount } from "../telegram/account-inspect.js"; import { normalizeE164 } from "../utils.js"; import { resolveDiscordGroupRequireMention, diff --git a/src/channels/plugins/actions/actions.test.ts b/src/channels/plugins/actions/actions.test.ts index a6e1e89fc2e..055d660524f 100644 --- a/src/channels/plugins/actions/actions.test.ts +++ b/src/channels/plugins/actions/actions.test.ts @@ -15,7 +15,7 @@ vi.mock("../../../agents/tools/telegram-actions.js", () => ({ handleTelegramAction, })); -vi.mock("../../../signal/send-reactions.js", () => ({ +vi.mock("../../../../extensions/signal/src/send-reactions.js", () => ({ sendReactionSignal, removeReactionSignal, })); diff --git a/src/channels/plugins/actions/signal.ts b/src/channels/plugins/actions/signal.ts index c93421489fd..b75a20ae2ec 100644 --- a/src/channels/plugins/actions/signal.ts +++ b/src/channels/plugins/actions/signal.ts @@ -1,7 +1,13 @@ +import { + listEnabledSignalAccounts, + resolveSignalAccount, +} from "../../../../extensions/signal/src/accounts.js"; +import { resolveSignalReactionLevel } from "../../../../extensions/signal/src/reaction-level.js"; +import { + sendReactionSignal, + removeReactionSignal, +} from "../../../../extensions/signal/src/send-reactions.js"; import { createActionGate, jsonResult, readStringParam } from "../../../agents/tools/common.js"; -import { listEnabledSignalAccounts, resolveSignalAccount } from "../../../signal/accounts.js"; -import { resolveSignalReactionLevel } from "../../../signal/reaction-level.js"; -import { sendReactionSignal, removeReactionSignal } from "../../../signal/send-reactions.js"; import type { ChannelMessageActionAdapter, ChannelMessageActionName } from "../types.js"; import { resolveReactionMessageId } from "./reaction-message-id.js"; diff --git a/src/channels/plugins/directory-config.ts b/src/channels/plugins/directory-config.ts index e1270a9ceed..45fb8bcf46a 100644 --- a/src/channels/plugins/directory-config.ts +++ b/src/channels/plugins/directory-config.ts @@ -1,9 +1,9 @@ +import { inspectDiscordAccount } from "../../../extensions/discord/src/account-inspect.js"; +import { inspectSlackAccount } from "../../../extensions/slack/src/account-inspect.js"; +import { inspectTelegramAccount } from "../../../extensions/telegram/src/account-inspect.js"; +import { resolveWhatsAppAccount } from "../../../extensions/whatsapp/src/accounts.js"; import type { OpenClawConfig } from "../../config/types.js"; -import { inspectDiscordAccount } from "../../discord/account-inspect.js"; import { mapAllowFromEntries } from "../../plugin-sdk/channel-config-helpers.js"; -import { inspectSlackAccount } from "../../slack/account-inspect.js"; -import { inspectTelegramAccount } from "../../telegram/account-inspect.js"; -import { resolveWhatsAppAccount } from "../../web/accounts.js"; import { isWhatsAppGroupJid, normalizeWhatsAppTarget } from "../../whatsapp/normalize.js"; import { applyDirectoryQueryAndLimit, toDirectoryEntries } from "./directory-config-helpers.js"; import { normalizeSlackMessagingTarget } from "./normalize/slack.js"; diff --git a/src/channels/plugins/group-mentions.ts b/src/channels/plugins/group-mentions.ts index b7f475677c5..4dac8bbc7f2 100644 --- a/src/channels/plugins/group-mentions.ts +++ b/src/channels/plugins/group-mentions.ts @@ -1,3 +1,4 @@ +import { inspectSlackAccount } from "../../../extensions/slack/src/account-inspect.js"; import type { OpenClawConfig } from "../../config/config.js"; import { resolveChannelGroupRequireMention, @@ -11,7 +12,6 @@ import type { } from "../../config/types.tools.js"; import { resolveExactLineGroupConfigKey } from "../../line/group-keys.js"; import { normalizeAtHashSlug, normalizeHyphenSlug } from "../../shared/string-normalization.js"; -import { inspectSlackAccount } from "../../slack/account-inspect.js"; import type { ChannelGroupContext } from "./types.js"; type GroupMentionParams = ChannelGroupContext; diff --git a/src/channels/plugins/normalize/imessage.ts b/src/channels/plugins/normalize/imessage.ts index 94cb5833819..3b9ecbe1837 100644 --- a/src/channels/plugins/normalize/imessage.ts +++ b/src/channels/plugins/normalize/imessage.ts @@ -1,4 +1,4 @@ -import { normalizeIMessageHandle } from "../../../imessage/targets.js"; +import { normalizeIMessageHandle } from "../../../../extensions/imessage/src/targets.js"; import { looksLikeHandleOrPhoneTarget, trimMessagingTarget } from "./shared.js"; // Service prefixes that indicate explicit delivery method; must be preserved during normalization diff --git a/src/channels/plugins/normalize/slack.ts b/src/channels/plugins/normalize/slack.ts index 33dcfb7ee23..52d4c905342 100644 --- a/src/channels/plugins/normalize/slack.ts +++ b/src/channels/plugins/normalize/slack.ts @@ -1,4 +1,4 @@ -import { parseSlackTarget } from "../../../slack/targets.js"; +import { parseSlackTarget } from "../../../../extensions/slack/src/targets.js"; export function normalizeSlackMessagingTarget(raw: string): string | undefined { const target = parseSlackTarget(raw, { defaultKind: "channel" }); diff --git a/src/channels/plugins/onboarding/imessage.ts b/src/channels/plugins/onboarding/imessage.ts index 7e89047e971..b4941ebd82e 100644 --- a/src/channels/plugins/onboarding/imessage.ts +++ b/src/channels/plugins/onboarding/imessage.ts @@ -1,11 +1,11 @@ -import { detectBinary } from "../../../commands/onboard-helpers.js"; -import type { OpenClawConfig } from "../../../config/config.js"; import { listIMessageAccountIds, resolveDefaultIMessageAccountId, resolveIMessageAccount, -} from "../../../imessage/accounts.js"; -import { normalizeIMessageHandle } from "../../../imessage/targets.js"; +} from "../../../../extensions/imessage/src/accounts.js"; +import { normalizeIMessageHandle } from "../../../../extensions/imessage/src/targets.js"; +import { detectBinary } from "../../../commands/onboard-helpers.js"; +import type { OpenClawConfig } from "../../../config/config.js"; import { formatDocsLink } from "../../../terminal/links.js"; import type { WizardPrompter } from "../../../wizard/prompts.js"; import type { ChannelOnboardingAdapter, ChannelOnboardingDmPolicy } from "../onboarding-types.js"; diff --git a/src/channels/plugins/onboarding/signal.ts b/src/channels/plugins/onboarding/signal.ts index ce48be2aa7f..6609d4bbd76 100644 --- a/src/channels/plugins/onboarding/signal.ts +++ b/src/channels/plugins/onboarding/signal.ts @@ -1,12 +1,12 @@ -import { formatCliCommand } from "../../../cli/command-format.js"; -import { detectBinary } from "../../../commands/onboard-helpers.js"; -import { installSignalCli } from "../../../commands/signal-install.js"; -import type { OpenClawConfig } from "../../../config/config.js"; import { listSignalAccountIds, resolveDefaultSignalAccountId, resolveSignalAccount, -} from "../../../signal/accounts.js"; +} from "../../../../extensions/signal/src/accounts.js"; +import { formatCliCommand } from "../../../cli/command-format.js"; +import { detectBinary } from "../../../commands/onboard-helpers.js"; +import { installSignalCli } from "../../../commands/signal-install.js"; +import type { OpenClawConfig } from "../../../config/config.js"; import { formatDocsLink } from "../../../terminal/links.js"; import { normalizeE164 } from "../../../utils.js"; import type { WizardPrompter } from "../../../wizard/prompts.js"; diff --git a/src/channels/plugins/onboarding/slack.ts b/src/channels/plugins/onboarding/slack.ts index 0cceb859e4d..8b956edcd23 100644 --- a/src/channels/plugins/onboarding/slack.ts +++ b/src/channels/plugins/onboarding/slack.ts @@ -1,14 +1,14 @@ -import type { OpenClawConfig } from "../../../config/config.js"; -import { hasConfiguredSecretInput } from "../../../config/types.secrets.js"; -import { DEFAULT_ACCOUNT_ID } from "../../../routing/session-key.js"; -import { inspectSlackAccount } from "../../../slack/account-inspect.js"; +import { inspectSlackAccount } from "../../../../extensions/slack/src/account-inspect.js"; import { listSlackAccountIds, resolveDefaultSlackAccountId, resolveSlackAccount, -} from "../../../slack/accounts.js"; -import { resolveSlackChannelAllowlist } from "../../../slack/resolve-channels.js"; -import { resolveSlackUserAllowlist } from "../../../slack/resolve-users.js"; +} from "../../../../extensions/slack/src/accounts.js"; +import { resolveSlackChannelAllowlist } from "../../../../extensions/slack/src/resolve-channels.js"; +import { resolveSlackUserAllowlist } from "../../../../extensions/slack/src/resolve-users.js"; +import type { OpenClawConfig } from "../../../config/config.js"; +import { hasConfiguredSecretInput } from "../../../config/types.secrets.js"; +import { DEFAULT_ACCOUNT_ID } from "../../../routing/session-key.js"; import { formatDocsLink } from "../../../terminal/links.js"; import type { WizardPrompter } from "../../../wizard/prompts.js"; import type { ChannelOnboardingAdapter, ChannelOnboardingDmPolicy } from "../onboarding-types.js"; diff --git a/src/channels/plugins/outbound/imessage.ts b/src/channels/plugins/outbound/imessage.ts index f321b0cb936..f088f88cf4e 100644 --- a/src/channels/plugins/outbound/imessage.ts +++ b/src/channels/plugins/outbound/imessage.ts @@ -1,4 +1,4 @@ -import { sendMessageIMessage } from "../../../imessage/send.js"; +import { sendMessageIMessage } from "../../../../extensions/imessage/src/send.js"; import { resolveOutboundSendDep, type OutboundSendDeps } from "../../../infra/outbound/deliver.js"; import { createScopedChannelMediaMaxBytesResolver, diff --git a/src/channels/plugins/outbound/signal.ts b/src/channels/plugins/outbound/signal.ts index f5ee80788ad..16016de2fac 100644 --- a/src/channels/plugins/outbound/signal.ts +++ b/src/channels/plugins/outbound/signal.ts @@ -1,5 +1,5 @@ +import { sendMessageSignal } from "../../../../extensions/signal/src/send.js"; import { resolveOutboundSendDep, type OutboundSendDeps } from "../../../infra/outbound/deliver.js"; -import { sendMessageSignal } from "../../../signal/send.js"; import { createScopedChannelMediaMaxBytesResolver, createDirectTextMediaOutbound, diff --git a/src/channels/plugins/outbound/slack.test.ts b/src/channels/plugins/outbound/slack.test.ts index 18635f0e4a2..9b5c1843ce2 100644 --- a/src/channels/plugins/outbound/slack.test.ts +++ b/src/channels/plugins/outbound/slack.test.ts @@ -1,7 +1,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../../../config/config.js"; -vi.mock("../../../slack/send.js", () => ({ +vi.mock("../../../../extensions/slack/src/send.js", () => ({ sendMessageSlack: vi.fn().mockResolvedValue({ messageId: "1234.5678", channelId: "C123" }), })); @@ -9,8 +9,8 @@ vi.mock("../../../plugins/hook-runner-global.js", () => ({ getGlobalHookRunner: vi.fn(), })); +import { sendMessageSlack } from "../../../../extensions/slack/src/send.js"; import { getGlobalHookRunner } from "../../../plugins/hook-runner-global.js"; -import { sendMessageSlack } from "../../../slack/send.js"; import { slackOutbound } from "./slack.js"; type SlackSendTextCtx = { diff --git a/src/channels/plugins/outbound/slack.ts b/src/channels/plugins/outbound/slack.ts index 12a5604f811..b73f33ff286 100644 --- a/src/channels/plugins/outbound/slack.ts +++ b/src/channels/plugins/outbound/slack.ts @@ -1,8 +1,8 @@ +import { parseSlackBlocksInput } from "../../../../extensions/slack/src/blocks-input.js"; +import { sendMessageSlack, type SlackSendIdentity } from "../../../../extensions/slack/src/send.js"; import { resolveOutboundSendDep } from "../../../infra/outbound/deliver.js"; import type { OutboundIdentity } from "../../../infra/outbound/identity.js"; import { getGlobalHookRunner } from "../../../plugins/hook-runner-global.js"; -import { parseSlackBlocksInput } from "../../../slack/blocks-input.js"; -import { sendMessageSlack, type SlackSendIdentity } from "../../../slack/send.js"; import type { ChannelOutboundAdapter } from "../types.js"; import { sendTextMediaPayload } from "./direct-text-media.js"; diff --git a/src/channels/plugins/plugins-core.test.ts b/src/channels/plugins/plugins-core.test.ts index 30ed835873d..8297a6b7519 100644 --- a/src/channels/plugins/plugins-core.test.ts +++ b/src/channels/plugins/plugins-core.test.ts @@ -2,16 +2,16 @@ import fs from "node:fs"; import os from "node:os"; import path from "node:path"; import { afterEach, beforeEach, describe, expect, expectTypeOf, it } from "vitest"; +import type { DiscordProbe } from "../../../extensions/discord/src/probe.js"; +import type { DiscordTokenResolution } from "../../../extensions/discord/src/token.js"; +import type { IMessageProbe } from "../../../extensions/imessage/src/probe.js"; +import type { SignalProbe } from "../../../extensions/signal/src/probe.js"; +import type { SlackProbe } from "../../../extensions/slack/src/probe.js"; +import type { TelegramProbe } from "../../../extensions/telegram/src/probe.js"; +import type { TelegramTokenResolution } from "../../../extensions/telegram/src/token.js"; import type { OpenClawConfig } from "../../config/config.js"; -import type { DiscordProbe } from "../../discord/probe.js"; -import type { DiscordTokenResolution } from "../../discord/token.js"; -import type { IMessageProbe } from "../../imessage/probe.js"; import type { LineProbeResult } from "../../line/types.js"; import { setActivePluginRegistry } from "../../plugins/runtime.js"; -import type { SignalProbe } from "../../signal/probe.js"; -import type { SlackProbe } from "../../slack/probe.js"; -import type { TelegramProbe } from "../../telegram/probe.js"; -import type { TelegramTokenResolution } from "../../telegram/token.js"; import { createChannelTestPluginBase, createMSTeamsTestPluginBase, diff --git a/src/channels/plugins/slack.actions.ts b/src/channels/plugins/slack.actions.ts index e30e57c9d05..1e9f907d498 100644 --- a/src/channels/plugins/slack.actions.ts +++ b/src/channels/plugins/slack.actions.ts @@ -1,7 +1,10 @@ +import { + extractSlackToolSend, + listSlackMessageActions, +} from "../../../extensions/slack/src/message-actions.js"; +import { resolveSlackChannelId } from "../../../extensions/slack/src/targets.js"; import { handleSlackAction, type SlackActionContext } from "../../agents/tools/slack-actions.js"; import { handleSlackMessageAction } from "../../plugin-sdk/slack-message-actions.js"; -import { extractSlackToolSend, listSlackMessageActions } from "../../slack/message-actions.js"; -import { resolveSlackChannelId } from "../../slack/targets.js"; import type { ChannelMessageActionAdapter } from "./types.js"; export function createSlackActions(providerId: string): ChannelMessageActionAdapter { diff --git a/src/channels/read-only-account-inspect.ts b/src/channels/read-only-account-inspect.ts index 535fe05c473..c8d99a3a42e 100644 --- a/src/channels/read-only-account-inspect.ts +++ b/src/channels/read-only-account-inspect.ts @@ -1,10 +1,16 @@ -import type { OpenClawConfig } from "../config/config.js"; -import { inspectDiscordAccount, type InspectedDiscordAccount } from "../discord/account-inspect.js"; -import { inspectSlackAccount, type InspectedSlackAccount } from "../slack/account-inspect.js"; +import { + inspectDiscordAccount, + type InspectedDiscordAccount, +} from "../../extensions/discord/src/account-inspect.js"; +import { + inspectSlackAccount, + type InspectedSlackAccount, +} from "../../extensions/slack/src/account-inspect.js"; import { inspectTelegramAccount, type InspectedTelegramAccount, -} from "../telegram/account-inspect.js"; +} from "../../extensions/telegram/src/account-inspect.js"; +import type { OpenClawConfig } from "../config/config.js"; import type { ChannelId } from "./plugins/types.js"; export type ReadOnlyInspectedAccount = diff --git a/src/channels/reply-prefix.ts b/src/channels/reply-prefix.ts index 59f0a29381d..247109fb59d 100644 --- a/src/channels/reply-prefix.ts +++ b/src/channels/reply-prefix.ts @@ -1,3 +1,4 @@ +import { isSlackInteractiveRepliesEnabled } from "../../extensions/slack/src/interactive-replies.js"; import { resolveEffectiveMessagesConfig, resolveIdentityName } from "../agents/identity.js"; import { extractShortModelName, @@ -5,7 +6,6 @@ import { } from "../auto-reply/reply/response-prefix-template.js"; import type { GetReplyOptions } from "../auto-reply/types.js"; import type { OpenClawConfig } from "../config/config.js"; -import { isSlackInteractiveRepliesEnabled } from "../slack/interactive-replies.js"; type ModelSelectionContext = Parameters>[0]; diff --git a/src/cli/deps.test.ts b/src/cli/deps.test.ts index 644a8abd2c2..f345e1a24bb 100644 --- a/src/cli/deps.test.ts +++ b/src/cli/deps.test.ts @@ -24,27 +24,27 @@ vi.mock("../channels/web/index.js", () => { return { sendMessageWhatsApp: sendFns.whatsapp }; }); -vi.mock("../telegram/send.js", () => { +vi.mock("../../extensions/telegram/src/send.js", () => { moduleLoads.telegram(); return { sendMessageTelegram: sendFns.telegram }; }); -vi.mock("../discord/send.js", () => { +vi.mock("../../extensions/discord/src/send.js", () => { moduleLoads.discord(); return { sendMessageDiscord: sendFns.discord }; }); -vi.mock("../slack/send.js", () => { +vi.mock("../../extensions/slack/src/send.js", () => { moduleLoads.slack(); return { sendMessageSlack: sendFns.slack }; }); -vi.mock("../signal/send.js", () => { +vi.mock("../../extensions/signal/src/send.js", () => { moduleLoads.signal(); return { sendMessageSignal: sendFns.signal }; }); -vi.mock("../imessage/send.js", () => { +vi.mock("../../extensions/imessage/src/send.js", () => { moduleLoads.imessage(); return { sendMessageIMessage: sendFns.imessage }; }); diff --git a/src/cli/deps.ts b/src/cli/deps.ts index 07b608639cc..81126168e3f 100644 --- a/src/cli/deps.ts +++ b/src/cli/deps.ts @@ -40,27 +40,27 @@ export function createDefaultDeps(): CliDeps { ), telegram: createLazySender( "telegram", - () => import("../telegram/send.js") as Promise>, + () => import("../../extensions/telegram/src/send.js") as Promise>, "sendMessageTelegram", ), discord: createLazySender( "discord", - () => import("../discord/send.js") as Promise>, + () => import("../../extensions/discord/src/send.js") as Promise>, "sendMessageDiscord", ), slack: createLazySender( "slack", - () => import("../slack/send.js") as Promise>, + () => import("../../extensions/slack/src/send.js") as Promise>, "sendMessageSlack", ), signal: createLazySender( "signal", - () => import("../signal/send.js") as Promise>, + () => import("../../extensions/signal/src/send.js") as Promise>, "sendMessageSignal", ), imessage: createLazySender( "imessage", - () => import("../imessage/send.js") as Promise>, + () => import("../../extensions/imessage/src/send.js") as Promise>, "sendMessageIMessage", ), }; @@ -70,4 +70,4 @@ export function createOutboundSendDeps(deps: CliDeps): OutboundSendDeps { return createOutboundSendDepsFromCliSource(deps); } -export { logWebSelfId } from "../web/auth-store.js"; +export { logWebSelfId } from "../../extensions/whatsapp/src/auth-store.js"; diff --git a/src/commands/channels.mock-harness.ts b/src/commands/channels.mock-harness.ts index a71ae75d44d..d1f412b0399 100644 --- a/src/commands/channels.mock-harness.ts +++ b/src/commands/channels.mock-harness.ts @@ -24,8 +24,9 @@ vi.mock("../config/config.js", async (importOriginal) => { }; }); -vi.mock("../telegram/update-offset-store.js", async (importOriginal) => { - const actual = await importOriginal(); +vi.mock("../../extensions/telegram/src/update-offset-store.js", async (importOriginal) => { + const actual = + await importOriginal(); return { ...actual, deleteTelegramUpdateOffset: offsetMocks.deleteTelegramUpdateOffset, diff --git a/src/commands/channels/add.ts b/src/commands/channels/add.ts index ebf80e6a735..3cc2f305870 100644 --- a/src/commands/channels/add.ts +++ b/src/commands/channels/add.ts @@ -1,3 +1,5 @@ +import { resolveTelegramAccount } from "../../../extensions/telegram/src/accounts.js"; +import { deleteTelegramUpdateOffset } from "../../../extensions/telegram/src/update-offset-store.js"; import { resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../../agents/agent-scope.js"; import { listChannelPluginCatalogEntries } from "../../channels/plugins/catalog.js"; import { parseOptionalDelimitedEntries } from "../../channels/plugins/helpers.js"; @@ -7,8 +9,6 @@ import type { ChannelId, ChannelSetupInput } from "../../channels/plugins/types. import { writeConfigFile, type OpenClawConfig } from "../../config/config.js"; import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "../../routing/session-key.js"; import { defaultRuntime, type RuntimeEnv } from "../../runtime.js"; -import { resolveTelegramAccount } from "../../telegram/accounts.js"; -import { deleteTelegramUpdateOffset } from "../../telegram/update-offset-store.js"; import { createClackPrompter } from "../../wizard/clack-prompter.js"; import { applyAgentBindings, describeBinding } from "../agents.bindings.js"; import { buildAgentSummaries } from "../agents.config.js"; diff --git a/src/commands/channels/capabilities.test.ts b/src/commands/channels/capabilities.test.ts index b85cd750a91..5e838cc4ec8 100644 --- a/src/commands/channels/capabilities.test.ts +++ b/src/commands/channels/capabilities.test.ts @@ -1,9 +1,9 @@ process.env.NO_COLOR = "1"; import { beforeEach, describe, expect, it, vi } from "vitest"; +import { fetchSlackScopes } from "../../../extensions/slack/src/scopes.js"; import { getChannelPlugin, listChannelPlugins } from "../../channels/plugins/index.js"; import type { ChannelPlugin } from "../../channels/plugins/types.js"; -import { fetchSlackScopes } from "../../slack/scopes.js"; import { channelsCapabilitiesCommand } from "./capabilities.js"; const logs: string[] = []; @@ -21,7 +21,7 @@ vi.mock("../../channels/plugins/index.js", () => ({ getChannelPlugin: vi.fn(), })); -vi.mock("../../slack/scopes.js", () => ({ +vi.mock("../../../extensions/slack/src/scopes.js", () => ({ fetchSlackScopes: vi.fn(), })); diff --git a/src/commands/channels/capabilities.ts b/src/commands/channels/capabilities.ts index 37c682448aa..30f64da43d9 100644 --- a/src/commands/channels/capabilities.ts +++ b/src/commands/channels/capabilities.ts @@ -1,12 +1,12 @@ +import { fetchChannelPermissionsDiscord } from "../../../extensions/discord/src/send.js"; +import { parseDiscordTarget } from "../../../extensions/discord/src/targets.js"; +import { fetchSlackScopes, type SlackScopesResult } from "../../../extensions/slack/src/scopes.js"; import { resolveChannelDefaultAccountId } from "../../channels/plugins/helpers.js"; import { getChannelPlugin, listChannelPlugins } from "../../channels/plugins/index.js"; import type { ChannelCapabilities, ChannelPlugin } from "../../channels/plugins/types.js"; import type { OpenClawConfig } from "../../config/config.js"; -import { fetchChannelPermissionsDiscord } from "../../discord/send.js"; -import { parseDiscordTarget } from "../../discord/targets.js"; import { danger } from "../../globals.js"; import { defaultRuntime, type RuntimeEnv } from "../../runtime.js"; -import { fetchSlackScopes, type SlackScopesResult } from "../../slack/scopes.js"; import { theme } from "../../terminal/theme.js"; import { formatChannelAccountLabel, requireValidConfig } from "./shared.js"; diff --git a/src/commands/channels/remove.ts b/src/commands/channels/remove.ts index 5766a4250fd..58354170135 100644 --- a/src/commands/channels/remove.ts +++ b/src/commands/channels/remove.ts @@ -1,3 +1,4 @@ +import { deleteTelegramUpdateOffset } from "../../../extensions/telegram/src/update-offset-store.js"; import { resolveChannelDefaultAccountId } from "../../channels/plugins/helpers.js"; import { getChannelPlugin, @@ -7,7 +8,6 @@ import { import { type OpenClawConfig, writeConfigFile } from "../../config/config.js"; import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "../../routing/session-key.js"; import { defaultRuntime, type RuntimeEnv } from "../../runtime.js"; -import { deleteTelegramUpdateOffset } from "../../telegram/update-offset-store.js"; import { createClackPrompter } from "../../wizard/clack-prompter.js"; import { type ChatChannel, channelLabel, requireValidConfig, shouldUseWizard } from "./shared.js"; diff --git a/src/commands/doctor-config-flow.ts b/src/commands/doctor-config-flow.ts index 71cd6926417..f616bfaba55 100644 --- a/src/commands/doctor-config-flow.ts +++ b/src/commands/doctor-config-flow.ts @@ -1,11 +1,16 @@ import fs from "node:fs/promises"; import path from "node:path"; -import { normalizeChatChannelId } from "../channels/registry.js"; +import { inspectTelegramAccount } from "../../extensions/telegram/src/account-inspect.js"; +import { + listTelegramAccountIds, + resolveTelegramAccount, +} from "../../extensions/telegram/src/accounts.js"; import { isNumericTelegramUserId, normalizeTelegramAllowFromEntry, -} from "../channels/telegram/allow-from.js"; -import { fetchTelegramChatId } from "../channels/telegram/api.js"; +} from "../../extensions/telegram/src/allow-from.js"; +import { fetchTelegramChatId } from "../../extensions/telegram/src/api-fetch.js"; +import { normalizeChatChannelId } from "../channels/registry.js"; import { formatCliCommand } from "../cli/command-format.js"; import { resolveCommandSecretRefsViaGateway } from "../cli/command-secret-gateway.js"; import { getChannelsCommandSecretTargetIds } from "../cli/command-secret-targets.js"; @@ -46,8 +51,6 @@ import { isSlackMutableAllowEntry, isZalouserMutableGroupEntry, } from "../security/mutable-allowlist-detectors.js"; -import { inspectTelegramAccount } from "../telegram/account-inspect.js"; -import { listTelegramAccountIds, resolveTelegramAccount } from "../telegram/accounts.js"; import { note } from "../terminal/note.js"; import { resolveHomeDir } from "../utils.js"; import { diff --git a/src/commands/doctor.e2e-harness.ts b/src/commands/doctor.e2e-harness.ts index b15bdfa6234..b75e3bbc5d4 100644 --- a/src/commands/doctor.e2e-harness.ts +++ b/src/commands/doctor.e2e-harness.ts @@ -258,7 +258,7 @@ vi.mock("../pairing/pairing-store.js", () => ({ upsertChannelPairingRequest: vi.fn().mockResolvedValue({ code: "000000", created: false }), })); -vi.mock("../telegram/token.js", () => ({ +vi.mock("../../extensions/telegram/src/token.js", () => ({ resolveTelegramToken: vi.fn(() => ({ token: "", source: "none" })), })); diff --git a/src/config/plugin-auto-enable.ts b/src/config/plugin-auto-enable.ts index 5c365fb5cc8..4e0cae1209f 100644 --- a/src/config/plugin-auto-enable.ts +++ b/src/config/plugin-auto-enable.ts @@ -1,3 +1,4 @@ +import { hasAnyWhatsAppAuth } from "../../extensions/whatsapp/src/accounts.js"; import { normalizeProviderId } from "../agents/model-selection.js"; import { getChannelPluginCatalogEntry, @@ -13,7 +14,6 @@ import { type PluginManifestRegistry, } from "../plugins/manifest-registry.js"; import { isRecord } from "../utils.js"; -import { hasAnyWhatsAppAuth } from "../web/accounts.js"; import type { OpenClawConfig } from "./config.js"; import { ensurePluginAllowlisted } from "./plugins-allowlist.js"; diff --git a/src/config/schema.help.ts b/src/config/schema.help.ts index 215a17d77d8..555ee02b8eb 100644 --- a/src/config/schema.help.ts +++ b/src/config/schema.help.ts @@ -1,7 +1,7 @@ import { DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, DISCORD_DEFAULT_LISTENER_TIMEOUT_MS, -} from "../discord/monitor/timeouts.js"; +} from "../../extensions/discord/src/monitor/timeouts.js"; import { MEDIA_AUDIO_FIELD_HELP } from "./media-audio-field-metadata.js"; import { IRC_FIELD_HELP } from "./schema.irc.js"; import { describeTalkSilenceTimeoutDefaults } from "./talk-defaults.js"; diff --git a/src/config/sessions/explicit-session-key-normalization.ts b/src/config/sessions/explicit-session-key-normalization.ts index 71a74bb5db3..984b70487a3 100644 --- a/src/config/sessions/explicit-session-key-normalization.ts +++ b/src/config/sessions/explicit-session-key-normalization.ts @@ -1,5 +1,5 @@ +import { normalizeExplicitDiscordSessionKey } from "../../../extensions/discord/src/session-key-normalization.js"; import type { MsgContext } from "../../auto-reply/templating.js"; -import { normalizeExplicitDiscordSessionKey } from "../../discord/session-key-normalization.js"; type ExplicitSessionKeyNormalizer = (sessionKey: string, ctx: MsgContext) => string; type ExplicitSessionKeyNormalizerEntry = { diff --git a/src/config/types.discord.ts b/src/config/types.discord.ts index 2d005dd7d7a..e25f7c5f592 100644 --- a/src/config/types.discord.ts +++ b/src/config/types.discord.ts @@ -1,4 +1,4 @@ -import type { DiscordPluralKitConfig } from "../discord/pluralkit.js"; +import type { DiscordPluralKitConfig } from "../../extensions/discord/src/pluralkit.js"; import type { BlockStreamingChunkConfig, BlockStreamingCoalesceConfig, diff --git a/src/cron/isolated-agent/delivery-target.test.ts b/src/cron/isolated-agent/delivery-target.test.ts index 461b4a72edb..9914043b2ff 100644 --- a/src/cron/isolated-agent/delivery-target.test.ts +++ b/src/cron/isolated-agent/delivery-target.test.ts @@ -25,11 +25,11 @@ vi.mock("../../../extensions/whatsapp/src/accounts.js", () => ({ resolveWhatsAppAccount: vi.fn(() => ({ allowFrom: [] })), })); +import { resolveWhatsAppAccount } from "../../../extensions/whatsapp/src/accounts.js"; import { loadSessionStore } from "../../config/sessions.js"; import { resolveMessageChannelSelection } from "../../infra/outbound/channel-selection.js"; import { maybeResolveIdLikeTarget } from "../../infra/outbound/target-resolver.js"; import { readChannelAllowFromStoreSync } from "../../pairing/pairing-store.js"; -import { resolveWhatsAppAccount } from "../../web/accounts.js"; import { resolveDeliveryTarget } from "./delivery-target.js"; function makeCfg(overrides?: Partial): OpenClawConfig { diff --git a/src/cron/isolated-agent/delivery-target.ts b/src/cron/isolated-agent/delivery-target.ts index 33bd80d4118..4a70352e233 100644 --- a/src/cron/isolated-agent/delivery-target.ts +++ b/src/cron/isolated-agent/delivery-target.ts @@ -1,3 +1,4 @@ +import { resolveWhatsAppAccount } from "../../../extensions/whatsapp/src/accounts.js"; import type { ChannelId } from "../../channels/plugins/types.js"; import type { OpenClawConfig } from "../../config/config.js"; import { @@ -15,7 +16,6 @@ import { import { readChannelAllowFromStoreSync } from "../../pairing/pairing-store.js"; import { buildChannelAccountBindings } from "../../routing/bindings.js"; import { normalizeAccountId, normalizeAgentId } from "../../routing/session-key.js"; -import { resolveWhatsAppAccount } from "../../web/accounts.js"; import { normalizeWhatsAppTarget } from "../../whatsapp/normalize.js"; export type DeliveryTargetResolution = diff --git a/src/discord/account-inspect.ts b/src/discord/account-inspect.ts deleted file mode 100644 index bb1bc0a0c66..00000000000 --- a/src/discord/account-inspect.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/account-inspect.js"; diff --git a/src/discord/accounts.ts b/src/discord/accounts.ts deleted file mode 100644 index c3b20f40cbb..00000000000 --- a/src/discord/accounts.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/accounts.js"; diff --git a/src/discord/api.ts b/src/discord/api.ts deleted file mode 100644 index 6484e87dac5..00000000000 --- a/src/discord/api.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/api.js"; diff --git a/src/discord/audit.ts b/src/discord/audit.ts deleted file mode 100644 index e5baca29383..00000000000 --- a/src/discord/audit.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/audit.js"; diff --git a/src/discord/chunk.ts b/src/discord/chunk.ts deleted file mode 100644 index 6adf949d160..00000000000 --- a/src/discord/chunk.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/chunk.js"; diff --git a/src/discord/client.ts b/src/discord/client.ts deleted file mode 100644 index c37edf7cd48..00000000000 --- a/src/discord/client.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/client.js"; diff --git a/src/discord/components-registry.ts b/src/discord/components-registry.ts deleted file mode 100644 index 7a6c43fdd91..00000000000 --- a/src/discord/components-registry.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/components-registry.js"; diff --git a/src/discord/components.ts b/src/discord/components.ts deleted file mode 100644 index a2efa4b0c6b..00000000000 --- a/src/discord/components.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/components.js"; diff --git a/src/discord/directory-cache.ts b/src/discord/directory-cache.ts deleted file mode 100644 index 436b8fbd0a2..00000000000 --- a/src/discord/directory-cache.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/directory-cache.js"; diff --git a/src/discord/directory-live.ts b/src/discord/directory-live.ts deleted file mode 100644 index 1dc1fa8aa58..00000000000 --- a/src/discord/directory-live.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/directory-live.js"; diff --git a/src/discord/draft-chunking.ts b/src/discord/draft-chunking.ts deleted file mode 100644 index ae9f0f2a5f4..00000000000 --- a/src/discord/draft-chunking.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/draft-chunking.js"; diff --git a/src/discord/draft-stream.ts b/src/discord/draft-stream.ts deleted file mode 100644 index 03de5548c36..00000000000 --- a/src/discord/draft-stream.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/draft-stream.js"; diff --git a/src/discord/exec-approvals.ts b/src/discord/exec-approvals.ts deleted file mode 100644 index 8aa6d15a285..00000000000 --- a/src/discord/exec-approvals.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/exec-approvals.js"; diff --git a/src/discord/gateway-logging.ts b/src/discord/gateway-logging.ts deleted file mode 100644 index 0dcce5aa91d..00000000000 --- a/src/discord/gateway-logging.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/gateway-logging.js"; diff --git a/src/discord/guilds.ts b/src/discord/guilds.ts deleted file mode 100644 index 098402fd3e2..00000000000 --- a/src/discord/guilds.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/guilds.js"; diff --git a/src/discord/mentions.ts b/src/discord/mentions.ts deleted file mode 100644 index 1afb332a0f3..00000000000 --- a/src/discord/mentions.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/mentions.js"; diff --git a/src/discord/monitor.gateway.ts b/src/discord/monitor.gateway.ts deleted file mode 100644 index d3dfb2f3d83..00000000000 --- a/src/discord/monitor.gateway.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/monitor.gateway.js"; diff --git a/src/discord/monitor.ts b/src/discord/monitor.ts deleted file mode 100644 index be765e73063..00000000000 --- a/src/discord/monitor.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/monitor.js"; diff --git a/src/discord/monitor/agent-components.ts b/src/discord/monitor/agent-components.ts deleted file mode 100644 index 24f048782f7..00000000000 --- a/src/discord/monitor/agent-components.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/agent-components.js"; diff --git a/src/discord/monitor/allow-list.ts b/src/discord/monitor/allow-list.ts deleted file mode 100644 index 45b5a1ad146..00000000000 --- a/src/discord/monitor/allow-list.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/allow-list.js"; diff --git a/src/discord/monitor/auto-presence.ts b/src/discord/monitor/auto-presence.ts deleted file mode 100644 index cb07e23a614..00000000000 --- a/src/discord/monitor/auto-presence.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/auto-presence.js"; diff --git a/src/discord/monitor/commands.ts b/src/discord/monitor/commands.ts deleted file mode 100644 index b9636dc0561..00000000000 --- a/src/discord/monitor/commands.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/commands.js"; diff --git a/src/discord/monitor/dm-command-auth.ts b/src/discord/monitor/dm-command-auth.ts deleted file mode 100644 index f01625e3703..00000000000 --- a/src/discord/monitor/dm-command-auth.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/dm-command-auth.js"; diff --git a/src/discord/monitor/dm-command-decision.ts b/src/discord/monitor/dm-command-decision.ts deleted file mode 100644 index 1a602a0d425..00000000000 --- a/src/discord/monitor/dm-command-decision.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/dm-command-decision.js"; diff --git a/src/discord/monitor/exec-approvals.ts b/src/discord/monitor/exec-approvals.ts deleted file mode 100644 index 20b7cfd4831..00000000000 --- a/src/discord/monitor/exec-approvals.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/exec-approvals.js"; diff --git a/src/discord/monitor/format.ts b/src/discord/monitor/format.ts deleted file mode 100644 index 4df0d92e18c..00000000000 --- a/src/discord/monitor/format.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/format.js"; diff --git a/src/discord/monitor/gateway-error-guard.ts b/src/discord/monitor/gateway-error-guard.ts deleted file mode 100644 index c231f0006a1..00000000000 --- a/src/discord/monitor/gateway-error-guard.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/gateway-error-guard.js"; diff --git a/src/discord/monitor/gateway-plugin.ts b/src/discord/monitor/gateway-plugin.ts deleted file mode 100644 index 568a38df2dd..00000000000 --- a/src/discord/monitor/gateway-plugin.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/gateway-plugin.js"; diff --git a/src/discord/monitor/gateway-registry.ts b/src/discord/monitor/gateway-registry.ts deleted file mode 100644 index 68113376203..00000000000 --- a/src/discord/monitor/gateway-registry.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/gateway-registry.js"; diff --git a/src/discord/monitor/inbound-context.ts b/src/discord/monitor/inbound-context.ts deleted file mode 100644 index d0e36b8c7dc..00000000000 --- a/src/discord/monitor/inbound-context.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/inbound-context.js"; diff --git a/src/discord/monitor/inbound-job.ts b/src/discord/monitor/inbound-job.ts deleted file mode 100644 index 8b154875e16..00000000000 --- a/src/discord/monitor/inbound-job.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/inbound-job.js"; diff --git a/src/discord/monitor/inbound-worker.ts b/src/discord/monitor/inbound-worker.ts deleted file mode 100644 index 5641457b73b..00000000000 --- a/src/discord/monitor/inbound-worker.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/inbound-worker.js"; diff --git a/src/discord/monitor/listeners.ts b/src/discord/monitor/listeners.ts deleted file mode 100644 index 5fdeb29d852..00000000000 --- a/src/discord/monitor/listeners.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/listeners.js"; diff --git a/src/discord/monitor/message-handler.preflight.ts b/src/discord/monitor/message-handler.preflight.ts deleted file mode 100644 index 00b785185b7..00000000000 --- a/src/discord/monitor/message-handler.preflight.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/message-handler.preflight.js"; diff --git a/src/discord/monitor/message-handler.preflight.types.ts b/src/discord/monitor/message-handler.preflight.types.ts deleted file mode 100644 index 7b7d4f67581..00000000000 --- a/src/discord/monitor/message-handler.preflight.types.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/message-handler.preflight.types.js"; diff --git a/src/discord/monitor/message-handler.process.ts b/src/discord/monitor/message-handler.process.ts deleted file mode 100644 index 49beea02f81..00000000000 --- a/src/discord/monitor/message-handler.process.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/message-handler.process.js"; diff --git a/src/discord/monitor/message-handler.ts b/src/discord/monitor/message-handler.ts deleted file mode 100644 index 3b41ede02f8..00000000000 --- a/src/discord/monitor/message-handler.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/message-handler.js"; diff --git a/src/discord/monitor/message-utils.ts b/src/discord/monitor/message-utils.ts deleted file mode 100644 index b09804c16fb..00000000000 --- a/src/discord/monitor/message-utils.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/message-utils.js"; diff --git a/src/discord/monitor/model-picker-preferences.ts b/src/discord/monitor/model-picker-preferences.ts deleted file mode 100644 index 2cb1818942c..00000000000 --- a/src/discord/monitor/model-picker-preferences.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/model-picker-preferences.js"; diff --git a/src/discord/monitor/model-picker.ts b/src/discord/monitor/model-picker.ts deleted file mode 100644 index 3fa558056ef..00000000000 --- a/src/discord/monitor/model-picker.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/model-picker.js"; diff --git a/src/discord/monitor/native-command-context.ts b/src/discord/monitor/native-command-context.ts deleted file mode 100644 index 3edfa4bd2c4..00000000000 --- a/src/discord/monitor/native-command-context.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/native-command-context.js"; diff --git a/src/discord/monitor/native-command.ts b/src/discord/monitor/native-command.ts deleted file mode 100644 index ead3c09d450..00000000000 --- a/src/discord/monitor/native-command.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/native-command.js"; diff --git a/src/discord/monitor/preflight-audio.ts b/src/discord/monitor/preflight-audio.ts deleted file mode 100644 index fe5872458c2..00000000000 --- a/src/discord/monitor/preflight-audio.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/preflight-audio.js"; diff --git a/src/discord/monitor/presence-cache.ts b/src/discord/monitor/presence-cache.ts deleted file mode 100644 index 7d5ef5d12e1..00000000000 --- a/src/discord/monitor/presence-cache.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/presence-cache.js"; diff --git a/src/discord/monitor/presence.ts b/src/discord/monitor/presence.ts deleted file mode 100644 index 9c6742e0dee..00000000000 --- a/src/discord/monitor/presence.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/presence.js"; diff --git a/src/discord/monitor/provider.allowlist.ts b/src/discord/monitor/provider.allowlist.ts deleted file mode 100644 index 2af607e257e..00000000000 --- a/src/discord/monitor/provider.allowlist.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/provider.allowlist.js"; diff --git a/src/discord/monitor/provider.lifecycle.ts b/src/discord/monitor/provider.lifecycle.ts deleted file mode 100644 index 8397411da3b..00000000000 --- a/src/discord/monitor/provider.lifecycle.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/provider.lifecycle.js"; diff --git a/src/discord/monitor/provider.ts b/src/discord/monitor/provider.ts deleted file mode 100644 index 9981ac093f0..00000000000 --- a/src/discord/monitor/provider.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/provider.js"; diff --git a/src/discord/monitor/reply-context.ts b/src/discord/monitor/reply-context.ts deleted file mode 100644 index 4be9218b64c..00000000000 --- a/src/discord/monitor/reply-context.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/reply-context.js"; diff --git a/src/discord/monitor/reply-delivery.ts b/src/discord/monitor/reply-delivery.ts deleted file mode 100644 index a79495dfb26..00000000000 --- a/src/discord/monitor/reply-delivery.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/reply-delivery.js"; diff --git a/src/discord/monitor/rest-fetch.ts b/src/discord/monitor/rest-fetch.ts deleted file mode 100644 index 196e977ead6..00000000000 --- a/src/discord/monitor/rest-fetch.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/rest-fetch.js"; diff --git a/src/discord/monitor/route-resolution.ts b/src/discord/monitor/route-resolution.ts deleted file mode 100644 index 22378b1554d..00000000000 --- a/src/discord/monitor/route-resolution.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/route-resolution.js"; diff --git a/src/discord/monitor/sender-identity.ts b/src/discord/monitor/sender-identity.ts deleted file mode 100644 index 106fe710ae7..00000000000 --- a/src/discord/monitor/sender-identity.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/sender-identity.js"; diff --git a/src/discord/monitor/status.ts b/src/discord/monitor/status.ts deleted file mode 100644 index 79b0eec9dc9..00000000000 --- a/src/discord/monitor/status.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/status.js"; diff --git a/src/discord/monitor/system-events.ts b/src/discord/monitor/system-events.ts deleted file mode 100644 index ce4bf3e4612..00000000000 --- a/src/discord/monitor/system-events.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/system-events.js"; diff --git a/src/discord/monitor/thread-bindings.config.ts b/src/discord/monitor/thread-bindings.config.ts deleted file mode 100644 index d925bd1e0f9..00000000000 --- a/src/discord/monitor/thread-bindings.config.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.config.js"; diff --git a/src/discord/monitor/thread-bindings.discord-api.ts b/src/discord/monitor/thread-bindings.discord-api.ts deleted file mode 100644 index 65beb730607..00000000000 --- a/src/discord/monitor/thread-bindings.discord-api.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.discord-api.js"; diff --git a/src/discord/monitor/thread-bindings.lifecycle.ts b/src/discord/monitor/thread-bindings.lifecycle.ts deleted file mode 100644 index c5f9f145e0c..00000000000 --- a/src/discord/monitor/thread-bindings.lifecycle.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.lifecycle.js"; diff --git a/src/discord/monitor/thread-bindings.manager.ts b/src/discord/monitor/thread-bindings.manager.ts deleted file mode 100644 index ed24e640bc1..00000000000 --- a/src/discord/monitor/thread-bindings.manager.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.manager.js"; diff --git a/src/discord/monitor/thread-bindings.messages.ts b/src/discord/monitor/thread-bindings.messages.ts deleted file mode 100644 index 679bdbdb167..00000000000 --- a/src/discord/monitor/thread-bindings.messages.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.messages.js"; diff --git a/src/discord/monitor/thread-bindings.persona.ts b/src/discord/monitor/thread-bindings.persona.ts deleted file mode 100644 index 964f6306325..00000000000 --- a/src/discord/monitor/thread-bindings.persona.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.persona.js"; diff --git a/src/discord/monitor/thread-bindings.state.ts b/src/discord/monitor/thread-bindings.state.ts deleted file mode 100644 index e7b384160a2..00000000000 --- a/src/discord/monitor/thread-bindings.state.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.state.js"; diff --git a/src/discord/monitor/thread-bindings.ts b/src/discord/monitor/thread-bindings.ts deleted file mode 100644 index e3a3b9c0f1c..00000000000 --- a/src/discord/monitor/thread-bindings.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.js"; diff --git a/src/discord/monitor/thread-bindings.types.ts b/src/discord/monitor/thread-bindings.types.ts deleted file mode 100644 index c821f18b7da..00000000000 --- a/src/discord/monitor/thread-bindings.types.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-bindings.types.js"; diff --git a/src/discord/monitor/thread-session-close.ts b/src/discord/monitor/thread-session-close.ts deleted file mode 100644 index 9855adbdec0..00000000000 --- a/src/discord/monitor/thread-session-close.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/thread-session-close.js"; diff --git a/src/discord/monitor/threading.ts b/src/discord/monitor/threading.ts deleted file mode 100644 index 99ff037d1ea..00000000000 --- a/src/discord/monitor/threading.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/threading.js"; diff --git a/src/discord/monitor/timeouts.ts b/src/discord/monitor/timeouts.ts deleted file mode 100644 index 31dad15e463..00000000000 --- a/src/discord/monitor/timeouts.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/timeouts.js"; diff --git a/src/discord/monitor/typing.ts b/src/discord/monitor/typing.ts deleted file mode 100644 index 74697eb40fe..00000000000 --- a/src/discord/monitor/typing.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/monitor/typing.js"; diff --git a/src/discord/pluralkit.ts b/src/discord/pluralkit.ts deleted file mode 100644 index 8be754248de..00000000000 --- a/src/discord/pluralkit.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/pluralkit.js"; diff --git a/src/discord/probe.ts b/src/discord/probe.ts deleted file mode 100644 index 9d8674e00fc..00000000000 --- a/src/discord/probe.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/probe.js"; diff --git a/src/discord/resolve-allowlist-common.ts b/src/discord/resolve-allowlist-common.ts deleted file mode 100644 index 9c1cbc53b4f..00000000000 --- a/src/discord/resolve-allowlist-common.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/resolve-allowlist-common.js"; diff --git a/src/discord/resolve-channels.ts b/src/discord/resolve-channels.ts deleted file mode 100644 index 7313c38ccf6..00000000000 --- a/src/discord/resolve-channels.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/resolve-channels.js"; diff --git a/src/discord/resolve-users.ts b/src/discord/resolve-users.ts deleted file mode 100644 index 161ba29217b..00000000000 --- a/src/discord/resolve-users.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/resolve-users.js"; diff --git a/src/discord/send.channels.ts b/src/discord/send.channels.ts deleted file mode 100644 index 30fe88778be..00000000000 --- a/src/discord/send.channels.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.channels.js"; diff --git a/src/discord/send.components.ts b/src/discord/send.components.ts deleted file mode 100644 index 869ce594290..00000000000 --- a/src/discord/send.components.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.components.js"; diff --git a/src/discord/send.emojis-stickers.ts b/src/discord/send.emojis-stickers.ts deleted file mode 100644 index 854fc5d5896..00000000000 --- a/src/discord/send.emojis-stickers.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.emojis-stickers.js"; diff --git a/src/discord/send.guild.ts b/src/discord/send.guild.ts deleted file mode 100644 index a2d9c57fc0b..00000000000 --- a/src/discord/send.guild.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.guild.js"; diff --git a/src/discord/send.messages.ts b/src/discord/send.messages.ts deleted file mode 100644 index 1adef98ebc5..00000000000 --- a/src/discord/send.messages.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.messages.js"; diff --git a/src/discord/send.outbound.ts b/src/discord/send.outbound.ts deleted file mode 100644 index 15c7d50d58f..00000000000 --- a/src/discord/send.outbound.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.outbound.js"; diff --git a/src/discord/send.permissions.ts b/src/discord/send.permissions.ts deleted file mode 100644 index 79874d25199..00000000000 --- a/src/discord/send.permissions.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.permissions.js"; diff --git a/src/discord/send.reactions.ts b/src/discord/send.reactions.ts deleted file mode 100644 index 4020aed3aa7..00000000000 --- a/src/discord/send.reactions.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.reactions.js"; diff --git a/src/discord/send.shared.ts b/src/discord/send.shared.ts deleted file mode 100644 index be2d294c9f9..00000000000 --- a/src/discord/send.shared.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.shared.js"; diff --git a/src/discord/send.ts b/src/discord/send.ts deleted file mode 100644 index f7956d3f853..00000000000 --- a/src/discord/send.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.js"; diff --git a/src/discord/send.types.ts b/src/discord/send.types.ts deleted file mode 100644 index 6fb06de3aaa..00000000000 --- a/src/discord/send.types.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/send.types.js"; diff --git a/src/discord/session-key-normalization.ts b/src/discord/session-key-normalization.ts deleted file mode 100644 index 77def8f6ec1..00000000000 --- a/src/discord/session-key-normalization.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/session-key-normalization.js"; diff --git a/src/discord/targets.ts b/src/discord/targets.ts deleted file mode 100644 index 85ff9418ae0..00000000000 --- a/src/discord/targets.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/targets.js"; diff --git a/src/discord/token.ts b/src/discord/token.ts deleted file mode 100644 index 54aa0d78ef2..00000000000 --- a/src/discord/token.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/token.js"; diff --git a/src/discord/ui.ts b/src/discord/ui.ts deleted file mode 100644 index e599a7fe250..00000000000 --- a/src/discord/ui.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/ui.js"; diff --git a/src/discord/voice-message.ts b/src/discord/voice-message.ts deleted file mode 100644 index 694aed9574e..00000000000 --- a/src/discord/voice-message.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/discord/src/voice-message.js"; diff --git a/src/discord/voice/command.ts b/src/discord/voice/command.ts deleted file mode 100644 index fb9847ffde5..00000000000 --- a/src/discord/voice/command.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/voice/command.js"; diff --git a/src/discord/voice/manager.runtime.ts b/src/discord/voice/manager.runtime.ts deleted file mode 100644 index d2319c10944..00000000000 --- a/src/discord/voice/manager.runtime.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/voice/manager.runtime.js"; diff --git a/src/discord/voice/manager.ts b/src/discord/voice/manager.ts deleted file mode 100644 index ea7fc8ca577..00000000000 --- a/src/discord/voice/manager.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/discord/src/voice/manager.js"; diff --git a/src/gateway/client-callsites.guard.test.ts b/src/gateway/client-callsites.guard.test.ts index 9563a0ea75a..c32b5e21c45 100644 --- a/src/gateway/client-callsites.guard.test.ts +++ b/src/gateway/client-callsites.guard.test.ts @@ -6,7 +6,7 @@ const GATEWAY_CLIENT_CONSTRUCTOR_PATTERN = /new\s+GatewayClient\s*\(/; const ALLOWED_GATEWAY_CLIENT_CALLSITES = new Set([ "src/acp/server.ts", - "src/discord/monitor/exec-approvals.ts", + "extensions/discord/src/monitor/exec-approvals.ts", "src/gateway/call.ts", "src/gateway/probe.ts", "src/node-host/runner.ts", diff --git a/src/gateway/server-http.ts b/src/gateway/server-http.ts index 4a6fc780d4d..75af96dd545 100644 --- a/src/gateway/server-http.ts +++ b/src/gateway/server-http.ts @@ -8,13 +8,13 @@ import { import { createServer as createHttpsServer } from "node:https"; import type { TlsOptions } from "node:tls"; import type { WebSocketServer } from "ws"; +import { handleSlackHttpRequest } from "../../extensions/slack/src/http/index.js"; import { resolveAgentAvatar } from "../agents/identity-avatar.js"; import { CANVAS_WS_PATH, handleA2uiHttpRequest } from "../canvas-host/a2ui.js"; import type { CanvasHostHandler } from "../canvas-host/server.js"; import { loadConfig } from "../config/config.js"; import type { createSubsystemLogger } from "../logging/subsystem.js"; import { safeEqualSecret } from "../security/secret-equal.js"; -import { handleSlackHttpRequest } from "../slack/http/index.js"; import { AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, createAuthRateLimiter, diff --git a/src/gateway/server.sessions.gateway-server-sessions-a.test.ts b/src/gateway/server.sessions.gateway-server-sessions-a.test.ts index 034020a61fe..fdce44e33f4 100644 --- a/src/gateway/server.sessions.gateway-server-sessions-a.test.ts +++ b/src/gateway/server.sessions.gateway-server-sessions-a.test.ts @@ -102,8 +102,11 @@ vi.mock("../plugins/hook-runner-global.js", async (importOriginal) => { }; }); -vi.mock("../discord/monitor/thread-bindings.js", async (importOriginal) => { - const actual = await importOriginal(); +vi.mock("../../extensions/discord/src/monitor/thread-bindings.js", async (importOriginal) => { + const actual = + await importOriginal< + typeof import("../../extensions/discord/src/monitor/thread-bindings.js") + >(); return { ...actual, unbindThreadBindingsBySessionKey: (params: unknown) => diff --git a/src/gateway/session-reset-service.ts b/src/gateway/session-reset-service.ts index b0a5b0a54f0..b07bf0095dd 100644 --- a/src/gateway/session-reset-service.ts +++ b/src/gateway/session-reset-service.ts @@ -1,4 +1,5 @@ import { randomUUID } from "node:crypto"; +import { unbindThreadBindingsBySessionKey } from "../../extensions/discord/src/monitor/thread-bindings.js"; import { getAcpSessionManager } from "../acp/control-plane/manager.js"; import { resolveDefaultAgentId } from "../agents/agent-scope.js"; import { clearBootstrapSnapshot } from "../agents/bootstrap-cache.js"; @@ -12,7 +13,6 @@ import { type SessionEntry, updateSessionStore, } from "../config/sessions.js"; -import { unbindThreadBindingsBySessionKey } from "../discord/monitor/thread-bindings.js"; import { logVerbose } from "../globals.js"; import { createInternalHookEvent, triggerInternalHook } from "../hooks/internal-hooks.js"; import { getGlobalHookRunner } from "../plugins/hook-runner-global.js"; diff --git a/src/gateway/test-helpers.mocks.ts b/src/gateway/test-helpers.mocks.ts index 43811da1492..c8032527294 100644 --- a/src/gateway/test-helpers.mocks.ts +++ b/src/gateway/test-helpers.mocks.ts @@ -563,7 +563,7 @@ vi.mock("../commands/health.js", () => ({ vi.mock("../commands/status.js", () => ({ getStatusSummary: vi.fn().mockResolvedValue({ ok: true }), })); -vi.mock("../web/outbound.js", () => ({ +vi.mock("../../extensions/whatsapp/src/send.js", () => ({ sendMessageWhatsApp: (...args: unknown[]) => (hoisted.sendWhatsAppMock as (...args: unknown[]) => unknown)(...args), sendPollWhatsApp: (...args: unknown[]) => diff --git a/src/imessage/accounts.ts b/src/imessage/accounts.ts deleted file mode 100644 index e30ba6e559b..00000000000 --- a/src/imessage/accounts.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/accounts -export * from "../../extensions/imessage/src/accounts.js"; diff --git a/src/imessage/client.ts b/src/imessage/client.ts deleted file mode 100644 index f89deeec3c4..00000000000 --- a/src/imessage/client.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/client -export * from "../../extensions/imessage/src/client.js"; diff --git a/src/imessage/constants.ts b/src/imessage/constants.ts deleted file mode 100644 index a4217dd0bd0..00000000000 --- a/src/imessage/constants.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/constants -export * from "../../extensions/imessage/src/constants.js"; diff --git a/src/imessage/monitor.ts b/src/imessage/monitor.ts deleted file mode 100644 index 0cdd8cc9067..00000000000 --- a/src/imessage/monitor.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor -export * from "../../extensions/imessage/src/monitor.js"; diff --git a/src/imessage/monitor/abort-handler.ts b/src/imessage/monitor/abort-handler.ts deleted file mode 100644 index 52d6fc5d8f9..00000000000 --- a/src/imessage/monitor/abort-handler.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/abort-handler -export * from "../../../extensions/imessage/src/monitor/abort-handler.js"; diff --git a/src/imessage/monitor/deliver.ts b/src/imessage/monitor/deliver.ts deleted file mode 100644 index 107c713995c..00000000000 --- a/src/imessage/monitor/deliver.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/deliver -export * from "../../../extensions/imessage/src/monitor/deliver.js"; diff --git a/src/imessage/monitor/echo-cache.ts b/src/imessage/monitor/echo-cache.ts deleted file mode 100644 index fc38448ad95..00000000000 --- a/src/imessage/monitor/echo-cache.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/echo-cache -export * from "../../../extensions/imessage/src/monitor/echo-cache.js"; diff --git a/src/imessage/monitor/inbound-processing.ts b/src/imessage/monitor/inbound-processing.ts deleted file mode 100644 index c00b48c4b1a..00000000000 --- a/src/imessage/monitor/inbound-processing.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/inbound-processing -export * from "../../../extensions/imessage/src/monitor/inbound-processing.js"; diff --git a/src/imessage/monitor/loop-rate-limiter.ts b/src/imessage/monitor/loop-rate-limiter.ts deleted file mode 100644 index 72349ec69a5..00000000000 --- a/src/imessage/monitor/loop-rate-limiter.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/loop-rate-limiter -export * from "../../../extensions/imessage/src/monitor/loop-rate-limiter.js"; diff --git a/src/imessage/monitor/monitor-provider.ts b/src/imessage/monitor/monitor-provider.ts deleted file mode 100644 index 7649e7083fa..00000000000 --- a/src/imessage/monitor/monitor-provider.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/monitor-provider -export * from "../../../extensions/imessage/src/monitor/monitor-provider.js"; diff --git a/src/imessage/monitor/parse-notification.ts b/src/imessage/monitor/parse-notification.ts deleted file mode 100644 index 154e144f71d..00000000000 --- a/src/imessage/monitor/parse-notification.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/parse-notification -export * from "../../../extensions/imessage/src/monitor/parse-notification.js"; diff --git a/src/imessage/monitor/reflection-guard.ts b/src/imessage/monitor/reflection-guard.ts deleted file mode 100644 index d0a9b7cfdad..00000000000 --- a/src/imessage/monitor/reflection-guard.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/reflection-guard -export * from "../../../extensions/imessage/src/monitor/reflection-guard.js"; diff --git a/src/imessage/monitor/runtime.ts b/src/imessage/monitor/runtime.ts deleted file mode 100644 index ab06a2bc8a2..00000000000 --- a/src/imessage/monitor/runtime.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/runtime -export * from "../../../extensions/imessage/src/monitor/runtime.js"; diff --git a/src/imessage/monitor/sanitize-outbound.ts b/src/imessage/monitor/sanitize-outbound.ts deleted file mode 100644 index e3ffc556be1..00000000000 --- a/src/imessage/monitor/sanitize-outbound.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/sanitize-outbound -export * from "../../../extensions/imessage/src/monitor/sanitize-outbound.js"; diff --git a/src/imessage/monitor/self-chat-cache.ts b/src/imessage/monitor/self-chat-cache.ts deleted file mode 100644 index d58989db85f..00000000000 --- a/src/imessage/monitor/self-chat-cache.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/self-chat-cache -export * from "../../../extensions/imessage/src/monitor/self-chat-cache.js"; diff --git a/src/imessage/monitor/types.ts b/src/imessage/monitor/types.ts deleted file mode 100644 index e27461d9531..00000000000 --- a/src/imessage/monitor/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/monitor/types -export * from "../../../extensions/imessage/src/monitor/types.js"; diff --git a/src/imessage/probe.ts b/src/imessage/probe.ts deleted file mode 100644 index e93de22a785..00000000000 --- a/src/imessage/probe.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/probe -export * from "../../extensions/imessage/src/probe.js"; diff --git a/src/imessage/send.ts b/src/imessage/send.ts deleted file mode 100644 index 2830bac534d..00000000000 --- a/src/imessage/send.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/send -export * from "../../extensions/imessage/src/send.js"; diff --git a/src/imessage/target-parsing-helpers.ts b/src/imessage/target-parsing-helpers.ts deleted file mode 100644 index 7aa3410caa6..00000000000 --- a/src/imessage/target-parsing-helpers.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/target-parsing-helpers -export * from "../../extensions/imessage/src/target-parsing-helpers.js"; diff --git a/src/imessage/targets.ts b/src/imessage/targets.ts deleted file mode 100644 index 9ef87a31933..00000000000 --- a/src/imessage/targets.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/imessage/src/targets -export * from "../../extensions/imessage/src/targets.js"; diff --git a/src/infra/exec-approval-forwarder.ts b/src/infra/exec-approval-forwarder.ts index 7a1672e3e76..de3a54a4c77 100644 --- a/src/infra/exec-approval-forwarder.ts +++ b/src/infra/exec-approval-forwarder.ts @@ -1,3 +1,5 @@ +import { buildTelegramExecApprovalButtons } from "../../extensions/telegram/src/approval-buttons.js"; +import { sendTypingTelegram } from "../../extensions/telegram/src/send.js"; import type { ReplyPayload } from "../auto-reply/types.js"; import type { OpenClawConfig } from "../config/config.js"; import { loadConfig } from "../config/config.js"; @@ -8,8 +10,6 @@ import type { import { createSubsystemLogger } from "../logging/subsystem.js"; import { normalizeAccountId, parseAgentSessionKey } from "../routing/session-key.js"; import { compileSafeRegex, testRegexWithBoundedInput } from "../security/safe-regex.js"; -import { buildTelegramExecApprovalButtons } from "../telegram/approval-buttons.js"; -import { sendTypingTelegram } from "../telegram/send.js"; import { isDeliverableMessageChannel, normalizeMessageChannel, diff --git a/src/infra/exec-approval-surface.test.ts b/src/infra/exec-approval-surface.test.ts index b263330104a..17f6789967c 100644 --- a/src/infra/exec-approval-surface.test.ts +++ b/src/infra/exec-approval-surface.test.ts @@ -11,20 +11,20 @@ vi.mock("../config/config.js", () => ({ loadConfig: (...args: unknown[]) => loadConfigMock(...args), })); -vi.mock("../discord/accounts.js", () => ({ +vi.mock("../../extensions/discord/src/accounts.js", () => ({ listEnabledDiscordAccounts: (...args: unknown[]) => listEnabledDiscordAccountsMock(...args), })); -vi.mock("../discord/exec-approvals.js", () => ({ +vi.mock("../../extensions/discord/src/exec-approvals.js", () => ({ isDiscordExecApprovalClientEnabled: (...args: unknown[]) => isDiscordExecApprovalClientEnabledMock(...args), })); -vi.mock("../telegram/accounts.js", () => ({ +vi.mock("../../extensions/telegram/src/accounts.js", () => ({ listEnabledTelegramAccounts: (...args: unknown[]) => listEnabledTelegramAccountsMock(...args), })); -vi.mock("../telegram/exec-approvals.js", () => ({ +vi.mock("../../extensions/telegram/src/exec-approvals.js", () => ({ isTelegramExecApprovalClientEnabled: (...args: unknown[]) => isTelegramExecApprovalClientEnabledMock(...args), })); diff --git a/src/infra/exec-approval-surface.ts b/src/infra/exec-approval-surface.ts index b20e31850b8..8cf43c79a3e 100644 --- a/src/infra/exec-approval-surface.ts +++ b/src/infra/exec-approval-surface.ts @@ -1,8 +1,8 @@ +import { listEnabledDiscordAccounts } from "../../extensions/discord/src/accounts.js"; +import { isDiscordExecApprovalClientEnabled } from "../../extensions/discord/src/exec-approvals.js"; +import { listEnabledTelegramAccounts } from "../../extensions/telegram/src/accounts.js"; +import { isTelegramExecApprovalClientEnabled } from "../../extensions/telegram/src/exec-approvals.js"; import { loadConfig, type OpenClawConfig } from "../config/config.js"; -import { listEnabledDiscordAccounts } from "../discord/accounts.js"; -import { isDiscordExecApprovalClientEnabled } from "../discord/exec-approvals.js"; -import { listEnabledTelegramAccounts } from "../telegram/accounts.js"; -import { isTelegramExecApprovalClientEnabled } from "../telegram/exec-approvals.js"; import { INTERNAL_MESSAGE_CHANNEL, normalizeMessageChannel } from "../utils/message-channel.js"; export type ExecApprovalInitiatingSurfaceState = diff --git a/src/infra/outbound/cfg-threading.guard.test.ts b/src/infra/outbound/cfg-threading.guard.test.ts index ff4d0533c1b..3fdbb68e10b 100644 --- a/src/infra/outbound/cfg-threading.guard.test.ts +++ b/src/infra/outbound/cfg-threading.guard.test.ts @@ -62,9 +62,9 @@ function listExtensionFiles(): { function listHighRiskRuntimeCfgFiles(): string[] { return [ "src/agents/tools/telegram-actions.ts", - "src/discord/monitor/reply-delivery.ts", - "src/discord/monitor/thread-bindings.discord-api.ts", - "src/discord/monitor/thread-bindings.manager.ts", + "extensions/discord/src/monitor/reply-delivery.ts", + "extensions/discord/src/monitor/thread-bindings.discord-api.ts", + "extensions/discord/src/monitor/thread-bindings.manager.ts", ]; } diff --git a/src/infra/outbound/channel-adapters.test.ts b/src/infra/outbound/channel-adapters.test.ts index ee2b5fe6dc8..d8a01aadb2b 100644 --- a/src/infra/outbound/channel-adapters.test.ts +++ b/src/infra/outbound/channel-adapters.test.ts @@ -1,6 +1,6 @@ import { Separator, TextDisplay } from "@buape/carbon"; import { describe, expect, it } from "vitest"; -import { DiscordUiContainer } from "../../discord/ui.js"; +import { DiscordUiContainer } from "../../../extensions/discord/src/ui.js"; import { getChannelMessageAdapter } from "./channel-adapters.js"; describe("getChannelMessageAdapter", () => { diff --git a/src/infra/outbound/channel-adapters.ts b/src/infra/outbound/channel-adapters.ts index ba6a1b59444..da62e2932bb 100644 --- a/src/infra/outbound/channel-adapters.ts +++ b/src/infra/outbound/channel-adapters.ts @@ -1,7 +1,7 @@ import { Separator, TextDisplay, type TopLevelComponents } from "@buape/carbon"; +import { DiscordUiContainer } from "../../../extensions/discord/src/ui.js"; import type { ChannelId } from "../../channels/plugins/types.js"; import type { OpenClawConfig } from "../../config/config.js"; -import { DiscordUiContainer } from "../../discord/ui.js"; export type CrossContextComponentsBuilder = (message: string) => TopLevelComponents[]; diff --git a/src/infra/outbound/deliver.test-helpers.ts b/src/infra/outbound/deliver.test-helpers.ts index e5e8eaf5392..bc70c456dc5 100644 --- a/src/infra/outbound/deliver.test-helpers.ts +++ b/src/infra/outbound/deliver.test-helpers.ts @@ -107,6 +107,15 @@ vi.mock("../../config/sessions.js", async () => { appendAssistantMessageToSessionTranscript: _mocks.appendAssistantMessageToSessionTranscript, }; }); +vi.mock("../../config/sessions/transcript.js", async () => { + const actual = await vi.importActual( + "../../config/sessions/transcript.js", + ); + return { + ...actual, + appendAssistantMessageToSessionTranscript: _mocks.appendAssistantMessageToSessionTranscript, + }; +}); vi.mock("../../plugins/hook-runner-global.js", () => ({ getGlobalHookRunner: () => _hookMocks.runner, })); diff --git a/src/infra/outbound/deliver.test.ts b/src/infra/outbound/deliver.test.ts index 119e7b3c5d7..2df0510cccb 100644 --- a/src/infra/outbound/deliver.test.ts +++ b/src/infra/outbound/deliver.test.ts @@ -1,10 +1,10 @@ import path from "node:path"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { markdownToSignalTextChunks } from "../../../extensions/signal/src/format.js"; import type { ChannelOutboundAdapter } from "../../channels/plugins/types.adapters.js"; import type { OpenClawConfig } from "../../config/config.js"; import { STATE_DIR } from "../../config/paths.js"; import { setActivePluginRegistry } from "../../plugins/runtime.js"; -import { markdownToSignalTextChunks } from "../../signal/format.js"; import { createOutboundTestPlugin, createTestRegistry } from "../../test-utils/channel-plugins.js"; import { withEnvAsync } from "../../test-utils/env.js"; import { createIMessageTestPlugin } from "../../test-utils/imessage-test-plugin.js"; diff --git a/src/infra/outbound/deliver.ts b/src/infra/outbound/deliver.ts index 8649b063768..cb3e718486c 100644 --- a/src/infra/outbound/deliver.ts +++ b/src/infra/outbound/deliver.ts @@ -1,3 +1,8 @@ +import { + markdownToSignalTextChunks, + type SignalTextStyleRange, +} from "../../../extensions/signal/src/format.js"; +import { sendMessageSignal } from "../../../extensions/signal/src/send.js"; import { chunkByParagraph, chunkMarkdownTextWithMode, @@ -28,8 +33,6 @@ import { import { createSubsystemLogger } from "../../logging/subsystem.js"; import { getAgentScopedMediaLocalRoots } from "../../media/local-roots.js"; import { getGlobalHookRunner } from "../../plugins/hook-runner-global.js"; -import { markdownToSignalTextChunks, type SignalTextStyleRange } from "../../signal/format.js"; -import { sendMessageSignal } from "../../signal/send.js"; import { throwIfAborted } from "./abort.js"; import { ackDelivery, enqueueDelivery, failDelivery } from "./delivery-queue.js"; import type { OutboundIdentity } from "./identity.js"; diff --git a/src/infra/outbound/message-action-params.ts b/src/infra/outbound/message-action-params.ts index 037a7806f16..ea527a74bd6 100644 --- a/src/infra/outbound/message-action-params.ts +++ b/src/infra/outbound/message-action-params.ts @@ -1,5 +1,8 @@ import path from "node:path"; import { fileURLToPath } from "node:url"; +import { parseSlackTarget } from "../../../extensions/slack/src/targets.js"; +import { parseTelegramTarget } from "../../../extensions/telegram/src/targets.js"; +import { loadWebMedia } from "../../../extensions/whatsapp/src/media.js"; import { assertMediaNotDataUrl, resolveSandboxedMediaSource } from "../../agents/sandbox-paths.js"; import { readStringParam } from "../../agents/tools/common.js"; import type { @@ -11,9 +14,6 @@ import type { OpenClawConfig } from "../../config/config.js"; import { createRootScopedReadFile } from "../../infra/fs-safe.js"; import { extensionForMime } from "../../media/mime.js"; import { readBooleanParam as readBooleanParamShared } from "../../plugin-sdk/boolean-param.js"; -import { parseSlackTarget } from "../../slack/targets.js"; -import { parseTelegramTarget } from "../../telegram/targets.js"; -import { loadWebMedia } from "../../web/media.js"; export const readBooleanParam = readBooleanParamShared; diff --git a/src/infra/outbound/message-action-runner.media.test.ts b/src/infra/outbound/message-action-runner.media.test.ts index 287f8e3c677..1715ea090f2 100644 --- a/src/infra/outbound/message-action-runner.media.test.ts +++ b/src/infra/outbound/message-action-runner.media.test.ts @@ -3,17 +3,19 @@ import os from "node:os"; import path from "node:path"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { slackPlugin } from "../../../extensions/slack/src/channel.js"; +import { loadWebMedia } from "../../../extensions/whatsapp/src/media.js"; import { jsonResult } from "../../agents/tools/common.js"; import type { ChannelPlugin } from "../../channels/plugins/types.js"; import type { OpenClawConfig } from "../../config/config.js"; import { setActivePluginRegistry } from "../../plugins/runtime.js"; import { createTestRegistry } from "../../test-utils/channel-plugins.js"; -import { loadWebMedia } from "../../web/media.js"; import { resolvePreferredOpenClawTmpDir } from "../tmp-openclaw-dir.js"; import { runMessageAction } from "./message-action-runner.js"; -vi.mock("../../web/media.js", async () => { - const actual = await vi.importActual("../../web/media.js"); +vi.mock("../../../extensions/whatsapp/src/media.js", async () => { + const actual = await vi.importActual( + "../../../extensions/whatsapp/src/media.js", + ); return { ...actual, loadWebMedia: vi.fn(actual.loadWebMedia), @@ -154,8 +156,9 @@ describe("runMessageAction media behavior", () => { }); async function restoreRealMediaLoader() { - const actual = - await vi.importActual("../../web/media.js"); + const actual = await vi.importActual< + typeof import("../../../extensions/whatsapp/src/media.js") + >("../../../extensions/whatsapp/src/media.js"); vi.mocked(loadWebMedia).mockImplementation(actual.loadWebMedia); } diff --git a/src/infra/outbound/outbound-session.ts b/src/infra/outbound/outbound-session.ts index afd3b1966c3..9316f1ba5fc 100644 --- a/src/infra/outbound/outbound-session.ts +++ b/src/infra/outbound/outbound-session.ts @@ -1,27 +1,33 @@ +import { + parseDiscordTarget, + type DiscordTargetKind, +} from "../../../extensions/discord/src/targets.js"; +import { + parseIMessageTarget, + normalizeIMessageHandle, +} from "../../../extensions/imessage/src/targets.js"; +import { + looksLikeUuid, + resolveSignalPeerId, + resolveSignalRecipient, + resolveSignalSender, +} from "../../../extensions/signal/src/identity.js"; +import { resolveSlackAccount } from "../../../extensions/slack/src/accounts.js"; +import { createSlackWebClient } from "../../../extensions/slack/src/client.js"; +import { normalizeAllowListLower } from "../../../extensions/slack/src/monitor/allow-list.js"; +import { parseSlackTarget } from "../../../extensions/slack/src/targets.js"; +import { buildTelegramGroupPeerId } from "../../../extensions/telegram/src/bot/helpers.js"; +import { resolveTelegramTargetChatType } from "../../../extensions/telegram/src/inline-buttons.js"; +import { parseTelegramThreadId } from "../../../extensions/telegram/src/outbound-params.js"; +import { parseTelegramTarget } from "../../../extensions/telegram/src/targets.js"; import type { MsgContext } from "../../auto-reply/templating.js"; import type { ChatType } from "../../channels/chat-type.js"; import { getChannelPlugin } from "../../channels/plugins/index.js"; import type { ChannelId } from "../../channels/plugins/types.js"; import type { OpenClawConfig } from "../../config/config.js"; import { recordSessionMetaFromInbound, resolveStorePath } from "../../config/sessions.js"; -import { parseDiscordTarget, type DiscordTargetKind } from "../../discord/targets.js"; -import { parseIMessageTarget, normalizeIMessageHandle } from "../../imessage/targets.js"; import { buildAgentSessionKey, type RoutePeer } from "../../routing/resolve-route.js"; import { resolveThreadSessionKeys } from "../../routing/session-key.js"; -import { - looksLikeUuid, - resolveSignalPeerId, - resolveSignalRecipient, - resolveSignalSender, -} from "../../signal/identity.js"; -import { resolveSlackAccount } from "../../slack/accounts.js"; -import { createSlackWebClient } from "../../slack/client.js"; -import { normalizeAllowListLower } from "../../slack/monitor/allow-list.js"; -import { parseSlackTarget } from "../../slack/targets.js"; -import { buildTelegramGroupPeerId } from "../../telegram/bot/helpers.js"; -import { resolveTelegramTargetChatType } from "../../telegram/inline-buttons.js"; -import { parseTelegramThreadId } from "../../telegram/outbound-params.js"; -import { parseTelegramTarget } from "../../telegram/targets.js"; import { isWhatsAppGroupJid, normalizeWhatsAppTarget } from "../../whatsapp/normalize.js"; import type { ResolvedMessagingTarget } from "./target-resolver.js"; diff --git a/src/infra/outbound/targets.ts b/src/infra/outbound/targets.ts index 52e98a3089d..9859176abbf 100644 --- a/src/infra/outbound/targets.ts +++ b/src/infra/outbound/targets.ts @@ -1,14 +1,17 @@ +import { parseDiscordTarget } from "../../../extensions/discord/src/targets.js"; +import { parseSlackTarget } from "../../../extensions/slack/src/targets.js"; +import { + parseTelegramTarget, + resolveTelegramTargetChatType, +} from "../../../extensions/telegram/src/targets.js"; import { normalizeChatType, type ChatType } from "../../channels/chat-type.js"; import type { ChannelOutboundTargetMode } from "../../channels/plugins/types.js"; import { formatCliCommand } from "../../cli/command-format.js"; import type { OpenClawConfig } from "../../config/config.js"; import type { SessionEntry } from "../../config/sessions.js"; import type { AgentDefaultsConfig } from "../../config/types.agent-defaults.js"; -import { parseDiscordTarget } from "../../discord/targets.js"; import { mapAllowFromEntries } from "../../plugin-sdk/channel-config-helpers.js"; import { normalizeAccountId } from "../../routing/session-key.js"; -import { parseSlackTarget } from "../../slack/targets.js"; -import { parseTelegramTarget, resolveTelegramTargetChatType } from "../../telegram/targets.js"; import { deliveryContextFromSession } from "../../utils/delivery-context.js"; import type { DeliverableMessageChannel, diff --git a/src/infra/state-migrations.ts b/src/infra/state-migrations.ts index 2aa50037e0c..96f3071bd57 100644 --- a/src/infra/state-migrations.ts +++ b/src/infra/state-migrations.ts @@ -1,6 +1,7 @@ import fs from "node:fs"; import os from "node:os"; import path from "node:path"; +import { listTelegramAccountIds } from "../../extensions/telegram/src/accounts.js"; import { resolveDefaultAgentId } from "../agents/agent-scope.js"; import type { OpenClawConfig } from "../config/config.js"; import { @@ -21,7 +22,6 @@ import { DEFAULT_MAIN_KEY, normalizeAgentId, } from "../routing/session-key.js"; -import { listTelegramAccountIds } from "../telegram/accounts.js"; import { isWithinDir } from "./path-safety.js"; import { ensureDir, diff --git a/src/media/fetch.telegram-network.test.ts b/src/media/fetch.telegram-network.test.ts index 5dbda7bc019..d7a4d8e217d 100644 --- a/src/media/fetch.telegram-network.test.ts +++ b/src/media/fetch.telegram-network.test.ts @@ -1,5 +1,8 @@ import { afterEach, describe, expect, it, vi } from "vitest"; -import { resolveTelegramTransport, shouldRetryTelegramIpv4Fallback } from "../telegram/fetch.js"; +import { + resolveTelegramTransport, + shouldRetryTelegramIpv4Fallback, +} from "../../extensions/telegram/src/fetch.js"; import { fetchRemoteMedia } from "./fetch.js"; const undiciMocks = vi.hoisted(() => { @@ -90,7 +93,7 @@ describe("fetchRemoteMedia telegram network policy", () => { }); it("keeps explicit proxy routing for file downloads", async () => { - const { makeProxyFetch } = await import("../telegram/proxy.js"); + const { makeProxyFetch } = await import("../../extensions/telegram/src/proxy.js"); const lookupFn = vi.fn(async () => [ { address: "149.154.167.220", family: 4 }, ]) as unknown as LookupFn; diff --git a/src/media/outbound-attachment.ts b/src/media/outbound-attachment.ts index 155d234457b..374f0696b96 100644 --- a/src/media/outbound-attachment.ts +++ b/src/media/outbound-attachment.ts @@ -1,4 +1,4 @@ -import { loadWebMedia } from "../web/media.js"; +import { loadWebMedia } from "../../extensions/whatsapp/src/media.js"; import { buildOutboundMediaLoadOptions } from "./load-options.js"; import { saveMediaBuffer } from "./store.js"; diff --git a/src/plugin-sdk/bluebubbles.ts b/src/plugin-sdk/bluebubbles.ts index 7b01eec368b..02619206fce 100644 --- a/src/plugin-sdk/bluebubbles.ts +++ b/src/plugin-sdk/bluebubbles.ts @@ -68,13 +68,13 @@ export { export { buildSecretInputSchema } from "./secret-input-schema.js"; export { ToolPolicySchema } from "../config/zod-schema.agent-runtime.js"; export { MarkdownConfigSchema } from "../config/zod-schema.core.js"; -export type { ParsedChatTarget } from "../imessage/target-parsing-helpers.js"; +export type { ParsedChatTarget } from "../../extensions/imessage/src/target-parsing-helpers.js"; export { parseChatAllowTargetPrefixes, parseChatTargetPrefixesOrThrow, resolveServicePrefixedAllowTarget, resolveServicePrefixedTarget, -} from "../imessage/target-parsing-helpers.js"; +} from "../../extensions/imessage/src/target-parsing-helpers.js"; export { stripMarkdown } from "../line/markdown-to-line.js"; export { parseFiniteNumber } from "../infra/parse-finite-number.js"; export { emptyPluginConfigSchema } from "../plugins/config-schema.js"; diff --git a/src/plugin-sdk/channel-config-helpers.ts b/src/plugin-sdk/channel-config-helpers.ts index a0e9f25f3d8..ccd5de7a31a 100644 --- a/src/plugin-sdk/channel-config-helpers.ts +++ b/src/plugin-sdk/channel-config-helpers.ts @@ -1,3 +1,5 @@ +import { resolveIMessageAccount } from "../../extensions/imessage/src/accounts.js"; +import { resolveWhatsAppAccount } from "../../extensions/whatsapp/src/accounts.js"; import { deleteAccountFromConfigSection, setAccountEnabledInConfigSection, @@ -6,10 +8,8 @@ import { buildAccountScopedDmSecurityPolicy } from "../channels/plugins/helpers. import { normalizeWhatsAppAllowFromEntries } from "../channels/plugins/normalize/whatsapp.js"; import type { ChannelConfigAdapter } from "../channels/plugins/types.adapters.js"; import type { OpenClawConfig } from "../config/config.js"; -import { resolveIMessageAccount } from "../imessage/accounts.js"; import { normalizeAccountId } from "../routing/session-key.js"; import { normalizeStringEntries } from "../shared/string-normalization.js"; -import { resolveWhatsAppAccount } from "../web/accounts.js"; export function mapAllowFromEntries( allowFrom: Array | null | undefined, diff --git a/src/plugin-sdk/discord-send.ts b/src/plugin-sdk/discord-send.ts index 537ec5d7662..d3cdaf38a22 100644 --- a/src/plugin-sdk/discord-send.ts +++ b/src/plugin-sdk/discord-send.ts @@ -1,4 +1,4 @@ -import type { DiscordSendResult } from "../discord/send.types.js"; +import type { DiscordSendResult } from "../../extensions/discord/src/send.types.js"; type DiscordSendOptionInput = { replyToId?: string | null; diff --git a/src/plugin-sdk/discord.ts b/src/plugin-sdk/discord.ts index 458bebabdc5..5b4897f46e9 100644 --- a/src/plugin-sdk/discord.ts +++ b/src/plugin-sdk/discord.ts @@ -1,15 +1,15 @@ export type { ChannelMessageActionAdapter } from "../channels/plugins/types.js"; export type { OpenClawConfig } from "../config/config.js"; -export type { InspectedDiscordAccount } from "../discord/account-inspect.js"; -export type { ResolvedDiscordAccount } from "../discord/accounts.js"; +export type { InspectedDiscordAccount } from "../../extensions/discord/src/account-inspect.js"; +export type { ResolvedDiscordAccount } from "../../extensions/discord/src/accounts.js"; export * from "./channel-plugin-common.js"; export { listDiscordAccountIds, resolveDefaultDiscordAccountId, resolveDiscordAccount, -} from "../discord/accounts.js"; -export { inspectDiscordAccount } from "../discord/account-inspect.js"; +} from "../../extensions/discord/src/accounts.js"; +export { inspectDiscordAccount } from "../../extensions/discord/src/account-inspect.js"; export { projectCredentialSnapshotFields, resolveConfiguredFromCredentialStatuses, @@ -23,7 +23,7 @@ export { normalizeDiscordMessagingTarget, normalizeDiscordOutboundTarget, } from "../channels/plugins/normalize/discord.js"; -export { collectDiscordAuditChannelIds } from "../discord/audit.js"; +export { collectDiscordAuditChannelIds } from "../../extensions/discord/src/audit.js"; export { collectDiscordStatusIssues } from "../channels/plugins/status-issues/discord.js"; export { @@ -41,7 +41,7 @@ export { autoBindSpawnedDiscordSubagent, listThreadBindingsBySessionKey, unbindThreadBindingsBySessionKey, -} from "../discord/monitor/thread-bindings.js"; +} from "../../extensions/discord/src/monitor/thread-bindings.js"; export { buildComputedAccountStatusSnapshot, diff --git a/src/plugin-sdk/imessage.ts b/src/plugin-sdk/imessage.ts index dd181fee26c..4c3160e95cb 100644 --- a/src/plugin-sdk/imessage.ts +++ b/src/plugin-sdk/imessage.ts @@ -1,10 +1,10 @@ -export type { ResolvedIMessageAccount } from "../imessage/accounts.js"; +export type { ResolvedIMessageAccount } from "../../extensions/imessage/src/accounts.js"; export * from "./channel-plugin-common.js"; export { listIMessageAccountIds, resolveDefaultIMessageAccountId, resolveIMessageAccount, -} from "../imessage/accounts.js"; +} from "../../extensions/imessage/src/accounts.js"; export { formatTrimmedAllowFromEntries, resolveIMessageConfigAllowFrom, diff --git a/src/plugin-sdk/index.ts b/src/plugin-sdk/index.ts index 1c622d5365d..eaae5d08968 100644 --- a/src/plugin-sdk/index.ts +++ b/src/plugin-sdk/index.ts @@ -65,12 +65,12 @@ export type { ThreadBindingManager, ThreadBindingRecord, ThreadBindingTargetKind, -} from "../discord/monitor/thread-bindings.js"; +} from "../../extensions/discord/src/monitor/thread-bindings.js"; export { autoBindSpawnedDiscordSubagent, listThreadBindingsBySessionKey, unbindThreadBindingsBySessionKey, -} from "../discord/monitor/thread-bindings.js"; +} from "../../extensions/discord/src/monitor/thread-bindings.js"; export type { AcpRuntimeCapabilities, AcpRuntimeControl, @@ -651,10 +651,10 @@ export { resolveDefaultDiscordAccountId, resolveDiscordAccount, type ResolvedDiscordAccount, -} from "../discord/accounts.js"; -export { inspectDiscordAccount } from "../discord/account-inspect.js"; -export type { InspectedDiscordAccount } from "../discord/account-inspect.js"; -export { collectDiscordAuditChannelIds } from "../discord/audit.js"; +} from "../../extensions/discord/src/accounts.js"; +export { inspectDiscordAccount } from "../../extensions/discord/src/account-inspect.js"; +export type { InspectedDiscordAccount } from "../../extensions/discord/src/account-inspect.js"; +export { collectDiscordAuditChannelIds } from "../../extensions/discord/src/audit.js"; export { discordOnboardingAdapter } from "../channels/plugins/onboarding/discord.js"; export { looksLikeDiscordTargetId, @@ -669,7 +669,7 @@ export { resolveDefaultIMessageAccountId, resolveIMessageAccount, type ResolvedIMessageAccount, -} from "../imessage/accounts.js"; +} from "../../extensions/imessage/src/accounts.js"; export { imessageOnboardingAdapter } from "../channels/plugins/onboarding/imessage.js"; export { looksLikeIMessageTargetId, @@ -683,11 +683,11 @@ export { resolveServicePrefixedAllowTarget, resolveServicePrefixedOrChatAllowTarget, resolveServicePrefixedTarget, -} from "../imessage/target-parsing-helpers.js"; +} from "../../extensions/imessage/src/target-parsing-helpers.js"; export type { ChatSenderAllowParams, ParsedChatTarget, -} from "../imessage/target-parsing-helpers.js"; +} from "../../extensions/imessage/src/target-parsing-helpers.js"; // Channel: Slack export { @@ -697,16 +697,19 @@ export { resolveSlackAccount, resolveSlackReplyToMode, type ResolvedSlackAccount, -} from "../slack/accounts.js"; -export { inspectSlackAccount } from "../slack/account-inspect.js"; -export type { InspectedSlackAccount } from "../slack/account-inspect.js"; -export { extractSlackToolSend, listSlackMessageActions } from "../slack/message-actions.js"; +} from "../../extensions/slack/src/accounts.js"; +export { inspectSlackAccount } from "../../extensions/slack/src/account-inspect.js"; +export type { InspectedSlackAccount } from "../../extensions/slack/src/account-inspect.js"; +export { + extractSlackToolSend, + listSlackMessageActions, +} from "../../extensions/slack/src/message-actions.js"; export { slackOnboardingAdapter } from "../channels/plugins/onboarding/slack.js"; export { looksLikeSlackTargetId, normalizeSlackMessagingTarget, } from "../channels/plugins/normalize/slack.js"; -export { buildSlackThreadingToolContext } from "../slack/threading-tool-context.js"; +export { buildSlackThreadingToolContext } from "../../extensions/slack/src/threading-tool-context.js"; // Channel: Telegram export { @@ -714,9 +717,9 @@ export { resolveDefaultTelegramAccountId, resolveTelegramAccount, type ResolvedTelegramAccount, -} from "../telegram/accounts.js"; -export { inspectTelegramAccount } from "../telegram/account-inspect.js"; -export type { InspectedTelegramAccount } from "../telegram/account-inspect.js"; +} from "../../extensions/telegram/src/accounts.js"; +export { inspectTelegramAccount } from "../../extensions/telegram/src/account-inspect.js"; +export type { InspectedTelegramAccount } from "../../extensions/telegram/src/account-inspect.js"; export { telegramOnboardingAdapter } from "../channels/plugins/onboarding/telegram.js"; export { looksLikeTelegramTargetId, @@ -726,8 +729,8 @@ export { collectTelegramStatusIssues } from "../channels/plugins/status-issues/t export { parseTelegramReplyToMessageId, parseTelegramThreadId, -} from "../telegram/outbound-params.js"; -export { type TelegramProbe } from "../telegram/probe.js"; +} from "../../extensions/telegram/src/outbound-params.js"; +export { type TelegramProbe } from "../../extensions/telegram/src/probe.js"; // Channel: Signal export { @@ -735,7 +738,7 @@ export { resolveDefaultSignalAccountId, resolveSignalAccount, type ResolvedSignalAccount, -} from "../signal/accounts.js"; +} from "../../extensions/signal/src/accounts.js"; export { signalOnboardingAdapter } from "../channels/plugins/onboarding/signal.js"; export { looksLikeSignalTargetId, @@ -780,7 +783,7 @@ export { export type { ProcessedLineMessage } from "../line/markdown-to-line.js"; // Media utilities -export { loadWebMedia, type WebMediaResult } from "../web/media.js"; +export { loadWebMedia, type WebMediaResult } from "../../extensions/whatsapp/src/media.js"; // Context engine export type { diff --git a/src/plugin-sdk/msteams.ts b/src/plugin-sdk/msteams.ts index 32036f60a35..b73aec7c779 100644 --- a/src/plugin-sdk/msteams.ts +++ b/src/plugin-sdk/msteams.ts @@ -101,7 +101,7 @@ export { } from "./group-access.js"; export { formatDocsLink } from "../terminal/links.js"; export { sleep } from "../utils.js"; -export { loadWebMedia } from "../web/media.js"; +export { loadWebMedia } from "../../extensions/whatsapp/src/media.js"; export type { WizardPrompter } from "../wizard/prompts.js"; export { keepHttpServerTaskAlive } from "./channel-lifecycle.js"; export { withFileLock } from "./file-lock.js"; diff --git a/src/plugin-sdk/outbound-media.ts b/src/plugin-sdk/outbound-media.ts index 49e8b92f681..b1e89b17866 100644 --- a/src/plugin-sdk/outbound-media.ts +++ b/src/plugin-sdk/outbound-media.ts @@ -1,4 +1,4 @@ -import { loadWebMedia } from "../web/media.js"; +import { loadWebMedia } from "../../extensions/whatsapp/src/media.js"; export type OutboundMediaLoadOptions = { maxBytes?: number; diff --git a/src/plugin-sdk/signal.ts b/src/plugin-sdk/signal.ts index 32f291913a5..d8be4ddc9e4 100644 --- a/src/plugin-sdk/signal.ts +++ b/src/plugin-sdk/signal.ts @@ -1,11 +1,11 @@ export type { ChannelMessageActionAdapter } from "../channels/plugins/types.js"; -export type { ResolvedSignalAccount } from "../signal/accounts.js"; +export type { ResolvedSignalAccount } from "../../extensions/signal/src/accounts.js"; export * from "./channel-plugin-common.js"; export { listSignalAccountIds, resolveDefaultSignalAccountId, resolveSignalAccount, -} from "../signal/accounts.js"; +} from "../../extensions/signal/src/accounts.js"; export { looksLikeSignalTargetId, normalizeSignalMessagingTarget, diff --git a/src/plugin-sdk/slack-message-actions.ts b/src/plugin-sdk/slack-message-actions.ts index d9e0fa333a5..5470be86df1 100644 --- a/src/plugin-sdk/slack-message-actions.ts +++ b/src/plugin-sdk/slack-message-actions.ts @@ -1,7 +1,7 @@ import type { AgentToolResult } from "@mariozechner/pi-agent-core"; +import { parseSlackBlocksInput } from "../../extensions/slack/src/blocks-input.js"; import { readNumberParam, readStringParam } from "../agents/tools/common.js"; import type { ChannelMessageActionContext } from "../channels/plugins/types.js"; -import { parseSlackBlocksInput } from "../slack/blocks-input.js"; type SlackActionInvoke = ( action: Record, diff --git a/src/plugin-sdk/slack.ts b/src/plugin-sdk/slack.ts index c3aabde6fe2..740a0fabef0 100644 --- a/src/plugin-sdk/slack.ts +++ b/src/plugin-sdk/slack.ts @@ -1,15 +1,15 @@ export type { OpenClawConfig } from "../config/config.js"; -export type { InspectedSlackAccount } from "../slack/account-inspect.js"; -export type { ResolvedSlackAccount } from "../slack/accounts.js"; +export type { InspectedSlackAccount } from "../../extensions/slack/src/account-inspect.js"; +export type { ResolvedSlackAccount } from "../../extensions/slack/src/accounts.js"; export * from "./channel-plugin-common.js"; export { listSlackAccountIds, resolveDefaultSlackAccountId, resolveSlackAccount, resolveSlackReplyToMode, -} from "../slack/accounts.js"; -export { isSlackInteractiveRepliesEnabled } from "../slack/interactive-replies.js"; -export { inspectSlackAccount } from "../slack/account-inspect.js"; +} from "../../extensions/slack/src/accounts.js"; +export { isSlackInteractiveRepliesEnabled } from "../../extensions/slack/src/interactive-replies.js"; +export { inspectSlackAccount } from "../../extensions/slack/src/account-inspect.js"; export { projectCredentialSnapshotFields, resolveConfiguredFromCredentialStatuses, @@ -23,8 +23,11 @@ export { looksLikeSlackTargetId, normalizeSlackMessagingTarget, } from "../channels/plugins/normalize/slack.js"; -export { extractSlackToolSend, listSlackMessageActions } from "../slack/message-actions.js"; -export { buildSlackThreadingToolContext } from "../slack/threading-tool-context.js"; +export { + extractSlackToolSend, + listSlackMessageActions, +} from "../../extensions/slack/src/message-actions.js"; +export { buildSlackThreadingToolContext } from "../../extensions/slack/src/threading-tool-context.js"; export { buildComputedAccountStatusSnapshot } from "./status-helpers.js"; export { diff --git a/src/plugin-sdk/telegram.ts b/src/plugin-sdk/telegram.ts index cdbfc317208..d816ca4125d 100644 --- a/src/plugin-sdk/telegram.ts +++ b/src/plugin-sdk/telegram.ts @@ -7,9 +7,9 @@ export type { ChannelPlugin } from "../channels/plugins/types.plugin.js"; export type { OpenClawConfig } from "../config/config.js"; export type { PluginRuntime } from "../plugins/runtime/types.js"; export type { OpenClawPluginApi } from "../plugins/types.js"; -export type { InspectedTelegramAccount } from "../telegram/account-inspect.js"; -export type { ResolvedTelegramAccount } from "../telegram/accounts.js"; -export type { TelegramProbe } from "../telegram/probe.js"; +export type { InspectedTelegramAccount } from "../../extensions/telegram/src/account-inspect.js"; +export type { ResolvedTelegramAccount } from "../../extensions/telegram/src/accounts.js"; +export type { TelegramProbe } from "../../extensions/telegram/src/probe.js"; export { emptyPluginConfigSchema } from "../plugins/config-schema.js"; @@ -34,8 +34,8 @@ export { listTelegramAccountIds, resolveDefaultTelegramAccountId, resolveTelegramAccount, -} from "../telegram/accounts.js"; -export { inspectTelegramAccount } from "../telegram/account-inspect.js"; +} from "../../extensions/telegram/src/accounts.js"; +export { inspectTelegramAccount } from "../../extensions/telegram/src/account-inspect.js"; export { projectCredentialSnapshotFields, resolveConfiguredFromCredentialStatuses, @@ -51,7 +51,7 @@ export { export { parseTelegramReplyToMessageId, parseTelegramThreadId, -} from "../telegram/outbound-params.js"; +} from "../../extensions/telegram/src/outbound-params.js"; export { collectTelegramStatusIssues } from "../channels/plugins/status-issues/telegram.js"; export { sendTelegramPayloadMessages } from "../channels/plugins/outbound/telegram.js"; diff --git a/src/plugins/runtime/runtime-channel.ts b/src/plugins/runtime/runtime-channel.ts index 13c87d70805..53a8f0ca936 100644 --- a/src/plugins/runtime/runtime-channel.ts +++ b/src/plugins/runtime/runtime-channel.ts @@ -1,3 +1,36 @@ +import { auditDiscordChannelPermissions } from "../../../extensions/discord/src/audit.js"; +import { + listDiscordDirectoryGroupsLive, + listDiscordDirectoryPeersLive, +} from "../../../extensions/discord/src/directory-live.js"; +import { monitorDiscordProvider } from "../../../extensions/discord/src/monitor.js"; +import { probeDiscord } from "../../../extensions/discord/src/probe.js"; +import { resolveDiscordChannelAllowlist } from "../../../extensions/discord/src/resolve-channels.js"; +import { resolveDiscordUserAllowlist } from "../../../extensions/discord/src/resolve-users.js"; +import { sendMessageDiscord, sendPollDiscord } from "../../../extensions/discord/src/send.js"; +import { monitorIMessageProvider } from "../../../extensions/imessage/src/monitor.js"; +import { probeIMessage } from "../../../extensions/imessage/src/probe.js"; +import { sendMessageIMessage } from "../../../extensions/imessage/src/send.js"; +import { monitorSignalProvider } from "../../../extensions/signal/src/index.js"; +import { probeSignal } from "../../../extensions/signal/src/probe.js"; +import { sendMessageSignal } from "../../../extensions/signal/src/send.js"; +import { + listSlackDirectoryGroupsLive, + listSlackDirectoryPeersLive, +} from "../../../extensions/slack/src/directory-live.js"; +import { monitorSlackProvider } from "../../../extensions/slack/src/index.js"; +import { probeSlack } from "../../../extensions/slack/src/probe.js"; +import { resolveSlackChannelAllowlist } from "../../../extensions/slack/src/resolve-channels.js"; +import { resolveSlackUserAllowlist } from "../../../extensions/slack/src/resolve-users.js"; +import { sendMessageSlack } from "../../../extensions/slack/src/send.js"; +import { + auditTelegramGroupMembership, + collectTelegramUnmentionedGroupIds, +} from "../../../extensions/telegram/src/audit.js"; +import { monitorTelegramProvider } from "../../../extensions/telegram/src/monitor.js"; +import { probeTelegram } from "../../../extensions/telegram/src/probe.js"; +import { sendMessageTelegram, sendPollTelegram } from "../../../extensions/telegram/src/send.js"; +import { resolveTelegramToken } from "../../../extensions/telegram/src/token.js"; import { resolveEffectiveMessagesConfig, resolveHumanDelayConfig } from "../../agents/identity.js"; import { handleSlackAction } from "../../agents/tools/slack-actions.js"; import { @@ -51,19 +84,6 @@ import { resolveStorePath, updateLastRoute, } from "../../config/sessions.js"; -import { auditDiscordChannelPermissions } from "../../discord/audit.js"; -import { - listDiscordDirectoryGroupsLive, - listDiscordDirectoryPeersLive, -} from "../../discord/directory-live.js"; -import { monitorDiscordProvider } from "../../discord/monitor.js"; -import { probeDiscord } from "../../discord/probe.js"; -import { resolveDiscordChannelAllowlist } from "../../discord/resolve-channels.js"; -import { resolveDiscordUserAllowlist } from "../../discord/resolve-users.js"; -import { sendMessageDiscord, sendPollDiscord } from "../../discord/send.js"; -import { monitorIMessageProvider } from "../../imessage/monitor.js"; -import { probeIMessage } from "../../imessage/probe.js"; -import { sendMessageIMessage } from "../../imessage/send.js"; import { getChannelActivity, recordChannelActivity } from "../../infra/channel-activity.js"; import { listLineAccountIds, @@ -93,26 +113,6 @@ import { upsertChannelPairingRequest, } from "../../pairing/pairing-store.js"; import { buildAgentSessionKey, resolveAgentRoute } from "../../routing/resolve-route.js"; -import { monitorSignalProvider } from "../../signal/index.js"; -import { probeSignal } from "../../signal/probe.js"; -import { sendMessageSignal } from "../../signal/send.js"; -import { - listSlackDirectoryGroupsLive, - listSlackDirectoryPeersLive, -} from "../../slack/directory-live.js"; -import { monitorSlackProvider } from "../../slack/index.js"; -import { probeSlack } from "../../slack/probe.js"; -import { resolveSlackChannelAllowlist } from "../../slack/resolve-channels.js"; -import { resolveSlackUserAllowlist } from "../../slack/resolve-users.js"; -import { sendMessageSlack } from "../../slack/send.js"; -import { - auditTelegramGroupMembership, - collectTelegramUnmentionedGroupIds, -} from "../../telegram/audit.js"; -import { monitorTelegramProvider } from "../../telegram/monitor.js"; -import { probeTelegram } from "../../telegram/probe.js"; -import { sendMessageTelegram, sendPollTelegram } from "../../telegram/send.js"; -import { resolveTelegramToken } from "../../telegram/token.js"; import { createRuntimeWhatsApp } from "./runtime-whatsapp.js"; import type { PluginRuntime } from "./types.js"; diff --git a/src/plugins/runtime/runtime-media.ts b/src/plugins/runtime/runtime-media.ts index b52822e142b..90b28eea31e 100644 --- a/src/plugins/runtime/runtime-media.ts +++ b/src/plugins/runtime/runtime-media.ts @@ -1,8 +1,8 @@ +import { loadWebMedia } from "../../../extensions/whatsapp/src/media.js"; import { isVoiceCompatibleAudio } from "../../media/audio.js"; import { mediaKindFromMime } from "../../media/constants.js"; import { getImageMetadata, resizeToJpeg } from "../../media/image-ops.js"; import { detectMime } from "../../media/mime.js"; -import { loadWebMedia } from "../../web/media.js"; import type { PluginRuntime } from "./types.js"; export function createRuntimeMedia(): PluginRuntime["media"] { diff --git a/src/plugins/runtime/runtime-whatsapp-login.runtime.ts b/src/plugins/runtime/runtime-whatsapp-login.runtime.ts index eb38f5eda69..584b9d8d524 100644 --- a/src/plugins/runtime/runtime-whatsapp-login.runtime.ts +++ b/src/plugins/runtime/runtime-whatsapp-login.runtime.ts @@ -1 +1 @@ -export { loginWeb } from "../../web/login.js"; +export { loginWeb } from "../../../extensions/whatsapp/src/login.js"; diff --git a/src/plugins/runtime/runtime-whatsapp-outbound.runtime.ts b/src/plugins/runtime/runtime-whatsapp-outbound.runtime.ts index e6be144c081..fca645e90b0 100644 --- a/src/plugins/runtime/runtime-whatsapp-outbound.runtime.ts +++ b/src/plugins/runtime/runtime-whatsapp-outbound.runtime.ts @@ -1 +1 @@ -export { sendMessageWhatsApp, sendPollWhatsApp } from "../../web/outbound.js"; +export { sendMessageWhatsApp, sendPollWhatsApp } from "../../../extensions/whatsapp/src/send.js"; diff --git a/src/plugins/runtime/runtime-whatsapp.ts b/src/plugins/runtime/runtime-whatsapp.ts index cf7daa6daa9..20d36a936f0 100644 --- a/src/plugins/runtime/runtime-whatsapp.ts +++ b/src/plugins/runtime/runtime-whatsapp.ts @@ -1,12 +1,12 @@ -import { createWhatsAppLoginTool } from "../../channels/plugins/agent-tools/whatsapp-login.js"; -import { getActiveWebListener } from "../../web/active-listener.js"; +import { getActiveWebListener } from "../../../extensions/whatsapp/src/active-listener.js"; import { getWebAuthAgeMs, logoutWeb, logWebSelfId, readWebSelfId, webAuthExists, -} from "../../web/auth-store.js"; +} from "../../../extensions/whatsapp/src/auth-store.js"; +import { createWhatsAppLoginTool } from "../../channels/plugins/agent-tools/whatsapp-login.js"; import type { PluginRuntime } from "./types.js"; const sendMessageWhatsAppLazy: PluginRuntime["channel"]["whatsapp"]["sendMessageWhatsApp"] = async ( @@ -55,7 +55,9 @@ const handleWhatsAppActionLazy: PluginRuntime["channel"]["whatsapp"]["handleWhat return handleWhatsAppAction(...args); }; -let webLoginQrPromise: Promise | null = null; +let webLoginQrPromise: Promise< + typeof import("../../../extensions/whatsapp/src/login-qr.js") +> | null = null; let webChannelPromise: Promise | null = null; let webOutboundPromise: Promise | null = null; @@ -75,7 +77,7 @@ function loadWebLogin() { } function loadWebLoginQr() { - webLoginQrPromise ??= import("../../web/login-qr.js"); + webLoginQrPromise ??= import("../../../extensions/whatsapp/src/login-qr.js"); return webLoginQrPromise; } diff --git a/src/plugins/runtime/types-channel.ts b/src/plugins/runtime/types-channel.ts index 0d1da0e24fd..bf2f2387d46 100644 --- a/src/plugins/runtime/types-channel.ts +++ b/src/plugins/runtime/types-channel.ts @@ -88,59 +88,59 @@ export type PluginRuntimeChannel = { }; discord: { messageActions: typeof import("../../channels/plugins/actions/discord.js").discordMessageActions; - auditChannelPermissions: typeof import("../../discord/audit.js").auditDiscordChannelPermissions; - listDirectoryGroupsLive: typeof import("../../discord/directory-live.js").listDiscordDirectoryGroupsLive; - listDirectoryPeersLive: typeof import("../../discord/directory-live.js").listDiscordDirectoryPeersLive; - probeDiscord: typeof import("../../discord/probe.js").probeDiscord; - resolveChannelAllowlist: typeof import("../../discord/resolve-channels.js").resolveDiscordChannelAllowlist; - resolveUserAllowlist: typeof import("../../discord/resolve-users.js").resolveDiscordUserAllowlist; - sendMessageDiscord: typeof import("../../discord/send.js").sendMessageDiscord; - sendPollDiscord: typeof import("../../discord/send.js").sendPollDiscord; - monitorDiscordProvider: typeof import("../../discord/monitor.js").monitorDiscordProvider; + auditChannelPermissions: typeof import("../../../extensions/discord/src/audit.js").auditDiscordChannelPermissions; + listDirectoryGroupsLive: typeof import("../../../extensions/discord/src/directory-live.js").listDiscordDirectoryGroupsLive; + listDirectoryPeersLive: typeof import("../../../extensions/discord/src/directory-live.js").listDiscordDirectoryPeersLive; + probeDiscord: typeof import("../../../extensions/discord/src/probe.js").probeDiscord; + resolveChannelAllowlist: typeof import("../../../extensions/discord/src/resolve-channels.js").resolveDiscordChannelAllowlist; + resolveUserAllowlist: typeof import("../../../extensions/discord/src/resolve-users.js").resolveDiscordUserAllowlist; + sendMessageDiscord: typeof import("../../../extensions/discord/src/send.js").sendMessageDiscord; + sendPollDiscord: typeof import("../../../extensions/discord/src/send.js").sendPollDiscord; + monitorDiscordProvider: typeof import("../../../extensions/discord/src/monitor.js").monitorDiscordProvider; }; slack: { - listDirectoryGroupsLive: typeof import("../../slack/directory-live.js").listSlackDirectoryGroupsLive; - listDirectoryPeersLive: typeof import("../../slack/directory-live.js").listSlackDirectoryPeersLive; - probeSlack: typeof import("../../slack/probe.js").probeSlack; - resolveChannelAllowlist: typeof import("../../slack/resolve-channels.js").resolveSlackChannelAllowlist; - resolveUserAllowlist: typeof import("../../slack/resolve-users.js").resolveSlackUserAllowlist; - sendMessageSlack: typeof import("../../slack/send.js").sendMessageSlack; - monitorSlackProvider: typeof import("../../slack/index.js").monitorSlackProvider; + listDirectoryGroupsLive: typeof import("../../../extensions/slack/src/directory-live.js").listSlackDirectoryGroupsLive; + listDirectoryPeersLive: typeof import("../../../extensions/slack/src/directory-live.js").listSlackDirectoryPeersLive; + probeSlack: typeof import("../../../extensions/slack/src/probe.js").probeSlack; + resolveChannelAllowlist: typeof import("../../../extensions/slack/src/resolve-channels.js").resolveSlackChannelAllowlist; + resolveUserAllowlist: typeof import("../../../extensions/slack/src/resolve-users.js").resolveSlackUserAllowlist; + sendMessageSlack: typeof import("../../../extensions/slack/src/send.js").sendMessageSlack; + monitorSlackProvider: typeof import("../../../extensions/slack/src/index.js").monitorSlackProvider; handleSlackAction: typeof import("../../agents/tools/slack-actions.js").handleSlackAction; }; telegram: { - auditGroupMembership: typeof import("../../telegram/audit.js").auditTelegramGroupMembership; - collectUnmentionedGroupIds: typeof import("../../telegram/audit.js").collectTelegramUnmentionedGroupIds; - probeTelegram: typeof import("../../telegram/probe.js").probeTelegram; - resolveTelegramToken: typeof import("../../telegram/token.js").resolveTelegramToken; - sendMessageTelegram: typeof import("../../telegram/send.js").sendMessageTelegram; - sendPollTelegram: typeof import("../../telegram/send.js").sendPollTelegram; - monitorTelegramProvider: typeof import("../../telegram/monitor.js").monitorTelegramProvider; + auditGroupMembership: typeof import("../../../extensions/telegram/src/audit.js").auditTelegramGroupMembership; + collectUnmentionedGroupIds: typeof import("../../../extensions/telegram/src/audit.js").collectTelegramUnmentionedGroupIds; + probeTelegram: typeof import("../../../extensions/telegram/src/probe.js").probeTelegram; + resolveTelegramToken: typeof import("../../../extensions/telegram/src/token.js").resolveTelegramToken; + sendMessageTelegram: typeof import("../../../extensions/telegram/src/send.js").sendMessageTelegram; + sendPollTelegram: typeof import("../../../extensions/telegram/src/send.js").sendPollTelegram; + monitorTelegramProvider: typeof import("../../../extensions/telegram/src/monitor.js").monitorTelegramProvider; messageActions: typeof import("../../channels/plugins/actions/telegram.js").telegramMessageActions; }; signal: { - probeSignal: typeof import("../../signal/probe.js").probeSignal; - sendMessageSignal: typeof import("../../signal/send.js").sendMessageSignal; - monitorSignalProvider: typeof import("../../signal/index.js").monitorSignalProvider; + probeSignal: typeof import("../../../extensions/signal/src/probe.js").probeSignal; + sendMessageSignal: typeof import("../../../extensions/signal/src/send.js").sendMessageSignal; + monitorSignalProvider: typeof import("../../../extensions/signal/src/index.js").monitorSignalProvider; messageActions: typeof import("../../channels/plugins/actions/signal.js").signalMessageActions; }; imessage: { - monitorIMessageProvider: typeof import("../../imessage/monitor.js").monitorIMessageProvider; - probeIMessage: typeof import("../../imessage/probe.js").probeIMessage; - sendMessageIMessage: typeof import("../../imessage/send.js").sendMessageIMessage; + monitorIMessageProvider: typeof import("../../../extensions/imessage/src/monitor.js").monitorIMessageProvider; + probeIMessage: typeof import("../../../extensions/imessage/src/probe.js").probeIMessage; + sendMessageIMessage: typeof import("../../../extensions/imessage/src/send.js").sendMessageIMessage; }; whatsapp: { - getActiveWebListener: typeof import("../../web/active-listener.js").getActiveWebListener; - getWebAuthAgeMs: typeof import("../../web/auth-store.js").getWebAuthAgeMs; - logoutWeb: typeof import("../../web/auth-store.js").logoutWeb; - logWebSelfId: typeof import("../../web/auth-store.js").logWebSelfId; - readWebSelfId: typeof import("../../web/auth-store.js").readWebSelfId; - webAuthExists: typeof import("../../web/auth-store.js").webAuthExists; - sendMessageWhatsApp: typeof import("../../web/outbound.js").sendMessageWhatsApp; - sendPollWhatsApp: typeof import("../../web/outbound.js").sendPollWhatsApp; - loginWeb: typeof import("../../web/login.js").loginWeb; - startWebLoginWithQr: typeof import("../../web/login-qr.js").startWebLoginWithQr; - waitForWebLogin: typeof import("../../web/login-qr.js").waitForWebLogin; + getActiveWebListener: typeof import("../../../extensions/whatsapp/src/active-listener.js").getActiveWebListener; + getWebAuthAgeMs: typeof import("../../../extensions/whatsapp/src/auth-store.js").getWebAuthAgeMs; + logoutWeb: typeof import("../../../extensions/whatsapp/src/auth-store.js").logoutWeb; + logWebSelfId: typeof import("../../../extensions/whatsapp/src/auth-store.js").logWebSelfId; + readWebSelfId: typeof import("../../../extensions/whatsapp/src/auth-store.js").readWebSelfId; + webAuthExists: typeof import("../../../extensions/whatsapp/src/auth-store.js").webAuthExists; + sendMessageWhatsApp: typeof import("../../../extensions/whatsapp/src/send.js").sendMessageWhatsApp; + sendPollWhatsApp: typeof import("../../../extensions/whatsapp/src/send.js").sendPollWhatsApp; + loginWeb: typeof import("../../../extensions/whatsapp/src/login.js").loginWeb; + startWebLoginWithQr: typeof import("../../../extensions/whatsapp/src/login-qr.js").startWebLoginWithQr; + waitForWebLogin: typeof import("../../../extensions/whatsapp/src/login-qr.js").waitForWebLogin; monitorWebChannel: typeof import("../../channels/web/index.js").monitorWebChannel; handleWhatsAppAction: typeof import("../../agents/tools/whatsapp-actions.js").handleWhatsAppAction; createLoginTool: typeof import("../../channels/plugins/agent-tools/whatsapp-login.js").createWhatsAppLoginTool; diff --git a/src/plugins/runtime/types-core.ts b/src/plugins/runtime/types-core.ts index bfbb747c9c4..c25c3afa86b 100644 --- a/src/plugins/runtime/types-core.ts +++ b/src/plugins/runtime/types-core.ts @@ -20,7 +20,7 @@ export type PluginRuntimeCore = { formatNativeDependencyHint: typeof import("./native-deps.js").formatNativeDependencyHint; }; media: { - loadWebMedia: typeof import("../../web/media.js").loadWebMedia; + loadWebMedia: typeof import("../../../extensions/whatsapp/src/media.js").loadWebMedia; detectMime: typeof import("../../media/mime.js").detectMime; mediaKindFromMime: typeof import("../../media/constants.js").mediaKindFromMime; isVoiceCompatibleAudio: typeof import("../../media/audio.js").isVoiceCompatibleAudio; diff --git a/src/security/audit-channel.ts b/src/security/audit-channel.ts index a46db8646a4..ca0e69722e3 100644 --- a/src/security/audit-channel.ts +++ b/src/security/audit-channel.ts @@ -1,3 +1,7 @@ +import { + isNumericTelegramUserId, + normalizeTelegramAllowFromEntry, +} from "../../extensions/telegram/src/allow-from.js"; import { hasConfiguredUnavailableCredentialStatus, hasResolvedCredentialValue, @@ -6,10 +10,6 @@ import { resolveChannelDefaultAccountId } from "../channels/plugins/helpers.js"; import type { listChannelPlugins } from "../channels/plugins/index.js"; import type { ChannelId } from "../channels/plugins/types.js"; import { inspectReadOnlyChannelAccount } from "../channels/read-only-account-inspect.js"; -import { - isNumericTelegramUserId, - normalizeTelegramAllowFromEntry, -} from "../channels/telegram/allow-from.js"; import { formatCliCommand } from "../cli/command-format.js"; import { resolveNativeCommandsEnabled, resolveNativeSkillsEnabled } from "../config/commands.js"; import type { OpenClawConfig } from "../config/config.js"; diff --git a/src/security/dm-policy-channel-smoke.test.ts b/src/security/dm-policy-channel-smoke.test.ts index 7a57317d628..189f169648c 100644 --- a/src/security/dm-policy-channel-smoke.test.ts +++ b/src/security/dm-policy-channel-smoke.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vitest"; import { isAllowedBlueBubblesSender } from "../../extensions/bluebubbles/src/targets.js"; import { isMattermostSenderAllowed } from "../../extensions/mattermost/src/mattermost/monitor-auth.js"; -import { isSignalSenderAllowed, type SignalSender } from "../signal/identity.js"; +import { isSignalSenderAllowed, type SignalSender } from "../../extensions/signal/src/identity.js"; import { DM_GROUP_ACCESS_REASON, resolveDmGroupAccessWithLists } from "./dm-policy-shared.js"; type ChannelSmokeCase = { diff --git a/src/signal/accounts.ts b/src/signal/accounts.ts deleted file mode 100644 index 8b06971c685..00000000000 --- a/src/signal/accounts.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/accounts -export * from "../../extensions/signal/src/accounts.js"; diff --git a/src/signal/client.test.ts b/src/signal/client.test.ts deleted file mode 100644 index ec5c12b8042..00000000000 --- a/src/signal/client.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/client.test -export * from "../../extensions/signal/src/client.test.js"; diff --git a/src/signal/client.ts b/src/signal/client.ts deleted file mode 100644 index 9ec64219f02..00000000000 --- a/src/signal/client.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/client -export * from "../../extensions/signal/src/client.js"; diff --git a/src/signal/daemon.ts b/src/signal/daemon.ts deleted file mode 100644 index f589b1f3d51..00000000000 --- a/src/signal/daemon.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/daemon -export * from "../../extensions/signal/src/daemon.js"; diff --git a/src/signal/format.chunking.test.ts b/src/signal/format.chunking.test.ts deleted file mode 100644 index 47cbc03d1a3..00000000000 --- a/src/signal/format.chunking.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/format.chunking.test -export * from "../../extensions/signal/src/format.chunking.test.js"; diff --git a/src/signal/format.links.test.ts b/src/signal/format.links.test.ts deleted file mode 100644 index dcdf819b994..00000000000 --- a/src/signal/format.links.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/format.links.test -export * from "../../extensions/signal/src/format.links.test.js"; diff --git a/src/signal/format.test.ts b/src/signal/format.test.ts deleted file mode 100644 index 0ca68819d3b..00000000000 --- a/src/signal/format.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/format.test -export * from "../../extensions/signal/src/format.test.js"; diff --git a/src/signal/format.ts b/src/signal/format.ts deleted file mode 100644 index bf602517fe9..00000000000 --- a/src/signal/format.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/format -export * from "../../extensions/signal/src/format.js"; diff --git a/src/signal/format.visual.test.ts b/src/signal/format.visual.test.ts deleted file mode 100644 index c75e26c6629..00000000000 --- a/src/signal/format.visual.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/format.visual.test -export * from "../../extensions/signal/src/format.visual.test.js"; diff --git a/src/signal/identity.test.ts b/src/signal/identity.test.ts deleted file mode 100644 index 6f04d6b0162..00000000000 --- a/src/signal/identity.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/identity.test -export * from "../../extensions/signal/src/identity.test.js"; diff --git a/src/signal/identity.ts b/src/signal/identity.ts deleted file mode 100644 index d73d2bf4ac1..00000000000 --- a/src/signal/identity.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/identity -export * from "../../extensions/signal/src/identity.js"; diff --git a/src/signal/index.ts b/src/signal/index.ts deleted file mode 100644 index 3741162bbf6..00000000000 --- a/src/signal/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/index -export * from "../../extensions/signal/src/index.js"; diff --git a/src/signal/monitor.test.ts b/src/signal/monitor.test.ts deleted file mode 100644 index 4ac86270e21..00000000000 --- a/src/signal/monitor.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor.test -export * from "../../extensions/signal/src/monitor.test.js"; diff --git a/src/signal/monitor.tool-result.pairs-uuid-only-senders-uuid-allowlist-entry.test.ts b/src/signal/monitor.tool-result.pairs-uuid-only-senders-uuid-allowlist-entry.test.ts deleted file mode 100644 index b7ba05e2d75..00000000000 --- a/src/signal/monitor.tool-result.pairs-uuid-only-senders-uuid-allowlist-entry.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor.tool-result.pairs-uuid-only-senders-uuid-allowlist-entry.test -export * from "../../extensions/signal/src/monitor.tool-result.pairs-uuid-only-senders-uuid-allowlist-entry.test.js"; diff --git a/src/signal/monitor.tool-result.sends-tool-summaries-responseprefix.test.ts b/src/signal/monitor.tool-result.sends-tool-summaries-responseprefix.test.ts deleted file mode 100644 index 2a217607f8c..00000000000 --- a/src/signal/monitor.tool-result.sends-tool-summaries-responseprefix.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor.tool-result.sends-tool-summaries-responseprefix.test -export * from "../../extensions/signal/src/monitor.tool-result.sends-tool-summaries-responseprefix.test.js"; diff --git a/src/signal/monitor.tool-result.test-harness.ts b/src/signal/monitor.tool-result.test-harness.ts deleted file mode 100644 index f01ee09bf6c..00000000000 --- a/src/signal/monitor.tool-result.test-harness.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor.tool-result.test-harness -export * from "../../extensions/signal/src/monitor.tool-result.test-harness.js"; diff --git a/src/signal/monitor.ts b/src/signal/monitor.ts deleted file mode 100644 index dfb701661af..00000000000 --- a/src/signal/monitor.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor -export * from "../../extensions/signal/src/monitor.js"; diff --git a/src/signal/monitor/access-policy.ts b/src/signal/monitor/access-policy.ts deleted file mode 100644 index f1dabdeaa97..00000000000 --- a/src/signal/monitor/access-policy.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor/access-policy -export * from "../../../extensions/signal/src/monitor/access-policy.js"; diff --git a/src/signal/monitor/event-handler.inbound-contract.test.ts b/src/signal/monitor/event-handler.inbound-contract.test.ts deleted file mode 100644 index a2def3f7cfd..00000000000 --- a/src/signal/monitor/event-handler.inbound-contract.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor/event-handler.inbound-contract.test -export * from "../../../extensions/signal/src/monitor/event-handler.inbound-contract.test.js"; diff --git a/src/signal/monitor/event-handler.mention-gating.test.ts b/src/signal/monitor/event-handler.mention-gating.test.ts deleted file mode 100644 index 788c976767e..00000000000 --- a/src/signal/monitor/event-handler.mention-gating.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor/event-handler.mention-gating.test -export * from "../../../extensions/signal/src/monitor/event-handler.mention-gating.test.js"; diff --git a/src/signal/monitor/event-handler.test-harness.ts b/src/signal/monitor/event-handler.test-harness.ts deleted file mode 100644 index d5c5959ba7d..00000000000 --- a/src/signal/monitor/event-handler.test-harness.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor/event-handler.test-harness -export * from "../../../extensions/signal/src/monitor/event-handler.test-harness.js"; diff --git a/src/signal/monitor/event-handler.ts b/src/signal/monitor/event-handler.ts deleted file mode 100644 index 3d3c88d572d..00000000000 --- a/src/signal/monitor/event-handler.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor/event-handler -export * from "../../../extensions/signal/src/monitor/event-handler.js"; diff --git a/src/signal/monitor/event-handler.types.ts b/src/signal/monitor/event-handler.types.ts deleted file mode 100644 index 7186c57526d..00000000000 --- a/src/signal/monitor/event-handler.types.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor/event-handler.types -export * from "../../../extensions/signal/src/monitor/event-handler.types.js"; diff --git a/src/signal/monitor/mentions.ts b/src/signal/monitor/mentions.ts deleted file mode 100644 index c1fd0ad99c9..00000000000 --- a/src/signal/monitor/mentions.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/monitor/mentions -export * from "../../../extensions/signal/src/monitor/mentions.js"; diff --git a/src/signal/probe.test.ts b/src/signal/probe.test.ts deleted file mode 100644 index a2cd90712d4..00000000000 --- a/src/signal/probe.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/probe.test -export * from "../../extensions/signal/src/probe.test.js"; diff --git a/src/signal/probe.ts b/src/signal/probe.ts deleted file mode 100644 index 2ef2c35bd3e..00000000000 --- a/src/signal/probe.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/probe -export * from "../../extensions/signal/src/probe.js"; diff --git a/src/signal/reaction-level.ts b/src/signal/reaction-level.ts deleted file mode 100644 index 676f9a8386d..00000000000 --- a/src/signal/reaction-level.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/reaction-level -export * from "../../extensions/signal/src/reaction-level.js"; diff --git a/src/signal/rpc-context.ts b/src/signal/rpc-context.ts deleted file mode 100644 index c1685ff90e7..00000000000 --- a/src/signal/rpc-context.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/rpc-context -export * from "../../extensions/signal/src/rpc-context.js"; diff --git a/src/signal/send-reactions.test.ts b/src/signal/send-reactions.test.ts deleted file mode 100644 index b98ddc984c1..00000000000 --- a/src/signal/send-reactions.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/send-reactions.test -export * from "../../extensions/signal/src/send-reactions.test.js"; diff --git a/src/signal/send-reactions.ts b/src/signal/send-reactions.ts deleted file mode 100644 index 5bbd70a54f1..00000000000 --- a/src/signal/send-reactions.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/send-reactions -export * from "../../extensions/signal/src/send-reactions.js"; diff --git a/src/signal/send.ts b/src/signal/send.ts deleted file mode 100644 index c6388fcd5e9..00000000000 --- a/src/signal/send.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/send -export * from "../../extensions/signal/src/send.js"; diff --git a/src/signal/sse-reconnect.ts b/src/signal/sse-reconnect.ts deleted file mode 100644 index 7a49fc2db0a..00000000000 --- a/src/signal/sse-reconnect.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/signal/src/sse-reconnect -export * from "../../extensions/signal/src/sse-reconnect.js"; diff --git a/src/slack/account-inspect.ts b/src/slack/account-inspect.ts deleted file mode 100644 index 4208125d3c4..00000000000 --- a/src/slack/account-inspect.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/account-inspect -export * from "../../extensions/slack/src/account-inspect.js"; diff --git a/src/slack/account-surface-fields.ts b/src/slack/account-surface-fields.ts deleted file mode 100644 index 68a6abc0d91..00000000000 --- a/src/slack/account-surface-fields.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/account-surface-fields -export * from "../../extensions/slack/src/account-surface-fields.js"; diff --git a/src/slack/accounts.test.ts b/src/slack/accounts.test.ts deleted file mode 100644 index 34d5a5d3691..00000000000 --- a/src/slack/accounts.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/accounts.test -export * from "../../extensions/slack/src/accounts.test.js"; diff --git a/src/slack/accounts.ts b/src/slack/accounts.ts deleted file mode 100644 index 62d78fcbe8a..00000000000 --- a/src/slack/accounts.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/accounts -export * from "../../extensions/slack/src/accounts.js"; diff --git a/src/slack/actions.blocks.test.ts b/src/slack/actions.blocks.test.ts deleted file mode 100644 index 254040b1043..00000000000 --- a/src/slack/actions.blocks.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/actions.blocks.test -export * from "../../extensions/slack/src/actions.blocks.test.js"; diff --git a/src/slack/actions.download-file.test.ts b/src/slack/actions.download-file.test.ts deleted file mode 100644 index f4f57b76589..00000000000 --- a/src/slack/actions.download-file.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/actions.download-file.test -export * from "../../extensions/slack/src/actions.download-file.test.js"; diff --git a/src/slack/actions.read.test.ts b/src/slack/actions.read.test.ts deleted file mode 100644 index 0efb6fa50a2..00000000000 --- a/src/slack/actions.read.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/actions.read.test -export * from "../../extensions/slack/src/actions.read.test.js"; diff --git a/src/slack/actions.ts b/src/slack/actions.ts deleted file mode 100644 index 5ffde3057e4..00000000000 --- a/src/slack/actions.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/actions -export * from "../../extensions/slack/src/actions.js"; diff --git a/src/slack/blocks-fallback.test.ts b/src/slack/blocks-fallback.test.ts deleted file mode 100644 index 2f487ed2c91..00000000000 --- a/src/slack/blocks-fallback.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/blocks-fallback.test -export * from "../../extensions/slack/src/blocks-fallback.test.js"; diff --git a/src/slack/blocks-fallback.ts b/src/slack/blocks-fallback.ts deleted file mode 100644 index a6374522bf2..00000000000 --- a/src/slack/blocks-fallback.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/blocks-fallback -export * from "../../extensions/slack/src/blocks-fallback.js"; diff --git a/src/slack/blocks-input.test.ts b/src/slack/blocks-input.test.ts deleted file mode 100644 index 120d56376f2..00000000000 --- a/src/slack/blocks-input.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/blocks-input.test -export * from "../../extensions/slack/src/blocks-input.test.js"; diff --git a/src/slack/blocks-input.ts b/src/slack/blocks-input.ts deleted file mode 100644 index fad3578c8d3..00000000000 --- a/src/slack/blocks-input.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/blocks-input -export * from "../../extensions/slack/src/blocks-input.js"; diff --git a/src/slack/blocks.test-helpers.ts b/src/slack/blocks.test-helpers.ts deleted file mode 100644 index a98d5d40f86..00000000000 --- a/src/slack/blocks.test-helpers.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/blocks.test-helpers -export * from "../../extensions/slack/src/blocks.test-helpers.js"; diff --git a/src/slack/channel-migration.test.ts b/src/slack/channel-migration.test.ts deleted file mode 100644 index 436c1e79081..00000000000 --- a/src/slack/channel-migration.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/channel-migration.test -export * from "../../extensions/slack/src/channel-migration.test.js"; diff --git a/src/slack/channel-migration.ts b/src/slack/channel-migration.ts deleted file mode 100644 index 6961dc3a978..00000000000 --- a/src/slack/channel-migration.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/channel-migration -export * from "../../extensions/slack/src/channel-migration.js"; diff --git a/src/slack/client.test.ts b/src/slack/client.test.ts deleted file mode 100644 index a1b85203a7b..00000000000 --- a/src/slack/client.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/client.test -export * from "../../extensions/slack/src/client.test.js"; diff --git a/src/slack/client.ts b/src/slack/client.ts deleted file mode 100644 index 8e156a87220..00000000000 --- a/src/slack/client.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/client -export * from "../../extensions/slack/src/client.js"; diff --git a/src/slack/directory-live.ts b/src/slack/directory-live.ts deleted file mode 100644 index d0f648ff73a..00000000000 --- a/src/slack/directory-live.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/directory-live -export * from "../../extensions/slack/src/directory-live.js"; diff --git a/src/slack/draft-stream.test.ts b/src/slack/draft-stream.test.ts deleted file mode 100644 index 5e589dd5d2a..00000000000 --- a/src/slack/draft-stream.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/draft-stream.test -export * from "../../extensions/slack/src/draft-stream.test.js"; diff --git a/src/slack/draft-stream.ts b/src/slack/draft-stream.ts deleted file mode 100644 index 3486ae098fd..00000000000 --- a/src/slack/draft-stream.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/draft-stream -export * from "../../extensions/slack/src/draft-stream.js"; diff --git a/src/slack/format.test.ts b/src/slack/format.test.ts deleted file mode 100644 index 5541fc49b29..00000000000 --- a/src/slack/format.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/format.test -export * from "../../extensions/slack/src/format.test.js"; diff --git a/src/slack/format.ts b/src/slack/format.ts deleted file mode 100644 index 7d9abb3c9b3..00000000000 --- a/src/slack/format.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/format -export * from "../../extensions/slack/src/format.js"; diff --git a/src/slack/http/index.ts b/src/slack/http/index.ts deleted file mode 100644 index 37ab5bbd1fb..00000000000 --- a/src/slack/http/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/http/index -export * from "../../../extensions/slack/src/http/index.js"; diff --git a/src/slack/http/registry.test.ts b/src/slack/http/registry.test.ts deleted file mode 100644 index 8901a9a1132..00000000000 --- a/src/slack/http/registry.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/http/registry.test -export * from "../../../extensions/slack/src/http/registry.test.js"; diff --git a/src/slack/http/registry.ts b/src/slack/http/registry.ts deleted file mode 100644 index 972d6a9bc1d..00000000000 --- a/src/slack/http/registry.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/http/registry -export * from "../../../extensions/slack/src/http/registry.js"; diff --git a/src/slack/index.ts b/src/slack/index.ts deleted file mode 100644 index f621ffd68f5..00000000000 --- a/src/slack/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/index -export * from "../../extensions/slack/src/index.js"; diff --git a/src/slack/interactive-replies.test.ts b/src/slack/interactive-replies.test.ts deleted file mode 100644 index 06473c5390c..00000000000 --- a/src/slack/interactive-replies.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/interactive-replies.test -export * from "../../extensions/slack/src/interactive-replies.test.js"; diff --git a/src/slack/interactive-replies.ts b/src/slack/interactive-replies.ts deleted file mode 100644 index 6bee7641d57..00000000000 --- a/src/slack/interactive-replies.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/interactive-replies -export * from "../../extensions/slack/src/interactive-replies.js"; diff --git a/src/slack/message-actions.test.ts b/src/slack/message-actions.test.ts deleted file mode 100644 index c1be9dc6c96..00000000000 --- a/src/slack/message-actions.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/message-actions.test -export * from "../../extensions/slack/src/message-actions.test.js"; diff --git a/src/slack/message-actions.ts b/src/slack/message-actions.ts deleted file mode 100644 index f1fc7b26784..00000000000 --- a/src/slack/message-actions.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/message-actions -export * from "../../extensions/slack/src/message-actions.js"; diff --git a/src/slack/modal-metadata.test.ts b/src/slack/modal-metadata.test.ts deleted file mode 100644 index 164c91439c5..00000000000 --- a/src/slack/modal-metadata.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/modal-metadata.test -export * from "../../extensions/slack/src/modal-metadata.test.js"; diff --git a/src/slack/modal-metadata.ts b/src/slack/modal-metadata.ts deleted file mode 100644 index 8778f46e5bc..00000000000 --- a/src/slack/modal-metadata.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/modal-metadata -export * from "../../extensions/slack/src/modal-metadata.js"; diff --git a/src/slack/monitor.test-helpers.ts b/src/slack/monitor.test-helpers.ts deleted file mode 100644 index 268fe56d4e4..00000000000 --- a/src/slack/monitor.test-helpers.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor.test-helpers -export * from "../../extensions/slack/src/monitor.test-helpers.js"; diff --git a/src/slack/monitor.test.ts b/src/slack/monitor.test.ts deleted file mode 100644 index 4fe6780093c..00000000000 --- a/src/slack/monitor.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor.test -export * from "../../extensions/slack/src/monitor.test.js"; diff --git a/src/slack/monitor.threading.missing-thread-ts.test.ts b/src/slack/monitor.threading.missing-thread-ts.test.ts deleted file mode 100644 index aa53b5900a9..00000000000 --- a/src/slack/monitor.threading.missing-thread-ts.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor.threading.missing-thread-ts.test -export * from "../../extensions/slack/src/monitor.threading.missing-thread-ts.test.js"; diff --git a/src/slack/monitor.tool-result.test.ts b/src/slack/monitor.tool-result.test.ts deleted file mode 100644 index 160e4a17169..00000000000 --- a/src/slack/monitor.tool-result.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor.tool-result.test -export * from "../../extensions/slack/src/monitor.tool-result.test.js"; diff --git a/src/slack/monitor.ts b/src/slack/monitor.ts deleted file mode 100644 index d19d4c738c3..00000000000 --- a/src/slack/monitor.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor -export * from "../../extensions/slack/src/monitor.js"; diff --git a/src/slack/monitor/allow-list.test.ts b/src/slack/monitor/allow-list.test.ts deleted file mode 100644 index 8905803323f..00000000000 --- a/src/slack/monitor/allow-list.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/allow-list.test -export * from "../../../extensions/slack/src/monitor/allow-list.test.js"; diff --git a/src/slack/monitor/allow-list.ts b/src/slack/monitor/allow-list.ts deleted file mode 100644 index 66a58abb3b8..00000000000 --- a/src/slack/monitor/allow-list.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/allow-list -export * from "../../../extensions/slack/src/monitor/allow-list.js"; diff --git a/src/slack/monitor/auth.test.ts b/src/slack/monitor/auth.test.ts deleted file mode 100644 index 6791a44aef3..00000000000 --- a/src/slack/monitor/auth.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/auth.test -export * from "../../../extensions/slack/src/monitor/auth.test.js"; diff --git a/src/slack/monitor/auth.ts b/src/slack/monitor/auth.ts deleted file mode 100644 index 9c363984e98..00000000000 --- a/src/slack/monitor/auth.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/auth -export * from "../../../extensions/slack/src/monitor/auth.js"; diff --git a/src/slack/monitor/channel-config.ts b/src/slack/monitor/channel-config.ts deleted file mode 100644 index 05d0d66840f..00000000000 --- a/src/slack/monitor/channel-config.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/channel-config -export * from "../../../extensions/slack/src/monitor/channel-config.js"; diff --git a/src/slack/monitor/channel-type.ts b/src/slack/monitor/channel-type.ts deleted file mode 100644 index e13fce3a477..00000000000 --- a/src/slack/monitor/channel-type.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/channel-type -export * from "../../../extensions/slack/src/monitor/channel-type.js"; diff --git a/src/slack/monitor/commands.ts b/src/slack/monitor/commands.ts deleted file mode 100644 index 8f3d4d2042f..00000000000 --- a/src/slack/monitor/commands.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/commands -export * from "../../../extensions/slack/src/monitor/commands.js"; diff --git a/src/slack/monitor/context.test.ts b/src/slack/monitor/context.test.ts deleted file mode 100644 index 8f53d5db2ee..00000000000 --- a/src/slack/monitor/context.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/context.test -export * from "../../../extensions/slack/src/monitor/context.test.js"; diff --git a/src/slack/monitor/context.ts b/src/slack/monitor/context.ts deleted file mode 100644 index 9c562a76411..00000000000 --- a/src/slack/monitor/context.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/context -export * from "../../../extensions/slack/src/monitor/context.js"; diff --git a/src/slack/monitor/dm-auth.ts b/src/slack/monitor/dm-auth.ts deleted file mode 100644 index 4f0e34dde15..00000000000 --- a/src/slack/monitor/dm-auth.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/dm-auth -export * from "../../../extensions/slack/src/monitor/dm-auth.js"; diff --git a/src/slack/monitor/events.ts b/src/slack/monitor/events.ts deleted file mode 100644 index 147ba1245b1..00000000000 --- a/src/slack/monitor/events.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events -export * from "../../../extensions/slack/src/monitor/events.js"; diff --git a/src/slack/monitor/events/channels.test.ts b/src/slack/monitor/events/channels.test.ts deleted file mode 100644 index 5fbb8e1d843..00000000000 --- a/src/slack/monitor/events/channels.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/channels.test -export * from "../../../../extensions/slack/src/monitor/events/channels.test.js"; diff --git a/src/slack/monitor/events/channels.ts b/src/slack/monitor/events/channels.ts deleted file mode 100644 index c7921ee8e58..00000000000 --- a/src/slack/monitor/events/channels.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/channels -export * from "../../../../extensions/slack/src/monitor/events/channels.js"; diff --git a/src/slack/monitor/events/interactions.modal.ts b/src/slack/monitor/events/interactions.modal.ts deleted file mode 100644 index fdff2dc466e..00000000000 --- a/src/slack/monitor/events/interactions.modal.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/interactions.modal -export * from "../../../../extensions/slack/src/monitor/events/interactions.modal.js"; diff --git a/src/slack/monitor/events/interactions.test.ts b/src/slack/monitor/events/interactions.test.ts deleted file mode 100644 index f49fdd839ce..00000000000 --- a/src/slack/monitor/events/interactions.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/interactions.test -export * from "../../../../extensions/slack/src/monitor/events/interactions.test.js"; diff --git a/src/slack/monitor/events/interactions.ts b/src/slack/monitor/events/interactions.ts deleted file mode 100644 index 4be7dbb5bcd..00000000000 --- a/src/slack/monitor/events/interactions.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/interactions -export * from "../../../../extensions/slack/src/monitor/events/interactions.js"; diff --git a/src/slack/monitor/events/members.test.ts b/src/slack/monitor/events/members.test.ts deleted file mode 100644 index 46bcec126fc..00000000000 --- a/src/slack/monitor/events/members.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/members.test -export * from "../../../../extensions/slack/src/monitor/events/members.test.js"; diff --git a/src/slack/monitor/events/members.ts b/src/slack/monitor/events/members.ts deleted file mode 100644 index 6ccc43aee32..00000000000 --- a/src/slack/monitor/events/members.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/members -export * from "../../../../extensions/slack/src/monitor/events/members.js"; diff --git a/src/slack/monitor/events/message-subtype-handlers.test.ts b/src/slack/monitor/events/message-subtype-handlers.test.ts deleted file mode 100644 index 6430f934aaa..00000000000 --- a/src/slack/monitor/events/message-subtype-handlers.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/message-subtype-handlers.test -export * from "../../../../extensions/slack/src/monitor/events/message-subtype-handlers.test.js"; diff --git a/src/slack/monitor/events/message-subtype-handlers.ts b/src/slack/monitor/events/message-subtype-handlers.ts deleted file mode 100644 index 071a8f5c214..00000000000 --- a/src/slack/monitor/events/message-subtype-handlers.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/message-subtype-handlers -export * from "../../../../extensions/slack/src/monitor/events/message-subtype-handlers.js"; diff --git a/src/slack/monitor/events/messages.test.ts b/src/slack/monitor/events/messages.test.ts deleted file mode 100644 index 70eecd2b22c..00000000000 --- a/src/slack/monitor/events/messages.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/messages.test -export * from "../../../../extensions/slack/src/monitor/events/messages.test.js"; diff --git a/src/slack/monitor/events/messages.ts b/src/slack/monitor/events/messages.ts deleted file mode 100644 index 07b77e87032..00000000000 --- a/src/slack/monitor/events/messages.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/messages -export * from "../../../../extensions/slack/src/monitor/events/messages.js"; diff --git a/src/slack/monitor/events/pins.test.ts b/src/slack/monitor/events/pins.test.ts deleted file mode 100644 index e3ca0c00112..00000000000 --- a/src/slack/monitor/events/pins.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/pins.test -export * from "../../../../extensions/slack/src/monitor/events/pins.test.js"; diff --git a/src/slack/monitor/events/pins.ts b/src/slack/monitor/events/pins.ts deleted file mode 100644 index edf25fcfdbd..00000000000 --- a/src/slack/monitor/events/pins.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/pins -export * from "../../../../extensions/slack/src/monitor/events/pins.js"; diff --git a/src/slack/monitor/events/reactions.test.ts b/src/slack/monitor/events/reactions.test.ts deleted file mode 100644 index 229999b51e7..00000000000 --- a/src/slack/monitor/events/reactions.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/reactions.test -export * from "../../../../extensions/slack/src/monitor/events/reactions.test.js"; diff --git a/src/slack/monitor/events/reactions.ts b/src/slack/monitor/events/reactions.ts deleted file mode 100644 index f7b9ed160ad..00000000000 --- a/src/slack/monitor/events/reactions.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/reactions -export * from "../../../../extensions/slack/src/monitor/events/reactions.js"; diff --git a/src/slack/monitor/events/system-event-context.ts b/src/slack/monitor/events/system-event-context.ts deleted file mode 100644 index 748f0e1fd49..00000000000 --- a/src/slack/monitor/events/system-event-context.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/system-event-context -export * from "../../../../extensions/slack/src/monitor/events/system-event-context.js"; diff --git a/src/slack/monitor/events/system-event-test-harness.ts b/src/slack/monitor/events/system-event-test-harness.ts deleted file mode 100644 index 2a03a48d7c4..00000000000 --- a/src/slack/monitor/events/system-event-test-harness.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/events/system-event-test-harness -export * from "../../../../extensions/slack/src/monitor/events/system-event-test-harness.js"; diff --git a/src/slack/monitor/external-arg-menu-store.ts b/src/slack/monitor/external-arg-menu-store.ts deleted file mode 100644 index dbb04f40485..00000000000 --- a/src/slack/monitor/external-arg-menu-store.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/external-arg-menu-store -export * from "../../../extensions/slack/src/monitor/external-arg-menu-store.js"; diff --git a/src/slack/monitor/media.test.ts b/src/slack/monitor/media.test.ts deleted file mode 100644 index da995cae3a2..00000000000 --- a/src/slack/monitor/media.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/media.test -export * from "../../../extensions/slack/src/monitor/media.test.js"; diff --git a/src/slack/monitor/media.ts b/src/slack/monitor/media.ts deleted file mode 100644 index 941a03ece43..00000000000 --- a/src/slack/monitor/media.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/media -export * from "../../../extensions/slack/src/monitor/media.js"; diff --git a/src/slack/monitor/message-handler.app-mention-race.test.ts b/src/slack/monitor/message-handler.app-mention-race.test.ts deleted file mode 100644 index 48b74ab839f..00000000000 --- a/src/slack/monitor/message-handler.app-mention-race.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler.app-mention-race.test -export * from "../../../extensions/slack/src/monitor/message-handler.app-mention-race.test.js"; diff --git a/src/slack/monitor/message-handler.debounce-key.test.ts b/src/slack/monitor/message-handler.debounce-key.test.ts deleted file mode 100644 index c45f448eb4b..00000000000 --- a/src/slack/monitor/message-handler.debounce-key.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler.debounce-key.test -export * from "../../../extensions/slack/src/monitor/message-handler.debounce-key.test.js"; diff --git a/src/slack/monitor/message-handler.test.ts b/src/slack/monitor/message-handler.test.ts deleted file mode 100644 index 317911a341e..00000000000 --- a/src/slack/monitor/message-handler.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler.test -export * from "../../../extensions/slack/src/monitor/message-handler.test.js"; diff --git a/src/slack/monitor/message-handler.ts b/src/slack/monitor/message-handler.ts deleted file mode 100644 index c378d1ef2bf..00000000000 --- a/src/slack/monitor/message-handler.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler -export * from "../../../extensions/slack/src/monitor/message-handler.js"; diff --git a/src/slack/monitor/message-handler/dispatch.streaming.test.ts b/src/slack/monitor/message-handler/dispatch.streaming.test.ts deleted file mode 100644 index 6da0fa57783..00000000000 --- a/src/slack/monitor/message-handler/dispatch.streaming.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/dispatch.streaming.test -export * from "../../../../extensions/slack/src/monitor/message-handler/dispatch.streaming.test.js"; diff --git a/src/slack/monitor/message-handler/dispatch.ts b/src/slack/monitor/message-handler/dispatch.ts deleted file mode 100644 index d5178c9982d..00000000000 --- a/src/slack/monitor/message-handler/dispatch.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/dispatch -export * from "../../../../extensions/slack/src/monitor/message-handler/dispatch.js"; diff --git a/src/slack/monitor/message-handler/prepare-content.ts b/src/slack/monitor/message-handler/prepare-content.ts deleted file mode 100644 index 77dd911a750..00000000000 --- a/src/slack/monitor/message-handler/prepare-content.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/prepare-content -export * from "../../../../extensions/slack/src/monitor/message-handler/prepare-content.js"; diff --git a/src/slack/monitor/message-handler/prepare-thread-context.ts b/src/slack/monitor/message-handler/prepare-thread-context.ts deleted file mode 100644 index 3db57bcb30b..00000000000 --- a/src/slack/monitor/message-handler/prepare-thread-context.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/prepare-thread-context -export * from "../../../../extensions/slack/src/monitor/message-handler/prepare-thread-context.js"; diff --git a/src/slack/monitor/message-handler/prepare.test-helpers.ts b/src/slack/monitor/message-handler/prepare.test-helpers.ts deleted file mode 100644 index 7659276e2ad..00000000000 --- a/src/slack/monitor/message-handler/prepare.test-helpers.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/prepare.test-helpers -export * from "../../../../extensions/slack/src/monitor/message-handler/prepare.test-helpers.js"; diff --git a/src/slack/monitor/message-handler/prepare.test.ts b/src/slack/monitor/message-handler/prepare.test.ts deleted file mode 100644 index e2e6eef9ab5..00000000000 --- a/src/slack/monitor/message-handler/prepare.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/prepare.test -export * from "../../../../extensions/slack/src/monitor/message-handler/prepare.test.js"; diff --git a/src/slack/monitor/message-handler/prepare.thread-session-key.test.ts b/src/slack/monitor/message-handler/prepare.thread-session-key.test.ts deleted file mode 100644 index 24b3817b22c..00000000000 --- a/src/slack/monitor/message-handler/prepare.thread-session-key.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/prepare.thread-session-key.test -export * from "../../../../extensions/slack/src/monitor/message-handler/prepare.thread-session-key.test.js"; diff --git a/src/slack/monitor/message-handler/prepare.ts b/src/slack/monitor/message-handler/prepare.ts deleted file mode 100644 index 761338cbcfd..00000000000 --- a/src/slack/monitor/message-handler/prepare.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/prepare -export * from "../../../../extensions/slack/src/monitor/message-handler/prepare.js"; diff --git a/src/slack/monitor/message-handler/types.ts b/src/slack/monitor/message-handler/types.ts deleted file mode 100644 index e4326e5eef3..00000000000 --- a/src/slack/monitor/message-handler/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/message-handler/types -export * from "../../../../extensions/slack/src/monitor/message-handler/types.js"; diff --git a/src/slack/monitor/monitor.test.ts b/src/slack/monitor/monitor.test.ts deleted file mode 100644 index 234326312a0..00000000000 --- a/src/slack/monitor/monitor.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/monitor.test -export * from "../../../extensions/slack/src/monitor/monitor.test.js"; diff --git a/src/slack/monitor/mrkdwn.ts b/src/slack/monitor/mrkdwn.ts deleted file mode 100644 index 2a9107afa34..00000000000 --- a/src/slack/monitor/mrkdwn.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/mrkdwn -export * from "../../../extensions/slack/src/monitor/mrkdwn.js"; diff --git a/src/slack/monitor/policy.ts b/src/slack/monitor/policy.ts deleted file mode 100644 index 115c3243927..00000000000 --- a/src/slack/monitor/policy.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/policy -export * from "../../../extensions/slack/src/monitor/policy.js"; diff --git a/src/slack/monitor/provider.auth-errors.test.ts b/src/slack/monitor/provider.auth-errors.test.ts deleted file mode 100644 index 8934e528056..00000000000 --- a/src/slack/monitor/provider.auth-errors.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/provider.auth-errors.test -export * from "../../../extensions/slack/src/monitor/provider.auth-errors.test.js"; diff --git a/src/slack/monitor/provider.group-policy.test.ts b/src/slack/monitor/provider.group-policy.test.ts deleted file mode 100644 index 5da8546c407..00000000000 --- a/src/slack/monitor/provider.group-policy.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/provider.group-policy.test -export * from "../../../extensions/slack/src/monitor/provider.group-policy.test.js"; diff --git a/src/slack/monitor/provider.reconnect.test.ts b/src/slack/monitor/provider.reconnect.test.ts deleted file mode 100644 index 7e9c5b0085f..00000000000 --- a/src/slack/monitor/provider.reconnect.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/provider.reconnect.test -export * from "../../../extensions/slack/src/monitor/provider.reconnect.test.js"; diff --git a/src/slack/monitor/provider.ts b/src/slack/monitor/provider.ts deleted file mode 100644 index a31041e0ff4..00000000000 --- a/src/slack/monitor/provider.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/provider -export * from "../../../extensions/slack/src/monitor/provider.js"; diff --git a/src/slack/monitor/reconnect-policy.ts b/src/slack/monitor/reconnect-policy.ts deleted file mode 100644 index c1f9136c82e..00000000000 --- a/src/slack/monitor/reconnect-policy.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/reconnect-policy -export * from "../../../extensions/slack/src/monitor/reconnect-policy.js"; diff --git a/src/slack/monitor/replies.test.ts b/src/slack/monitor/replies.test.ts deleted file mode 100644 index 2c9443057d6..00000000000 --- a/src/slack/monitor/replies.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/replies.test -export * from "../../../extensions/slack/src/monitor/replies.test.js"; diff --git a/src/slack/monitor/replies.ts b/src/slack/monitor/replies.ts deleted file mode 100644 index f97ef8b78a3..00000000000 --- a/src/slack/monitor/replies.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/replies -export * from "../../../extensions/slack/src/monitor/replies.js"; diff --git a/src/slack/monitor/room-context.ts b/src/slack/monitor/room-context.ts deleted file mode 100644 index e5b42f66a3f..00000000000 --- a/src/slack/monitor/room-context.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/room-context -export * from "../../../extensions/slack/src/monitor/room-context.js"; diff --git a/src/slack/monitor/slash-commands.runtime.ts b/src/slack/monitor/slash-commands.runtime.ts deleted file mode 100644 index ae79190c2d1..00000000000 --- a/src/slack/monitor/slash-commands.runtime.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/slash-commands.runtime -export * from "../../../extensions/slack/src/monitor/slash-commands.runtime.js"; diff --git a/src/slack/monitor/slash-dispatch.runtime.ts b/src/slack/monitor/slash-dispatch.runtime.ts deleted file mode 100644 index b2f1e28c8a4..00000000000 --- a/src/slack/monitor/slash-dispatch.runtime.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/slash-dispatch.runtime -export * from "../../../extensions/slack/src/monitor/slash-dispatch.runtime.js"; diff --git a/src/slack/monitor/slash-skill-commands.runtime.ts b/src/slack/monitor/slash-skill-commands.runtime.ts deleted file mode 100644 index 86949c3e706..00000000000 --- a/src/slack/monitor/slash-skill-commands.runtime.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/slash-skill-commands.runtime -export * from "../../../extensions/slack/src/monitor/slash-skill-commands.runtime.js"; diff --git a/src/slack/monitor/slash.test-harness.ts b/src/slack/monitor/slash.test-harness.ts deleted file mode 100644 index 1e09e5e4966..00000000000 --- a/src/slack/monitor/slash.test-harness.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/slash.test-harness -export * from "../../../extensions/slack/src/monitor/slash.test-harness.js"; diff --git a/src/slack/monitor/slash.test.ts b/src/slack/monitor/slash.test.ts deleted file mode 100644 index a3b829e3a73..00000000000 --- a/src/slack/monitor/slash.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/slash.test -export * from "../../../extensions/slack/src/monitor/slash.test.js"; diff --git a/src/slack/monitor/slash.ts b/src/slack/monitor/slash.ts deleted file mode 100644 index 9e98980d9a7..00000000000 --- a/src/slack/monitor/slash.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/slash -export * from "../../../extensions/slack/src/monitor/slash.js"; diff --git a/src/slack/monitor/thread-resolution.ts b/src/slack/monitor/thread-resolution.ts deleted file mode 100644 index 630206929ff..00000000000 --- a/src/slack/monitor/thread-resolution.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/thread-resolution -export * from "../../../extensions/slack/src/monitor/thread-resolution.js"; diff --git a/src/slack/monitor/types.ts b/src/slack/monitor/types.ts deleted file mode 100644 index bf18d3674b1..00000000000 --- a/src/slack/monitor/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/monitor/types -export * from "../../../extensions/slack/src/monitor/types.js"; diff --git a/src/slack/probe.test.ts b/src/slack/probe.test.ts deleted file mode 100644 index 176f91583b8..00000000000 --- a/src/slack/probe.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/probe.test -export * from "../../extensions/slack/src/probe.test.js"; diff --git a/src/slack/probe.ts b/src/slack/probe.ts deleted file mode 100644 index 8d105e1156f..00000000000 --- a/src/slack/probe.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/probe -export * from "../../extensions/slack/src/probe.js"; diff --git a/src/slack/resolve-allowlist-common.test.ts b/src/slack/resolve-allowlist-common.test.ts deleted file mode 100644 index 98d2d5849fa..00000000000 --- a/src/slack/resolve-allowlist-common.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/resolve-allowlist-common.test -export * from "../../extensions/slack/src/resolve-allowlist-common.test.js"; diff --git a/src/slack/resolve-allowlist-common.ts b/src/slack/resolve-allowlist-common.ts deleted file mode 100644 index a4078a5f279..00000000000 --- a/src/slack/resolve-allowlist-common.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/resolve-allowlist-common -export * from "../../extensions/slack/src/resolve-allowlist-common.js"; diff --git a/src/slack/resolve-channels.test.ts b/src/slack/resolve-channels.test.ts deleted file mode 100644 index 35c915a5c81..00000000000 --- a/src/slack/resolve-channels.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/resolve-channels.test -export * from "../../extensions/slack/src/resolve-channels.test.js"; diff --git a/src/slack/resolve-channels.ts b/src/slack/resolve-channels.ts deleted file mode 100644 index 222968db420..00000000000 --- a/src/slack/resolve-channels.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/resolve-channels -export * from "../../extensions/slack/src/resolve-channels.js"; diff --git a/src/slack/resolve-users.test.ts b/src/slack/resolve-users.test.ts deleted file mode 100644 index 1c79f94b260..00000000000 --- a/src/slack/resolve-users.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/resolve-users.test -export * from "../../extensions/slack/src/resolve-users.test.js"; diff --git a/src/slack/resolve-users.ts b/src/slack/resolve-users.ts deleted file mode 100644 index f0329f610b7..00000000000 --- a/src/slack/resolve-users.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/resolve-users -export * from "../../extensions/slack/src/resolve-users.js"; diff --git a/src/slack/scopes.ts b/src/slack/scopes.ts deleted file mode 100644 index 87787f7c9e6..00000000000 --- a/src/slack/scopes.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/scopes -export * from "../../extensions/slack/src/scopes.js"; diff --git a/src/slack/send.blocks.test.ts b/src/slack/send.blocks.test.ts deleted file mode 100644 index 61218e9ad40..00000000000 --- a/src/slack/send.blocks.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/send.blocks.test -export * from "../../extensions/slack/src/send.blocks.test.js"; diff --git a/src/slack/send.ts b/src/slack/send.ts deleted file mode 100644 index 89430fe1a14..00000000000 --- a/src/slack/send.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/send -export * from "../../extensions/slack/src/send.js"; diff --git a/src/slack/send.upload.test.ts b/src/slack/send.upload.test.ts deleted file mode 100644 index 427db090c12..00000000000 --- a/src/slack/send.upload.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/send.upload.test -export * from "../../extensions/slack/src/send.upload.test.js"; diff --git a/src/slack/sent-thread-cache.test.ts b/src/slack/sent-thread-cache.test.ts deleted file mode 100644 index 45abe417c5e..00000000000 --- a/src/slack/sent-thread-cache.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/sent-thread-cache.test -export * from "../../extensions/slack/src/sent-thread-cache.test.js"; diff --git a/src/slack/sent-thread-cache.ts b/src/slack/sent-thread-cache.ts deleted file mode 100644 index 92b3c855e36..00000000000 --- a/src/slack/sent-thread-cache.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/sent-thread-cache -export * from "../../extensions/slack/src/sent-thread-cache.js"; diff --git a/src/slack/stream-mode.test.ts b/src/slack/stream-mode.test.ts deleted file mode 100644 index 0ff67fbc11c..00000000000 --- a/src/slack/stream-mode.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/stream-mode.test -export * from "../../extensions/slack/src/stream-mode.test.js"; diff --git a/src/slack/stream-mode.ts b/src/slack/stream-mode.ts deleted file mode 100644 index 3045414010a..00000000000 --- a/src/slack/stream-mode.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/stream-mode -export * from "../../extensions/slack/src/stream-mode.js"; diff --git a/src/slack/streaming.ts b/src/slack/streaming.ts deleted file mode 100644 index 4464f9a77ee..00000000000 --- a/src/slack/streaming.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/streaming -export * from "../../extensions/slack/src/streaming.js"; diff --git a/src/slack/targets.test.ts b/src/slack/targets.test.ts deleted file mode 100644 index 574be61f1a4..00000000000 --- a/src/slack/targets.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/targets.test -export * from "../../extensions/slack/src/targets.test.js"; diff --git a/src/slack/targets.ts b/src/slack/targets.ts deleted file mode 100644 index f7a6a1466d9..00000000000 --- a/src/slack/targets.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/targets -export * from "../../extensions/slack/src/targets.js"; diff --git a/src/slack/threading-tool-context.test.ts b/src/slack/threading-tool-context.test.ts deleted file mode 100644 index e18afdf2974..00000000000 --- a/src/slack/threading-tool-context.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/threading-tool-context.test -export * from "../../extensions/slack/src/threading-tool-context.test.js"; diff --git a/src/slack/threading-tool-context.ts b/src/slack/threading-tool-context.ts deleted file mode 100644 index 20fb8997e5e..00000000000 --- a/src/slack/threading-tool-context.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/threading-tool-context -export * from "../../extensions/slack/src/threading-tool-context.js"; diff --git a/src/slack/threading.test.ts b/src/slack/threading.test.ts deleted file mode 100644 index bce4c1f7eea..00000000000 --- a/src/slack/threading.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/threading.test -export * from "../../extensions/slack/src/threading.test.js"; diff --git a/src/slack/threading.ts b/src/slack/threading.ts deleted file mode 100644 index 5aea2f80e6c..00000000000 --- a/src/slack/threading.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/threading -export * from "../../extensions/slack/src/threading.js"; diff --git a/src/slack/token.ts b/src/slack/token.ts deleted file mode 100644 index 05b1c0d52d4..00000000000 --- a/src/slack/token.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/token -export * from "../../extensions/slack/src/token.js"; diff --git a/src/slack/truncate.ts b/src/slack/truncate.ts deleted file mode 100644 index 424d4eca91b..00000000000 --- a/src/slack/truncate.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/truncate -export * from "../../extensions/slack/src/truncate.js"; diff --git a/src/slack/types.ts b/src/slack/types.ts deleted file mode 100644 index 4b1507486d1..00000000000 --- a/src/slack/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/slack/src/types -export * from "../../extensions/slack/src/types.js"; diff --git a/src/telegram/account-inspect.test.ts b/src/telegram/account-inspect.test.ts deleted file mode 100644 index 8626ae658aa..00000000000 --- a/src/telegram/account-inspect.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/account-inspect.test.ts -export * from "../../extensions/telegram/src/account-inspect.test.js"; diff --git a/src/telegram/account-inspect.ts b/src/telegram/account-inspect.ts deleted file mode 100644 index d053b6cbbfd..00000000000 --- a/src/telegram/account-inspect.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/account-inspect.js"; diff --git a/src/telegram/accounts.ts b/src/telegram/accounts.ts deleted file mode 100644 index a59af18fc0c..00000000000 --- a/src/telegram/accounts.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/accounts.js"; diff --git a/src/telegram/allowed-updates.ts b/src/telegram/allowed-updates.ts deleted file mode 100644 index a90031f5f93..00000000000 --- a/src/telegram/allowed-updates.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/allowed-updates.js"; diff --git a/src/telegram/api-logging.ts b/src/telegram/api-logging.ts deleted file mode 100644 index 4128b42f6b7..00000000000 --- a/src/telegram/api-logging.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/api-logging.js"; diff --git a/src/telegram/approval-buttons.test.ts b/src/telegram/approval-buttons.test.ts deleted file mode 100644 index afb0090cf68..00000000000 --- a/src/telegram/approval-buttons.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/approval-buttons.test.ts -export * from "../../extensions/telegram/src/approval-buttons.test.js"; diff --git a/src/telegram/approval-buttons.ts b/src/telegram/approval-buttons.ts deleted file mode 100644 index 18ee3e9aa60..00000000000 --- a/src/telegram/approval-buttons.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/approval-buttons.ts -export * from "../../extensions/telegram/src/approval-buttons.js"; diff --git a/src/telegram/audit-membership-runtime.ts b/src/telegram/audit-membership-runtime.ts deleted file mode 100644 index ed1e24c3a5f..00000000000 --- a/src/telegram/audit-membership-runtime.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/audit-membership-runtime.js"; diff --git a/src/telegram/audit.ts b/src/telegram/audit.ts deleted file mode 100644 index 2e220a99901..00000000000 --- a/src/telegram/audit.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/audit.js"; diff --git a/src/telegram/bot-access.test.ts b/src/telegram/bot-access.test.ts deleted file mode 100644 index 4ca9cfa28e3..00000000000 --- a/src/telegram/bot-access.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/bot-access.test.ts -export * from "../../extensions/telegram/src/bot-access.test.js"; diff --git a/src/telegram/bot-access.ts b/src/telegram/bot-access.ts deleted file mode 100644 index e981356d3ac..00000000000 --- a/src/telegram/bot-access.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot-access.js"; diff --git a/src/telegram/bot-handlers.ts b/src/telegram/bot-handlers.ts deleted file mode 100644 index d892e74e8da..00000000000 --- a/src/telegram/bot-handlers.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot-handlers.js"; diff --git a/src/telegram/bot-message-context.body.ts b/src/telegram/bot-message-context.body.ts deleted file mode 100644 index 4decb508b06..00000000000 --- a/src/telegram/bot-message-context.body.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/bot-message-context.body.ts -export * from "../../extensions/telegram/src/bot-message-context.body.js"; diff --git a/src/telegram/bot-message-context.named-account-dm.test.ts b/src/telegram/bot-message-context.named-account-dm.test.ts deleted file mode 100644 index 53b800acee4..00000000000 --- a/src/telegram/bot-message-context.named-account-dm.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/bot-message-context.named-account-dm.test.ts -export * from "../../extensions/telegram/src/bot-message-context.named-account-dm.test.js"; diff --git a/src/telegram/bot-message-context.session.ts b/src/telegram/bot-message-context.session.ts deleted file mode 100644 index e7cface9601..00000000000 --- a/src/telegram/bot-message-context.session.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/bot-message-context.session.ts -export * from "../../extensions/telegram/src/bot-message-context.session.js"; diff --git a/src/telegram/bot-message-context.ts b/src/telegram/bot-message-context.ts deleted file mode 100644 index 11c5d241e3e..00000000000 --- a/src/telegram/bot-message-context.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot-message-context.js"; diff --git a/src/telegram/bot-message-context.types.ts b/src/telegram/bot-message-context.types.ts deleted file mode 100644 index 2c564eab0b8..00000000000 --- a/src/telegram/bot-message-context.types.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/bot-message-context.types.ts -export * from "../../extensions/telegram/src/bot-message-context.types.js"; diff --git a/src/telegram/bot-message-dispatch.ts b/src/telegram/bot-message-dispatch.ts deleted file mode 100644 index 9dd477fd553..00000000000 --- a/src/telegram/bot-message-dispatch.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot-message-dispatch.js"; diff --git a/src/telegram/bot-message.ts b/src/telegram/bot-message.ts deleted file mode 100644 index 5a0febc61ef..00000000000 --- a/src/telegram/bot-message.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot-message.js"; diff --git a/src/telegram/bot-native-command-menu.ts b/src/telegram/bot-native-command-menu.ts deleted file mode 100644 index 6cd7ee0fb49..00000000000 --- a/src/telegram/bot-native-command-menu.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot-native-command-menu.js"; diff --git a/src/telegram/bot-native-commands.group-auth.test.ts b/src/telegram/bot-native-commands.group-auth.test.ts deleted file mode 100644 index aed3ce626a8..00000000000 --- a/src/telegram/bot-native-commands.group-auth.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/bot-native-commands.group-auth.test.ts -export * from "../../extensions/telegram/src/bot-native-commands.group-auth.test.js"; diff --git a/src/telegram/bot-native-commands.ts b/src/telegram/bot-native-commands.ts deleted file mode 100644 index c64e344c9bc..00000000000 --- a/src/telegram/bot-native-commands.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot-native-commands.js"; diff --git a/src/telegram/bot-updates.ts b/src/telegram/bot-updates.ts deleted file mode 100644 index 66c016b1966..00000000000 --- a/src/telegram/bot-updates.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot-updates.js"; diff --git a/src/telegram/bot.fetch-abort.test.ts b/src/telegram/bot.fetch-abort.test.ts deleted file mode 100644 index bcde78905ae..00000000000 --- a/src/telegram/bot.fetch-abort.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/bot.fetch-abort.test.ts -export * from "../../extensions/telegram/src/bot.fetch-abort.test.js"; diff --git a/src/telegram/bot.ts b/src/telegram/bot.ts deleted file mode 100644 index e02b3474276..00000000000 --- a/src/telegram/bot.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/bot.js"; diff --git a/src/telegram/bot/delivery.replies.ts b/src/telegram/bot/delivery.replies.ts deleted file mode 100644 index 7a5ea709970..00000000000 --- a/src/telegram/bot/delivery.replies.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/telegram/src/bot/delivery.replies.js"; diff --git a/src/telegram/bot/delivery.resolve-media.ts b/src/telegram/bot/delivery.resolve-media.ts deleted file mode 100644 index 36a6a3f527e..00000000000 --- a/src/telegram/bot/delivery.resolve-media.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/telegram/src/bot/delivery.resolve-media.js"; diff --git a/src/telegram/bot/delivery.send.ts b/src/telegram/bot/delivery.send.ts deleted file mode 100644 index f971e20188b..00000000000 --- a/src/telegram/bot/delivery.send.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/telegram/src/bot/delivery.send.js"; diff --git a/src/telegram/bot/delivery.ts b/src/telegram/bot/delivery.ts deleted file mode 100644 index a10d48cdee7..00000000000 --- a/src/telegram/bot/delivery.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/telegram/src/bot/delivery.js"; diff --git a/src/telegram/bot/helpers.ts b/src/telegram/bot/helpers.ts deleted file mode 100644 index e486e328c05..00000000000 --- a/src/telegram/bot/helpers.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/telegram/src/bot/helpers.js"; diff --git a/src/telegram/bot/reply-threading.ts b/src/telegram/bot/reply-threading.ts deleted file mode 100644 index 564930ee105..00000000000 --- a/src/telegram/bot/reply-threading.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/telegram/src/bot/reply-threading.js"; diff --git a/src/telegram/bot/types.ts b/src/telegram/bot/types.ts deleted file mode 100644 index 4d3896dc4f2..00000000000 --- a/src/telegram/bot/types.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../../extensions/telegram/src/bot/types.js"; diff --git a/src/telegram/button-types.ts b/src/telegram/button-types.ts deleted file mode 100644 index bd29fcaddd3..00000000000 --- a/src/telegram/button-types.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/button-types.js"; diff --git a/src/telegram/caption.ts b/src/telegram/caption.ts deleted file mode 100644 index 9d2de0ffa04..00000000000 --- a/src/telegram/caption.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/caption.js"; diff --git a/src/telegram/conversation-route.ts b/src/telegram/conversation-route.ts deleted file mode 100644 index 1978063f31e..00000000000 --- a/src/telegram/conversation-route.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/conversation-route.js"; diff --git a/src/telegram/dm-access.ts b/src/telegram/dm-access.ts deleted file mode 100644 index c78ff22981a..00000000000 --- a/src/telegram/dm-access.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/dm-access.js"; diff --git a/src/telegram/draft-chunking.ts b/src/telegram/draft-chunking.ts deleted file mode 100644 index 1a74e887489..00000000000 --- a/src/telegram/draft-chunking.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/draft-chunking.js"; diff --git a/src/telegram/draft-stream.ts b/src/telegram/draft-stream.ts deleted file mode 100644 index 5890aa71845..00000000000 --- a/src/telegram/draft-stream.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/draft-stream.js"; diff --git a/src/telegram/exec-approvals-handler.test.ts b/src/telegram/exec-approvals-handler.test.ts deleted file mode 100644 index 3d792dc9922..00000000000 --- a/src/telegram/exec-approvals-handler.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/exec-approvals-handler.test.ts -export * from "../../extensions/telegram/src/exec-approvals-handler.test.js"; diff --git a/src/telegram/exec-approvals-handler.ts b/src/telegram/exec-approvals-handler.ts deleted file mode 100644 index b6c729fd9c6..00000000000 --- a/src/telegram/exec-approvals-handler.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/exec-approvals-handler.ts -export * from "../../extensions/telegram/src/exec-approvals-handler.js"; diff --git a/src/telegram/exec-approvals.test.ts b/src/telegram/exec-approvals.test.ts deleted file mode 100644 index beec630fdb8..00000000000 --- a/src/telegram/exec-approvals.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/exec-approvals.test.ts -export * from "../../extensions/telegram/src/exec-approvals.test.js"; diff --git a/src/telegram/exec-approvals.ts b/src/telegram/exec-approvals.ts deleted file mode 100644 index 5942621230e..00000000000 --- a/src/telegram/exec-approvals.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/exec-approvals.ts -export * from "../../extensions/telegram/src/exec-approvals.js"; diff --git a/src/telegram/fetch.env-proxy-runtime.test.ts b/src/telegram/fetch.env-proxy-runtime.test.ts deleted file mode 100644 index 64fc1ecf9bf..00000000000 --- a/src/telegram/fetch.env-proxy-runtime.test.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/fetch.env-proxy-runtime.test.ts -export * from "../../extensions/telegram/src/fetch.env-proxy-runtime.test.js"; diff --git a/src/telegram/fetch.ts b/src/telegram/fetch.ts deleted file mode 100644 index b240ceaf49e..00000000000 --- a/src/telegram/fetch.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/fetch.js"; diff --git a/src/telegram/format.ts b/src/telegram/format.ts deleted file mode 100644 index 5e43b5d44ff..00000000000 --- a/src/telegram/format.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/format.js"; diff --git a/src/telegram/forum-service-message.ts b/src/telegram/forum-service-message.ts deleted file mode 100644 index 34c69a2b04a..00000000000 --- a/src/telegram/forum-service-message.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/forum-service-message.js"; diff --git a/src/telegram/group-access.ts b/src/telegram/group-access.ts deleted file mode 100644 index 374b1c642f9..00000000000 --- a/src/telegram/group-access.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/group-access.js"; diff --git a/src/telegram/group-config-helpers.ts b/src/telegram/group-config-helpers.ts deleted file mode 100644 index 59fae695298..00000000000 --- a/src/telegram/group-config-helpers.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/group-config-helpers.js"; diff --git a/src/telegram/group-migration.ts b/src/telegram/group-migration.ts deleted file mode 100644 index 983695cc47c..00000000000 --- a/src/telegram/group-migration.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/group-migration.js"; diff --git a/src/telegram/inline-buttons.ts b/src/telegram/inline-buttons.ts deleted file mode 100644 index 9e90ef6b4b7..00000000000 --- a/src/telegram/inline-buttons.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/inline-buttons.js"; diff --git a/src/telegram/lane-delivery-state.ts b/src/telegram/lane-delivery-state.ts deleted file mode 100644 index 142d80dd30f..00000000000 --- a/src/telegram/lane-delivery-state.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/lane-delivery-state.ts -export * from "../../extensions/telegram/src/lane-delivery-state.js"; diff --git a/src/telegram/lane-delivery-text-deliverer.ts b/src/telegram/lane-delivery-text-deliverer.ts deleted file mode 100644 index f2001e03a40..00000000000 --- a/src/telegram/lane-delivery-text-deliverer.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/lane-delivery-text-deliverer.ts -export * from "../../extensions/telegram/src/lane-delivery-text-deliverer.js"; diff --git a/src/telegram/lane-delivery.ts b/src/telegram/lane-delivery.ts deleted file mode 100644 index 3d31f6da34b..00000000000 --- a/src/telegram/lane-delivery.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/lane-delivery.js"; diff --git a/src/telegram/model-buttons.ts b/src/telegram/model-buttons.ts deleted file mode 100644 index 2f8efce0137..00000000000 --- a/src/telegram/model-buttons.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/model-buttons.js"; diff --git a/src/telegram/monitor.ts b/src/telegram/monitor.ts deleted file mode 100644 index 6f3dc0e16eb..00000000000 --- a/src/telegram/monitor.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/monitor.js"; diff --git a/src/telegram/network-config.ts b/src/telegram/network-config.ts deleted file mode 100644 index 1cedc25b590..00000000000 --- a/src/telegram/network-config.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/network-config.js"; diff --git a/src/telegram/network-errors.ts b/src/telegram/network-errors.ts deleted file mode 100644 index b5737f4eaaf..00000000000 --- a/src/telegram/network-errors.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/network-errors.js"; diff --git a/src/telegram/outbound-params.ts b/src/telegram/outbound-params.ts deleted file mode 100644 index 9f9abb46566..00000000000 --- a/src/telegram/outbound-params.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/outbound-params.js"; diff --git a/src/telegram/polling-session.ts b/src/telegram/polling-session.ts deleted file mode 100644 index 62e20e8a8d1..00000000000 --- a/src/telegram/polling-session.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/telegram/src/polling-session.ts -export * from "../../extensions/telegram/src/polling-session.js"; diff --git a/src/telegram/probe.ts b/src/telegram/probe.ts deleted file mode 100644 index 1eb6ecf8d49..00000000000 --- a/src/telegram/probe.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/probe.js"; diff --git a/src/telegram/proxy.ts b/src/telegram/proxy.ts deleted file mode 100644 index 6f7277e9f07..00000000000 --- a/src/telegram/proxy.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/proxy.js"; diff --git a/src/telegram/reaction-level.ts b/src/telegram/reaction-level.ts deleted file mode 100644 index d7cb66f36a0..00000000000 --- a/src/telegram/reaction-level.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/reaction-level.js"; diff --git a/src/telegram/reasoning-lane-coordinator.ts b/src/telegram/reasoning-lane-coordinator.ts deleted file mode 100644 index cd48bd5df9d..00000000000 --- a/src/telegram/reasoning-lane-coordinator.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/reasoning-lane-coordinator.js"; diff --git a/src/telegram/send.ts b/src/telegram/send.ts deleted file mode 100644 index 9d7fea57604..00000000000 --- a/src/telegram/send.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/send.js"; diff --git a/src/telegram/sendchataction-401-backoff.ts b/src/telegram/sendchataction-401-backoff.ts deleted file mode 100644 index b77c6ede483..00000000000 --- a/src/telegram/sendchataction-401-backoff.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/sendchataction-401-backoff.js"; diff --git a/src/telegram/sent-message-cache.ts b/src/telegram/sent-message-cache.ts deleted file mode 100644 index b6a08bf310e..00000000000 --- a/src/telegram/sent-message-cache.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/sent-message-cache.js"; diff --git a/src/telegram/sequential-key.ts b/src/telegram/sequential-key.ts deleted file mode 100644 index cc1f0f657e5..00000000000 --- a/src/telegram/sequential-key.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/sequential-key.js"; diff --git a/src/telegram/status-reaction-variants.ts b/src/telegram/status-reaction-variants.ts deleted file mode 100644 index 12c7136b00b..00000000000 --- a/src/telegram/status-reaction-variants.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/status-reaction-variants.js"; diff --git a/src/telegram/sticker-cache.ts b/src/telegram/sticker-cache.ts deleted file mode 100644 index 20656a44951..00000000000 --- a/src/telegram/sticker-cache.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/sticker-cache.js"; diff --git a/src/telegram/target-writeback.ts b/src/telegram/target-writeback.ts deleted file mode 100644 index 171c62b12d2..00000000000 --- a/src/telegram/target-writeback.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/target-writeback.js"; diff --git a/src/telegram/targets.ts b/src/telegram/targets.ts deleted file mode 100644 index d0d263bbb44..00000000000 --- a/src/telegram/targets.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/targets.js"; diff --git a/src/telegram/thread-bindings.ts b/src/telegram/thread-bindings.ts deleted file mode 100644 index 84fbcffebf3..00000000000 --- a/src/telegram/thread-bindings.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/thread-bindings.js"; diff --git a/src/telegram/token.ts b/src/telegram/token.ts deleted file mode 100644 index 661545aaf43..00000000000 --- a/src/telegram/token.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/token.js"; diff --git a/src/telegram/update-offset-store.ts b/src/telegram/update-offset-store.ts deleted file mode 100644 index 46eb5826e8d..00000000000 --- a/src/telegram/update-offset-store.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/update-offset-store.js"; diff --git a/src/telegram/voice.ts b/src/telegram/voice.ts deleted file mode 100644 index 1ffee3f0c6e..00000000000 --- a/src/telegram/voice.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/voice.js"; diff --git a/src/telegram/webhook.ts b/src/telegram/webhook.ts deleted file mode 100644 index 87977ba57eb..00000000000 --- a/src/telegram/webhook.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "../../extensions/telegram/src/webhook.js"; diff --git a/src/test-utils/imessage-test-plugin.ts b/src/test-utils/imessage-test-plugin.ts index 5a072141644..962a1f7c33e 100644 --- a/src/test-utils/imessage-test-plugin.ts +++ b/src/test-utils/imessage-test-plugin.ts @@ -1,6 +1,6 @@ +import { normalizeIMessageHandle } from "../../extensions/imessage/src/targets.js"; import { imessageOutbound } from "../channels/plugins/outbound/imessage.js"; import type { ChannelOutboundAdapter, ChannelPlugin } from "../channels/plugins/types.js"; -import { normalizeIMessageHandle } from "../imessage/targets.js"; import { collectStatusIssuesFromLastError } from "../plugin-sdk/status-helpers.js"; export const createIMessageTestPlugin = (params?: { diff --git a/src/web/accounts.ts b/src/web/accounts.ts deleted file mode 100644 index 395e3a299f9..00000000000 --- a/src/web/accounts.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/accounts.ts -export * from "../../extensions/whatsapp/src/accounts.js"; diff --git a/src/web/active-listener.ts b/src/web/active-listener.ts deleted file mode 100644 index 8ce698902b3..00000000000 --- a/src/web/active-listener.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/active-listener.ts -export * from "../../extensions/whatsapp/src/active-listener.js"; diff --git a/src/web/auth-store.ts b/src/web/auth-store.ts deleted file mode 100644 index 0a7360b37b7..00000000000 --- a/src/web/auth-store.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auth-store.ts -export * from "../../extensions/whatsapp/src/auth-store.js"; diff --git a/src/web/auto-reply.impl.ts b/src/web/auto-reply.impl.ts deleted file mode 100644 index 858d63610a9..00000000000 --- a/src/web/auto-reply.impl.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply.impl.ts -export * from "../../extensions/whatsapp/src/auto-reply.impl.js"; diff --git a/src/web/auto-reply.ts b/src/web/auto-reply.ts deleted file mode 100644 index c44763bad33..00000000000 --- a/src/web/auto-reply.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply.ts -export * from "../../extensions/whatsapp/src/auto-reply.js"; diff --git a/src/web/auto-reply/constants.ts b/src/web/auto-reply/constants.ts deleted file mode 100644 index db40b037798..00000000000 --- a/src/web/auto-reply/constants.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/constants.ts -export * from "../../../extensions/whatsapp/src/auto-reply/constants.js"; diff --git a/src/web/auto-reply/deliver-reply.ts b/src/web/auto-reply/deliver-reply.ts deleted file mode 100644 index 26f7c28aa99..00000000000 --- a/src/web/auto-reply/deliver-reply.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/deliver-reply.ts -export * from "../../../extensions/whatsapp/src/auto-reply/deliver-reply.js"; diff --git a/src/web/auto-reply/heartbeat-runner.ts b/src/web/auto-reply/heartbeat-runner.ts deleted file mode 100644 index 02f75b5c340..00000000000 --- a/src/web/auto-reply/heartbeat-runner.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/heartbeat-runner.ts -export * from "../../../extensions/whatsapp/src/auto-reply/heartbeat-runner.js"; diff --git a/src/web/auto-reply/loggers.ts b/src/web/auto-reply/loggers.ts deleted file mode 100644 index 4717650ef74..00000000000 --- a/src/web/auto-reply/loggers.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/loggers.ts -export * from "../../../extensions/whatsapp/src/auto-reply/loggers.js"; diff --git a/src/web/auto-reply/mentions.ts b/src/web/auto-reply/mentions.ts deleted file mode 100644 index 6cd60657483..00000000000 --- a/src/web/auto-reply/mentions.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/mentions.ts -export * from "../../../extensions/whatsapp/src/auto-reply/mentions.js"; diff --git a/src/web/auto-reply/monitor.ts b/src/web/auto-reply/monitor.ts deleted file mode 100644 index 87e0cb33066..00000000000 --- a/src/web/auto-reply/monitor.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor.ts -export * from "../../../extensions/whatsapp/src/auto-reply/monitor.js"; diff --git a/src/web/auto-reply/monitor/ack-reaction.ts b/src/web/auto-reply/monitor/ack-reaction.ts deleted file mode 100644 index 55fb4c2ff68..00000000000 --- a/src/web/auto-reply/monitor/ack-reaction.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/ack-reaction.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/ack-reaction.js"; diff --git a/src/web/auto-reply/monitor/broadcast.ts b/src/web/auto-reply/monitor/broadcast.ts deleted file mode 100644 index c008a9c0a9b..00000000000 --- a/src/web/auto-reply/monitor/broadcast.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/broadcast.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/broadcast.js"; diff --git a/src/web/auto-reply/monitor/commands.ts b/src/web/auto-reply/monitor/commands.ts deleted file mode 100644 index 3c8969b76c0..00000000000 --- a/src/web/auto-reply/monitor/commands.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/commands.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/commands.js"; diff --git a/src/web/auto-reply/monitor/echo.ts b/src/web/auto-reply/monitor/echo.ts deleted file mode 100644 index d4accf1aa26..00000000000 --- a/src/web/auto-reply/monitor/echo.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/echo.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/echo.js"; diff --git a/src/web/auto-reply/monitor/group-activation.ts b/src/web/auto-reply/monitor/group-activation.ts deleted file mode 100644 index ede4670e17d..00000000000 --- a/src/web/auto-reply/monitor/group-activation.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/group-activation.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/group-activation.js"; diff --git a/src/web/auto-reply/monitor/group-gating.ts b/src/web/auto-reply/monitor/group-gating.ts deleted file mode 100644 index 2f474990321..00000000000 --- a/src/web/auto-reply/monitor/group-gating.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/group-gating.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/group-gating.js"; diff --git a/src/web/auto-reply/monitor/group-members.ts b/src/web/auto-reply/monitor/group-members.ts deleted file mode 100644 index bbed7be7ae2..00000000000 --- a/src/web/auto-reply/monitor/group-members.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/group-members.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/group-members.js"; diff --git a/src/web/auto-reply/monitor/last-route.ts b/src/web/auto-reply/monitor/last-route.ts deleted file mode 100644 index 3683e6d8ae0..00000000000 --- a/src/web/auto-reply/monitor/last-route.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/last-route.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/last-route.js"; diff --git a/src/web/auto-reply/monitor/message-line.ts b/src/web/auto-reply/monitor/message-line.ts deleted file mode 100644 index 7475a8cfcf2..00000000000 --- a/src/web/auto-reply/monitor/message-line.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/message-line.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/message-line.js"; diff --git a/src/web/auto-reply/monitor/on-message.ts b/src/web/auto-reply/monitor/on-message.ts deleted file mode 100644 index 9d242765ca8..00000000000 --- a/src/web/auto-reply/monitor/on-message.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/on-message.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/on-message.js"; diff --git a/src/web/auto-reply/monitor/peer.ts b/src/web/auto-reply/monitor/peer.ts deleted file mode 100644 index 024fdaaff37..00000000000 --- a/src/web/auto-reply/monitor/peer.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/peer.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/peer.js"; diff --git a/src/web/auto-reply/monitor/process-message.ts b/src/web/auto-reply/monitor/process-message.ts deleted file mode 100644 index 5d94727540c..00000000000 --- a/src/web/auto-reply/monitor/process-message.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/monitor/process-message.ts -export * from "../../../../extensions/whatsapp/src/auto-reply/monitor/process-message.js"; diff --git a/src/web/auto-reply/session-snapshot.ts b/src/web/auto-reply/session-snapshot.ts deleted file mode 100644 index 584db7595bf..00000000000 --- a/src/web/auto-reply/session-snapshot.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/session-snapshot.ts -export * from "../../../extensions/whatsapp/src/auto-reply/session-snapshot.js"; diff --git a/src/web/auto-reply/types.ts b/src/web/auto-reply/types.ts deleted file mode 100644 index ec353a5b1de..00000000000 --- a/src/web/auto-reply/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/types.ts -export * from "../../../extensions/whatsapp/src/auto-reply/types.js"; diff --git a/src/web/auto-reply/util.ts b/src/web/auto-reply/util.ts deleted file mode 100644 index b0442b3e750..00000000000 --- a/src/web/auto-reply/util.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/auto-reply/util.ts -export * from "../../../extensions/whatsapp/src/auto-reply/util.js"; diff --git a/src/web/inbound.ts b/src/web/inbound.ts deleted file mode 100644 index de9d5f6f06b..00000000000 --- a/src/web/inbound.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/inbound.ts -export * from "../../extensions/whatsapp/src/inbound.js"; diff --git a/src/web/inbound/access-control.ts b/src/web/inbound/access-control.ts deleted file mode 100644 index 125854f81f0..00000000000 --- a/src/web/inbound/access-control.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/inbound/access-control.ts -export * from "../../../extensions/whatsapp/src/inbound/access-control.js"; diff --git a/src/web/inbound/dedupe.ts b/src/web/inbound/dedupe.ts deleted file mode 100644 index 56920ba7ddf..00000000000 --- a/src/web/inbound/dedupe.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/inbound/dedupe.ts -export * from "../../../extensions/whatsapp/src/inbound/dedupe.js"; diff --git a/src/web/inbound/extract.ts b/src/web/inbound/extract.ts deleted file mode 100644 index eb9bcd73bd0..00000000000 --- a/src/web/inbound/extract.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/inbound/extract.ts -export * from "../../../extensions/whatsapp/src/inbound/extract.js"; diff --git a/src/web/inbound/media.ts b/src/web/inbound/media.ts deleted file mode 100644 index f60857735b4..00000000000 --- a/src/web/inbound/media.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/inbound/media.ts -export * from "../../../extensions/whatsapp/src/inbound/media.js"; diff --git a/src/web/inbound/monitor.ts b/src/web/inbound/monitor.ts deleted file mode 100644 index 284dfd0d996..00000000000 --- a/src/web/inbound/monitor.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/inbound/monitor.ts -export * from "../../../extensions/whatsapp/src/inbound/monitor.js"; diff --git a/src/web/inbound/send-api.ts b/src/web/inbound/send-api.ts deleted file mode 100644 index 828999a75a9..00000000000 --- a/src/web/inbound/send-api.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/inbound/send-api.ts -export * from "../../../extensions/whatsapp/src/inbound/send-api.js"; diff --git a/src/web/inbound/types.ts b/src/web/inbound/types.ts deleted file mode 100644 index a7651c34764..00000000000 --- a/src/web/inbound/types.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/inbound/types.ts -export * from "../../../extensions/whatsapp/src/inbound/types.js"; diff --git a/src/web/login-qr.ts b/src/web/login-qr.ts deleted file mode 100644 index 52a90bc1d55..00000000000 --- a/src/web/login-qr.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/login-qr.ts -export * from "../../extensions/whatsapp/src/login-qr.js"; diff --git a/src/web/login.ts b/src/web/login.ts deleted file mode 100644 index da336c781e5..00000000000 --- a/src/web/login.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/login.ts -export * from "../../extensions/whatsapp/src/login.js"; diff --git a/src/web/media.ts b/src/web/media.ts deleted file mode 100644 index ec5ec51d3fb..00000000000 --- a/src/web/media.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/media.ts -export * from "../../extensions/whatsapp/src/media.js"; diff --git a/src/web/outbound.ts b/src/web/outbound.ts deleted file mode 100644 index 0b4455a4f13..00000000000 --- a/src/web/outbound.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/send.ts -export * from "../../extensions/whatsapp/src/send.js"; diff --git a/src/web/qr-image.ts b/src/web/qr-image.ts deleted file mode 100644 index bdbfaa5a70d..00000000000 --- a/src/web/qr-image.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/qr-image.ts -export * from "../../extensions/whatsapp/src/qr-image.js"; diff --git a/src/web/reconnect.ts b/src/web/reconnect.ts deleted file mode 100644 index 0f8cc520c42..00000000000 --- a/src/web/reconnect.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/reconnect.ts -export * from "../../extensions/whatsapp/src/reconnect.js"; diff --git a/src/web/session.ts b/src/web/session.ts deleted file mode 100644 index a1dcfaf7958..00000000000 --- a/src/web/session.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/session.ts -export * from "../../extensions/whatsapp/src/session.js"; diff --git a/src/web/test-helpers.ts b/src/web/test-helpers.ts deleted file mode 100644 index 5a870abf330..00000000000 --- a/src/web/test-helpers.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/test-helpers.ts -export * from "../../extensions/whatsapp/src/test-helpers.js"; diff --git a/src/web/vcard.ts b/src/web/vcard.ts deleted file mode 100644 index 1e12f830d0c..00000000000 --- a/src/web/vcard.ts +++ /dev/null @@ -1,2 +0,0 @@ -// Shim: re-exports from extensions/whatsapp/src/vcard.ts -export * from "../../extensions/whatsapp/src/vcard.js"; diff --git a/tsdown.config.ts b/tsdown.config.ts index 1806debd474..acd4fc3e0c8 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -109,8 +109,8 @@ export default defineConfig([ "channels/plugins/actions/discord": "src/channels/plugins/actions/discord.ts", "channels/plugins/actions/signal": "src/channels/plugins/actions/signal.ts", "channels/plugins/actions/telegram": "src/channels/plugins/actions/telegram.ts", - "telegram/audit": "src/telegram/audit.ts", - "telegram/token": "src/telegram/token.ts", + "telegram/audit": "extensions/telegram/src/audit.ts", + "telegram/token": "extensions/telegram/src/token.ts", "line/accounts": "src/line/accounts.ts", "line/send": "src/line/send.ts", "line/template-messages": "src/line/template-messages.ts", diff --git a/vitest.channels.config.ts b/vitest.channels.config.ts index 0b32080b1d5..aac2d9feeea 100644 --- a/vitest.channels.config.ts +++ b/vitest.channels.config.ts @@ -9,12 +9,12 @@ export default defineConfig({ test: { ...baseTest, include: [ - "src/telegram/**/*.test.ts", - "src/discord/**/*.test.ts", - "src/web/**/*.test.ts", + "extensions/telegram/**/*.test.ts", + "extensions/discord/**/*.test.ts", + "extensions/whatsapp/**/*.test.ts", "src/browser/**/*.test.ts", "src/line/**/*.test.ts", ], - exclude: [...(baseTest.exclude ?? []), "src/gateway/**", "extensions/**"], + exclude: [...(baseTest.exclude ?? []), "src/gateway/**"], }, }); diff --git a/vitest.config.ts b/vitest.config.ts index 2c14f06a1c6..5e0a192d5a3 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -183,16 +183,8 @@ export default defineConfig({ "src/tui/**", "src/wizard/**", // Channel surfaces are largely integration-tested (or manually validated). - "src/discord/**", - "src/imessage/**", - "src/signal/**", - "src/slack/**", "src/browser/**", "src/channels/web/**", - "src/telegram/index.ts", - "src/telegram/proxy.ts", - "src/telegram/webhook-set.ts", - "src/telegram/**", "src/webchat/**", "src/gateway/server.ts", "src/gateway/client.ts", diff --git a/vitest.unit.config.ts b/vitest.unit.config.ts index 8116da0592b..28d18d0250d 100644 --- a/vitest.unit.config.ts +++ b/vitest.unit.config.ts @@ -17,9 +17,9 @@ export default defineConfig({ ...exclude, "src/gateway/**", "extensions/**", - "src/telegram/**", - "src/discord/**", - "src/web/**", + "extensions/telegram/**", + "extensions/discord/**", + "extensions/whatsapp/**", "src/browser/**", "src/line/**", "src/agents/**",