| import type { sendMessageWhatsApp } from "../channels/web/index.js"; |
| import type { sendMessageDiscord } from "../discord/send.js"; |
| import type { sendMessageIMessage } from "../imessage/send.js"; |
| import type { OutboundSendDeps } from "../infra/outbound/deliver.js"; |
| import type { sendMessageSignal } from "../signal/send.js"; |
| import type { sendMessageSlack } from "../slack/send.js"; |
| import type { sendMessageTelegram } from "../telegram/send.js"; |
|
|
| export type CliDeps = { |
| sendMessageWhatsApp: typeof sendMessageWhatsApp; |
| sendMessageTelegram: typeof sendMessageTelegram; |
| sendMessageDiscord: typeof sendMessageDiscord; |
| sendMessageSlack: typeof sendMessageSlack; |
| sendMessageSignal: typeof sendMessageSignal; |
| sendMessageIMessage: typeof sendMessageIMessage; |
| }; |
|
|
| export function createDefaultDeps(): CliDeps { |
| return { |
| 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); |
| }, |
| }; |
| } |
|
|
| |
| 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, |
| }; |
| } |
|
|
| export { logWebSelfId } from "../web/auth-store.js"; |
|
|