@kodelyth/zalo 2026.6.2 → 2026.6.3

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.
Files changed (3) hide show
  1. package/package.json +5 -26
  2. package/README.md +0 -50
  3. package/klaw.plugin.json +0 -522
package/package.json CHANGED
@@ -1,26 +1,14 @@
1
1
  {
2
2
  "name": "@kodelyth/zalo",
3
- "version": "2026.6.2",
3
+ "version": "2026.6.3",
4
4
  "description": "Klaw Zalo channel plugin",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/kodelyth/klaw"
8
- },
9
5
  "type": "module",
10
- "devDependencies": {
11
- "@kodelyth/plugin-sdk": "workspace:*",
12
- "@kodelyth/klaw": "workspace:*"
13
- },
14
6
  "peerDependencies": {
15
- "@kodelyth/klaw": ">=2026.5.19",
16
- "klaw": ">=2026.5.39"
7
+ "@kodelyth/klaw": ">=2026.5.19"
17
8
  },
18
9
  "peerDependenciesMeta": {
19
10
  "@kodelyth/klaw": {
20
11
  "optional": true
21
- },
22
- "klaw": {
23
- "optional": true
24
12
  }
25
13
  },
26
14
  "klaw": {
@@ -55,18 +43,9 @@
55
43
  "release": {
56
44
  "publishToClawHub": true,
57
45
  "publishToNpm": true
58
- },
59
- "runtimeExtensions": [
60
- "./dist/index.js"
61
- ],
62
- "runtimeSetupEntry": "./dist/setup-entry.js"
46
+ }
63
47
  },
64
48
  "dependencies": {
65
49
  "zod": "4.4.3"
66
- },
67
- "files": [
68
- "dist/**",
69
- "klaw.plugin.json",
70
- "README.md"
71
- ]
72
- }
50
+ }
51
+ }
package/README.md DELETED
@@ -1,50 +0,0 @@
1
- # @klaw/zalo
2
-
3
- Zalo channel plugin for Klaw (Bot API).
4
-
5
- ## Install (local checkout)
6
-
7
- ```bash
8
- klaw plugins install ./path/to/local/zalo-plugin
9
- ```
10
-
11
- ## Install (npm)
12
-
13
- ```bash
14
- klaw plugins install @klaw/zalo
15
- ```
16
-
17
- Onboarding: select Zalo and confirm the install prompt to fetch the plugin automatically.
18
-
19
- ## Config
20
-
21
- ```json5
22
- {
23
- channels: {
24
- zalo: {
25
- enabled: true,
26
- botToken: "12345689:abc-xyz",
27
- dmPolicy: "pairing",
28
- proxy: "http://proxy.local:8080",
29
- },
30
- },
31
- }
32
- ```
33
-
34
- ## Webhook mode
35
-
36
- ```json5
37
- {
38
- channels: {
39
- zalo: {
40
- webhookUrl: "https://example.com/zalo-webhook",
41
- webhookSecret: "your-secret-8-plus-chars",
42
- webhookPath: "/zalo-webhook",
43
- },
44
- },
45
- }
46
- ```
47
-
48
- If `webhookPath` is omitted, the plugin uses the webhook URL path.
49
-
50
- Restart the gateway after config changes.
package/klaw.plugin.json DELETED
@@ -1,522 +0,0 @@
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
- }