refactor: route extension seams through public apis

This commit is contained in:
Peter Steinberger 2026-03-19 03:19:11 +00:00
parent 8404f56841
commit 58cf9b865f
13 changed files with 51 additions and 39 deletions

View File

@ -3,6 +3,7 @@ export * from "./src/accounts.js";
export * from "./src/actions/handle-action.guild-admin.js";
export * from "./src/actions/handle-action.js";
export * from "./src/components.js";
export * from "./src/directory-config.js";
export * from "./src/group-policy.js";
export * from "./src/normalize.js";
export * from "./src/pluralkit.js";

View File

@ -1 +1,8 @@
export * from "./src/accounts.js";
export * from "./src/identity.js";
export * from "./src/message-actions.js";
export * from "./src/monitor.js";
export * from "./src/probe.js";
export * from "./src/reaction-level.js";
export * from "./src/send-reactions.js";
export * from "./src/send.js";

View File

@ -3,10 +3,13 @@ export * from "./src/accounts.js";
export * from "./src/actions.js";
export * from "./src/blocks-input.js";
export * from "./src/blocks-render.js";
export * from "./src/client.js";
export * from "./src/directory-config.js";
export * from "./src/http/index.js";
export * from "./src/interactive-replies.js";
export * from "./src/message-actions.js";
export * from "./src/group-policy.js";
export * from "./src/monitor/allow-list.js";
export * from "./src/sent-thread-cache.js";
export * from "./src/targets.js";
export * from "./src/threading-tool-context.js";

View File

@ -2,6 +2,8 @@ export * from "./src/account-inspect.js";
export * from "./src/accounts.js";
export * from "./src/allow-from.js";
export * from "./src/api-fetch.js";
export * from "./src/bot/helpers.js";
export * from "./src/directory-config.js";
export * from "./src/exec-approvals.js";
export * from "./src/group-policy.js";
export * from "./src/inline-buttons.js";

View File

@ -1,3 +1,10 @@
export * from "./src/accounts.js";
export * from "./src/auto-reply/constants.js";
export * from "./src/group-policy.js";
export type * from "./src/auto-reply/types.js";
export type * from "./src/inbound/types.js";
export {
listWhatsAppDirectoryGroupsFromConfig,
listWhatsAppDirectoryPeersFromConfig,
} from "./src/directory-config.js";
export { resolveWhatsAppGroupIntroHint } from "openclaw/plugin-sdk/whatsapp-core";

View File

@ -1,22 +1,23 @@
import { parseDiscordTarget } from "../../../extensions/discord/src/targets.js";
import {
parseIMessageTarget,
normalizeIMessageHandle,
} from "../../../extensions/imessage/src/targets.js";
import { parseDiscordTarget } from "../../../extensions/discord/api.js";
import { normalizeIMessageHandle, parseIMessageTarget } from "../../../extensions/imessage/api.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";
} from "../../../extensions/signal/api.js";
import {
createSlackWebClient,
normalizeAllowListLower,
parseSlackTarget,
resolveSlackAccount,
} from "../../../extensions/slack/api.js";
import {
buildTelegramGroupPeerId,
parseTelegramTarget,
parseTelegramThreadId,
resolveTelegramTargetChatType,
} from "../../../extensions/telegram/api.js";
import type { MsgContext } from "../../auto-reply/templating.js";
import type { ChatType } from "../../channels/chat-type.js";
import { getChannelPlugin } from "../../channels/plugins/index.js";

View File

@ -52,7 +52,7 @@ export {
export {
listDiscordDirectoryGroupsFromConfig,
listDiscordDirectoryPeersFromConfig,
} from "../../extensions/discord/src/directory-config.js";
} from "../../extensions/discord/api.js";
export {
resolveDiscordGroupRequireMention,
resolveDiscordGroupToolPolicy,

View File

@ -82,7 +82,7 @@ export { withTempDownloadPath } from "./temp-path.js";
export {
buildFeishuConversationId,
parseFeishuConversationId,
} from "../../extensions/feishu/src/conversation-id.js";
} from "../../extensions/feishu/api.js";
export {
createWebhookAnomalyTracker,
createFixedWindowRateLimiter,

View File

@ -17,5 +17,5 @@ export {
parseChatTargetPrefixesOrThrow,
resolveServicePrefixedAllowTarget,
resolveServicePrefixedTarget,
} from "../../extensions/imessage/src/target-parsing-helpers.js";
export type { ParsedChatTarget } from "../../extensions/imessage/src/target-parsing-helpers.js";
} from "../../extensions/imessage/api.js";
export type { ParsedChatTarget } from "../../extensions/imessage/api.js";

