@k-msg/messaging 0.5.0 → 0.6.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.
- package/dist/delivery/tracker.d.ts +6 -6
- package/dist/index.js +23 -23
- package/dist/index.js.map +6 -6
- package/dist/index.mjs +29 -29
- package/dist/index.mjs.map +6 -6
- package/dist/queue/retry.handler.d.ts +4 -4
- package/dist/sender/bulk.sender.d.ts +2 -1
- package/dist/types/message.types.d.ts +20 -6
- package/package.json +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Retry handler for failed message deliveries
|
|
3
3
|
*/
|
|
4
|
-
import { EventEmitter } from "events";
|
|
4
|
+
import { EventEmitter } from "node:events";
|
|
5
5
|
import { type DeliveryReport, MessageStatus } from "../types/message.types";
|
|
6
6
|
export interface RetryPolicy {
|
|
7
7
|
maxAttempts: number;
|
|
@@ -19,8 +19,8 @@ export interface RetryAttempt {
|
|
|
19
19
|
scheduledAt: Date;
|
|
20
20
|
provider: string;
|
|
21
21
|
templateCode: string;
|
|
22
|
-
variables: Record<string,
|
|
23
|
-
metadata: Record<string,
|
|
22
|
+
variables: Record<string, unknown>;
|
|
23
|
+
metadata: Record<string, unknown>;
|
|
24
24
|
}
|
|
25
25
|
export interface RetryQueueItem {
|
|
26
26
|
id: string;
|
|
@@ -39,7 +39,7 @@ export interface RetryHandlerOptions {
|
|
|
39
39
|
maxQueueSize: number;
|
|
40
40
|
enablePersistence: boolean;
|
|
41
41
|
onRetryExhausted?: (item: RetryQueueItem) => Promise<void>;
|
|
42
|
-
onRetrySuccess?: (item: RetryQueueItem, result:
|
|
42
|
+
onRetrySuccess?: (item: RetryQueueItem, result: unknown) => Promise<void>;
|
|
43
43
|
onRetryFailed?: (item: RetryQueueItem, error: Error) => Promise<void>;
|
|
44
44
|
}
|
|
45
45
|
export interface RetryHandlerMetrics {
|
|
@@ -7,7 +7,8 @@ export declare class BulkMessageSender {
|
|
|
7
7
|
sendBulk(request: BulkMessageRequest): Promise<BulkMessageResult>;
|
|
8
8
|
private processBatchesAsync;
|
|
9
9
|
private processBatch;
|
|
10
|
-
private
|
|
10
|
+
private sendManyWithRetry;
|
|
11
|
+
private toRecipientResult;
|
|
11
12
|
private createBatches;
|
|
12
13
|
private delay;
|
|
13
14
|
private generateRequestId;
|
|
@@ -10,7 +10,7 @@ export interface MessageRequest {
|
|
|
10
10
|
export interface Recipient {
|
|
11
11
|
phoneNumber: string;
|
|
12
12
|
variables?: VariableMap;
|
|
13
|
-
metadata?: Record<string,
|
|
13
|
+
metadata?: Record<string, unknown>;
|
|
14
14
|
}
|
|
15
15
|
export interface VariableMap {
|
|
16
16
|
[key: string]: string | number | Date;
|
|
@@ -57,7 +57,7 @@ export interface RecipientResult {
|
|
|
57
57
|
messageId?: string;
|
|
58
58
|
status: MessageStatus;
|
|
59
59
|
error?: MessageError;
|
|
60
|
-
metadata?: Record<string,
|
|
60
|
+
metadata?: Record<string, unknown>;
|
|
61
61
|
}
|
|
62
62
|
export declare enum MessageStatus {
|
|
63
63
|
QUEUED = "QUEUED",// 큐에 대기 중
|
|
@@ -71,7 +71,7 @@ export declare enum MessageStatus {
|
|
|
71
71
|
export interface MessageError {
|
|
72
72
|
code: string;
|
|
73
73
|
message: string;
|
|
74
|
-
details?: Record<string,
|
|
74
|
+
details?: Record<string, unknown>;
|
|
75
75
|
}
|
|
76
76
|
export interface DeliveryReport {
|
|
77
77
|
messageId: string;
|
|
@@ -83,7 +83,7 @@ export interface DeliveryReport {
|
|
|
83
83
|
failedAt?: Date;
|
|
84
84
|
error?: MessageError;
|
|
85
85
|
attempts: DeliveryAttempt[];
|
|
86
|
-
metadata: Record<string,
|
|
86
|
+
metadata: Record<string, unknown>;
|
|
87
87
|
}
|
|
88
88
|
export interface DeliveryAttempt {
|
|
89
89
|
attemptNumber: number;
|
|
@@ -92,7 +92,13 @@ export interface DeliveryAttempt {
|
|
|
92
92
|
error?: MessageError;
|
|
93
93
|
provider: string;
|
|
94
94
|
}
|
|
95
|
+
export type BulkMessageType = "ALIMTALK" | "NSA" | "RCS_TPL" | "RCS_ITPL" | "RCS_LTPL";
|
|
95
96
|
export interface BulkMessageRequest {
|
|
97
|
+
/**
|
|
98
|
+
* BulkMessageSender currently targets template-based channels.
|
|
99
|
+
* Default: "ALIMTALK"
|
|
100
|
+
*/
|
|
101
|
+
type?: BulkMessageType;
|
|
96
102
|
templateCode: string;
|
|
97
103
|
recipients: BulkRecipient[];
|
|
98
104
|
commonVariables?: VariableMap;
|
|
@@ -101,9 +107,17 @@ export interface BulkMessageRequest {
|
|
|
101
107
|
export interface BulkRecipient {
|
|
102
108
|
phoneNumber: string;
|
|
103
109
|
variables: VariableMap;
|
|
104
|
-
metadata?: Record<string,
|
|
110
|
+
metadata?: Record<string, unknown>;
|
|
105
111
|
}
|
|
106
112
|
export interface BulkSendingOptions extends SendingOptions {
|
|
113
|
+
/**
|
|
114
|
+
* Sender number / id for bulk sends (optional if KMsg defaults cover it).
|
|
115
|
+
*/
|
|
116
|
+
from?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Back-compat alias for legacy callers.
|
|
119
|
+
*/
|
|
120
|
+
senderNumber?: string;
|
|
107
121
|
batchSize?: number;
|
|
108
122
|
batchDelay?: number;
|
|
109
123
|
maxConcurrency?: number;
|
|
@@ -149,7 +163,7 @@ export declare enum MessageEventType {
|
|
|
149
163
|
QUOTA_EXCEEDED = "system.quota_exceeded",
|
|
150
164
|
PROVIDER_ERROR = "system.provider_error"
|
|
151
165
|
}
|
|
152
|
-
export interface MessageEvent<T =
|
|
166
|
+
export interface MessageEvent<T = unknown> {
|
|
153
167
|
id: string;
|
|
154
168
|
type: MessageEventType;
|
|
155
169
|
timestamp: Date;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@k-msg/messaging",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"packageManager": "bun@1.3.8",
|
|
5
5
|
"description": "AlimTalk messaging core for sending, queuing, and tracking messages",
|
|
6
6
|
"type": "module",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"zod": "^4.0.14",
|
|
33
|
-
"@k-msg/core": "0.
|
|
34
|
-
"@k-msg/provider": "0.
|
|
35
|
-
"@k-msg/template": "0.
|
|
33
|
+
"@k-msg/core": "0.6.0",
|
|
34
|
+
"@k-msg/provider": "0.6.0",
|
|
35
|
+
"@k-msg/template": "0.6.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"typescript": "^5.7.2",
|