UNPKG

@k-msg/provider

Version:

Complete provider system with adapters and implementations for K-Message platform

165 lines (164 loc) 6.01 kB
export type ProviderConfigFieldType = "string" | "number" | "boolean" | "stringRecord"; export interface ProviderConfigFieldSpec { type: ProviderConfigFieldType; required?: boolean; description?: string; defaultValue?: string; } export type ProviderConfigFieldMap = Record<string, ProviderConfigFieldSpec>; export declare const providerConfigFieldSpecs: { readonly mock: {}; readonly aligo: { readonly apiKey: { readonly type: "string"; readonly required: true; readonly description: "Aligo API key"; readonly defaultValue: "env:ALIGO_API_KEY"; }; readonly userId: { readonly type: "string"; readonly required: true; readonly description: "Aligo user id"; readonly defaultValue: "env:ALIGO_USER_ID"; }; readonly senderKey: { readonly type: "string"; readonly description: "Default Kakao sender key"; readonly defaultValue: "env:ALIGO_SENDER_KEY"; }; readonly sender: { readonly type: "string"; readonly description: "Default SMS/LMS sender number"; readonly defaultValue: "env:ALIGO_SENDER"; }; readonly testMode: { readonly type: "boolean"; readonly description: "Enable Aligo test mode"; }; readonly debug: { readonly type: "boolean"; readonly description: "Enable debug logging"; }; readonly smsBaseUrl: { readonly type: "string"; readonly description: "Override SMS API base URL"; }; readonly alimtalkBaseUrl: { readonly type: "string"; readonly description: "Override AlimTalk API base URL"; }; readonly friendtalkEndpoint: { readonly type: "string"; readonly description: "Override FriendTalk endpoint path"; }; }; readonly iwinv: { readonly apiKey: { readonly type: "string"; readonly required: true; readonly description: "IWINV AlimTalk API key (AUTH header)"; readonly defaultValue: "env:IWINV_API_KEY"; }; readonly smsApiKey: { readonly type: "string"; readonly description: "IWINV SMS API key"; readonly defaultValue: "env:IWINV_SMS_API_KEY"; }; readonly smsAuthKey: { readonly type: "string"; readonly description: "IWINV SMS auth key"; readonly defaultValue: "env:IWINV_SMS_AUTH_KEY"; }; readonly smsCompanyId: { readonly type: "string"; readonly description: "IWINV SMS company id"; readonly defaultValue: "env:IWINV_SMS_COMPANY_ID"; }; readonly senderNumber: { readonly type: "string"; readonly description: "Default sender number"; readonly defaultValue: "env:IWINV_SENDER_NUMBER"; }; readonly smsSenderNumber: { readonly type: "string"; readonly description: "SMS/LMS sender number override"; }; readonly sendEndpoint: { readonly type: "string"; readonly description: "Override IWINV send endpoint path"; }; readonly xForwardedFor: { readonly type: "string"; readonly description: "X-Forwarded-For header override"; }; readonly extraHeaders: { readonly type: "stringRecord"; readonly description: "Additional HTTP headers"; }; readonly ipRetryCount: { readonly type: "number"; readonly description: "IP-restriction retry count"; }; readonly ipRetryDelayMs: { readonly type: "number"; readonly description: "IP-restriction retry delay in ms"; }; readonly ipAlertWebhookUrl: { readonly type: "string"; readonly description: "Webhook URL for IP restriction alerts"; }; readonly debug: { readonly type: "boolean"; readonly description: "Enable debug logging"; }; }; readonly solapi: { readonly apiKey: { readonly type: "string"; readonly required: true; readonly description: "SOLAPI API key"; readonly defaultValue: "env:SOLAPI_API_KEY"; }; readonly apiSecret: { readonly type: "string"; readonly required: true; readonly description: "SOLAPI API secret"; readonly defaultValue: "env:SOLAPI_API_SECRET"; }; readonly defaultFrom: { readonly type: "string"; readonly description: "Default sender number"; readonly defaultValue: "env:SOLAPI_DEFAULT_FROM"; }; readonly kakaoPfId: { readonly type: "string"; readonly description: "Default Kakao PF ID"; readonly defaultValue: "env:SOLAPI_KAKAO_PF_ID"; }; readonly rcsBrandId: { readonly type: "string"; readonly description: "Default RCS brand id"; }; readonly naverTalkId: { readonly type: "string"; readonly description: "Default Naver Talk id"; }; readonly appId: { readonly type: "string"; readonly description: "SOLAPI app id"; }; readonly defaultCountry: { readonly type: "string"; readonly description: "Default country code"; }; readonly baseUrl: { readonly type: "string"; readonly description: "Override SOLAPI API base URL"; }; readonly debug: { readonly type: "boolean"; readonly description: "Enable debug logging"; }; }; }; export type ProviderTypeWithConfig = keyof typeof providerConfigFieldSpecs;