diff --git a/src/plugin-sdk/provider-stream.test.ts b/src/plugin-sdk/provider-stream.test.ts index 9bfceebd7f1..60c738fc7c6 100644 --- a/src/plugin-sdk/provider-stream.test.ts +++ b/src/plugin-sdk/provider-stream.test.ts @@ -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) => { diff --git a/src/plugin-sdk/provider-stream.ts b/src/plugin-sdk/provider-stream.ts index 82b07d9bbba..70085e731e5 100644 --- a/src/plugin-sdk/provider-stream.ts +++ b/src/plugin-sdk/provider-stream.ts @@ -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,