refactor(cli): share outbound send dependency mapping

This commit is contained in:
Peter Steinberger
2026-02-21 20:22:35 +00:00
parent 84686db850
commit a1ccd03da0
4 changed files with 59 additions and 26 deletions

View File

@@ -1,22 +1,11 @@
import type { OutboundSendDeps } from "../infra/outbound/deliver.js";
import {
createOutboundSendDepsFromCliSource,
type CliOutboundSendSource,
} from "./outbound-send-mapping.js";
export type CliDeps = {
sendMessageWhatsApp: NonNullable<OutboundSendDeps["sendWhatsApp"]>;
sendMessageTelegram: NonNullable<OutboundSendDeps["sendTelegram"]>;
sendMessageDiscord: NonNullable<OutboundSendDeps["sendDiscord"]>;
sendMessageSlack: NonNullable<OutboundSendDeps["sendSlack"]>;
sendMessageSignal: NonNullable<OutboundSendDeps["sendSignal"]>;
sendMessageIMessage: NonNullable<OutboundSendDeps["sendIMessage"]>;
};
export type CliDeps = Required<CliOutboundSendSource>;
// Provider docking: extend this mapping when adding new outbound send deps.
export function createOutboundSendDeps(deps: CliDeps): OutboundSendDeps {
return {
sendWhatsApp: deps.sendMessageWhatsApp,
sendTelegram: deps.sendMessageTelegram,
sendDiscord: deps.sendMessageDiscord,
sendSlack: deps.sendMessageSlack,
sendSignal: deps.sendMessageSignal,
sendIMessage: deps.sendMessageIMessage,
};
return createOutboundSendDepsFromCliSource(deps);
}