fix(agent): forward resolved outbound session context for delivery

This commit is contained in:
Peter Steinberger
2026-02-26 22:14:11 +01:00
parent da9f24dd2e
commit 712e231725
4 changed files with 69 additions and 8 deletions

View File

@@ -48,6 +48,7 @@ describe("deliverAgentCommandResult", () => {
async function runDelivery(params: {
opts: Record<string, unknown>;
outboundSession?: { key?: string; agentId?: string };
sessionEntry?: SessionEntry;
runtime?: RuntimeEnv;
resultText?: string;
@@ -62,6 +63,7 @@ describe("deliverAgentCommandResult", () => {
deps,
runtime,
opts: params.opts as never,
outboundSession: params.outboundSession,
sessionEntry: params.sessionEntry,
result,
payloads: result.payloads,
@@ -234,6 +236,30 @@ describe("deliverAgentCommandResult", () => {
);
});
it("uses caller-provided outbound session context when opts.sessionKey is absent", async () => {
await runDelivery({
opts: {
message: "hello",
deliver: true,
channel: "whatsapp",
to: "+15551234567",
},
outboundSession: {
key: "agent:exec:hook:gmail:thread-1",
agentId: "exec",
},
});
expect(mocks.deliverOutboundPayloads).toHaveBeenCalledWith(
expect.objectContaining({
session: expect.objectContaining({
key: "agent:exec:hook:gmail:thread-1",
agentId: "exec",
}),
}),
);
});
it("prefixes nested agent outputs with context", async () => {
const runtime = createRuntime();
await runDelivery({