fix(plugins): tighten lazy setup typing
This commit is contained in:
parent
fdfefcaa11
commit
a97e1e1611
@ -7,6 +7,7 @@ import {
|
||||
buildChannelConfigSchema,
|
||||
getChatChannelMeta,
|
||||
inspectSlackAccount,
|
||||
isSlackInteractiveRepliesEnabled,
|
||||
listSlackAccountIds,
|
||||
resolveDefaultSlackAccountId,
|
||||
resolveSlackAccount,
|
||||
@ -68,8 +69,7 @@ export const slackSetupPlugin: ChannelPlugin<ResolvedSlackAccount> = {
|
||||
},
|
||||
agentPrompt: {
|
||||
messageToolHints: ({ cfg, accountId }) =>
|
||||
cfg.channels?.slack?.accounts?.[accountId ?? "default"]?.capabilities?.interactiveReplies ===
|
||||
true || cfg.channels?.slack?.capabilities?.interactiveReplies === true
|
||||
isSlackInteractiveRepliesEnabled({ cfg, accountId })
|
||||
? [
|
||||
"- Slack interactive replies: use `[[slack_buttons: Label:value, Other:other]]` to add action buttons that route clicks back as Slack interaction system events.",
|
||||
"- Slack selects: use `[[slack_select: Placeholder | Label:value, Other:other]]` to add a static select menu that routes the chosen value back as a Slack interaction system event.",
|
||||
|
||||
@ -280,7 +280,7 @@ async function maybeConfigureDmPolicies(params: {
|
||||
resolveAdapter?: (channel: ChannelChoice) => ChannelOnboardingAdapter | undefined;
|
||||
}): Promise<OpenClawConfig> {
|
||||
const { selection, prompter, accountIdsByChannel } = params;
|
||||
const resolve = params.resolveAdapter;
|
||||
const resolve = params.resolveAdapter ?? (() => undefined);
|
||||
const dmPolicies = selection
|
||||
.map((channel) => resolve(channel)?.dmPolicy)
|
||||
.filter(Boolean) as ChannelOnboardingDmPolicy[];
|
||||
|
||||
@ -51,17 +51,23 @@ export async function loadBundledChannelOnboardingPlugin(
|
||||
): Promise<ChannelPlugin | undefined> {
|
||||
switch (channel) {
|
||||
case "discord":
|
||||
return (await import("../../../extensions/discord/setup-entry.js")).default.plugin;
|
||||
return (await import("../../../extensions/discord/setup-entry.js")).default
|
||||
.plugin as ChannelPlugin;
|
||||
case "imessage":
|
||||
return (await import("../../../extensions/imessage/setup-entry.js")).default.plugin;
|
||||
return (await import("../../../extensions/imessage/setup-entry.js")).default
|
||||
.plugin as ChannelPlugin;
|
||||
case "signal":
|
||||
return (await import("../../../extensions/signal/setup-entry.js")).default.plugin;
|
||||
return (await import("../../../extensions/signal/setup-entry.js")).default
|
||||
.plugin as ChannelPlugin;
|
||||
case "slack":
|
||||
return (await import("../../../extensions/slack/setup-entry.js")).default.plugin;
|
||||
return (await import("../../../extensions/slack/setup-entry.js")).default
|
||||
.plugin as ChannelPlugin;
|
||||
case "telegram":
|
||||
return (await import("../../../extensions/telegram/setup-entry.js")).default.plugin;
|
||||
return (await import("../../../extensions/telegram/setup-entry.js")).default
|
||||
.plugin as ChannelPlugin;
|
||||
case "whatsapp":
|
||||
return (await import("../../../extensions/whatsapp/setup-entry.js")).default.plugin;
|
||||
return (await import("../../../extensions/whatsapp/setup-entry.js")).default
|
||||
.plugin as ChannelPlugin;
|
||||
default:
|
||||
return undefined;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user