openclaw / src /context-engine /runtime-settings.test.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
76289e7 verified
Raw
History Blame Contribute Delete
3.58 kB
import { describe, expect, it } from "vitest";
import { OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST } from "./host-compat.js";
import { buildContextEngineRuntimeSettings } from "./runtime-settings.js";
describe("context engine runtime settings", () => {
it("builds declared normal runtime settings from host and model inputs", () => {
const settings = buildContextEngineRuntimeSettings({
contextEngineHost: OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST,
harnessId: "embedded",
runtimeId: "direct",
provider: "openai",
requestedModel: "gpt-5.5",
resolvedModel: "gpt-5.5",
selectedContextEngineId: "hypermem",
contextEngineSelectionSource: "configured",
promptTokenBudget: 128_000,
maxOutputTokens: 8192,
});
expect(settings).toMatchObject({
schemaVersion: 1,
runtime: {
host: "openclaw",
mode: "normal",
harnessId: "embedded",
runtimeId: "direct",
},
model: {
requested: "gpt-5.5",
resolved: "gpt-5.5",
provider: "openai",
},
contextEngineSelection: {
selectedId: "hypermem",
source: "configured",
},
executionHost: {
id: OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST.id,
label: OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST.label,
},
limits: {
promptTokenBudget: 128_000,
maxOutputTokens: 8192,
},
diagnostics: {
fallbackReason: null,
degradedReason: null,
},
});
});
it("marks fallback mode when a fallback reason is present", () => {
const settings = buildContextEngineRuntimeSettings({
contextEngineHost: OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST,
resolvedModel: "gpt-5-mini",
fallbackReason: "primary_unavailable",
});
expect(settings.runtime.mode).toBe("fallback");
expect(settings.diagnostics.fallbackReason).toBe("provider_unavailable");
});
it("preserves known fallback reason codes", () => {
const settings = buildContextEngineRuntimeSettings({
contextEngineHost: OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST,
resolvedModel: "gpt-5-mini",
fallbackReason: "provider_timeout",
});
expect(settings.runtime.mode).toBe("fallback");
expect(settings.diagnostics.fallbackReason).toBe("provider_timeout");
});
it("marks fallback mode when resolved model differs from the requested model", () => {
const settings = buildContextEngineRuntimeSettings({
contextEngineHost: OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST,
requestedModel: "openai/gpt-5.5",
resolvedModel: "anthropic/claude-sonnet-4-6",
});
expect(settings.runtime.mode).toBe("fallback");
expect(settings.diagnostics.fallbackReason).toBeNull();
});
it("marks degraded mode when a degraded reason is present", () => {
const settings = buildContextEngineRuntimeSettings({
contextEngineHost: OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST,
resolvedModel: "gpt-5-mini",
degradedReason: "context_pressure_high",
});
expect(settings.runtime.mode).toBe("degraded");
expect(settings.diagnostics.degradedReason).toBe("context_overflow");
});
it("keeps host and selection ids nullable when unknown", () => {
const settings = buildContextEngineRuntimeSettings({
contextEngineHost: {
...OPENCLAW_EMBEDDED_CONTEXT_ENGINE_HOST,
id: "",
},
});
expect(settings.contextEngineSelection).toEqual({
selectedId: null,
source: "unknown",
});
expect(settings.executionHost.id).toBeNull();
});
});