@kodelyth/zalo 2026.5.39

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/api.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/api.js";
2
+ import * as module from "../../../dist/extensions/zalo/api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/channel-plugin-api.js";
2
+ import * as module from "../../../dist/extensions/zalo/channel-plugin-api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/contract-api.js";
2
+ import * as module from "../../../dist/extensions/zalo/contract-api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/index.js";
2
+ import defaultModule from "../../../dist/extensions/zalo/index.js";
3
+ let defaultExport = defaultModule;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
@@ -0,0 +1,522 @@
1
+ {
2
+ "id": "zalo",
3
+ "activation": {
4
+ "onStartup": false
5
+ },
6
+ "channels": [
7
+ "zalo"
8
+ ],
9
+ "channelEnvVars": {
10
+ "zalo": [
11
+ "ZALO_BOT_TOKEN",
12
+ "ZALO_WEBHOOK_SECRET"
13
+ ]
14
+ },
15
+ "configSchema": {
16
+ "type": "object",
17
+ "additionalProperties": false,
18
+ "properties": {}
19
+ },
20
+ "channelConfigs": {
21
+ "zalo": {
22
+ "schema": {
23
+ "$schema": "http://json-schema.org/draft-07/schema#",
24
+ "type": "object",
25
+ "properties": {
26
+ "name": {
27
+ "type": "string"
28
+ },
29
+ "enabled": {
30
+ "type": "boolean"
31
+ },
32
+ "markdown": {
33
+ "type": "object",
34
+ "properties": {
35
+ "tables": {
36
+ "type": "string",
37
+ "enum": [
38
+ "off",
39
+ "bullets",
40
+ "code",
41
+ "block"
42
+ ]
43
+ }
44
+ },
45
+ "additionalProperties": false
46
+ },
47
+ "botToken": {
48
+ "anyOf": [
49
+ {
50
+ "type": "string"
51
+ },
52
+ {
53
+ "oneOf": [
54
+ {
55
+ "type": "object",
56
+ "properties": {
57
+ "source": {
58
+ "type": "string",
59
+ "const": "env"
60
+ },
61
+ "provider": {
62
+ "type": "string",
63
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
64
+ },
65
+ "id": {
66
+ "type": "string",
67
+ "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
68
+ }
69
+ },
70
+ "required": [
71
+ "source",
72
+ "provider",
73
+ "id"
74
+ ],
75
+ "additionalProperties": false
76
+ },
77
+ {
78
+ "type": "object",
79
+ "properties": {
80
+ "source": {
81
+ "type": "string",
82
+ "const": "file"
83
+ },
84
+ "provider": {
85
+ "type": "string",
86
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
87
+ },
88
+ "id": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ "required": [
93
+ "source",
94
+ "provider",
95
+ "id"
96
+ ],
97
+ "additionalProperties": false
98
+ },
99
+ {
100
+ "type": "object",
101
+ "properties": {
102
+ "source": {
103
+ "type": "string",
104
+ "const": "exec"
105
+ },
106
+ "provider": {
107
+ "type": "string",
108
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
109
+ },
110
+ "id": {
111
+ "type": "string"
112
+ }
113
+ },
114
+ "required": [
115
+ "source",
116
+ "provider",
117
+ "id"
118
+ ],
119
+ "additionalProperties": false
120
+ }
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ "tokenFile": {
126
+ "type": "string"
127
+ },
128
+ "webhookUrl": {
129
+ "type": "string"
130
+ },
131
+ "webhookSecret": {
132
+ "anyOf": [
133
+ {
134
+ "type": "string"
135
+ },
136
+ {
137
+ "oneOf": [
138
+ {
139
+ "type": "object",
140
+ "properties": {
141
+ "source": {
142
+ "type": "string",
143
+ "const": "env"
144
+ },
145
+ "provider": {
146
+ "type": "string",
147
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
148
+ },
149
+ "id": {
150
+ "type": "string",
151
+ "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
152
+ }
153
+ },
154
+ "required": [
155
+ "source",
156
+ "provider",
157
+ "id"
158
+ ],
159
+ "additionalProperties": false
160
+ },
161
+ {
162
+ "type": "object",
163
+ "properties": {
164
+ "source": {
165
+ "type": "string",
166
+ "const": "file"
167
+ },
168
+ "provider": {
169
+ "type": "string",
170
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
171
+ },
172
+ "id": {
173
+ "type": "string"
174
+ }
175
+ },
176
+ "required": [
177
+ "source",
178
+ "provider",
179
+ "id"
180
+ ],
181
+ "additionalProperties": false
182
+ },
183
+ {
184
+ "type": "object",
185
+ "properties": {
186
+ "source": {
187
+ "type": "string",
188
+ "const": "exec"
189
+ },
190
+ "provider": {
191
+ "type": "string",
192
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
193
+ },
194
+ "id": {
195
+ "type": "string"
196
+ }
197
+ },
198
+ "required": [
199
+ "source",
200
+ "provider",
201
+ "id"
202
+ ],
203
+ "additionalProperties": false
204
+ }
205
+ ]
206
+ }
207
+ ]
208
+ },
209
+ "webhookPath": {
210
+ "type": "string"
211
+ },
212
+ "dmPolicy": {
213
+ "type": "string",
214
+ "enum": [
215
+ "pairing",
216
+ "allowlist",
217
+ "open",
218
+ "disabled"
219
+ ]
220
+ },
221
+ "allowFrom": {
222
+ "type": "array",
223
+ "items": {
224
+ "anyOf": [
225
+ {
226
+ "type": "string"
227
+ },
228
+ {
229
+ "type": "number"
230
+ }
231
+ ]
232
+ }
233
+ },
234
+ "groupPolicy": {
235
+ "type": "string",
236
+ "enum": [
237
+ "open",
238
+ "disabled",
239
+ "allowlist"
240
+ ]
241
+ },
242
+ "groupAllowFrom": {
243
+ "type": "array",
244
+ "items": {
245
+ "anyOf": [
246
+ {
247
+ "type": "string"
248
+ },
249
+ {
250
+ "type": "number"
251
+ }
252
+ ]
253
+ }
254
+ },
255
+ "mediaMaxMb": {
256
+ "type": "number"
257
+ },
258
+ "proxy": {
259
+ "type": "string"
260
+ },
261
+ "responsePrefix": {
262
+ "type": "string"
263
+ },
264
+ "accounts": {
265
+ "type": "object",
266
+ "properties": {},
267
+ "additionalProperties": {
268
+ "type": "object",
269
+ "properties": {
270
+ "name": {
271
+ "type": "string"
272
+ },
273
+ "enabled": {
274
+ "type": "boolean"
275
+ },
276
+ "markdown": {
277
+ "type": "object",
278
+ "properties": {
279
+ "tables": {
280
+ "type": "string",
281
+ "enum": [
282
+ "off",
283
+ "bullets",
284
+ "code",
285
+ "block"
286
+ ]
287
+ }
288
+ },
289
+ "additionalProperties": false
290
+ },
291
+ "botToken": {
292
+ "anyOf": [
293
+ {
294
+ "type": "string"
295
+ },
296
+ {
297
+ "oneOf": [
298
+ {
299
+ "type": "object",
300
+ "properties": {
301
+ "source": {
302
+ "type": "string",
303
+ "const": "env"
304
+ },
305
+ "provider": {
306
+ "type": "string",
307
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
308
+ },
309
+ "id": {
310
+ "type": "string",
311
+ "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
312
+ }
313
+ },
314
+ "required": [
315
+ "source",
316
+ "provider",
317
+ "id"
318
+ ],
319
+ "additionalProperties": false
320
+ },
321
+ {
322
+ "type": "object",
323
+ "properties": {
324
+ "source": {
325
+ "type": "string",
326
+ "const": "file"
327
+ },
328
+ "provider": {
329
+ "type": "string",
330
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
331
+ },
332
+ "id": {
333
+ "type": "string"
334
+ }
335
+ },
336
+ "required": [
337
+ "source",
338
+ "provider",
339
+ "id"
340
+ ],
341
+ "additionalProperties": false
342
+ },
343
+ {
344
+ "type": "object",
345
+ "properties": {
346
+ "source": {
347
+ "type": "string",
348
+ "const": "exec"
349
+ },
350
+ "provider": {
351
+ "type": "string",
352
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
353
+ },
354
+ "id": {
355
+ "type": "string"
356
+ }
357
+ },
358
+ "required": [
359
+ "source",
360
+ "provider",
361
+ "id"
362
+ ],
363
+ "additionalProperties": false
364
+ }
365
+ ]
366
+ }
367
+ ]
368
+ },
369
+ "tokenFile": {
370
+ "type": "string"
371
+ },
372
+ "webhookUrl": {
373
+ "type": "string"
374
+ },
375
+ "webhookSecret": {
376
+ "anyOf": [
377
+ {
378
+ "type": "string"
379
+ },
380
+ {
381
+ "oneOf": [
382
+ {
383
+ "type": "object",
384
+ "properties": {
385
+ "source": {
386
+ "type": "string",
387
+ "const": "env"
388
+ },
389
+ "provider": {
390
+ "type": "string",
391
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
392
+ },
393
+ "id": {
394
+ "type": "string",
395
+ "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
396
+ }
397
+ },
398
+ "required": [
399
+ "source",
400
+ "provider",
401
+ "id"
402
+ ],
403
+ "additionalProperties": false
404
+ },
405
+ {
406
+ "type": "object",
407
+ "properties": {
408
+ "source": {
409
+ "type": "string",
410
+ "const": "file"
411
+ },
412
+ "provider": {
413
+ "type": "string",
414
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
415
+ },
416
+ "id": {
417
+ "type": "string"
418
+ }
419
+ },
420
+ "required": [
421
+ "source",
422
+ "provider",
423
+ "id"
424
+ ],
425
+ "additionalProperties": false
426
+ },
427
+ {
428
+ "type": "object",
429
+ "properties": {
430
+ "source": {
431
+ "type": "string",
432
+ "const": "exec"
433
+ },
434
+ "provider": {
435
+ "type": "string",
436
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
437
+ },
438
+ "id": {
439
+ "type": "string"
440
+ }
441
+ },
442
+ "required": [
443
+ "source",
444
+ "provider",
445
+ "id"
446
+ ],
447
+ "additionalProperties": false
448
+ }
449
+ ]
450
+ }
451
+ ]
452
+ },
453
+ "webhookPath": {
454
+ "type": "string"
455
+ },
456
+ "dmPolicy": {
457
+ "type": "string",
458
+ "enum": [
459
+ "pairing",
460
+ "allowlist",
461
+ "open",
462
+ "disabled"
463
+ ]
464
+ },
465
+ "allowFrom": {
466
+ "type": "array",
467
+ "items": {
468
+ "anyOf": [
469
+ {
470
+ "type": "string"
471
+ },
472
+ {
473
+ "type": "number"
474
+ }
475
+ ]
476
+ }
477
+ },
478
+ "groupPolicy": {
479
+ "type": "string",
480
+ "enum": [
481
+ "open",
482
+ "disabled",
483
+ "allowlist"
484
+ ]
485
+ },
486
+ "groupAllowFrom": {
487
+ "type": "array",
488
+ "items": {
489
+ "anyOf": [
490
+ {
491
+ "type": "string"
492
+ },
493
+ {
494
+ "type": "number"
495
+ }
496
+ ]
497
+ }
498
+ },
499
+ "mediaMaxMb": {
500
+ "type": "number"
501
+ },
502
+ "proxy": {
503
+ "type": "string"
504
+ },
505
+ "responsePrefix": {
506
+ "type": "string"
507
+ }
508
+ },
509
+ "additionalProperties": false
510
+ }
511
+ },
512
+ "defaultAccount": {
513
+ "type": "string"
514
+ }
515
+ },
516
+ "additionalProperties": false
517
+ },
518
+ "label": "Zalo",
519
+ "description": "Vietnam-focused messaging platform with Bot API."
520
+ }
521
+ }
522
+ }
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@kodelyth/zalo",
3
+ "version": "2026.5.39",
4
+ "description": "Klaw Zalo channel plugin",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/kodelyth/klaw"
8
+ },
9
+ "type": "module",
10
+ "devDependencies": {
11
+ "@kodelyth/plugin-sdk": "1.0.1",
12
+ "@kodelyth/klaw": "2026.5.41"
13
+ },
14
+ "peerDependencies": {
15
+ "@kodelyth/klaw": ">=2026.5.19"
16
+ },
17
+ "peerDependenciesMeta": {
18
+ "@kodelyth/klaw": {
19
+ "optional": true
20
+ }
21
+ },
22
+ "klaw": {
23
+ "extensions": [
24
+ "./index.js"
25
+ ],
26
+ "setupEntry": "./setup-entry.js",
27
+ "channel": {
28
+ "id": "zalo",
29
+ "label": "Zalo",
30
+ "selectionLabel": "Zalo (Bot API)",
31
+ "docsPath": "/channels/zalo",
32
+ "docsLabel": "zalo",
33
+ "blurb": "Vietnam-focused messaging platform with Bot API.",
34
+ "aliases": [
35
+ "zl"
36
+ ],
37
+ "order": 80,
38
+ "quickstartAllowFrom": true
39
+ },
40
+ "install": {
41
+ "npmSpec": "@kodelyth/zalo",
42
+ "defaultChoice": "npm",
43
+ "minHostVersion": ">=2026.4.10"
44
+ },
45
+ "compat": {
46
+ "pluginApi": ">=2026.5.39"
47
+ },
48
+ "build": {
49
+ "klawVersion": "2026.5.39"
50
+ },
51
+ "release": {
52
+ "publishToClawHub": true,
53
+ "publishToNpm": true
54
+ }
55
+ },
56
+ "dependencies": {
57
+ "zod": "4.4.3"
58
+ }
59
+ }
package/runtime-api.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/runtime-api.js";
2
+ import * as module from "../../../dist/extensions/zalo/runtime-api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/secret-contract-api.js";
2
+ import * as module from "../../../dist/extensions/zalo/secret-contract-api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/setup-api.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/setup-api.js";
2
+ import * as module from "../../../dist/extensions/zalo/setup-api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/setup-entry.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/setup-entry.js";
2
+ import defaultModule from "../../../dist/extensions/zalo/setup-entry.js";
3
+ let defaultExport = defaultModule;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };
package/test-api.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/zalo/test-api.js";
2
+ import * as module from "../../../dist/extensions/zalo/test-api.js";
3
+ let defaultExport = "default" in module ? module.default : module;
4
+ for (let index = 0; index < 4 && defaultExport && typeof defaultExport === "object" && "default" in defaultExport; index += 1) {
5
+ defaultExport = defaultExport.default;
6
+ }
7
+ export { defaultExport as default };