mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-10 05:10:45 +08:00
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
33 lines
873 B
TypeScript
33 lines
873 B
TypeScript
import type { ChannelDirectoryAdapter } from "openclaw/plugin-sdk/channel-contract";
|
|
|
|
type DirectorySurface = {
|
|
listPeers: NonNullable<ChannelDirectoryAdapter["listPeers"]>;
|
|
listGroups: NonNullable<ChannelDirectoryAdapter["listGroups"]>;
|
|
};
|
|
|
|
export function createDirectoryTestRuntime() {
|
|
return {
|
|
log: () => {},
|
|
error: () => {},
|
|
exit: (code: number): never => {
|
|
throw new Error(`exit ${code}`);
|
|
},
|
|
};
|
|
}
|
|
|
|
export function expectDirectorySurface(directory: unknown): DirectorySurface {
|
|
if (!directory || typeof directory !== "object") {
|
|
throw new Error("expected directory");
|
|
}
|
|
const { listPeers, listGroups } = directory as ChannelDirectoryAdapter;
|
|
if (!listPeers) {
|
|
throw new Error("expected listPeers");
|
|
}
|
|
if (!listGroups) {
|
|
throw new Error("expected listGroups");
|
|
}
|
|
return {
|
|
listPeers,
|
|
listGroups,
|
|
};
|
|
}
|