diff --git a/extensions/discord/src/test-support/component-runtime.ts b/extensions/discord/src/test-support/component-runtime.ts index 7f80ead8b30..697d4a34581 100644 --- a/extensions/discord/src/test-support/component-runtime.ts +++ b/extensions/discord/src/test-support/component-runtime.ts @@ -118,6 +118,13 @@ vi.mock("../monitor/agent-components.runtime.js", () => { }; }); +vi.mock("../interactive-dispatch.js", () => { + return { + dispatchDiscordPluginInteractiveHandler: (...args: unknown[]) => + dispatchPluginInteractiveHandlerMock(...args), + }; +}); + vi.mock("../monitor/agent-components.deps.runtime.js", () => { return { enqueueSystemEvent: (...args: unknown[]) => enqueueSystemEventMock(...args), diff --git a/extensions/matrix/src/exec-approvals.ts b/extensions/matrix/src/exec-approvals.ts index 05b1388d536..6da4705d424 100644 --- a/extensions/matrix/src/exec-approvals.ts +++ b/extensions/matrix/src/exec-approvals.ts @@ -32,13 +32,13 @@ function resolveMatrixExecApprovalConfig(params: { }) { const account = resolveMatrixAccount(params); const config = account.config.execApprovals; - if (!config) { - return undefined; + if (!config || !account.enabled || !account.configured || config.enabled !== true) { + return { enabled: false } as const; } return { ...config, - enabled: account.enabled && account.configured ? config.enabled : false, - }; + enabled: true as const, + } as const; } function countMatrixExecApprovalEligibleAccounts(params: { @@ -54,7 +54,7 @@ function countMatrixExecApprovalEligibleAccounts(params: { cfg: params.cfg, accountId, }); - if (!config?.enabled) { + if (!config.enabled) { return false; } return ( diff --git a/src/channels/plugins/setup-wizard-helpers.ts b/src/channels/plugins/setup-wizard-helpers.ts index b6e0a1c4439..707ed302da4 100644 --- a/src/channels/plugins/setup-wizard-helpers.ts +++ b/src/channels/plugins/setup-wizard-helpers.ts @@ -1372,8 +1372,8 @@ export function createNestedChannelParsedAllowFromPrompt(params: { section: params.section, ...(params.enabled ? { enabled: true } : {}), }); - return createPromptParsedAllowFromForAccount({ - defaultAccountId: params.defaultAccountId, + const defaultAccountId = params.defaultAccountId; + const sharedParams = { ...(params.noteTitle ? { noteTitle: params.noteTitle } : {}), ...(params.noteLines ? { noteLines: params.noteLines } : {}), message: params.message, @@ -1390,6 +1390,18 @@ export function createNestedChannelParsedAllowFromPrompt(params: { ...(params.mergeEntries ? { mergeEntries: params.mergeEntries } : {}), applyAllowFrom: ({ cfg, allowFrom }: { cfg: OpenClawConfig; allowFrom: string[] }) => setAllowFrom(cfg, allowFrom), + }; + + if (typeof defaultAccountId === "function") { + return createPromptParsedAllowFromForAccount({ + defaultAccountId, + ...sharedParams, + }); + } + + return createPromptParsedAllowFromForAccount({ + defaultAccountId, + ...sharedParams, }); }