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); 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); });