fix(test): isolate ollama runtime test seams

This commit is contained in:
Peter Steinberger
2026-04-04 15:30:03 +01:00
parent 7ff90c516a
commit 83fe8efe3d
3 changed files with 33 additions and 12 deletions

View File

@@ -1,14 +1,35 @@
import { describe, expect, it, vi } from "vitest";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import {
buildOllamaChatRequest,
createConfiguredOllamaCompatStreamWrapper,
createConfiguredOllamaStreamFn,
createOllamaStreamFn,
convertToOllamaMessages,
buildAssistantMessage,
parseNdjsonStream,
resolveOllamaBaseUrlForRun,
} from "../plugin-sdk/ollama.js";
import { applyExtraParamsToAgent } from "./pi-embedded-runner/extra-params.js";
} from "../../extensions/ollama/runtime-api.js";
import {
__testing as extraParamsTesting,
applyExtraParamsToAgent,
} from "./pi-embedded-runner/extra-params.js";
beforeEach(() => {
extraParamsTesting.setProviderRuntimeDepsForTest({
prepareProviderExtraParams: ({ context }) => context.extraParams,
wrapProviderStreamFn: ({ provider, context }) =>
provider === "ollama"
? createConfiguredOllamaCompatStreamWrapper({
...context,
provider,
})
: context.streamFn,
});
});
afterEach(() => {
extraParamsTesting.resetProviderRuntimeDepsForTest();
});
describe("buildOllamaChatRequest", () => {
it("omits tools when none are provided", () => {

View File

@@ -1,6 +1,7 @@
import type { StreamFn } from "@mariozechner/pi-agent-core";
import type { Context, Model, SimpleStreamOptions } from "@mariozechner/pi-ai";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { createConfiguredOllamaCompatNumCtxWrapper } from "../../extensions/ollama/runtime-api.js";
import {
createAnthropicBetaHeadersWrapper,
createAnthropicFastModeWrapper,
@@ -9,7 +10,6 @@ import {
resolveAnthropicFastMode,
resolveAnthropicServiceTier,
} from "../../test/helpers/providers/anthropic-contract.js";
import { createConfiguredOllamaCompatNumCtxWrapper } from "../plugin-sdk/ollama.js";
import { __testing as extraParamsTesting } from "./pi-embedded-runner/extra-params.js";
import {
createOpenRouterSystemCacheWrapper,
@@ -48,17 +48,17 @@ function createTestXaiFastModeWrapper(
};
}
import {
applyExtraParamsToAgent,
resolveAgentTransportOverride,
resolveExtraParams,
resolvePreparedExtraParams,
} from "./pi-embedded-runner.js";
import { createAnthropicToolPayloadCompatibilityWrapper } from "./pi-embedded-runner/anthropic-family-tool-payload-compat.js";
import {
createBedrockNoCacheWrapper,
isAnthropicBedrockModel,
} from "./pi-embedded-runner/bedrock-stream-wrappers.js";
import {
applyExtraParamsToAgent,
resolveAgentTransportOverride,
resolveExtraParams,
resolvePreparedExtraParams,
} from "./pi-embedded-runner/extra-params.js";
import { createGoogleThinkingPayloadWrapper } from "./pi-embedded-runner/google-stream-wrappers.js";
import { log } from "./pi-embedded-runner/logger.js";
import { createMinimaxFastModeWrapper } from "./pi-embedded-runner/minimax-stream-wrappers.js";

View File

@@ -1,12 +1,12 @@
import { streamSimple } from "@mariozechner/pi-ai";
import { describe, expect, it, vi } from "vitest";
import type { OpenClawConfig } from "../../../config/config.js";
import {
isOllamaCompatProvider,
resolveOllamaCompatNumCtxEnabled,
shouldInjectOllamaCompatNumCtx,
wrapOllamaCompatNumCtx,
} from "../../../plugin-sdk/ollama.js";
} from "../../../../extensions/ollama/runtime-api.js";
import type { OpenClawConfig } from "../../../config/config.js";
import { appendBootstrapPromptWarning } from "../../bootstrap-budget.js";
import { SYSTEM_PROMPT_CACHE_BOUNDARY } from "../../system-prompt-cache-boundary.js";
import { buildAgentSystemPrompt } from "../../system-prompt.js";