mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 18:39:20 -05:00
test(agents): share assistant error message test fixture
This commit is contained in:
@@ -6,32 +6,14 @@ import {
|
||||
formatAssistantErrorText,
|
||||
formatRawAssistantErrorForUi,
|
||||
} from "./pi-embedded-helpers.js";
|
||||
import { makeAssistantMessageFixture } from "./test-helpers/assistant-message-fixtures.js";
|
||||
|
||||
describe("formatAssistantErrorText", () => {
|
||||
const makeAssistantError = (errorMessage: string): AssistantMessage => ({
|
||||
role: "assistant",
|
||||
api: "openai-responses",
|
||||
provider: "openai",
|
||||
model: "test-model",
|
||||
usage: {
|
||||
input: 0,
|
||||
output: 0,
|
||||
cacheRead: 0,
|
||||
cacheWrite: 0,
|
||||
totalTokens: 0,
|
||||
cost: {
|
||||
input: 0,
|
||||
output: 0,
|
||||
cacheRead: 0,
|
||||
cacheWrite: 0,
|
||||
total: 0,
|
||||
},
|
||||
},
|
||||
stopReason: "error",
|
||||
errorMessage,
|
||||
content: [{ type: "text", text: errorMessage }],
|
||||
timestamp: 0,
|
||||
});
|
||||
const makeAssistantError = (errorMessage: string): AssistantMessage =>
|
||||
makeAssistantMessageFixture({
|
||||
errorMessage,
|
||||
content: [{ type: "text", text: errorMessage }],
|
||||
});
|
||||
|
||||
it("returns a friendly message for context overflow", () => {
|
||||
const msg = makeAssistantError("request_too_large");
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { AssistantMessage } from "@mariozechner/pi-ai";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { formatBillingErrorMessage } from "../../pi-embedded-helpers.js";
|
||||
import { makeAssistantMessageFixture } from "../../test-helpers/assistant-message-fixtures.js";
|
||||
import { buildEmbeddedRunPayloads } from "./payloads.js";
|
||||
|
||||
describe("buildEmbeddedRunPayloads", () => {
|
||||
@@ -15,31 +16,12 @@ describe("buildEmbeddedRunPayloads", () => {
|
||||
},
|
||||
"request_id": "req_011CX7DwS7tSvggaNHmefwWg"
|
||||
}`;
|
||||
const makeAssistant = (overrides: Partial<AssistantMessage>): AssistantMessage => ({
|
||||
role: "assistant",
|
||||
api: "openai-responses",
|
||||
provider: "openai",
|
||||
model: "test-model",
|
||||
usage: {
|
||||
input: 0,
|
||||
output: 0,
|
||||
cacheRead: 0,
|
||||
cacheWrite: 0,
|
||||
totalTokens: 0,
|
||||
cost: {
|
||||
input: 0,
|
||||
output: 0,
|
||||
cacheRead: 0,
|
||||
cacheWrite: 0,
|
||||
total: 0,
|
||||
},
|
||||
},
|
||||
timestamp: 0,
|
||||
stopReason: "error",
|
||||
errorMessage: errorJson,
|
||||
content: [{ type: "text", text: errorJson }],
|
||||
...overrides,
|
||||
});
|
||||
const makeAssistant = (overrides: Partial<AssistantMessage>): AssistantMessage =>
|
||||
makeAssistantMessageFixture({
|
||||
errorMessage: errorJson,
|
||||
content: [{ type: "text", text: errorJson }],
|
||||
...overrides,
|
||||
});
|
||||
|
||||
type BuildPayloadParams = Parameters<typeof buildEmbeddedRunPayloads>[0];
|
||||
const buildPayloads = (overrides: Partial<BuildPayloadParams> = {}) =>
|
||||
|
||||
34
src/agents/test-helpers/assistant-message-fixtures.ts
Normal file
34
src/agents/test-helpers/assistant-message-fixtures.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import type { AssistantMessage } from "@mariozechner/pi-ai";
|
||||
|
||||
const ZERO_USAGE: AssistantMessage["usage"] = {
|
||||
input: 0,
|
||||
output: 0,
|
||||
cacheRead: 0,
|
||||
cacheWrite: 0,
|
||||
totalTokens: 0,
|
||||
cost: {
|
||||
input: 0,
|
||||
output: 0,
|
||||
cacheRead: 0,
|
||||
cacheWrite: 0,
|
||||
total: 0,
|
||||
},
|
||||
};
|
||||
|
||||
export function makeAssistantMessageFixture(
|
||||
overrides: Partial<AssistantMessage> = {},
|
||||
): AssistantMessage {
|
||||
const errorText = typeof overrides.errorMessage === "string" ? overrides.errorMessage : "error";
|
||||
return {
|
||||
role: "assistant",
|
||||
api: "openai-responses",
|
||||
provider: "openai",
|
||||
model: "test-model",
|
||||
usage: ZERO_USAGE,
|
||||
timestamp: 0,
|
||||
stopReason: "error",
|
||||
errorMessage: errorText,
|
||||
content: [{ type: "text", text: errorText }],
|
||||
...overrides,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user