From 20937422ca4e074552396b56d18c0ff587073781 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sat, 4 Apr 2026 12:09:54 +0900 Subject: [PATCH] refactor(mattermost): narrow channel runtime imports --- extensions/mattermost/src/channel-api.ts | 8 ++++++++ extensions/mattermost/src/channel.ts | 16 ++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 extensions/mattermost/src/channel-api.ts diff --git a/extensions/mattermost/src/channel-api.ts b/extensions/mattermost/src/channel-api.ts new file mode 100644 index 00000000000..e63716cd829 --- /dev/null +++ b/extensions/mattermost/src/channel-api.ts @@ -0,0 +1,8 @@ +export { createAccountStatusSink } from "openclaw/plugin-sdk/channel-lifecycle"; +export type { ChannelPlugin } from "openclaw/plugin-sdk/core"; +export { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/core"; +export { + resolveAllowlistProviderRuntimeGroupPolicy, + resolveDefaultGroupPolicy, +} from "openclaw/plugin-sdk/config-runtime"; +export { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking"; diff --git a/extensions/mattermost/src/channel.ts b/extensions/mattermost/src/channel.ts index f8682ecc66c..8b79fc9e4e0 100644 --- a/extensions/mattermost/src/channel.ts +++ b/extensions/mattermost/src/channel.ts @@ -21,6 +21,14 @@ import { createDefaultChannelRuntimeState, } from "openclaw/plugin-sdk/status-helpers"; import { mattermostApprovalAuth } from "./approval-auth.js"; +import { + chunkTextForOutbound, + createAccountStatusSink, + DEFAULT_ACCOUNT_ID, + resolveAllowlistProviderRuntimeGroupPolicy, + resolveDefaultGroupPolicy, + type ChannelPlugin, +} from "./channel-api.js"; import { MattermostChannelConfigSchema } from "./config-surface.js"; import { collectMattermostMutableAllowlistWarnings } from "./doctor.js"; import { resolveMattermostGroupRequireMention } from "./group-mentions.js"; @@ -42,14 +50,6 @@ import { sendMessageMattermost } from "./mattermost/send.js"; import { collectMattermostSlashCallbackPaths } from "./mattermost/slash-commands.js"; import { resolveMattermostOpaqueTarget } from "./mattermost/target-resolution.js"; import { looksLikeMattermostTargetId, normalizeMattermostMessagingTarget } from "./normalize.js"; -import { - chunkTextForOutbound, - createAccountStatusSink, - DEFAULT_ACCOUNT_ID, - resolveAllowlistProviderRuntimeGroupPolicy, - resolveDefaultGroupPolicy, - type ChannelPlugin, -} from "./runtime-api.js"; import { getMattermostRuntime } from "./runtime.js"; import { resolveMattermostOutboundSessionRoute } from "./session-route.js"; import { mattermostSetupAdapter } from "./setup-core.js";