fix(ci): sync openrouter stream hook seams

This commit is contained in:
Peter Steinberger
2026-04-04 14:27:42 +01:00
parent b575dc704c
commit fb59b5c461
3 changed files with 12 additions and 9 deletions

View File

@@ -17,11 +17,10 @@ describe("openrouter provider hooks", () => {
it("injects provider routing into compat before applying stream wrappers", async () => {
const provider = await registerSingleProviderPlugin(openrouterPlugin);
let capturedModel: Record<string, unknown> | undefined;
const baseStreamFn = vi.fn((model) => {
capturedModel = model as Record<string, unknown>;
return { async *[Symbol.asyncIterator]() {} } as never;
});
const baseStreamFn = vi.fn(
(..._args: Parameters<import("@mariozechner/pi-agent-core").StreamFn>) =>
({ async *[Symbol.asyncIterator]() {} }) as never,
);
const wrapped = provider.wrapStreamFn?.({
provider: "openrouter",
@@ -47,7 +46,7 @@ describe("openrouter provider hooks", () => {
);
expect(baseStreamFn).toHaveBeenCalledOnce();
expect(capturedModel).toMatchObject({
expect(baseStreamFn.mock.calls[0]?.[0]).toMatchObject({
compat: {
openRouterRouting: {
order: ["moonshot"],

View File

@@ -83,7 +83,7 @@ export default definePluginEntry({
function wrapOpenRouterProviderStream(
ctx: ProviderWrapStreamFnContext,
): StreamFn | undefined {
): StreamFn | null | undefined {
const providerRouting =
ctx.extraParams?.provider != null && typeof ctx.extraParams.provider === "object"
? (ctx.extraParams.provider as Record<string, unknown>)

View File

@@ -163,14 +163,18 @@ export {
export {
createGoogleThinkingPayloadWrapper,
sanitizeGoogleThinkingPayload,
createMinimaxFastModeWrapper,
} from "../agents/pi-embedded-runner/google-stream-wrappers.js";
export {
createKilocodeWrapper,
createOpenRouterSystemCacheWrapper,
createOpenRouterWrapper,
isProxyReasoningUnsupported,
} from "../agents/pi-embedded-runner/proxy-stream-wrappers.js";
export { createMinimaxFastModeWrapper } from "../agents/pi-embedded-runner/minimax-stream-wrappers.js";
export {
createMoonshotThinkingWrapper,
resolveMoonshotThinkingType,
};
} from "../agents/pi-embedded-runner/moonshot-thinking-stream-wrappers.js";
export {
createOpenAIAttributionHeadersWrapper,
createCodexNativeWebSearchWrapper,