From e57b6be85fba76270291e040c77f88e6c54024ed Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sat, 4 Apr 2026 03:31:38 +0900 Subject: [PATCH] fix(types): align setup helper contracts --- .../src/test-support/component-runtime.ts | 7 +++++++ extensions/matrix/src/exec-approvals.ts | 10 +++++----- src/channels/plugins/setup-wizard-helpers.ts | 16 ++++++++++++++-- 3 files changed, 26 insertions(+), 7 deletions(-) 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, }); }