perf: slim zalo group access facade

This commit is contained in:
Peter Steinberger
2026-04-18 00:40:58 +01:00
parent 4143da0ffa
commit 576ce7c656
4 changed files with 32 additions and 22 deletions

View File

@@ -1,2 +1,2 @@
052943a9f1eb82a49452b6715f4c08faeb650d16a36c150a3c726ff392ecad0d plugin-sdk-api-baseline.json
a5077395f009f5064331dc1c38bb2d6d2864299d3c1fbd9e40956c1700fa253c plugin-sdk-api-baseline.jsonl
e5c3d6eb56304164434a8b29670a6f02490f359eb7a5f3f4034e61a1b8421c54 plugin-sdk-api-baseline.json
14d07997a35902bbd3c94d528aafa53185bc66a0ddd9b518f87c85a352feb476 plugin-sdk-api-baseline.jsonl

View File

@@ -1,10 +1,8 @@
import { isNormalizedSenderAllowed } from "openclaw/plugin-sdk/allow-from";
import {
evaluateSenderGroupAccess,
resolveOpenProviderRuntimeGroupPolicy,
type GroupPolicy,
} from "openclaw/plugin-sdk/config-runtime";
import {
evaluateSenderGroupAccess,
type SenderGroupAccessDecision,
} from "openclaw/plugin-sdk/group-access";

View File

@@ -1,6 +1,9 @@
import { resolveOpenProviderRuntimeGroupPolicy } from "../config/runtime-group-policy.js";
import type { GroupPolicy } from "../config/types.base.js";
export { resolveOpenProviderRuntimeGroupPolicy };
export type { GroupPolicy };
export type SenderGroupAccessReason =
| "allowed"
| "disabled"

View File

@@ -1,29 +1,38 @@
// Manual facade. Keep loader boundary explicit.
type FacadeModule = typeof import("@openclaw/zalo/setup-api.js");
// Manual facade. Keep loader boundaries explicit and narrow.
type SetupFacadeModule = typeof import("@openclaw/zalo/setup-api.js");
type GroupAccessFacadeModule = typeof import("@openclaw/zalo/contract-api.js");
import {
createLazyFacadeObjectValue,
loadBundledPluginPublicSurfaceModuleSync,
} from "./facade-loader.js";
function loadFacadeModule(): FacadeModule {
return loadBundledPluginPublicSurfaceModuleSync<FacadeModule>({
function loadSetupFacadeModule(): SetupFacadeModule {
return loadBundledPluginPublicSurfaceModuleSync<SetupFacadeModule>({
dirName: "zalo",
artifactBasename: "setup-api.js",
});
}
export const evaluateZaloGroupAccess: FacadeModule["evaluateZaloGroupAccess"] = ((...args) =>
loadFacadeModule()["evaluateZaloGroupAccess"](
...args,
)) as FacadeModule["evaluateZaloGroupAccess"];
export const resolveZaloRuntimeGroupPolicy: FacadeModule["resolveZaloRuntimeGroupPolicy"] = ((
function loadGroupAccessFacadeModule(): GroupAccessFacadeModule {
return loadBundledPluginPublicSurfaceModuleSync<GroupAccessFacadeModule>({
dirName: "zalo",
artifactBasename: "contract-api.js",
});
}
export const evaluateZaloGroupAccess: GroupAccessFacadeModule["evaluateZaloGroupAccess"] = ((
...args
) =>
loadFacadeModule()["resolveZaloRuntimeGroupPolicy"](
loadGroupAccessFacadeModule()["evaluateZaloGroupAccess"](
...args,
)) as FacadeModule["resolveZaloRuntimeGroupPolicy"];
export const zaloSetupAdapter: FacadeModule["zaloSetupAdapter"] = createLazyFacadeObjectValue(
() => loadFacadeModule()["zaloSetupAdapter"] as object,
) as FacadeModule["zaloSetupAdapter"];
export const zaloSetupWizard: FacadeModule["zaloSetupWizard"] = createLazyFacadeObjectValue(
() => loadFacadeModule()["zaloSetupWizard"] as object,
) as FacadeModule["zaloSetupWizard"];
)) as GroupAccessFacadeModule["evaluateZaloGroupAccess"];
export const resolveZaloRuntimeGroupPolicy: GroupAccessFacadeModule["resolveZaloRuntimeGroupPolicy"] =
((...args) =>
loadGroupAccessFacadeModule()["resolveZaloRuntimeGroupPolicy"](
...args,
)) as GroupAccessFacadeModule["resolveZaloRuntimeGroupPolicy"];
export const zaloSetupAdapter: SetupFacadeModule["zaloSetupAdapter"] = createLazyFacadeObjectValue(
() => loadSetupFacadeModule()["zaloSetupAdapter"] as object,
) as SetupFacadeModule["zaloSetupAdapter"];
export const zaloSetupWizard: SetupFacadeModule["zaloSetupWizard"] = createLazyFacadeObjectValue(
() => loadSetupFacadeModule()["zaloSetupWizard"] as object,
) as SetupFacadeModule["zaloSetupWizard"];