mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-13 08:23:18 +08:00
重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
This commit is contained in:
parent
4a23b715a2
commit
dbbe3add6a
14438 changed files with 2693620 additions and 2546 deletions
60
openclaw/test/helpers/channels/command-contract.ts
Normal file
60
openclaw/test/helpers/channels/command-contract.ts
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
import {
|
||||
loadBundledPluginApiSync,
|
||||
loadBundledPluginContractApiSync,
|
||||
} from "../../../src/test-utils/bundled-plugin-public-surface.js";
|
||||
|
||||
type TelegramContractSurface = {
|
||||
buildTelegramModelsProviderChannelData: (...args: unknown[]) => unknown;
|
||||
};
|
||||
type WhatsAppApiSurface = {
|
||||
isWhatsAppGroupJid: (...args: unknown[]) => boolean;
|
||||
normalizeWhatsAppTarget: (...args: unknown[]) => string | null;
|
||||
whatsappCommandPolicy: Record<string, unknown>;
|
||||
};
|
||||
|
||||
let telegramContractSurface: TelegramContractSurface | undefined;
|
||||
let whatsappApiSurface: WhatsAppApiSurface | undefined;
|
||||
|
||||
function createLazyObjectSurface<T extends object>(loadSurface: () => T): T {
|
||||
return new Proxy({} as T, {
|
||||
get(_target, property) {
|
||||
const surface = loadSurface();
|
||||
const value = Reflect.get(surface, property, surface);
|
||||
return typeof value === "function" ? value.bind(surface) : value;
|
||||
},
|
||||
has(_target, property) {
|
||||
return property in loadSurface();
|
||||
},
|
||||
ownKeys() {
|
||||
return Reflect.ownKeys(loadSurface());
|
||||
},
|
||||
getOwnPropertyDescriptor(_target, property) {
|
||||
return Reflect.getOwnPropertyDescriptor(loadSurface(), property);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function getTelegramContractSurface(): TelegramContractSurface {
|
||||
telegramContractSurface ??= loadBundledPluginContractApiSync<TelegramContractSurface>("telegram");
|
||||
return telegramContractSurface;
|
||||
}
|
||||
|
||||
function getWhatsAppApiSurface(): WhatsAppApiSurface {
|
||||
whatsappApiSurface ??= loadBundledPluginApiSync<WhatsAppApiSurface>("whatsapp");
|
||||
return whatsappApiSurface;
|
||||
}
|
||||
|
||||
export const buildTelegramModelsProviderChannelData = (
|
||||
...args: Parameters<TelegramContractSurface["buildTelegramModelsProviderChannelData"]>
|
||||
) => getTelegramContractSurface().buildTelegramModelsProviderChannelData(...args);
|
||||
|
||||
export const isWhatsAppGroupJid = (...args: Parameters<WhatsAppApiSurface["isWhatsAppGroupJid"]>) =>
|
||||
getWhatsAppApiSurface().isWhatsAppGroupJid(...args);
|
||||
|
||||
export const normalizeWhatsAppTarget = (
|
||||
...args: Parameters<WhatsAppApiSurface["normalizeWhatsAppTarget"]>
|
||||
) => getWhatsAppApiSurface().normalizeWhatsAppTarget(...args);
|
||||
|
||||
export const whatsappCommandPolicy = createLazyObjectSurface(
|
||||
() => getWhatsAppApiSurface().whatsappCommandPolicy,
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue