Skip to content

Built for people who want to own their automations. Join the waitlist for an invite.

Package listing

@kody/twilio

src/index.ts

54 lines · 1.3 KB · TypeScript
import { API_HOST, API_ORIGIN } from './validation.ts'
import {
	DEFAULT_ACCOUNT_SID_SECRET,
	DEFAULT_AUTH_TOKEN_SECRET,
	accountSidSetupUrl,
	authTokenSetupUrl,
} from './validation.ts'

export { getAccount } from './account.ts'
export {
	clearConfig,
	getConfig,
	setMessagingServiceSid,
} from './config.ts'
export { listIncomingNumbers } from './incoming-numbers.ts'
export { listMessages } from './messages.ts'
export { sendMessage } from './send-message.ts'
export { smokeTest } from './smoke-test.ts'
export { isDryRun } from './validation.ts'
export { TwilioApiError, sanitizeAccount } from './helpers.ts'

/** Package overview and safety metadata for Twilio helpers. */
export default async function twilioOverview() {
	return {
		auth: 'account-sid-auth-token',
		oauth: false,
		host: API_HOST,
		apiBaseUrl: API_ORIGIN + '/2010-04-01/Accounts/{AccountSid}',
		secrets: {
			accountSid: DEFAULT_ACCOUNT_SID_SECRET,
			authToken: DEFAULT_AUTH_TOKEN_SECRET,
		},
		secretUrls: {
			accountSid: accountSidSetupUrl(),
			authToken: authTokenSetupUrl(),
		},
		exports: [
			'smoke-test',
			'guide',
			'account',
			'incoming-numbers',
			'messages',
			'send-message',
			'config',
			'request',
		],
		safety: {
			sendDefaultsToDryRun: true,
			sendingRequiresConfirmation: true,
			dryRunAvailable: true,
			noBakedInPhoneNumbers: true,
		},
	}
}