Files
openclaw/extensions/mattermost/src/channel.setup.ts
2026-04-06 18:30:16 +01:00

35 lines
1.1 KiB
TypeScript

import type { ChannelPlugin } from "./channel-api.js";
import {
describeMattermostAccount,
isMattermostConfigured,
mattermostConfigAdapter,
mattermostMeta,
} from "./channel-config-shared.js";
import { MattermostChannelConfigSchema } from "./config-surface.js";
import { type ResolvedMattermostAccount } from "./mattermost/accounts.js";
import { mattermostSetupAdapter } from "./setup-core.js";
import { mattermostSetupWizard } from "./setup-surface.js";
export const mattermostSetupPlugin: ChannelPlugin<ResolvedMattermostAccount> = {
id: "mattermost",
meta: {
...mattermostMeta,
},
capabilities: {
chatTypes: ["direct", "channel", "group", "thread"],
reactions: true,
threads: true,
media: true,
nativeCommands: true,
},
reload: { configPrefixes: ["channels.mattermost"] },
configSchema: MattermostChannelConfigSchema,
config: {
...mattermostConfigAdapter,
isConfigured: isMattermostConfigured,
describeAccount: describeMattermostAccount,
},
setup: mattermostSetupAdapter,
setupWizard: mattermostSetupWizard,
};