refactor: add provider barrels and webhook grouping
This commit is contained in:
@@ -5,13 +5,13 @@ import { waitForever } from "./wait.js";
|
||||
import { readEnv } from "../env.js";
|
||||
import { monitorTwilio as monitorTwilioImpl } from "../twilio/monitor.js";
|
||||
import { sendMessage, waitForFinalStatus } from "../twilio/send.js";
|
||||
import { sendMessageWeb, monitorWebProvider, logWebSelfId } from "../provider-web.js";
|
||||
import { sendMessageWeb, monitorWebProvider, logWebSelfId } from "../providers/web/index.js";
|
||||
import { assertProvider, sleep } from "../utils.js";
|
||||
import { createClient } from "../twilio/client.js";
|
||||
import { listRecentMessages } from "../twilio/messages.js";
|
||||
import { updateWebhook } from "../twilio/update-webhook.js";
|
||||
import { updateWebhook } from "../webhook/update.js";
|
||||
import { findWhatsappSenderSid } from "../twilio/senders.js";
|
||||
import { startWebhook } from "../twilio/webhook.js";
|
||||
import { startWebhook } from "../webhook/server.js";
|
||||
import { defaultRuntime, type RuntimeEnv } from "../runtime.js";
|
||||
import { info } from "../globals.js";
|
||||
import { autoReplyIfConfigured } from "../auto-reply/reply.js";
|
||||
@@ -25,7 +25,7 @@ export type CliDeps = {
|
||||
monitorTwilio: typeof monitorTwilio;
|
||||
listRecentMessages: typeof listRecentMessages;
|
||||
ensurePortAvailable: typeof ensurePortAvailable;
|
||||
startWebhook: typeof import("../twilio/webhook.js").startWebhook;
|
||||
startWebhook: typeof startWebhook;
|
||||
waitForever: typeof waitForever;
|
||||
ensureBinary: typeof ensureBinary;
|
||||
ensureFunnel: typeof ensureFunnel;
|
||||
|
||||
@@ -121,7 +121,9 @@ Examples:
|
||||
const provider = await pickProvider(providerPref as Provider | "auto");
|
||||
|
||||
if (provider === "web") {
|
||||
defaultRuntime.log(infoFmt("Provider: web (personal WhatsApp Web session)"));
|
||||
defaultRuntime.log(
|
||||
info("Provider: web (personal WhatsApp Web session)"),
|
||||
);
|
||||
logWebSelfId();
|
||||
try {
|
||||
await monitorWebProvider(Boolean(opts.verbose));
|
||||
|
||||
1
src/providers/provider.types.ts
Normal file
1
src/providers/provider.types.ts
Normal file
@@ -0,0 +1 @@
|
||||
export type Provider = "twilio" | "web";
|
||||
13
src/providers/twilio/index.ts
Normal file
13
src/providers/twilio/index.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export { sendTypingIndicator } from "../../twilio/typing.js";
|
||||
export { createClient } from "../../twilio/client.js";
|
||||
export { monitorTwilio } from "../../twilio/monitor.js";
|
||||
export { sendMessage, waitForFinalStatus } from "../../twilio/send.js";
|
||||
export { listRecentMessages, formatMessageLine } from "../../twilio/messages.js";
|
||||
export {
|
||||
updateWebhook,
|
||||
findIncomingNumberSid,
|
||||
findMessagingServiceSid,
|
||||
setMessagingServiceWebhook,
|
||||
} from "../../twilio/update-webhook.js";
|
||||
export { findWhatsappSenderSid } from "../../twilio/senders.js";
|
||||
export { formatTwilioError, logTwilioSendError } from "../../twilio/utils.js";
|
||||
12
src/providers/web/index.ts
Normal file
12
src/providers/web/index.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
export {
|
||||
createWaSocket,
|
||||
waitForWaConnection,
|
||||
sendMessageWeb,
|
||||
loginWeb,
|
||||
monitorWebInbox,
|
||||
monitorWebProvider,
|
||||
webAuthExists,
|
||||
logWebSelfId,
|
||||
pickProvider,
|
||||
WA_WEB_AUTH_DIR,
|
||||
} from "../../provider-web.js";
|
||||
7
src/webhook/server.ts
Normal file
7
src/webhook/server.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { RuntimeEnv } from "../runtime.js";
|
||||
import { startWebhook } from "../twilio/webhook.js";
|
||||
|
||||
// Thin wrapper to keep webhook server co-located with other webhook helpers.
|
||||
export { startWebhook };
|
||||
|
||||
export type WebhookServer = Awaited<ReturnType<typeof startWebhook>>;
|
||||
6
src/webhook/update.ts
Normal file
6
src/webhook/update.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
export {
|
||||
updateWebhook,
|
||||
setMessagingServiceWebhook,
|
||||
findIncomingNumberSid,
|
||||
findMessagingServiceSid,
|
||||
} from "../twilio/update-webhook.js";
|
||||
Reference in New Issue
Block a user