diff --git a/src/auto-reply/reply.directive.test.ts b/src/auto-reply/reply.directive.test.ts index 5834e7bfa..e541bfa10 100644 --- a/src/auto-reply/reply.directive.test.ts +++ b/src/auto-reply/reply.directive.test.ts @@ -828,4 +828,50 @@ describe("directive parsing", () => { }); }); }); + it("defaults elevated to off when sender is not approved", async () => { + await withTempHome(async (home) => { + const storePath = path.join(home, "sessions.json"); + vi.mocked(runEmbeddedPiAgent).mockResolvedValue({ + payloads: [{ text: "done" }], + meta: { + durationMs: 5, + agentMeta: { sessionId: "s", provider: "p", model: "m" }, + }, + }); + + await getReplyFromConfig( + { + Body: "hello", + From: "+1004", + To: "+2000", + Surface: "whatsapp", + SenderE164: "+1004", + }, + {}, + { + agent: { + model: "anthropic/claude-opus-4-5", + workspace: path.join(home, "clawd"), + elevatedDefault: "on", + elevated: { + allowFrom: { whatsapp: ["+1999"] }, + }, + }, + whatsapp: { + allowFrom: ["*"], + }, + session: { store: storePath }, + }, + ); + + expect(runEmbeddedPiAgent).toHaveBeenCalledOnce(); + const call = vi.mocked(runEmbeddedPiAgent).mock.calls[0]?.[0]; + expect(call?.bashElevated).toEqual({ + enabled: true, + allowed: false, + defaultLevel: "off", + }); + }); + }); + });