diff --git a/src/agents/xai.live.test.ts b/src/agents/xai.live.test.ts index a75f6191bb6..54f2cacdda3 100644 --- a/src/agents/xai.live.test.ts +++ b/src/agents/xai.live.test.ts @@ -116,7 +116,7 @@ describeLive("xai live", () => { expect(doneMessage).toBeDefined(); expect(extractFirstToolCallId(doneMessage!)).toBeDefined(); - if (capturedPayload) { + if (capturedPayload && Object.hasOwn(capturedPayload, "tool_stream")) { expect(capturedPayload.tool_stream).toBe(true); } diff --git a/src/channels/plugins/read-only.test.ts b/src/channels/plugins/read-only.test.ts index dadbf6614c5..1f569688be1 100644 --- a/src/channels/plugins/read-only.test.ts +++ b/src/channels/plugins/read-only.test.ts @@ -14,6 +14,14 @@ import { listReadOnlyChannelPluginsForConfig, } from "./read-only.js"; +const jitiLoaderParams = vi.hoisted( + () => + [] as Array<{ + modulePath: string; + tryNative?: boolean; + }>, +); + vi.mock("../../plugins/bundled-dir.js", async (importOriginal) => { const actual = await importOriginal(); return { @@ -98,6 +106,10 @@ vi.mock("../../plugins/jiti-loader-cache.js", async (importOriginal) => { return { ...actual, getCachedPluginJitiLoader: ((params) => { + jitiLoaderParams.push({ + modulePath: params.modulePath, + tryNative: params.tryNative, + }); const actualLoader = actual.getCachedPluginJitiLoader(params); return ((modulePath: string) => { if ( @@ -419,6 +431,7 @@ function expectExternalChatSetupOnlyPluginLoaded(params: { } afterEach(() => { + jitiLoaderParams.length = 0; resetPluginLoaderTestStateForTest(); }); @@ -484,6 +497,14 @@ describe("listReadOnlyChannelPluginsForConfig", () => { ); expectExternalChatSetupOnlyPluginLoaded({ plugins, setupMarker, fullMarker }); + expect( + jitiLoaderParams.some( + (entry) => + entry.tryNative === true && + (entry.modulePath.endsWith("/plugins/loader.js") || + entry.modulePath.endsWith("/plugins/loader.ts")), + ), + ).toBe(true); }); it("matches setup-only plugins by manifest-owned channel ids when plugin id differs", () => { diff --git a/src/channels/plugins/read-only.ts b/src/channels/plugins/read-only.ts index 02edda47325..00bc85d5b2f 100644 --- a/src/channels/plugins/read-only.ts +++ b/src/channels/plugins/read-only.ts @@ -99,6 +99,7 @@ function loadPluginLoaderModule(): PluginLoaderModule { importerUrl: import.meta.url, preferBuiltDist: true, jitiFilename: import.meta.url, + tryNative: true, }); pluginLoaderModule = jiti(modulePath) as PluginLoaderModule; return pluginLoaderModule;