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

@@ -16,7 +16,7 @@ import {
normalizeOutboundPayloads,
normalizeOutboundPayloadsForJson,
} from "../../infra/outbound/payloads.js";
import { buildOutboundSessionContext } from "../../infra/outbound/session-context.js";
import type { OutboundSessionContext } from "../../infra/outbound/session-context.js";
import type { RuntimeEnv } from "../../runtime.js";
import { isInternalMessageChannel } from "../../utils/message-channel.js";
import type { AgentCommandOpts } from "./types.js";
@@ -64,11 +64,12 @@ export async function deliverAgentCommandResult(params: {
deps: CliDeps;
runtime: RuntimeEnv;
opts: AgentCommandOpts;
outboundSession: OutboundSessionContext | undefined;
sessionEntry: SessionEntry | undefined;
result: RunResult;
payloads: RunResult["payloads"];
}) {
const { cfg, deps, runtime, opts, sessionEntry, payloads, result } = params;
const { cfg, deps, runtime, opts, outboundSession, sessionEntry, payloads, result } = params;
const deliver = opts.deliver === true;
const bestEffortDeliver = opts.bestEffortDeliver === true;
const turnSourceChannel = opts.runContext?.messageChannel ?? opts.messageChannel;
@@ -212,18 +213,13 @@ export async function deliverAgentCommandResult(params: {
}
if (deliver && deliveryChannel && !isInternalMessageChannel(deliveryChannel)) {
if (deliveryTarget) {
const deliverySession = buildOutboundSessionContext({
cfg,
agentId: opts.agentId,
sessionKey: opts.sessionKey,
});
await deliverOutboundPayloads({
cfg,
channel: deliveryChannel,
to: deliveryTarget,
accountId: resolvedAccountId,
payloads: deliveryPayloads,
session: deliverySession,
session: outboundSession,
replyToId: resolvedReplyToId ?? null,
threadId: resolvedThreadTarget ?? null,
bestEffort: bestEffortDeliver,