fix(types): align rebased channel setup flows

This commit is contained in:
Vincent Koc 2026-04-04 03:39:05 +09:00
parent e57b6be85f
commit fa5ea4529a
2 changed files with 18 additions and 12 deletions

View File

@ -37,9 +37,9 @@ type ScopedFeishuConfig = Partial<FeishuConfig> & Partial<FeishuAccountConfig>;
function getScopedFeishuConfig(cfg: OpenClawConfig, accountId: string): ScopedFeishuConfig {
const feishuCfg = cfg.channels?.feishu as FeishuConfig | undefined;
if (accountId === DEFAULT_ACCOUNT_ID) {
return feishuCfg;
return feishuCfg ?? {};
}
return (feishuCfg.accounts?.[accountId] as FeishuAccountConfig | undefined) ?? {};
return (feishuCfg?.accounts?.[accountId] as FeishuAccountConfig | undefined) ?? {};
}
function patchFeishuConfig(

View File

@ -32,13 +32,13 @@ function resolveMatrixExecApprovalConfig(params: {
}) {
const account = resolveMatrixAccount(params);
const config = account.config.execApprovals;
if (!config || !account.enabled || !account.configured || config.enabled !== true) {
return { enabled: false } as const;
if (!config) {
return undefined;
}
return {
...config,
enabled: true as const,
} as const;
enabled: account.enabled && account.configured ? config.enabled : false,
};
}
function countMatrixExecApprovalEligibleAccounts(params: {
@ -54,18 +54,24 @@ function countMatrixExecApprovalEligibleAccounts(params: {
cfg: params.cfg,
accountId,
});
if (!config.enabled) {
return false;
}
const filters = config?.enabled
? {
agentFilter: config.agentFilter,
sessionFilter: config.sessionFilter,
}
: {
agentFilter: undefined,
sessionFilter: undefined,
};
return (
isChannelExecApprovalClientEnabledFromConfig({
enabled: config.enabled,
enabled: config?.enabled,
approverCount: getMatrixExecApprovalApprovers({ cfg: params.cfg, accountId }).length,
}) &&
matchesApprovalRequestFilters({
request: params.request.request,
agentFilter: config.agentFilter,
sessionFilter: config.sessionFilter,
agentFilter: filters.agentFilter,
sessionFilter: filters.sessionFilter,
})
);
}).length;