Skip to content

Commit a4408a9

Browse files
Lucas Teixeira Campos Araujosteipete
authored andcommitted
fix: pass sessionKey to deliverOutboundPayloads for message:sent hook dispatch
Several call sites of deliverOutboundPayloads() were not passing the sessionKey parameter, causing the internal message:sent hook to never fire (the guard `if (!sessionKeyForInternalHooks) return` in deliver.ts silently skipped the triggerInternalHook call). Fixed call sites: - commands/agent/delivery.ts (agent loop replies — main fix) - infra/heartbeat-runner.ts (heartbeat OK + alert delivery) - infra/outbound/message.ts (message tool sends) - cron/isolated-agent/delivery-dispatch.ts (cron job delivery) - gateway/server-node-events.ts (node event forwarding) The sessionKey parameter already existed in DeliverOutboundPayloadsCoreParams and was used by deliver.ts to emit the message:sent internal hook event, but was simply not being passed from most callers.
1 parent 20730af commit a4408a9

File tree

5 files changed

+6
-0
lines changed

5 files changed

+6
-0
lines changed

src/commands/agent/delivery.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ export async function deliverAgentCommandResult(params: {
230230
onError: (err) => logDeliveryError(err),
231231
onPayload: logPayload,
232232
deps: createOutboundSendDeps(deps),
233+
sessionKey: opts.sessionKey,
233234
});
234235
}
235236
}

src/cron/isolated-agent/delivery-dispatch.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ export async function dispatchCronDelivery(
182182
bestEffort: params.deliveryBestEffort,
183183
deps: createOutboundSendDeps(params.deps),
184184
abortSignal: params.abortSignal,
185+
sessionKey: params.agentSessionKey,
185186
});
186187
delivered = deliveryResults.length > 0;
187188
return null;

src/gateway/server-node-events.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ async function sendReceiptAck(params: {
241241
agentId,
242242
bestEffort: true,
243243
deps: createOutboundSendDeps(params.deps),
244+
sessionKey: params.sessionKey,
244245
});
245246
}
246247

src/infra/heartbeat-runner.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,7 @@ export async function runHeartbeatOnce(opts: {
723723
payloads: [{ text: heartbeatOkText }],
724724
agentId,
725725
deps: opts.deps,
726+
sessionKey,
726727
});
727728
return true;
728729
};
@@ -928,6 +929,7 @@ export async function runHeartbeatOnce(opts: {
928929
]),
929930
],
930931
deps: opts.deps,
932+
sessionKey,
931933
});
932934

933935
// Record last delivered heartbeat payload for dedupe.

src/infra/outbound/message.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ export async function sendMessage(params: MessageSendParams): Promise<MessageSen
233233
mediaUrls: mirrorMediaUrls.length ? mirrorMediaUrls : undefined,
234234
}
235235
: undefined,
236+
sessionKey: params.mirror?.sessionKey,
236237
});
237238

238239
return {

0 commit comments

Comments
 (0)