fix(plugin-sdk): route shared stream helpers through one barrel

This commit is contained in:
Vincent Koc
2026-04-14 16:12:59 +01:00
parent e121889a9f
commit 3487e7f8e2
2 changed files with 29 additions and 28 deletions

View File

@@ -1,9 +1,15 @@
import type { StreamFn } from "@mariozechner/pi-agent-core";
import { describe, expect, it } from "vitest";
import { composeProviderStreamWrappers as composeProviderStreamWrappersShared } from "./provider-stream-shared.js";
import {
composeProviderStreamWrappers as composeProviderStreamWrappersShared,
createMoonshotThinkingWrapper as createMoonshotThinkingWrapperShared,
createToolStreamWrapper as createToolStreamWrapperShared,
} from "./provider-stream-shared.js";
import {
buildProviderStreamFamilyHooks,
composeProviderStreamWrappers,
createMoonshotThinkingWrapper,
createToolStreamWrapper,
} from "./provider-stream.js";
function requireWrapStreamFn(
@@ -29,6 +35,11 @@ describe("composeProviderStreamWrappers", () => {
expect(composeProviderStreamWrappers).toBe(composeProviderStreamWrappersShared);
});
it("re-exports shared helper wrappers", () => {
expect(createMoonshotThinkingWrapper).toBe(createMoonshotThinkingWrapperShared);
expect(createToolStreamWrapper).toBe(createToolStreamWrapperShared);
});
it("applies wrappers left to right", async () => {
const order: string[] = [];
const baseStreamFn: StreamFn = (_model, _context, _options) => {

View File

@@ -3,10 +3,6 @@ import {
sanitizeGoogleThinkingPayload,
} from "../agents/pi-embedded-runner/google-stream-wrappers.js";
import { createMinimaxFastModeWrapper } from "../agents/pi-embedded-runner/minimax-stream-wrappers.js";
import {
createMoonshotThinkingWrapper,
resolveMoonshotThinkingType,
} from "../agents/pi-embedded-runner/moonshot-thinking-stream-wrappers.js";
import {
createCodexNativeWebSearchWrapper,
createOpenAIAttributionHeadersWrapper,
@@ -25,15 +21,28 @@ import {
createOpenRouterWrapper,
isProxyReasoningUnsupported,
} from "../agents/pi-embedded-runner/proxy-stream-wrappers.js";
import {
createToolStreamWrapper,
createZaiToolStreamWrapper,
} from "../agents/pi-embedded-runner/zai-stream-wrappers.js";
import type { ProviderPlugin } from "../plugins/types.js";
import type { ProviderWrapStreamFnContext } from "./plugin-entry.js";
import {
createMoonshotThinkingWrapper,
createToolStreamWrapper,
resolveMoonshotThinkingType,
} from "./provider-stream-shared.js";
export {
applyAnthropicEphemeralCacheControlMarkers,
applyAnthropicPayloadPolicyToParams,
buildCopilotDynamicHeaders,
composeProviderStreamWrappers,
createBedrockNoCacheWrapper,
createMoonshotThinkingWrapper,
createToolStreamWrapper,
createZaiToolStreamWrapper,
hasCopilotVisionInput,
isAnthropicBedrockModel,
type ProviderStreamWrapperFactory,
resolveAnthropicPayloadPolicy,
resolveMoonshotThinkingType,
streamWithPayloadPatch,
} from "./provider-stream-shared.js";
export type ProviderStreamFamily =
@@ -131,23 +140,10 @@ export function buildProviderStreamFamilyHooks(
// Public stream-wrapper helpers for provider plugins.
export {
applyAnthropicPayloadPolicyToParams,
resolveAnthropicPayloadPolicy,
} from "../agents/anthropic-payload-policy.js";
export {
buildCopilotDynamicHeaders,
hasCopilotVisionInput,
} from "../agents/copilot-dynamic-headers.js";
export { applyAnthropicEphemeralCacheControlMarkers } from "../agents/pi-embedded-runner/anthropic-cache-control-payload.js";
export {
createAnthropicToolPayloadCompatibilityWrapper,
createOpenAIAnthropicToolPayloadCompatibilityWrapper,
} from "../agents/pi-embedded-runner/anthropic-family-tool-payload-compat.js";
export {
createBedrockNoCacheWrapper,
isAnthropicBedrockModel,
} from "../agents/pi-embedded-runner/bedrock-stream-wrappers.js";
export {
createGoogleThinkingPayloadWrapper,
sanitizeGoogleThinkingPayload,
@@ -159,10 +155,6 @@ export {
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,
@@ -176,8 +168,6 @@ export {
resolveOpenAIServiceTier,
resolveOpenAITextVerbosity,
} from "../agents/pi-embedded-runner/openai-stream-wrappers.js";
export { streamWithPayloadPatch } from "../agents/pi-embedded-runner/stream-payload-utils.js";
export { createToolStreamWrapper, createZaiToolStreamWrapper };
export {
getOpenRouterModelCapabilities,
loadOpenRouterModelCapabilities,