import { describe, expect, test } from "vitest"; import { buildPathAskPayload } from "#src/presentation/path-ask-payload"; describe("buildPathAskPayload", () => { test("carries the typed path as the decision value and the rule that fired", () => { const payload = buildPathAskPayload({ toolName: "read", pathValue: "/etc/passwd", agentName: "my-agent", matchedPattern: "/etc/*", }); expect(payload.kind).toBe("path"); expect(payload.request).toEqual({ requester: { agentName: "my-agent", forwarded: false, sessionId: null }, surface: "path", toolName: "read", invokedToolName: null, value: "/etc/passwd", matchedPattern: "/etc/*", commandContext: null, executedUnit: null, }); expect(payload.evidence).toEqual([]); }); test("leaves the requester unnamed when no agent is active", () => { expect( buildPathAskPayload({ toolName: "read", pathValue: "/etc/passwd", agentName: null, }).request.requester, ).toEqual({ agentName: null, forwarded: false, sessionId: null }); }); });