mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-04 20:10:24 +00:00
refactor: align same-chat approval routing
This commit is contained in:
@@ -52,6 +52,7 @@ import {
|
||||
shouldSuppressTelegramExecApprovalForwardingFallback,
|
||||
} from "./exec-approval-forwarding.js";
|
||||
import {
|
||||
getTelegramExecApprovalApprovers,
|
||||
isTelegramExecApprovalClientEnabled,
|
||||
resolveTelegramExecApprovalTarget,
|
||||
} from "./exec-approvals.js";
|
||||
@@ -457,7 +458,10 @@ export const telegramPlugin = createChatChannelPlugin({
|
||||
},
|
||||
},
|
||||
execApprovals: {
|
||||
getInitiatingSurfaceState: () => ({ kind: "enabled" }),
|
||||
getInitiatingSurfaceState: ({ cfg, accountId }) =>
|
||||
getTelegramExecApprovalApprovers({ cfg, accountId }).length > 0
|
||||
? { kind: "enabled" }
|
||||
: { kind: "disabled" },
|
||||
hasConfiguredDmRoute: ({ cfg }) => hasTelegramExecApprovalDmRoute(cfg),
|
||||
shouldSuppressForwardingFallback: (params) =>
|
||||
shouldSuppressTelegramExecApprovalForwardingFallback(params),
|
||||
|
||||
@@ -221,6 +221,11 @@ describe("telegram exec approvals", () => {
|
||||
expect(isTelegramExecApprovalAuthorizedSender({ cfg, senderId: "123" })).toBe(true);
|
||||
});
|
||||
|
||||
it("accepts explicit approvers even when the richer client is disabled", () => {
|
||||
const cfg = buildConfig({ enabled: false, approvers: ["123"] });
|
||||
expect(isTelegramExecApprovalAuthorizedSender({ cfg, senderId: "123" })).toBe(true);
|
||||
});
|
||||
|
||||
it("accepts active forwarded DM targets", () => {
|
||||
const cfg = {
|
||||
channels: { telegram: { botToken: "tok" } },
|
||||
|
||||
@@ -126,10 +126,7 @@ export function isTelegramExecApprovalAuthorizedSender(params: {
|
||||
accountId?: string | null;
|
||||
senderId?: string | null;
|
||||
}): boolean {
|
||||
return (
|
||||
(isTelegramExecApprovalClientEnabled(params) && isTelegramExecApprovalApprover(params)) ||
|
||||
isTelegramExecApprovalTargetRecipient(params)
|
||||
);
|
||||
return isTelegramExecApprovalApprover(params) || isTelegramExecApprovalTargetRecipient(params);
|
||||
}
|
||||
|
||||
export function resolveTelegramExecApprovalTarget(params: {
|
||||
|
||||
Reference in New Issue
Block a user