@kodelyth/matrix 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/matrix/api.js";
2
+ import * as module from "../../../dist/extensions/matrix/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/matrix/auth-presence.js";
2
+ import * as module from "../../../dist/extensions/matrix/auth-presence.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/matrix/channel-plugin-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/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/matrix/cli-metadata.js";
2
+ import defaultModule from "../../../dist/extensions/matrix/cli-metadata.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,7 @@
1
+ export * from "../../../dist/extensions/matrix/contract-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/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 };
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/matrix/doctor-contract-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/doctor-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/helper-api.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/matrix/helper-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/helper-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/matrix/index.js";
2
+ import defaultModule from "../../../dist/extensions/matrix/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,916 @@
1
+ {
2
+ "id": "matrix",
3
+ "commandAliases": [
4
+ {
5
+ "name": "matrix"
6
+ }
7
+ ],
8
+ "activation": {
9
+ "onStartup": false,
10
+ "onCommands": [
11
+ "matrix"
12
+ ]
13
+ },
14
+ "channels": [
15
+ "matrix"
16
+ ],
17
+ "channelEnvVars": {
18
+ "matrix": [
19
+ "MATRIX_HOMESERVER",
20
+ "MATRIX_USER_ID",
21
+ "MATRIX_ACCESS_TOKEN",
22
+ "MATRIX_PASSWORD",
23
+ "MATRIX_DEVICE_ID",
24
+ "MATRIX_DEVICE_NAME",
25
+ "MATRIX_OPS_HOMESERVER",
26
+ "MATRIX_OPS_ACCESS_TOKEN",
27
+ "MATRIX_OPS_DEVICE_ID",
28
+ "MATRIX_OPS_DEVICE_NAME"
29
+ ]
30
+ },
31
+ "configSchema": {
32
+ "type": "object",
33
+ "additionalProperties": false,
34
+ "properties": {}
35
+ },
36
+ "channelConfigs": {
37
+ "matrix": {
38
+ "schema": {
39
+ "$schema": "http://json-schema.org/draft-07/schema#",
40
+ "type": "object",
41
+ "properties": {
42
+ "name": {
43
+ "type": "string"
44
+ },
45
+ "enabled": {
46
+ "type": "boolean"
47
+ },
48
+ "defaultAccount": {
49
+ "type": "string"
50
+ },
51
+ "accounts": {
52
+ "type": "object",
53
+ "propertyNames": {
54
+ "type": "string"
55
+ },
56
+ "additionalProperties": {}
57
+ },
58
+ "markdown": {
59
+ "type": "object",
60
+ "properties": {
61
+ "tables": {
62
+ "type": "string",
63
+ "enum": [
64
+ "off",
65
+ "bullets",
66
+ "code",
67
+ "block"
68
+ ]
69
+ }
70
+ },
71
+ "additionalProperties": false
72
+ },
73
+ "homeserver": {
74
+ "type": "string"
75
+ },
76
+ "network": {
77
+ "type": "object",
78
+ "properties": {
79
+ "dangerouslyAllowPrivateNetwork": {
80
+ "type": "boolean"
81
+ }
82
+ },
83
+ "additionalProperties": false
84
+ },
85
+ "proxy": {
86
+ "type": "string"
87
+ },
88
+ "userId": {
89
+ "type": "string"
90
+ },
91
+ "accessToken": {
92
+ "anyOf": [
93
+ {
94
+ "type": "string"
95
+ },
96
+ {
97
+ "oneOf": [
98
+ {
99
+ "type": "object",
100
+ "properties": {
101
+ "source": {
102
+ "type": "string",
103
+ "const": "env"
104
+ },
105
+ "provider": {
106
+ "type": "string",
107
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
108
+ },
109
+ "id": {
110
+ "type": "string",
111
+ "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
112
+ }
113
+ },
114
+ "required": [
115
+ "source",
116
+ "provider",
117
+ "id"
118
+ ],
119
+ "additionalProperties": false
120
+ },
121
+ {
122
+ "type": "object",
123
+ "properties": {
124
+ "source": {
125
+ "type": "string",
126
+ "const": "file"
127
+ },
128
+ "provider": {
129
+ "type": "string",
130
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
131
+ },
132
+ "id": {
133
+ "type": "string"
134
+ }
135
+ },
136
+ "required": [
137
+ "source",
138
+ "provider",
139
+ "id"
140
+ ],
141
+ "additionalProperties": false
142
+ },
143
+ {
144
+ "type": "object",
145
+ "properties": {
146
+ "source": {
147
+ "type": "string",
148
+ "const": "exec"
149
+ },
150
+ "provider": {
151
+ "type": "string",
152
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
153
+ },
154
+ "id": {
155
+ "type": "string"
156
+ }
157
+ },
158
+ "required": [
159
+ "source",
160
+ "provider",
161
+ "id"
162
+ ],
163
+ "additionalProperties": false
164
+ }
165
+ ]
166
+ }
167
+ ]
168
+ },
169
+ "password": {
170
+ "anyOf": [
171
+ {
172
+ "type": "string"
173
+ },
174
+ {
175
+ "oneOf": [
176
+ {
177
+ "type": "object",
178
+ "properties": {
179
+ "source": {
180
+ "type": "string",
181
+ "const": "env"
182
+ },
183
+ "provider": {
184
+ "type": "string",
185
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
186
+ },
187
+ "id": {
188
+ "type": "string",
189
+ "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
190
+ }
191
+ },
192
+ "required": [
193
+ "source",
194
+ "provider",
195
+ "id"
196
+ ],
197
+ "additionalProperties": false
198
+ },
199
+ {
200
+ "type": "object",
201
+ "properties": {
202
+ "source": {
203
+ "type": "string",
204
+ "const": "file"
205
+ },
206
+ "provider": {
207
+ "type": "string",
208
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
209
+ },
210
+ "id": {
211
+ "type": "string"
212
+ }
213
+ },
214
+ "required": [
215
+ "source",
216
+ "provider",
217
+ "id"
218
+ ],
219
+ "additionalProperties": false
220
+ },
221
+ {
222
+ "type": "object",
223
+ "properties": {
224
+ "source": {
225
+ "type": "string",
226
+ "const": "exec"
227
+ },
228
+ "provider": {
229
+ "type": "string",
230
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
231
+ },
232
+ "id": {
233
+ "type": "string"
234
+ }
235
+ },
236
+ "required": [
237
+ "source",
238
+ "provider",
239
+ "id"
240
+ ],
241
+ "additionalProperties": false
242
+ }
243
+ ]
244
+ }
245
+ ]
246
+ },
247
+ "deviceId": {
248
+ "type": "string"
249
+ },
250
+ "deviceName": {
251
+ "type": "string"
252
+ },
253
+ "avatarUrl": {
254
+ "type": "string"
255
+ },
256
+ "initialSyncLimit": {
257
+ "type": "number"
258
+ },
259
+ "encryption": {
260
+ "type": "boolean"
261
+ },
262
+ "allowlistOnly": {
263
+ "type": "boolean"
264
+ },
265
+ "dangerouslyAllowNameMatching": {
266
+ "type": "boolean"
267
+ },
268
+ "allowBots": {
269
+ "anyOf": [
270
+ {
271
+ "type": "boolean"
272
+ },
273
+ {
274
+ "type": "string",
275
+ "const": "mentions"
276
+ }
277
+ ]
278
+ },
279
+ "botLoopProtection": {
280
+ "type": "object",
281
+ "properties": {
282
+ "enabled": {
283
+ "type": "boolean"
284
+ },
285
+ "maxEventsPerWindow": {
286
+ "type": "integer",
287
+ "exclusiveMinimum": 0,
288
+ "maximum": 9007199254740991
289
+ },
290
+ "windowSeconds": {
291
+ "type": "integer",
292
+ "exclusiveMinimum": 0,
293
+ "maximum": 9007199254740991
294
+ },
295
+ "cooldownSeconds": {
296
+ "type": "integer",
297
+ "exclusiveMinimum": 0,
298
+ "maximum": 9007199254740991
299
+ }
300
+ },
301
+ "additionalProperties": false
302
+ },
303
+ "groupPolicy": {
304
+ "type": "string",
305
+ "enum": [
306
+ "open",
307
+ "disabled",
308
+ "allowlist"
309
+ ]
310
+ },
311
+ "contextVisibility": {
312
+ "type": "string",
313
+ "enum": [
314
+ "all",
315
+ "allowlist",
316
+ "allowlist_quote"
317
+ ]
318
+ },
319
+ "blockStreaming": {
320
+ "type": "boolean"
321
+ },
322
+ "streaming": {
323
+ "anyOf": [
324
+ {
325
+ "type": "string",
326
+ "enum": [
327
+ "partial",
328
+ "quiet",
329
+ "progress",
330
+ "off"
331
+ ]
332
+ },
333
+ {
334
+ "type": "boolean"
335
+ },
336
+ {
337
+ "type": "object",
338
+ "properties": {
339
+ "mode": {
340
+ "type": "string",
341
+ "enum": [
342
+ "partial",
343
+ "quiet",
344
+ "progress",
345
+ "off"
346
+ ]
347
+ },
348
+ "progress": {
349
+ "type": "object",
350
+ "properties": {
351
+ "label": {
352
+ "anyOf": [
353
+ {
354
+ "type": "string"
355
+ },
356
+ {
357
+ "type": "boolean",
358
+ "const": false
359
+ }
360
+ ]
361
+ },
362
+ "labels": {
363
+ "type": "array",
364
+ "items": {
365
+ "type": "string"
366
+ }
367
+ },
368
+ "maxLines": {
369
+ "type": "integer",
370
+ "exclusiveMinimum": 0,
371
+ "maximum": 9007199254740991
372
+ },
373
+ "maxLineChars": {
374
+ "type": "integer",
375
+ "exclusiveMinimum": 0,
376
+ "maximum": 9007199254740991
377
+ },
378
+ "toolProgress": {
379
+ "type": "boolean"
380
+ }
381
+ },
382
+ "additionalProperties": false
383
+ },
384
+ "preview": {
385
+ "type": "object",
386
+ "properties": {
387
+ "toolProgress": {
388
+ "type": "boolean"
389
+ }
390
+ },
391
+ "additionalProperties": false
392
+ }
393
+ },
394
+ "additionalProperties": false
395
+ }
396
+ ]
397
+ },
398
+ "replyToMode": {
399
+ "type": "string",
400
+ "enum": [
401
+ "off",
402
+ "first",
403
+ "all",
404
+ "batched"
405
+ ]
406
+ },
407
+ "threadReplies": {
408
+ "type": "string",
409
+ "enum": [
410
+ "off",
411
+ "inbound",
412
+ "always"
413
+ ]
414
+ },
415
+ "textChunkLimit": {
416
+ "type": "number"
417
+ },
418
+ "chunkMode": {
419
+ "type": "string",
420
+ "enum": [
421
+ "length",
422
+ "newline"
423
+ ]
424
+ },
425
+ "responsePrefix": {
426
+ "type": "string"
427
+ },
428
+ "ackReaction": {
429
+ "type": "string"
430
+ },
431
+ "ackReactionScope": {
432
+ "type": "string",
433
+ "enum": [
434
+ "group-mentions",
435
+ "group-all",
436
+ "direct",
437
+ "all",
438
+ "none",
439
+ "off"
440
+ ]
441
+ },
442
+ "reactionNotifications": {
443
+ "type": "string",
444
+ "enum": [
445
+ "off",
446
+ "own"
447
+ ]
448
+ },
449
+ "threadBindings": {
450
+ "type": "object",
451
+ "properties": {
452
+ "enabled": {
453
+ "type": "boolean"
454
+ },
455
+ "idleHours": {
456
+ "type": "number",
457
+ "minimum": 0
458
+ },
459
+ "maxAgeHours": {
460
+ "type": "number",
461
+ "minimum": 0
462
+ },
463
+ "spawnSessions": {
464
+ "type": "boolean"
465
+ },
466
+ "defaultSpawnContext": {
467
+ "type": "string",
468
+ "enum": [
469
+ "isolated",
470
+ "fork"
471
+ ]
472
+ },
473
+ "spawnSubagentSessions": {
474
+ "type": "boolean"
475
+ },
476
+ "spawnAcpSessions": {
477
+ "type": "boolean"
478
+ }
479
+ },
480
+ "additionalProperties": false
481
+ },
482
+ "startupVerification": {
483
+ "type": "string",
484
+ "enum": [
485
+ "off",
486
+ "if-unverified"
487
+ ]
488
+ },
489
+ "startupVerificationCooldownHours": {
490
+ "type": "number"
491
+ },
492
+ "mediaMaxMb": {
493
+ "type": "number"
494
+ },
495
+ "historyLimit": {
496
+ "type": "integer",
497
+ "minimum": 0,
498
+ "maximum": 9007199254740991
499
+ },
500
+ "autoJoin": {
501
+ "type": "string",
502
+ "enum": [
503
+ "always",
504
+ "allowlist",
505
+ "off"
506
+ ]
507
+ },
508
+ "autoJoinAllowlist": {
509
+ "type": "array",
510
+ "items": {
511
+ "anyOf": [
512
+ {
513
+ "type": "string"
514
+ },
515
+ {
516
+ "type": "number"
517
+ }
518
+ ]
519
+ }
520
+ },
521
+ "groupAllowFrom": {
522
+ "type": "array",
523
+ "items": {
524
+ "anyOf": [
525
+ {
526
+ "type": "string"
527
+ },
528
+ {
529
+ "type": "number"
530
+ }
531
+ ]
532
+ }
533
+ },
534
+ "dm": {
535
+ "type": "object",
536
+ "properties": {
537
+ "enabled": {
538
+ "type": "boolean"
539
+ },
540
+ "policy": {
541
+ "type": "string",
542
+ "enum": [
543
+ "pairing",
544
+ "allowlist",
545
+ "open",
546
+ "disabled"
547
+ ]
548
+ },
549
+ "allowFrom": {
550
+ "type": "array",
551
+ "items": {
552
+ "anyOf": [
553
+ {
554
+ "type": "string"
555
+ },
556
+ {
557
+ "type": "number"
558
+ }
559
+ ]
560
+ }
561
+ },
562
+ "sessionScope": {
563
+ "type": "string",
564
+ "enum": [
565
+ "per-user",
566
+ "per-room"
567
+ ]
568
+ },
569
+ "threadReplies": {
570
+ "type": "string",
571
+ "enum": [
572
+ "off",
573
+ "inbound",
574
+ "always"
575
+ ]
576
+ }
577
+ },
578
+ "additionalProperties": false
579
+ },
580
+ "execApprovals": {
581
+ "type": "object",
582
+ "properties": {
583
+ "enabled": {
584
+ "type": "boolean"
585
+ },
586
+ "approvers": {
587
+ "type": "array",
588
+ "items": {
589
+ "anyOf": [
590
+ {
591
+ "type": "string"
592
+ },
593
+ {
594
+ "type": "number"
595
+ }
596
+ ]
597
+ }
598
+ },
599
+ "agentFilter": {
600
+ "type": "array",
601
+ "items": {
602
+ "type": "string"
603
+ }
604
+ },
605
+ "sessionFilter": {
606
+ "type": "array",
607
+ "items": {
608
+ "type": "string"
609
+ }
610
+ },
611
+ "target": {
612
+ "type": "string",
613
+ "enum": [
614
+ "dm",
615
+ "channel",
616
+ "both"
617
+ ]
618
+ }
619
+ },
620
+ "additionalProperties": false
621
+ },
622
+ "groups": {
623
+ "type": "object",
624
+ "properties": {},
625
+ "additionalProperties": {
626
+ "type": "object",
627
+ "properties": {
628
+ "account": {
629
+ "type": "string"
630
+ },
631
+ "enabled": {
632
+ "type": "boolean"
633
+ },
634
+ "requireMention": {
635
+ "type": "boolean"
636
+ },
637
+ "allowBots": {
638
+ "anyOf": [
639
+ {
640
+ "type": "boolean"
641
+ },
642
+ {
643
+ "type": "string",
644
+ "const": "mentions"
645
+ }
646
+ ]
647
+ },
648
+ "botLoopProtection": {
649
+ "type": "object",
650
+ "properties": {
651
+ "enabled": {
652
+ "type": "boolean"
653
+ },
654
+ "maxEventsPerWindow": {
655
+ "type": "integer",
656
+ "exclusiveMinimum": 0,
657
+ "maximum": 9007199254740991
658
+ },
659
+ "windowSeconds": {
660
+ "type": "integer",
661
+ "exclusiveMinimum": 0,
662
+ "maximum": 9007199254740991
663
+ },
664
+ "cooldownSeconds": {
665
+ "type": "integer",
666
+ "exclusiveMinimum": 0,
667
+ "maximum": 9007199254740991
668
+ }
669
+ },
670
+ "additionalProperties": false
671
+ },
672
+ "tools": {
673
+ "type": "object",
674
+ "properties": {
675
+ "allow": {
676
+ "type": "array",
677
+ "items": {
678
+ "type": "string"
679
+ }
680
+ },
681
+ "alsoAllow": {
682
+ "type": "array",
683
+ "items": {
684
+ "type": "string"
685
+ }
686
+ },
687
+ "deny": {
688
+ "type": "array",
689
+ "items": {
690
+ "type": "string"
691
+ }
692
+ }
693
+ },
694
+ "additionalProperties": false
695
+ },
696
+ "autoReply": {
697
+ "type": "boolean"
698
+ },
699
+ "users": {
700
+ "type": "array",
701
+ "items": {
702
+ "anyOf": [
703
+ {
704
+ "type": "string"
705
+ },
706
+ {
707
+ "type": "number"
708
+ }
709
+ ]
710
+ }
711
+ },
712
+ "skills": {
713
+ "type": "array",
714
+ "items": {
715
+ "type": "string"
716
+ }
717
+ },
718
+ "systemPrompt": {
719
+ "type": "string"
720
+ }
721
+ },
722
+ "additionalProperties": false
723
+ }
724
+ },
725
+ "rooms": {
726
+ "type": "object",
727
+ "properties": {},
728
+ "additionalProperties": {
729
+ "type": "object",
730
+ "properties": {
731
+ "account": {
732
+ "type": "string"
733
+ },
734
+ "enabled": {
735
+ "type": "boolean"
736
+ },
737
+ "requireMention": {
738
+ "type": "boolean"
739
+ },
740
+ "allowBots": {
741
+ "anyOf": [
742
+ {
743
+ "type": "boolean"
744
+ },
745
+ {
746
+ "type": "string",
747
+ "const": "mentions"
748
+ }
749
+ ]
750
+ },
751
+ "botLoopProtection": {
752
+ "type": "object",
753
+ "properties": {
754
+ "enabled": {
755
+ "type": "boolean"
756
+ },
757
+ "maxEventsPerWindow": {
758
+ "type": "integer",
759
+ "exclusiveMinimum": 0,
760
+ "maximum": 9007199254740991
761
+ },
762
+ "windowSeconds": {
763
+ "type": "integer",
764
+ "exclusiveMinimum": 0,
765
+ "maximum": 9007199254740991
766
+ },
767
+ "cooldownSeconds": {
768
+ "type": "integer",
769
+ "exclusiveMinimum": 0,
770
+ "maximum": 9007199254740991
771
+ }
772
+ },
773
+ "additionalProperties": false
774
+ },
775
+ "tools": {
776
+ "type": "object",
777
+ "properties": {
778
+ "allow": {
779
+ "type": "array",
780
+ "items": {
781
+ "type": "string"
782
+ }
783
+ },
784
+ "alsoAllow": {
785
+ "type": "array",
786
+ "items": {
787
+ "type": "string"
788
+ }
789
+ },
790
+ "deny": {
791
+ "type": "array",
792
+ "items": {
793
+ "type": "string"
794
+ }
795
+ }
796
+ },
797
+ "additionalProperties": false
798
+ },
799
+ "autoReply": {
800
+ "type": "boolean"
801
+ },
802
+ "users": {
803
+ "type": "array",
804
+ "items": {
805
+ "anyOf": [
806
+ {
807
+ "type": "string"
808
+ },
809
+ {
810
+ "type": "number"
811
+ }
812
+ ]
813
+ }
814
+ },
815
+ "skills": {
816
+ "type": "array",
817
+ "items": {
818
+ "type": "string"
819
+ }
820
+ },
821
+ "systemPrompt": {
822
+ "type": "string"
823
+ }
824
+ },
825
+ "additionalProperties": false
826
+ }
827
+ },
828
+ "actions": {
829
+ "type": "object",
830
+ "properties": {
831
+ "reactions": {
832
+ "type": "boolean"
833
+ },
834
+ "messages": {
835
+ "type": "boolean"
836
+ },
837
+ "pins": {
838
+ "type": "boolean"
839
+ },
840
+ "profile": {
841
+ "type": "boolean"
842
+ },
843
+ "memberInfo": {
844
+ "type": "boolean"
845
+ },
846
+ "channelInfo": {
847
+ "type": "boolean"
848
+ },
849
+ "verification": {
850
+ "type": "boolean"
851
+ }
852
+ },
853
+ "additionalProperties": false
854
+ }
855
+ },
856
+ "additionalProperties": false
857
+ },
858
+ "label": "Matrix",
859
+ "description": "open protocol; install the plugin to enable.",
860
+ "uiHints": {
861
+ "allowBots": {
862
+ "label": "Matrix Allow Bot Messages",
863
+ "help": "Allow messages from other configured Matrix bot accounts to trigger replies (default: false). Set \"mentions\" to require a visible room mention."
864
+ },
865
+ "botLoopProtection": {
866
+ "label": "Matrix Bot Loop Protection",
867
+ "help": "Sliding-window guard for accepted Matrix configured-bot loops. Default is enabled whenever allowBots lets configured bot messages reach dispatch."
868
+ },
869
+ "botLoopProtection.enabled": {
870
+ "label": "Matrix Bot Loop Protection Enabled",
871
+ "help": "Enable the bot-pair loop guard. Defaults to true when allowBots is true or \"mentions\", and false when configured bot messages are ignored."
872
+ },
873
+ "botLoopProtection.maxEventsPerWindow": {
874
+ "label": "Matrix Bot Loop Events per Window",
875
+ "help": "Maximum accepted bot-pair messages within the sliding window before suppression starts. Default: 20."
876
+ },
877
+ "botLoopProtection.windowSeconds": {
878
+ "label": "Matrix Bot Loop Window Seconds",
879
+ "help": "Sliding window length for counting bot-pair messages. Default: 60."
880
+ },
881
+ "botLoopProtection.cooldownSeconds": {
882
+ "label": "Matrix Bot Loop Cooldown Seconds",
883
+ "help": "How long to suppress the bot pair after it exceeds the budget. Default: 60."
884
+ },
885
+ "dangerouslyAllowNameMatching": {
886
+ "label": "Matrix Display Name Matching",
887
+ "help": "Compatibility opt-in for resolving Matrix display names and joined room names in allowlists. Prefer full @user:server IDs and room IDs or aliases because names are mutable."
888
+ },
889
+ "streaming.progress.label": {
890
+ "label": "Matrix Progress Label",
891
+ "help": "Initial progress draft title. Use \"auto\" for built-in single-word labels, a custom string, or false to hide the title."
892
+ },
893
+ "streaming.progress.labels": {
894
+ "label": "Matrix Progress Label Pool",
895
+ "help": "Candidate labels for streaming.progress.label=\"auto\". Leave unset to use Klaw built-in progress labels."
896
+ },
897
+ "streaming.progress.maxLines": {
898
+ "label": "Matrix Progress Max Lines",
899
+ "help": "Maximum number of compact progress lines to keep below the draft label (default: 8)."
900
+ },
901
+ "streaming.progress.maxLineChars": {
902
+ "label": "Matrix Progress Max Line Chars",
903
+ "help": "Maximum characters per compact progress line before truncation (default: 120). Prose cuts at word boundaries; commands and paths keep useful suffixes."
904
+ },
905
+ "streaming.progress.toolProgress": {
906
+ "label": "Matrix Progress Tool Lines",
907
+ "help": "Show compact tool/progress lines in progress draft mode (default: true). Set false to keep only the label until final delivery."
908
+ },
909
+ "streaming.progress.commandText": {
910
+ "label": "Matrix Progress Command Text",
911
+ "help": "Command/exec detail in progress draft lines: \"raw\" preserves released behavior; \"status\" shows only the tool label."
912
+ }
913
+ }
914
+ }
915
+ }
916
+ }
package/package.json ADDED
@@ -0,0 +1,100 @@
1
+ {
2
+ "name": "@kodelyth/matrix",
3
+ "version": "2026.5.39",
4
+ "description": "Klaw Matrix channel plugin",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/kodelyth/klaw"
8
+ },
9
+ "type": "module",
10
+ "dependencies": {
11
+ "@matrix-org/matrix-sdk-crypto-nodejs": "0.5.1",
12
+ "@matrix-org/matrix-sdk-crypto-wasm": "18.3.0",
13
+ "fake-indexeddb": "6.2.5",
14
+ "markdown-it": "14.1.1",
15
+ "matrix-js-sdk": "41.5.0",
16
+ "music-metadata": "11.12.3",
17
+ "typebox": "1.1.38",
18
+ "zod": "4.4.3"
19
+ },
20
+ "devDependencies": {
21
+ "@kodelyth/plugin-sdk": "1.0.1",
22
+ "@kodelyth/klaw": "2026.5.41"
23
+ },
24
+ "peerDependencies": {
25
+ "@kodelyth/klaw": ">=2026.5.19"
26
+ },
27
+ "peerDependenciesMeta": {
28
+ "@kodelyth/klaw": {
29
+ "optional": true
30
+ }
31
+ },
32
+ "klaw": {
33
+ "extensions": [
34
+ "./index.js"
35
+ ],
36
+ "setupEntry": "./setup-entry.js",
37
+ "setupFeatures": {
38
+ "configPromotion": true
39
+ },
40
+ "channel": {
41
+ "id": "matrix",
42
+ "label": "Matrix",
43
+ "selectionLabel": "Matrix (plugin)",
44
+ "docsPath": "/channels/matrix",
45
+ "docsLabel": "matrix",
46
+ "blurb": "open protocol; install the plugin to enable.",
47
+ "order": 70,
48
+ "quickstartAllowFrom": true,
49
+ "doctorCapabilities": {
50
+ "dmAllowFromMode": "nestedOnly",
51
+ "groupModel": "sender",
52
+ "groupAllowFromFallbackToAllowFrom": false,
53
+ "warnOnEmptyGroupSenderAllowlist": true
54
+ },
55
+ "cliAddOptions": [
56
+ {
57
+ "flags": "--homeserver <url>",
58
+ "description": "Matrix homeserver URL"
59
+ },
60
+ {
61
+ "flags": "--user-id <id>",
62
+ "description": "Matrix user ID"
63
+ },
64
+ {
65
+ "flags": "--access-token <token>",
66
+ "description": "Matrix access token"
67
+ },
68
+ {
69
+ "flags": "--device-name <name>",
70
+ "description": "Matrix device name"
71
+ },
72
+ {
73
+ "flags": "--initial-sync-limit <n>",
74
+ "description": "Matrix initial sync limit"
75
+ }
76
+ ],
77
+ "persistedAuthState": {
78
+ "specifier": "./auth-presence",
79
+ "exportName": "hasAnyMatrixAuth"
80
+ }
81
+ },
82
+ "install": {
83
+ "clawhubSpec": "clawhub:@kodelyth/matrix",
84
+ "npmSpec": "@kodelyth/matrix",
85
+ "defaultChoice": "clawhub",
86
+ "minHostVersion": ">=2026.4.10",
87
+ "allowInvalidConfigRecovery": true
88
+ },
89
+ "compat": {
90
+ "pluginApi": ">=2026.5.39"
91
+ },
92
+ "build": {
93
+ "klawVersion": "2026.5.39"
94
+ },
95
+ "release": {
96
+ "publishToClawHub": true,
97
+ "publishToNpm": true
98
+ }
99
+ }
100
+ }
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/matrix/plugin-entry.handlers.runtime.js";
2
+ import * as module from "../../../dist/extensions/matrix/plugin-entry.handlers.runtime.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/runtime-api.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/matrix/runtime-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/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/matrix/runtime-heavy-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/runtime-heavy-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/matrix/runtime-setter-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/runtime-setter-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/matrix/secret-contract-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/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-entry.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/matrix/setup-entry.js";
2
+ import defaultModule from "../../../dist/extensions/matrix/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 };
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/matrix/setup-plugin-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/setup-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/matrix/subagent-hooks-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/subagent-hooks-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/test-api.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/matrix/test-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/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 };
@@ -0,0 +1,7 @@
1
+ export * from "../../../dist/extensions/matrix/thread-binding-api.js";
2
+ import * as module from "../../../dist/extensions/matrix/thread-binding-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/matrix/thread-bindings-runtime.js";
2
+ import * as module from "../../../dist/extensions/matrix/thread-bindings-runtime.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 };