58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import { buildLocalAgentHealthSummary } from "./health-summary.mjs";
|
|
|
|
test("buildLocalAgentHealthSummary excludes heavy runtime bodies and secrets", () => {
|
|
const summary = buildLocalAgentHealthSummary(
|
|
{
|
|
deviceId: "mac-studio",
|
|
token: "secret-token",
|
|
},
|
|
{
|
|
lastHeartbeatAt: "2026-06-07T01:00:00.000Z",
|
|
lastHeartbeatOk: true,
|
|
lastHeartbeatStatus: 200,
|
|
lastHeartbeatBody: JSON.stringify({ large: "body", token: "secret-token" }),
|
|
masterTaskBusy: true,
|
|
activeMasterTask: {
|
|
taskId: "task-1",
|
|
status: "running",
|
|
detail: "very sensitive long detail",
|
|
},
|
|
lastMasterTaskPoll: {
|
|
at: "2026-06-07T01:00:01.000Z",
|
|
ok: true,
|
|
status: 200,
|
|
body: JSON.stringify({ task: { prompt: "internal prompt" } }),
|
|
},
|
|
lastSkillSyncBody: "skill body",
|
|
lastReliableOutboxReplay: {
|
|
attempted: 3,
|
|
sent: 2,
|
|
retained: 1,
|
|
stoppedByBudget: true,
|
|
},
|
|
lastSkills: [{ name: "a" }, { name: "b" }],
|
|
codexAppServerCapabilityMetadata: {
|
|
huge: "metadata",
|
|
},
|
|
codexAppServerCapabilityMetadataError: "temporary error",
|
|
},
|
|
);
|
|
|
|
const encoded = JSON.stringify(summary);
|
|
|
|
assert.equal(summary.ok, true);
|
|
assert.equal(summary.deviceId, "mac-studio");
|
|
assert.equal(summary.masterTask.busy, true);
|
|
assert.equal(summary.masterTask.active.taskId, "task-1");
|
|
assert.equal(summary.outbox.retained, 1);
|
|
assert.equal(summary.skills.count, 2);
|
|
assert.equal(encoded.includes("secret-token"), false);
|
|
assert.equal(encoded.includes("internal prompt"), false);
|
|
assert.equal(encoded.includes("very sensitive long detail"), false);
|
|
assert.equal(encoded.includes("lastHeartbeatBody"), false);
|
|
assert.equal(encoded.includes("lastMasterTaskPoll"), false);
|
|
assert.equal(encoded.includes("codexAppServerCapabilityMetadata"), false);
|
|
});
|