2026-02-13 15:34:33 -08:00
|
|
|
import type { sendMessageWhatsApp } from "../channels/web/index.js";
|
|
|
|
|
import type { sendMessageDiscord } from "../discord/send.js";
|
|
|
|
|
import type { sendMessageIMessage } from "../imessage/send.js";
|
2026-02-01 10:03:47 +09:00
|
|
|
import type { OutboundSendDeps } from "../infra/outbound/deliver.js";
|
2026-02-13 15:34:33 -08:00
|
|
|
import type { sendMessageSignal } from "../signal/send.js";
|
|
|
|
|
import type { sendMessageSlack } from "../slack/send.js";
|
|
|
|
|
import type { sendMessageTelegram } from "../telegram/send.js";
|
2025-11-25 03:11:39 +01:00
|
|
|
|
2025-11-25 03:42:12 +01:00
|
|
|
export type CliDeps = {
|
2025-12-07 18:49:55 +01:00
|
|
|
sendMessageWhatsApp: typeof sendMessageWhatsApp;
|
|
|
|
|
sendMessageTelegram: typeof sendMessageTelegram;
|
2025-12-15 10:11:18 -06:00
|
|
|
sendMessageDiscord: typeof sendMessageDiscord;
|
2026-01-04 01:53:15 -06:00
|
|
|
sendMessageSlack: typeof sendMessageSlack;
|
2026-01-01 15:43:15 +01:00
|
|
|
sendMessageSignal: typeof sendMessageSignal;
|
2026-01-02 01:19:13 +01:00
|
|
|
sendMessageIMessage: typeof sendMessageIMessage;
|
2025-11-25 03:42:12 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export function createDefaultDeps(): CliDeps {
|
2025-11-26 00:53:53 +01:00
|
|
|
return {
|
2026-02-13 15:34:33 -08:00
|
|
|
sendMessageWhatsApp: async (...args) => {
|
|
|
|
|
const { sendMessageWhatsApp } = await import("../channels/web/index.js");
|
|
|
|
|
return await sendMessageWhatsApp(...args);
|
|
|
|
|
},
|
|
|
|
|
sendMessageTelegram: async (...args) => {
|
|
|
|
|
const { sendMessageTelegram } = await import("../telegram/send.js");
|
|
|
|
|
return await sendMessageTelegram(...args);
|
|
|
|
|
},
|
|
|
|
|
sendMessageDiscord: async (...args) => {
|
|
|
|
|
const { sendMessageDiscord } = await import("../discord/send.js");
|
|
|
|
|
return await sendMessageDiscord(...args);
|
|
|
|
|
},
|
|
|
|
|
sendMessageSlack: async (...args) => {
|
|
|
|
|
const { sendMessageSlack } = await import("../slack/send.js");
|
|
|
|
|
return await sendMessageSlack(...args);
|
|
|
|
|
},
|
|
|
|
|
sendMessageSignal: async (...args) => {
|
|
|
|
|
const { sendMessageSignal } = await import("../signal/send.js");
|
|
|
|
|
return await sendMessageSignal(...args);
|
|
|
|
|
},
|
|
|
|
|
sendMessageIMessage: async (...args) => {
|
|
|
|
|
const { sendMessageIMessage } = await import("../imessage/send.js");
|
|
|
|
|
return await sendMessageIMessage(...args);
|
|
|
|
|
},
|
2025-11-26 00:53:53 +01:00
|
|
|
};
|
2025-11-25 03:42:12 +01:00
|
|
|
}
|
|
|
|
|
|
2026-01-11 11:45:25 +00:00
|
|
|
// Provider docking: extend this mapping when adding new outbound send deps.
|
2026-01-16 02:58:08 +00:00
|
|
|
export function createOutboundSendDeps(deps: CliDeps): OutboundSendDeps {
|
2026-01-11 11:45:25 +00:00
|
|
|
return {
|
|
|
|
|
sendWhatsApp: deps.sendMessageWhatsApp,
|
|
|
|
|
sendTelegram: deps.sendMessageTelegram,
|
|
|
|
|
sendDiscord: deps.sendMessageDiscord,
|
|
|
|
|
sendSlack: deps.sendMessageSlack,
|
|
|
|
|
sendSignal: deps.sendMessageSignal,
|
|
|
|
|
sendIMessage: deps.sendMessageIMessage,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-13 15:34:33 -08:00
|
|
|
export { logWebSelfId } from "../web/auth-store.js";
|