View File

@ -52,12 +52,9 @@ export {
listSignalAccountIds,
resolveDefaultSignalAccountId,
} from "../../extensions/signal/api.js";
export { monitorSignalProvider } from "../../extensions/signal/src/monitor.js";
export { probeSignal } from "../../extensions/signal/src/probe.js";
export { resolveSignalReactionLevel } from "../../extensions/signal/src/reaction-level.js";
export {
removeReactionSignal,
sendReactionSignal,
} from "../../extensions/signal/src/send-reactions.js";
export { sendMessageSignal } from "../../extensions/signal/src/send.js";
export { signalMessageActions } from "../../extensions/signal/src/message-actions.js";
export { monitorSignalProvider } from "../../extensions/signal/api.js";
export { probeSignal } from "../../extensions/signal/api.js";
export { resolveSignalReactionLevel } from "../../extensions/signal/api.js";
export { removeReactionSignal, sendReactionSignal } from "../../extensions/signal/api.js";
export { sendMessageSignal } from "../../extensions/signal/api.js";
export { signalMessageActions } from "../../extensions/signal/api.js";

View File

@ -35,7 +35,7 @@ export {
export {
listSlackDirectoryGroupsFromConfig,
listSlackDirectoryPeersFromConfig,
} from "../../extensions/slack/src/directory-config.js";
} from "../../extensions/slack/api.js";
export {
resolveDefaultGroupPolicy,
resolveOpenProviderRuntimeGroupPolicy,

View File

@ -51,7 +51,7 @@ export {
export {
listTelegramDirectoryGroupsFromConfig,
listTelegramDirectoryPeersFromConfig,
} from "../../extensions/telegram/src/directory-config.js";
} from "../../extensions/telegram/api.js";
export {
resolveTelegramGroupRequireMention,
resolveTelegramGroupToolPolicy,

View File

@ -1,14 +1,8 @@
export type { ChannelMessageActionName } from "../channels/plugins/types.js";
export type { OpenClawConfig } from "../config/config.js";
export type { DmPolicy, GroupPolicy, WhatsAppAccountConfig } from "../config/types.js";
export type {
WebChannelStatus,
WebMonitorTuning,
} from "../../extensions/whatsapp/src/auto-reply/types.js";
export type {
WebInboundMessage,
WebListenerCloseReason,
} from "../../extensions/whatsapp/src/inbound/types.js";
export type { WebChannelStatus, WebMonitorTuning } from "../../extensions/whatsapp/api.js";
export type { WebInboundMessage, WebListenerCloseReason } from "../../extensions/whatsapp/api.js";
export type {
ChannelMessageActionContext,
ChannelPlugin,
@ -39,7 +33,7 @@ export { normalizeWhatsAppAllowFromEntries } from "../channels/plugins/normalize
export {
listWhatsAppDirectoryGroupsFromConfig,
listWhatsAppDirectoryPeersFromConfig,
} from "../../extensions/whatsapp/src/directory-config.js";
} from "../../extensions/whatsapp/api.js";
export {
collectAllowlistProviderGroupPolicyWarnings,
collectOpenGroupPolicyRouteAllowlistWarnings,
@ -102,7 +96,7 @@ export {
startWebLoginWithQr,
waitForWebLogin,
} from "../plugins/runtime/runtime-whatsapp-boundary.js";
export { DEFAULT_WEB_MEDIA_BYTES } from "../../extensions/whatsapp/src/auto-reply/constants.js";
export { DEFAULT_WEB_MEDIA_BYTES } from "../../extensions/whatsapp/api.js";
export {
getDefaultLocalRoots,
loadWebMedia,