core-services-sdk 1.3.49 → 1.3.51
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/package.json +1 -1
- package/src/ids/generators.js +86 -173
- package/src/ids/prefixes.js +61 -65
- package/src/instant-messages/index.js +2 -0
- package/src/instant-messages/telegram-apis/telegram-apis.js +301 -0
- package/src/instant-messages/whatsapp-apis/whatsapp-apis.js +401 -0
- package/tests/ids/generators.unit.test.js +65 -1
- package/tests/ids/prefixes.unit.test.js +30 -21
- package/tests/instant-messages/telegram-apis.unit.test.js +157 -0
- package/tests/instant-messages/whatsapp-apis.unit.test.js +277 -0
- package/types/instant-messages/index.d.ts +2 -0
- package/types/instant-messages/telegram-apis/telegram-apis.d.ts +105 -0
- package/types/instant-messages/whatsapp-apis/whatsapp-apis.d.ts +73 -0
package/package.json
CHANGED
package/src/ids/generators.js
CHANGED
|
@@ -4,12 +4,7 @@ import { ID_PREFIXES } from './prefixes.js'
|
|
|
4
4
|
/**
|
|
5
5
|
* Generates a new ULID string.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @returns {string} A new ULID.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* generateId() // '01HZY3M7K4FJ9A8Q4Y1ZB5NX3T'
|
|
7
|
+
* @returns {string}
|
|
13
8
|
*/
|
|
14
9
|
export const generateId = () => {
|
|
15
10
|
return ulid()
|
|
@@ -18,222 +13,140 @@ export const generateId = () => {
|
|
|
18
13
|
/**
|
|
19
14
|
* Generates a unique ID with the given prefix.
|
|
20
15
|
*
|
|
21
|
-
* @param {string} prefix
|
|
22
|
-
* @returns {string}
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* generatePrefixedId('usr') // 'usr_01HZY3M7K4FJ9A8Q4Y1ZB5NX3T'
|
|
16
|
+
* @param {string} prefix
|
|
17
|
+
* @returns {string}
|
|
26
18
|
*/
|
|
27
19
|
export const generatePrefixedId = (prefix) => {
|
|
28
20
|
return `${prefix}_${generateId()}`
|
|
29
21
|
}
|
|
30
22
|
|
|
31
|
-
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
|
|
35
|
-
*/
|
|
23
|
+
/* =========================
|
|
24
|
+
* Core identity
|
|
25
|
+
* ========================= */
|
|
26
|
+
|
|
36
27
|
export const generateUserId = () => generatePrefixedId(ID_PREFIXES.USER)
|
|
37
28
|
|
|
38
|
-
/**
|
|
39
|
-
* Generates a tenant ID with a `tnt_` prefix.
|
|
40
|
-
*
|
|
41
|
-
* @returns {string} A tenant ID.
|
|
42
|
-
*/
|
|
43
29
|
export const generateTenantId = () => generatePrefixedId(ID_PREFIXES.TENANT)
|
|
44
30
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
31
|
+
export const generateSessionId = () => generatePrefixedId(ID_PREFIXES.SESSION)
|
|
32
|
+
|
|
33
|
+
export const generateOnboardingId = () =>
|
|
34
|
+
generatePrefixedId(ID_PREFIXES.ONBOARDING)
|
|
35
|
+
|
|
36
|
+
/* =========================
|
|
37
|
+
* Authorization
|
|
38
|
+
* ========================= */
|
|
39
|
+
|
|
50
40
|
export const generatePermissionId = () =>
|
|
51
41
|
generatePrefixedId(ID_PREFIXES.PERMISSION)
|
|
52
42
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
*/
|
|
58
|
-
export const generateCorrelationId = () =>
|
|
59
|
-
generatePrefixedId(ID_PREFIXES.CORRELATION)
|
|
43
|
+
export const generateRoleId = () => generatePrefixedId(ID_PREFIXES.ROLE)
|
|
44
|
+
|
|
45
|
+
export const generateRolePermissionsId = () =>
|
|
46
|
+
generatePrefixedId(ID_PREFIXES.ROLE_PERMISSION)
|
|
60
47
|
|
|
61
|
-
/**
|
|
62
|
-
* Generates a verification ID with a `vrf_` prefix.
|
|
63
|
-
*
|
|
64
|
-
* @returns {string} A verification ID.
|
|
65
|
-
*/
|
|
66
48
|
export const generateVerificationId = () =>
|
|
67
49
|
generatePrefixedId(ID_PREFIXES.VERIFICATION)
|
|
68
50
|
|
|
69
|
-
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* @returns {string} A role permissions ID.
|
|
73
|
-
*/
|
|
74
|
-
export const generateRolePermissionsId = () =>
|
|
75
|
-
generatePrefixedId(ID_PREFIXES.ROLE_PERMISSIONS)
|
|
51
|
+
/* =========================
|
|
52
|
+
* Assets & uploads
|
|
53
|
+
* ========================= */
|
|
76
54
|
|
|
77
|
-
|
|
78
|
-
* Generates an onboarding ID with a `onb_` prefix.
|
|
79
|
-
*
|
|
80
|
-
* @returns {string} An onboarding ID.
|
|
81
|
-
*/
|
|
82
|
-
export const generateOnboardingId = () =>
|
|
83
|
-
generatePrefixedId(ID_PREFIXES.ONBOARDING)
|
|
55
|
+
export const generateAssetId = () => generatePrefixedId(ID_PREFIXES.ASSET)
|
|
84
56
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
57
|
+
export const generateAssetUploadId = () =>
|
|
58
|
+
generatePrefixedId(ID_PREFIXES.ASSET_UPLOAD)
|
|
59
|
+
|
|
60
|
+
/* =========================
|
|
61
|
+
* Files (legacy)
|
|
62
|
+
* ========================= */
|
|
91
63
|
|
|
92
|
-
/**
|
|
93
|
-
* Generates a file ID with a `fil_` prefix.
|
|
94
|
-
*
|
|
95
|
-
* @returns {string} A file ID.
|
|
96
|
-
*/
|
|
97
64
|
export const generateFileId = () => generatePrefixedId(ID_PREFIXES.FILE)
|
|
98
65
|
|
|
99
|
-
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
|
|
103
|
-
|
|
66
|
+
/* =========================
|
|
67
|
+
* Accounting
|
|
68
|
+
* ========================= */
|
|
69
|
+
|
|
70
|
+
export const generateSupplierId = () => generatePrefixedId(ID_PREFIXES.SUPPLIER)
|
|
71
|
+
|
|
72
|
+
export const generateInvoiceId = () => generatePrefixedId(ID_PREFIXES.INVOICE)
|
|
73
|
+
|
|
74
|
+
export const generateInvoiceItemId = () =>
|
|
75
|
+
generatePrefixedId(ID_PREFIXES.INVOICE_ITEM)
|
|
76
|
+
|
|
77
|
+
export const generateInvoiceCorrectionId = () =>
|
|
78
|
+
generatePrefixedId(ID_PREFIXES.INVOICE_CORRECTION)
|
|
79
|
+
|
|
80
|
+
/* =========================
|
|
81
|
+
* AI / document processing
|
|
82
|
+
* ========================= */
|
|
83
|
+
|
|
84
|
+
export const generateDocumentDataId = () =>
|
|
85
|
+
generatePrefixedId(ID_PREFIXES.DOCUMENT_DATA)
|
|
86
|
+
|
|
87
|
+
/* =========================
|
|
88
|
+
* Bots / automation
|
|
89
|
+
* ========================= */
|
|
90
|
+
|
|
91
|
+
export const generateBotFlowId = () => generatePrefixedId(ID_PREFIXES.BOT_FLOW)
|
|
92
|
+
|
|
93
|
+
/* =========================
|
|
94
|
+
* Infra / messaging
|
|
95
|
+
* ========================= */
|
|
96
|
+
|
|
97
|
+
export const generateCorrelationId = () =>
|
|
98
|
+
generatePrefixedId(ID_PREFIXES.CORRELATION)
|
|
99
|
+
|
|
104
100
|
export const generateEventId = () => generatePrefixedId(ID_PREFIXES.EVENT)
|
|
105
101
|
|
|
106
|
-
/**
|
|
107
|
-
* Generates a job ID with a `job_` prefix.
|
|
108
|
-
*
|
|
109
|
-
* @returns {string} A job ID.
|
|
110
|
-
*/
|
|
111
102
|
export const generateJobId = () => generatePrefixedId(ID_PREFIXES.JOB)
|
|
112
103
|
|
|
113
|
-
/**
|
|
114
|
-
* Generates a task ID with a `task_` prefix.
|
|
115
|
-
*
|
|
116
|
-
* @returns {string} A task ID.
|
|
117
|
-
*/
|
|
118
104
|
export const generateTaskId = () => generatePrefixedId(ID_PREFIXES.TASK)
|
|
119
105
|
|
|
120
|
-
/**
|
|
121
|
-
* Generates a queue ID with a `que_` prefix.
|
|
122
|
-
*
|
|
123
|
-
* @returns {string} A queue ID.
|
|
124
|
-
*/
|
|
125
106
|
export const generateQueueId = () => generatePrefixedId(ID_PREFIXES.QUEUE)
|
|
126
107
|
|
|
127
|
-
/**
|
|
128
|
-
* Generates a message ID with a `msg_` prefix.
|
|
129
|
-
*
|
|
130
|
-
* @returns {string} A message ID.
|
|
131
|
-
*/
|
|
132
108
|
export const generateMessageId = () => generatePrefixedId(ID_PREFIXES.MESSAGE)
|
|
133
109
|
|
|
134
|
-
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
|
|
138
|
-
|
|
110
|
+
/* =========================
|
|
111
|
+
* Communication
|
|
112
|
+
* ========================= */
|
|
113
|
+
|
|
114
|
+
export const generateEmailId = () => generatePrefixedId(ID_PREFIXES.EMAIL)
|
|
115
|
+
|
|
116
|
+
export const generateIncomingEmailId = () =>
|
|
117
|
+
generatePrefixedId(ID_PREFIXES.INCOMING_EMAIL)
|
|
118
|
+
|
|
119
|
+
export const generateImId = () => generatePrefixedId(ID_PREFIXES.IM)
|
|
120
|
+
|
|
139
121
|
export const generateNotificationId = () =>
|
|
140
122
|
generatePrefixedId(ID_PREFIXES.NOTIFICATION)
|
|
141
123
|
|
|
142
|
-
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* @returns {string} A log ID.
|
|
146
|
-
*/
|
|
147
|
-
export const generateLogId = () => generatePrefixedId(ID_PREFIXES.LOG)
|
|
124
|
+
/* =========================
|
|
125
|
+
* Observability
|
|
126
|
+
* ========================= */
|
|
148
127
|
|
|
149
|
-
/**
|
|
150
|
-
* Generates an audit ID with an `adt_` prefix.
|
|
151
|
-
*
|
|
152
|
-
* @returns {string} An audit ID.
|
|
153
|
-
*/
|
|
154
128
|
export const generateAuditId = () => generatePrefixedId(ID_PREFIXES.AUDIT)
|
|
155
129
|
|
|
156
|
-
|
|
157
|
-
* Generates a config ID with a `cfg_` prefix.
|
|
158
|
-
*
|
|
159
|
-
* @returns {string} A config ID.
|
|
160
|
-
*/
|
|
161
|
-
export const generateConfigId = () => generatePrefixedId(ID_PREFIXES.CONFIG)
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Generates a key ID with a `key_` prefix.
|
|
165
|
-
*
|
|
166
|
-
* @returns {string} A key ID.
|
|
167
|
-
*/
|
|
168
|
-
export const generateKeyId = () => generatePrefixedId(ID_PREFIXES.KEY)
|
|
130
|
+
export const generateLogId = () => generatePrefixedId(ID_PREFIXES.LOG)
|
|
169
131
|
|
|
170
|
-
/**
|
|
171
|
-
* Generates a metric ID with a `met_` prefix.
|
|
172
|
-
*
|
|
173
|
-
* @returns {string} A metric ID.
|
|
174
|
-
*/
|
|
175
132
|
export const generateMetricId = () => generatePrefixedId(ID_PREFIXES.METRIC)
|
|
176
133
|
|
|
177
|
-
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
export const generateTagId = () => generatePrefixedId(ID_PREFIXES.TAG)
|
|
134
|
+
/* =========================
|
|
135
|
+
* Security / config / misc
|
|
136
|
+
* ========================= */
|
|
137
|
+
|
|
138
|
+
export const generateKeyId = () => generatePrefixedId(ID_PREFIXES.KEY)
|
|
183
139
|
|
|
184
|
-
/**
|
|
185
|
-
* Generates a policy ID with a `plc_` prefix.
|
|
186
|
-
*
|
|
187
|
-
* @returns {string} A policy ID.
|
|
188
|
-
*/
|
|
189
140
|
export const generatePolicyId = () => generatePrefixedId(ID_PREFIXES.POLICY)
|
|
190
141
|
|
|
191
|
-
/**
|
|
192
|
-
* Generates a profile ID with a `prf_` prefix.
|
|
193
|
-
*
|
|
194
|
-
* @returns {string} A profile ID.
|
|
195
|
-
*/
|
|
196
142
|
export const generateProfileId = () => generatePrefixedId(ID_PREFIXES.PROFILE)
|
|
197
143
|
|
|
198
|
-
/**
|
|
199
|
-
* Generates a device ID with a `dev_` prefix.
|
|
200
|
-
*
|
|
201
|
-
* @returns {string} A device ID.
|
|
202
|
-
*/
|
|
203
144
|
export const generateDeviceId = () => generatePrefixedId(ID_PREFIXES.DEVICE)
|
|
204
145
|
|
|
205
|
-
/**
|
|
206
|
-
* Generates an alert ID with an `alr_` prefix.
|
|
207
|
-
*
|
|
208
|
-
* @returns {string} An alert ID.
|
|
209
|
-
*/
|
|
210
146
|
export const generateAlertId = () => generatePrefixedId(ID_PREFIXES.ALERT)
|
|
211
147
|
|
|
212
|
-
/**
|
|
213
|
-
* Generates a resource ID with a `res_` prefix.
|
|
214
|
-
*
|
|
215
|
-
* @returns {string} A resource ID.
|
|
216
|
-
*/
|
|
217
148
|
export const generateResourceId = () => generatePrefixedId(ID_PREFIXES.RESOURCE)
|
|
218
149
|
|
|
219
|
-
|
|
220
|
-
* Generates a resource ID with a `ieml_` prefix.
|
|
221
|
-
*
|
|
222
|
-
* @returns {string} An incoming email ID.
|
|
223
|
-
*/
|
|
224
|
-
export const generateIncomingEmailId = () =>
|
|
225
|
-
generatePrefixedId(ID_PREFIXES.INCOMING_EMAIL)
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Generates a resource ID with a `eml_` prefix.
|
|
229
|
-
*
|
|
230
|
-
* @returns {string} An Email ID.
|
|
231
|
-
*/
|
|
232
|
-
export const generateEmailId = () => generatePrefixedId(ID_PREFIXES.EMAIL)
|
|
150
|
+
export const generateTagId = () => generatePrefixedId(ID_PREFIXES.TAG)
|
|
233
151
|
|
|
234
|
-
|
|
235
|
-
* Generates a resource ID with a `im_` prefix.
|
|
236
|
-
*
|
|
237
|
-
* @returns {string} An Instant Message ID.
|
|
238
|
-
*/
|
|
239
|
-
export const generateImId = () => generatePrefixedId(ID_PREFIXES.IM)
|
|
152
|
+
export const generateConfigId = () => generatePrefixedId(ID_PREFIXES.CONFIG)
|
package/src/ids/prefixes.js
CHANGED
|
@@ -1,97 +1,93 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Mapping of entity types to their unique ID prefixes.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Prefixes are prepended to ULIDs to create readable,
|
|
5
|
+
* sortable, and easily identifiable IDs across the system.
|
|
6
|
+
*
|
|
7
|
+
* Example:
|
|
8
|
+
* ast_01HZY3M7K4FJ9A8Q4Y1ZB5NX3T
|
|
6
9
|
*
|
|
7
10
|
* @readonly
|
|
8
11
|
* @enum {string}
|
|
9
12
|
*/
|
|
10
13
|
export const ID_PREFIXES = Object.freeze({
|
|
11
|
-
|
|
14
|
+
//////////////////////////////////////////////////////
|
|
15
|
+
// Core identity
|
|
16
|
+
//////////////////////////////////////////////////////
|
|
12
17
|
USER: 'usr',
|
|
13
|
-
|
|
14
|
-
/** Tenant entity ID prefix */
|
|
15
18
|
TENANT: 'tnt',
|
|
19
|
+
SESSION: 'sess',
|
|
20
|
+
ONBOARDING: 'onb',
|
|
16
21
|
|
|
17
|
-
|
|
22
|
+
//////////////////////////////////////////////////////
|
|
23
|
+
// Authorization & access
|
|
24
|
+
//////////////////////////////////////////////////////
|
|
25
|
+
ROLE: 'role',
|
|
18
26
|
PERMISSION: 'prm',
|
|
19
|
-
|
|
20
|
-
/** Correlation ID prefix (e.g., for tracing requests) */
|
|
21
|
-
CORRELATION: 'crln',
|
|
22
|
-
|
|
23
|
-
/** Verification entity ID prefix (e.g., email/phone code) */
|
|
27
|
+
ROLE_PERMISSION: 'rprm',
|
|
24
28
|
VERIFICATION: 'vrf',
|
|
29
|
+
POLICY: 'plc',
|
|
30
|
+
PROFILE: 'prf',
|
|
31
|
+
DEVICE: 'dev',
|
|
25
32
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/** Session mapping ID prefix */
|
|
33
|
-
SESSION: 'sess',
|
|
33
|
+
//////////////////////////////////////////////////////
|
|
34
|
+
// Assets & uploads
|
|
35
|
+
//////////////////////////////////////////////////////
|
|
36
|
+
ASSET: 'ast',
|
|
37
|
+
ASSET_UPLOAD: 'aupl',
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
// Legacy – kept for backward compatibility
|
|
36
40
|
FILE: 'fil',
|
|
37
41
|
|
|
38
|
-
|
|
42
|
+
//////////////////////////////////////////////////////
|
|
43
|
+
// Accounting domain
|
|
44
|
+
//////////////////////////////////////////////////////
|
|
45
|
+
SUPPLIER: 'sup',
|
|
46
|
+
INVOICE: 'inv',
|
|
47
|
+
INVOICE_ITEM: 'invi',
|
|
48
|
+
INVOICE_CORRECTION: 'invc',
|
|
49
|
+
|
|
50
|
+
//////////////////////////////////////////////////////
|
|
51
|
+
// AI / document processing
|
|
52
|
+
//////////////////////////////////////////////////////
|
|
53
|
+
DOCUMENT_DATA: 'docd',
|
|
54
|
+
|
|
55
|
+
//////////////////////////////////////////////////////
|
|
56
|
+
// Messaging / jobs / infra
|
|
57
|
+
//////////////////////////////////////////////////////
|
|
58
|
+
CORRELATION: 'crln',
|
|
39
59
|
EVENT: 'evt',
|
|
40
|
-
|
|
41
|
-
/** Job entity ID prefix */
|
|
42
60
|
JOB: 'job',
|
|
43
|
-
|
|
44
|
-
/** Task entity ID prefix */
|
|
45
61
|
TASK: 'task',
|
|
46
|
-
|
|
47
|
-
/** Queue entity ID prefix */
|
|
48
62
|
QUEUE: 'que',
|
|
49
|
-
|
|
50
|
-
/** Message entity ID prefix */
|
|
51
63
|
MESSAGE: 'msg',
|
|
52
|
-
|
|
53
|
-
/** Notification entity ID prefix */
|
|
54
64
|
NOTIFICATION: 'ntf',
|
|
55
65
|
|
|
56
|
-
|
|
57
|
-
|
|
66
|
+
//////////////////////////////////////////////////////
|
|
67
|
+
// Communication
|
|
68
|
+
//////////////////////////////////////////////////////
|
|
69
|
+
EMAIL: 'eml',
|
|
70
|
+
INCOMING_EMAIL: 'ieml',
|
|
71
|
+
IM: 'im',
|
|
58
72
|
|
|
59
|
-
|
|
73
|
+
//////////////////////////////////////////////////////
|
|
74
|
+
// Observability
|
|
75
|
+
//////////////////////////////////////////////////////
|
|
60
76
|
AUDIT: 'adt',
|
|
61
|
-
|
|
62
|
-
/** Config entity ID prefix */
|
|
63
|
-
CONFIG: 'cfg',
|
|
64
|
-
|
|
65
|
-
/** Key entity ID prefix */
|
|
66
|
-
KEY: 'key',
|
|
67
|
-
|
|
68
|
-
/** Metric entity ID prefix */
|
|
77
|
+
LOG: 'log',
|
|
69
78
|
METRIC: 'met',
|
|
70
79
|
|
|
71
|
-
|
|
80
|
+
//////////////////////////////////////////////////////
|
|
81
|
+
// Misc / config
|
|
82
|
+
//////////////////////////////////////////////////////
|
|
72
83
|
TAG: 'tag',
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
POLICY: 'plc',
|
|
76
|
-
|
|
77
|
-
/** Profile entity ID prefix */
|
|
78
|
-
PROFILE: 'prf',
|
|
79
|
-
|
|
80
|
-
/** Device entity ID prefix */
|
|
81
|
-
DEVICE: 'dev',
|
|
82
|
-
|
|
83
|
-
/** Alert entity ID prefix */
|
|
84
|
-
ALERT: 'alr',
|
|
85
|
-
|
|
86
|
-
/** Resource entity ID prefix */
|
|
84
|
+
CONFIG: 'cfg',
|
|
85
|
+
KEY: 'key',
|
|
87
86
|
RESOURCE: 'res',
|
|
87
|
+
ALERT: 'alr',
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
EMAIL: 'eml',
|
|
94
|
-
|
|
95
|
-
/** Instant Message ID prefix */
|
|
96
|
-
IM: 'im',
|
|
89
|
+
//////////////////////////////////////////////////////
|
|
90
|
+
// Bots / automation flows
|
|
91
|
+
//////////////////////////////////////////////////////
|
|
92
|
+
BOT_FLOW: 'botf',
|
|
97
93
|
})
|