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.
This commit is contained in:
Lucas Teixeira Campos Araujo
2026-02-26 09:36:54 -04:00
committed by Peter Steinberger
parent 20730af20b
commit a4408a917e
5 changed files with 6 additions and 0 deletions

View File

@@ -230,6 +230,7 @@ export async function deliverAgentCommandResult(params: {
onError: (err) => logDeliveryError(err),
onPayload: logPayload,
deps: createOutboundSendDeps(deps),
sessionKey: opts.sessionKey,
});
}
}