Files
Jyotisha/frontend/tests/personal-report-agent-telemetry.test.ts
T
Jesse_Chen 1f1fdb1d15
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
feat(reports): record personal report generation telemetry
2026-08-30 20:10:10 +08:00

59 lines
1.9 KiB
TypeScript

import assert from "node:assert/strict";
import test from "node:test";
import { Agent } from "@mastra/core/agent";
import { createPersonalReportAgent } from "../src/mastra/personal-report.ts";
const model = {
specificationVersion: "v2",
provider: "telemetry-test",
modelId: "telemetry-test",
} as never;
function testModel() {
return {
id: "telemetry-test",
label: "Telemetry test",
description: "Telemetry test",
creditCost: 0,
isDefault: false,
mode: "openai" as const,
model,
};
}
test("personal report telemetry records each truncated attempt without private payloads", async () => {
const originalGenerate = Agent.prototype.generate;
const originalInfo = console.info;
const logs: unknown[][] = [];
let calls = 0;
Agent.prototype.generate = (async function () {
calls += 1;
return {
object: {},
usage: Promise.resolve({ inputTokens: 11, outputTokens: 3, totalTokens: 14 }),
finishReason: Promise.resolve("length"),
};
}) as never;
console.info = (...args: unknown[]) => logs.push(args);
try {
const agent = createPersonalReportAgent(testModel());
await assert.rejects(agent.generate({} as never, {} as never));
} finally {
Agent.prototype.generate = originalGenerate;
console.info = originalInfo;
}
assert.equal(calls, 2);
const telemetry = logs
.filter(([label]) => label === "[personal-report-agent]")
.map(([, payload]) => JSON.parse(String(payload)) as Record<string, unknown>);
assert.equal(telemetry.length, 2);
assert.deepEqual(telemetry.map((entry) => entry.finishReason), ["length", "length"]);
assert.deepEqual(telemetry.map((entry) => entry.repairAttempted), [false, true]);
assert.deepEqual(telemetry.map((entry) => entry.outputTokens), [3, 3]);
assert.equal("prompt" in telemetry[0], false);
assert.equal("bundle" in telemetry[0], false);
assert.equal("report" in telemetry[0], false);
});