openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
103 lines (102 loc) • 2.52 kB
TypeScript
import { t as ChannelPlugin } from "../../types.plugin-BIHyhl5u.js";
import { IncomingMessage, ServerResponse } from "node:http";
//#region extensions/sms/src/types.d.ts
interface ResolvedSmsAccount {
accountId: string;
enabled: boolean;
accountSid: string;
authToken: string;
fromNumber: string;
messagingServiceSid: string;
defaultTo: string;
webhookPath: string;
publicWebhookUrl: string;
dangerouslyDisableSignatureValidation: boolean;
dmPolicy: "pairing" | "open" | "allowlist" | "disabled";
allowFrom: string[];
textChunkLimit: number;
}
//#endregion
//#region extensions/sms/src/twilio.d.ts
type TwilioMessageLogEntry = {
sid: string;
direction: string;
status: string;
to: string;
from: string;
errorCode: string;
body: string;
dateCreated: string;
dateSent: string;
};
//#endregion
//#region extensions/sms/src/status.d.ts
type SmsTwilioWebhookProbe = {
status: "skipped";
reason: string;
} | {
status: "unavailable";
reason: string;
} | {
status: "number-not-found";
expectedNumber: string;
} | {
status: "missing";
phoneNumber: string;
expectedUrl: string;
configuredMethod: string;
} | {
status: "method-mismatch";
phoneNumber: string;
expectedUrl: string;
configuredUrl: string;
configuredMethod: string;
} | {
status: "url-mismatch";
phoneNumber: string;
expectedUrl: string;
configuredUrl: string;
configuredMethod: string;
} | {
status: "matches";
phoneNumber: string;
expectedUrl: string;
configuredUrl: string;
configuredMethod: string;
voiceUrl: string;
} | {
status: "messaging-service-missing";
serviceSid: string;
expectedUrl: string;
configuredMethod: string;
} | {
status: "messaging-service-method-mismatch";
serviceSid: string;
expectedUrl: string;
configuredUrl: string;
configuredMethod: string;
} | {
status: "messaging-service-url-mismatch";
serviceSid: string;
expectedUrl: string;
configuredUrl: string;
configuredMethod: string;
} | {
status: "messaging-service-matches";
serviceSid: string;
expectedUrl: string;
configuredUrl: string;
configuredMethod: string;
};
type SmsProbe = {
ok: boolean;
error?: string;
webhook: SmsTwilioWebhookProbe;
recentInbound?: Pick<TwilioMessageLogEntry, "sid" | "direction" | "status" | "errorCode" | "dateCreated" | "dateSent">;
hints: string[];
};
//#endregion
//#region extensions/sms/src/channel.d.ts
declare const smsPlugin: ChannelPlugin<ResolvedSmsAccount, SmsProbe>;
//#endregion
export { smsPlugin };