@k-msg/channel 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ import { type KakaoChannel, type KakaoChannelCategories, KMsgError, type Result } from "@k-msg/core";
2
+ import type { KakaoChannelAddParams, KakaoChannelApiAdapter, KakaoChannelAuthParams, KakaoChannelListParams, KakaoChannelRuntimeProvider } from "../types";
3
+ export declare class AligoChannelAdapter implements KakaoChannelApiAdapter {
4
+ private readonly provider;
5
+ constructor(provider: KakaoChannelRuntimeProvider);
6
+ list(params?: KakaoChannelListParams): Promise<Result<KakaoChannel[], KMsgError>>;
7
+ categories(): Promise<Result<KakaoChannelCategories, KMsgError>>;
8
+ auth(params: KakaoChannelAuthParams): Promise<Result<void, KMsgError>>;
9
+ add(params: KakaoChannelAddParams): Promise<Result<KakaoChannel, KMsgError>>;
10
+ }
@@ -0,0 +1,7 @@
1
+ import type { KakaoChannelApiOperation, KakaoChannelRuntimeProvider } from "../types";
2
+ export declare class IwinvChannelAdapter {
3
+ private readonly provider;
4
+ readonly mode: "manual";
5
+ constructor(provider: KakaoChannelRuntimeProvider);
6
+ unsupportedMessage(operation: KakaoChannelApiOperation): string;
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { KakaoChannelRuntimeProvider } from "../types";
2
+ import { AligoChannelAdapter } from "./aligo.adapter";
3
+ export declare class MockChannelAdapter extends AligoChannelAdapter {
4
+ constructor(provider: KakaoChannelRuntimeProvider);
5
+ }
@@ -0,0 +1,7 @@
1
+ import type { KakaoChannelApiOperation, KakaoChannelRuntimeProvider } from "../types";
2
+ export declare class SolapiChannelAdapter {
3
+ private readonly provider;
4
+ readonly mode: "none";
5
+ constructor(provider: KakaoChannelRuntimeProvider);
6
+ unsupportedMessage(operation: KakaoChannelApiOperation): string;
7
+ }
@@ -0,0 +1,10 @@
1
+ import type { KakaoChannelAliasEntry, KakaoChannelListItem, KakaoChannelResolveInput, KakaoChannelResolverConfig, ResolvedKakaoChannelBinding } from "./types";
2
+ export declare class KakaoChannelBindingResolver {
3
+ private readonly config;
4
+ constructor(config: KakaoChannelResolverConfig);
5
+ list(params?: {
6
+ providerId?: string;
7
+ }): KakaoChannelListItem[];
8
+ resolve(input?: KakaoChannelResolveInput): ResolvedKakaoChannelBinding;
9
+ getAlias(alias: string): KakaoChannelAliasEntry | undefined;
10
+ }
@@ -0,0 +1,4 @@
1
+ import type { KakaoChannelCapability, KakaoChannelRuntimeProvider } from "./types";
2
+ export declare class KakaoChannelCapabilityService {
3
+ resolve(provider: KakaoChannelRuntimeProvider): KakaoChannelCapability;
4
+ }
@@ -0,0 +1,19 @@
1
+ import { type KakaoChannel, type KakaoChannelCategories, KMsgError, type Result } from "@k-msg/core";
2
+ import { KakaoChannelCapabilityService } from "./kakao-channel-capability.service";
3
+ import type { KakaoChannelAddParams, KakaoChannelAuthParams, KakaoChannelCapability, KakaoChannelListItem, KakaoChannelListParams, KakaoChannelRuntimeProvider } from "./types";
4
+ export declare class KakaoChannelLifecycleService {
5
+ private readonly provider;
6
+ private readonly capability;
7
+ private readonly providerType?;
8
+ private readonly apiAdapter?;
9
+ private readonly iwinvAdapter?;
10
+ private readonly solapiAdapter?;
11
+ constructor(provider: KakaoChannelRuntimeProvider, capabilityService?: KakaoChannelCapabilityService);
12
+ getCapability(): KakaoChannelCapability;
13
+ private unsupported;
14
+ private ensureApi;
15
+ list(params?: KakaoChannelListParams): Promise<Result<KakaoChannelListItem[], KMsgError>>;
16
+ categories(): Promise<Result<KakaoChannelCategories, KMsgError>>;
17
+ auth(params: KakaoChannelAuthParams): Promise<Result<void, KMsgError>>;
18
+ add(params: KakaoChannelAddParams): Promise<Result<KakaoChannel, KMsgError>>;
19
+ }
@@ -0,0 +1,101 @@
1
+ import type { KakaoChannel, KakaoChannelCategories, KMsgError, ProviderOnboardingSpec, Result } from "@k-msg/core";
2
+ export type KakaoChannelCapabilityMode = "api" | "manual" | "none";
3
+ export type KakaoChannelBindingSource = "explicit" | "alias" | "defaults" | "provider_config" | "routing" | "single_provider" | "unknown";
4
+ export type KakaoChannelApiOperation = "list" | "categories" | "auth" | "add";
5
+ export interface KakaoChannelBinding {
6
+ alias?: string;
7
+ providerId?: string;
8
+ senderKey?: string;
9
+ plusId?: string;
10
+ name?: string;
11
+ }
12
+ export interface ResolvedKakaoChannelBinding extends KakaoChannelBinding {
13
+ providerType?: string;
14
+ providerIdSource: KakaoChannelBindingSource;
15
+ senderKeySource?: KakaoChannelBindingSource;
16
+ plusIdSource?: KakaoChannelBindingSource;
17
+ }
18
+ export interface KakaoChannelListItem extends KakaoChannelBinding {
19
+ source: "api" | "config";
20
+ status?: string;
21
+ }
22
+ export interface KakaoChannelListParams {
23
+ plusId?: string;
24
+ senderKey?: string;
25
+ }
26
+ export interface KakaoChannelAuthParams {
27
+ plusId: string;
28
+ phoneNumber: string;
29
+ }
30
+ export interface KakaoChannelAddParams {
31
+ plusId: string;
32
+ authNum: string;
33
+ phoneNumber: string;
34
+ categoryCode: string;
35
+ }
36
+ export interface KakaoChannelRuntimeProvider {
37
+ id: string;
38
+ getOnboardingSpec?: () => ProviderOnboardingSpec;
39
+ listKakaoChannels?: (params?: KakaoChannelListParams) => Promise<Result<KakaoChannel[], KMsgError>>;
40
+ listKakaoChannelCategories?: () => Promise<Result<KakaoChannelCategories, KMsgError>>;
41
+ requestKakaoChannelAuth?: (params: KakaoChannelAuthParams) => Promise<Result<void, KMsgError>>;
42
+ addKakaoChannel?: (params: KakaoChannelAddParams) => Promise<Result<KakaoChannel, KMsgError>>;
43
+ }
44
+ export interface KakaoChannelApiAdapter {
45
+ list(params?: KakaoChannelListParams): Promise<Result<KakaoChannel[], KMsgError>>;
46
+ categories(): Promise<Result<KakaoChannelCategories, KMsgError>>;
47
+ auth(params: KakaoChannelAuthParams): Promise<Result<void, KMsgError>>;
48
+ add(params: KakaoChannelAddParams): Promise<Result<KakaoChannel, KMsgError>>;
49
+ }
50
+ export interface KakaoChannelCapability {
51
+ providerId: string;
52
+ providerType?: string;
53
+ mode: KakaoChannelCapabilityMode;
54
+ supports: {
55
+ list: boolean;
56
+ categories: boolean;
57
+ auth: boolean;
58
+ add: boolean;
59
+ };
60
+ }
61
+ export interface KakaoChannelAliasEntry {
62
+ providerId: string;
63
+ senderKey?: string;
64
+ plusId?: string;
65
+ name?: string;
66
+ [key: string]: unknown;
67
+ }
68
+ export interface KakaoProviderConfigEntry {
69
+ id: string;
70
+ type?: string;
71
+ config?: Record<string, unknown>;
72
+ [key: string]: unknown;
73
+ }
74
+ export interface KakaoChannelResolverConfig {
75
+ routing?: {
76
+ defaultProviderId?: string;
77
+ [key: string]: unknown;
78
+ };
79
+ defaults?: {
80
+ kakao?: {
81
+ channel?: string;
82
+ senderKey?: string;
83
+ plusId?: string;
84
+ [key: string]: unknown;
85
+ };
86
+ [key: string]: unknown;
87
+ };
88
+ aliases?: {
89
+ kakaoChannels?: Record<string, KakaoChannelAliasEntry>;
90
+ [key: string]: unknown;
91
+ };
92
+ providers?: KakaoProviderConfigEntry[];
93
+ [key: string]: unknown;
94
+ }
95
+ export interface KakaoChannelResolveInput {
96
+ providerId?: string;
97
+ channelAlias?: string;
98
+ senderKey?: string;
99
+ plusId?: string;
100
+ strictAlias?: boolean;
101
+ }
@@ -0,0 +1,8 @@
1
+ export * from "../types/channel.types";
2
+ export { KakaoChannelManager } from "./kakao/channel";
3
+ export { KakaoSenderNumberManager } from "./kakao/sender-number";
4
+ export { type AuditLogEntry, ChannelCRUD, type ChannelCRUDOptions, type PaginatedResult, type PaginationOptions, } from "./management/crud";
5
+ export { type AccessContext, ActionType, type Permission, type PermissionCheck, PermissionManager, type PermissionResult, PermissionScope, ResourceType, type Role, type User, } from "./management/permissions";
6
+ export { ChannelService } from "./services/channel.service";
7
+ export { type AutoVerificationResult, type BusinessInfo, BusinessVerifier, type BusinessVerifierOptions, type DocumentValidationResult, type VerificationRequest, } from "./verification/business.verify";
8
+ export { NumberVerifier, type NumberVerifierOptions, type PhoneNumberInfo, type PhoneVerificationRequest, type PhoneVerificationStatus, type SMSProvider, type VerificationAttempt, VerificationMethod, VerificationType, type VoiceProvider, } from "./verification/number.verify";