test(contracts): avoid sync telegram vitest harness loads

This commit is contained in:
Peter Steinberger
2026-03-29 18:36:51 +01:00
parent 798e5f9501
commit 8a6d1b9f1e
2 changed files with 23 additions and 8 deletions

View File

@@ -19,9 +19,12 @@ export const { signalOutbound } = loadBundledPluginTestApiSync<{
export const { slackOutbound } = loadBundledPluginTestApiSync<{
slackOutbound: ChannelOutboundAdapter;
}>("slack");
export const { telegramOutbound } = loadBundledPluginTestApiSync<{
export const { telegramOutbound } = loadBundledPluginPublicSurfaceSync<{
telegramOutbound: ChannelOutboundAdapter;
}>("telegram");
}>({
pluginId: "telegram",
artifactBasename: "src/outbound-adapter.js",
});
export const { whatsappOutbound } = loadBundledPluginTestApiSync<{
whatsappOutbound: ChannelOutboundAdapter;
}>("whatsapp");

View File

@@ -36,12 +36,24 @@ const { createInboundSlackTestContext, prepareSlackMessage } = loadBundledPlugin
opts: { source: string };
}) => Promise<SlackPrepareResult>;
}>("slack");
const { buildTelegramMessageContextForTest } = loadBundledPluginTestApiSync<{
buildTelegramMessageContextForTest: (params: {
cfg: OpenClawConfig;
message: Record<string, unknown>;
}) => Promise<{ ctxPayload: MsgContext } | null | undefined>;
}>("telegram");
const telegramHarnessModuleId = resolveRelativeBundledPluginPublicModuleId({
fromModuleUrl: import.meta.url,
pluginId: "telegram",
artifactBasename: "src/bot-message-context.test-harness.js",
});
async function buildTelegramMessageContextForTest(params: {
cfg: OpenClawConfig;
message: Record<string, unknown>;
}): Promise<{ ctxPayload: MsgContext } | null | undefined> {
const telegramHarnessModule = (await import(telegramHarnessModuleId)) as {
buildTelegramMessageContextForTest: (params: {
cfg: OpenClawConfig;
message: Record<string, unknown>;
}) => Promise<{ ctxPayload: MsgContext } | null | undefined>;
};
return await telegramHarnessModule.buildTelegramMessageContextForTest(params);
}
const signalApiModuleId = resolveRelativeBundledPluginPublicModuleId({
fromModuleUrl: import.meta.url,