openskynet / src /agents /pi-embedded-runner /run /payloads.test-helpers.ts
Darochin's picture
Mirror OpenSkyNet workspace snapshot from Git HEAD
fc93158 verified
import { expect } from "vitest";
import { buildEmbeddedRunPayloads } from "./payloads.js";
export type BuildPayloadParams = Parameters<typeof buildEmbeddedRunPayloads>[0];
type RunPayloads = ReturnType<typeof buildEmbeddedRunPayloads>;
export function buildPayloads(overrides: Partial<BuildPayloadParams> = {}) {
return buildEmbeddedRunPayloads({
assistantTexts: [],
toolMetas: [],
lastAssistant: undefined,
sessionKey: "session:telegram",
inlineToolResultsAllowed: false,
verboseLevel: "off",
reasoningLevel: "off",
toolResultFormat: "plain",
...overrides,
});
}
export function expectSinglePayloadText(
payloads: RunPayloads,
text: string,
expectedError?: boolean,
): void {
expect(payloads).toHaveLength(1);
expect(payloads[0]?.text).toBe(text);
if (typeof expectedError === "boolean") {
expect(payloads[0]?.isError).toBe(expectedError);
}
}
export function expectSingleToolErrorPayload(
payloads: RunPayloads,
params: { title: string; detail?: string; absentDetail?: string },
): void {
expect(payloads).toHaveLength(1);
expect(payloads[0]?.isError).toBe(true);
expect(payloads[0]?.text).toContain(params.title);
if (typeof params.detail === "string") {
expect(payloads[0]?.text).toContain(params.detail);
}
if (typeof params.absentDetail === "string") {
expect(payloads[0]?.text).not.toContain(params.absentDetail);
}
}