mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-18 04:31:10 +00:00
test: mock provider runtime in pi runner tests
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import type { StreamFn } from "@mariozechner/pi-agent-core";
|
||||
import type { Context, Model } from "@mariozechner/pi-ai";
|
||||
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
||||
import { createConfiguredOllamaCompatStreamWrapper } from "../plugin-sdk/ollama-runtime.js";
|
||||
import { __testing as extraParamsTesting } from "./pi-embedded-runner/extra-params.js";
|
||||
import { applyExtraParamsToAgent } from "./pi-embedded-runner/extra-params.js";
|
||||
import {
|
||||
@@ -21,7 +20,15 @@ beforeEach(() => {
|
||||
return createMoonshotThinkingWrapper(params.context.streamFn, thinkingType);
|
||||
}
|
||||
if (params.provider === "ollama") {
|
||||
return createConfiguredOllamaCompatStreamWrapper(params.context);
|
||||
const modelId = params.context.model?.id ?? params.context.modelId;
|
||||
if (typeof modelId === "string" && /^kimi-k2\.5(?::|$)/i.test(modelId)) {
|
||||
const thinkingType = resolveMoonshotThinkingType({
|
||||
configuredThinking: params.context.extraParams?.thinking,
|
||||
thinkingLevel: params.context.thinkingLevel,
|
||||
});
|
||||
return createMoonshotThinkingWrapper(params.context.streamFn, thinkingType);
|
||||
}
|
||||
return params.context.streamFn;
|
||||
}
|
||||
return params.context.streamFn;
|
||||
},
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
import type { Api, Model } from "@mariozechner/pi-ai";
|
||||
import type { SessionManager } from "@mariozechner/pi-coding-agent";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import type { OpenClawConfig } from "../../config/config.js";
|
||||
import { getCompactionSafeguardRuntime } from "../pi-hooks/compaction-safeguard-runtime.js";
|
||||
import compactionSafeguardExtension from "../pi-hooks/compaction-safeguard.js";
|
||||
import contextPruningExtension from "../pi-hooks/context-pruning.js";
|
||||
import { buildEmbeddedExtensionFactories } from "./extensions.js";
|
||||
|
||||
vi.mock("../../plugins/provider-runtime.js", () => ({
|
||||
resolveProviderCacheTtlEligibility: () => undefined,
|
||||
resolveProviderRuntimePlugin: () => undefined,
|
||||
}));
|
||||
|
||||
function buildSafeguardFactories(cfg: OpenClawConfig) {
|
||||
const sessionManager = {} as SessionManager;
|
||||
const model = {
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
import type { AgentMessage } from "@mariozechner/pi-agent-core";
|
||||
import type { ToolResultMessage, UserMessage } from "@mariozechner/pi-ai";
|
||||
import { SessionManager } from "@mariozechner/pi-coding-agent";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { makeAgentAssistantMessage } from "../test-helpers/agent-message-fixtures.js";
|
||||
import { sanitizeSessionHistory } from "./replay-history.js";
|
||||
|
||||
vi.mock("../../plugins/provider-runtime.js", () => ({
|
||||
resolveProviderRuntimePlugin: () => undefined,
|
||||
sanitizeProviderReplayHistoryWithPlugin: () => undefined,
|
||||
validateProviderReplayTurnsWithPlugin: () => undefined,
|
||||
}));
|
||||
|
||||
describe("sanitizeSessionHistory toolResult details stripping", () => {
|
||||
it("strips toolResult.details so untrusted payloads are not fed back to the model", async () => {
|
||||
const sm = SessionManager.inMemory();
|
||||
|
||||
Reference in New Issue
Block a user