mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-03 19:30:23 +00:00
refactor: simplify plugin sdk compatibility aliases
This commit is contained in:
@@ -108,92 +108,26 @@ const fastExports = {
|
||||
resolveControlCommandGate,
|
||||
};
|
||||
|
||||
const rootProxy = new Proxy(fastExports, {
|
||||
get(target, prop, receiver) {
|
||||
if (prop === "__esModule") {
|
||||
return true;
|
||||
}
|
||||
if (prop === "default") {
|
||||
return rootProxy;
|
||||
}
|
||||
if (Reflect.has(target, prop)) {
|
||||
return Reflect.get(target, prop, receiver);
|
||||
}
|
||||
return loadMonolithicSdk()[prop];
|
||||
},
|
||||
has(target, prop) {
|
||||
if (prop === "__esModule" || prop === "default") {
|
||||
return true;
|
||||
}
|
||||
if (Reflect.has(target, prop)) {
|
||||
return true;
|
||||
}
|
||||
const monolithic = tryLoadMonolithicSdk();
|
||||
return monolithic ? prop in monolithic : false;
|
||||
},
|
||||
ownKeys(target) {
|
||||
const keys = new Set([...Reflect.ownKeys(target), "default", "__esModule"]);
|
||||
// Keep Object.keys/property reflection fast and deterministic.
|
||||
// Only expose monolithic keys if it was already loaded by direct access.
|
||||
if (monolithicSdk) {
|
||||
for (const key of Reflect.ownKeys(monolithicSdk)) {
|
||||
keys.add(key);
|
||||
const monolithic = tryLoadMonolithicSdk();
|
||||
const rootExports =
|
||||
monolithic && typeof monolithic === "object"
|
||||
? {
|
||||
...monolithic,
|
||||
...fastExports,
|
||||
}
|
||||
}
|
||||
return [...keys];
|
||||
},
|
||||
getOwnPropertyDescriptor(target, prop) {
|
||||
if (prop === "__esModule") {
|
||||
return {
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: true,
|
||||
};
|
||||
}
|
||||
if (prop === "default") {
|
||||
return {
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: rootProxy,
|
||||
};
|
||||
}
|
||||
const own = Object.getOwnPropertyDescriptor(target, prop);
|
||||
if (own) {
|
||||
return own;
|
||||
}
|
||||
const monolithic = tryLoadMonolithicSdk();
|
||||
if (!monolithic) {
|
||||
return undefined;
|
||||
}
|
||||
const descriptor = Object.getOwnPropertyDescriptor(monolithic, prop);
|
||||
if (!descriptor) {
|
||||
return undefined;
|
||||
}
|
||||
if (descriptor.get || descriptor.set) {
|
||||
return {
|
||||
configurable: true,
|
||||
enumerable: descriptor.enumerable ?? true,
|
||||
get: descriptor.get
|
||||
? function getLegacyValue() {
|
||||
return descriptor.get.call(monolithic);
|
||||
}
|
||||
: undefined,
|
||||
set: descriptor.set
|
||||
? function setLegacyValue(value) {
|
||||
return descriptor.set.call(monolithic, value);
|
||||
}
|
||||
: undefined,
|
||||
};
|
||||
}
|
||||
return {
|
||||
configurable: true,
|
||||
enumerable: descriptor.enumerable ?? true,
|
||||
value: descriptor.value,
|
||||
writable: descriptor.writable,
|
||||
};
|
||||
},
|
||||
: { ...fastExports };
|
||||
|
||||
Object.defineProperty(rootExports, "__esModule", {
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: true,
|
||||
});
|
||||
Object.defineProperty(rootExports, "default", {
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: rootExports,
|
||||
});
|
||||
|
||||
module.exports = rootProxy;
|
||||
module.exports = rootExports;
|
||||
|
||||
Reference in New Issue
Block a user