@inline-openclaw/inline 0.0.37 → 0.0.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.
Files changed (43) hide show
  1. package/README.md +20 -3
  2. package/dist/account-inspect-api.js +34 -7
  3. package/dist/account-inspect-api.js.map +4 -4
  4. package/dist/approval-handler.runtime.js +1032 -92
  5. package/dist/approval-handler.runtime.js.map +14 -14
  6. package/dist/channel-plugin-api.js +1854 -332
  7. package/dist/channel-plugin-api.js.map +19 -18
  8. package/dist/index.d.ts +1 -1
  9. package/dist/inline/accounts.d.ts.map +1 -1
  10. package/dist/inline/actions.d.ts +1 -1
  11. package/dist/inline/actions.d.ts.map +1 -1
  12. package/dist/inline/approval-native.d.ts.map +1 -1
  13. package/dist/inline/bot-commands-sync.d.ts +4 -0
  14. package/dist/inline/bot-commands-sync.d.ts.map +1 -1
  15. package/dist/inline/channel.d.ts.map +1 -1
  16. package/dist/inline/config-schema.d.ts +125 -0
  17. package/dist/inline/config-schema.d.ts.map +1 -1
  18. package/dist/inline/exec-approvals.d.ts.map +1 -1
  19. package/dist/inline/message-tools.d.ts.map +1 -1
  20. package/dist/inline/monitor.d.ts.map +1 -1
  21. package/dist/inline/parent-context-tool.d.ts +10 -0
  22. package/dist/inline/parent-context-tool.d.ts.map +1 -0
  23. package/dist/inline/policy.d.ts +30 -1
  24. package/dist/inline/policy.d.ts.map +1 -1
  25. package/dist/inline/reply-threads.d.ts +12 -0
  26. package/dist/inline/reply-threads.d.ts.map +1 -1
  27. package/dist/inline/shared.d.ts +1 -1
  28. package/dist/inline/thread-participation.d.ts +10 -0
  29. package/dist/inline/thread-participation.d.ts.map +1 -0
  30. package/dist/inline/tool-targets.d.ts +36 -0
  31. package/dist/inline/tool-targets.d.ts.map +1 -0
  32. package/dist/runtime-register-api.d.ts.map +1 -1
  33. package/dist/runtime-register-api.js +1807 -153
  34. package/dist/runtime-register-api.js.map +20 -16
  35. package/dist/runtime-setter-api.js +11 -15
  36. package/dist/runtime-setter-api.js.map +3 -3
  37. package/dist/runtime.d.ts +2 -2
  38. package/dist/runtime.d.ts.map +1 -1
  39. package/dist/setup-entry.d.ts +1 -1
  40. package/dist/setup-plugin-api.js +34 -7
  41. package/dist/setup-plugin-api.js.map +4 -4
  42. package/openclaw.plugin.json +723 -56
  43. package/package.json +6 -6
@@ -9,7 +9,8 @@
9
9
  "inline_update_profile",
10
10
  "inline_bot_commands",
11
11
  "inline_nudge",
12
- "inline_forward"
12
+ "inline_forward",
13
+ "inline_parent_context"
13
14
  ]
14
15
  },
15
16
  "channelEnvVars": {
@@ -26,26 +27,49 @@
26
27
  "$schema": "http://json-schema.org/draft-07/schema#",
27
28
  "type": "object",
28
29
  "additionalProperties": true,
29
- "$defs": {
30
- "secretRef": {
31
- "type": "object",
32
- "additionalProperties": false,
33
- "properties": {
34
- "source": { "type": "string", "enum": ["env", "file", "exec"] },
35
- "provider": { "type": "string" },
36
- "id": { "type": "string" }
37
- },
38
- "required": ["source", "provider", "id"]
39
- },
40
- "secretInput": {
41
- "anyOf": [{ "type": "string" }, { "$ref": "#/$defs/secretRef" }]
42
- }
43
- },
44
30
  "properties": {
45
31
  "name": { "type": "string" },
46
32
  "enabled": { "type": "boolean" },
47
33
  "baseUrl": { "type": "string" },
48
- "token": { "$ref": "#/$defs/secretInput" },
34
+ "token": {
35
+ "anyOf": [
36
+ { "type": "string" },
37
+ {
38
+ "oneOf": [
39
+ {
40
+ "type": "object",
41
+ "additionalProperties": false,
42
+ "properties": {
43
+ "source": { "type": "string", "const": "env" },
44
+ "provider": { "type": "string" },
45
+ "id": { "type": "string" }
46
+ },
47
+ "required": ["source", "provider", "id"]
48
+ },
49
+ {
50
+ "type": "object",
51
+ "additionalProperties": false,
52
+ "properties": {
53
+ "source": { "type": "string", "const": "file" },
54
+ "provider": { "type": "string" },
55
+ "id": { "type": "string" }
56
+ },
57
+ "required": ["source", "provider", "id"]
58
+ },
59
+ {
60
+ "type": "object",
61
+ "additionalProperties": false,
62
+ "properties": {
63
+ "source": { "type": "string", "const": "exec" },
64
+ "provider": { "type": "string" },
65
+ "id": { "type": "string" }
66
+ },
67
+ "required": ["source", "provider", "id"]
68
+ }
69
+ ]
70
+ }
71
+ ]
72
+ },
49
73
  "tokenFile": { "type": "string" },
50
74
  "capabilities": {
51
75
  "type": "object",
@@ -84,7 +108,14 @@
84
108
  "additionalProperties": false,
85
109
  "properties": {
86
110
  "requireMention": { "type": "boolean" },
87
- "allowFrom": { "$ref": "#/properties/groupAllowFrom" },
111
+ "replyThreadMode": { "type": "string", "enum": ["auto", "thread", "main"] },
112
+ "replyThreadAutoCreateMinMessages": { "type": "integer", "minimum": 0 },
113
+ "replyThreadRequireExplicitMention": { "type": "boolean" },
114
+ "replyThreadParentHistoryLimit": { "type": "integer", "minimum": 0 },
115
+ "allowFrom": {
116
+ "type": "array",
117
+ "items": { "anyOf": [{ "type": "string" }, { "type": "number" }] }
118
+ },
88
119
  "systemPrompt": { "type": "string" },
89
120
  "tools": {
90
121
  "type": "object",
@@ -112,6 +143,10 @@
112
143
  }
113
144
  },
114
145
  "requireMention": { "type": "boolean" },
146
+ "replyThreadMode": { "type": "string", "enum": ["auto", "thread", "main"] },
147
+ "replyThreadAutoCreateMinMessages": { "type": "integer", "minimum": 0 },
148
+ "replyThreadRequireExplicitMention": { "type": "boolean" },
149
+ "replyThreadParentHistoryLimit": { "type": "integer", "minimum": 0 },
115
150
  "replyToBotWithoutMention": { "type": "boolean" },
116
151
  "historyLimit": { "type": "integer", "minimum": 0 },
117
152
  "dmHistoryLimit": { "type": "integer", "minimum": 0 },
@@ -144,7 +179,7 @@
144
179
  "streaming": {
145
180
  "anyOf": [
146
181
  { "type": "boolean" },
147
- { "type": "string", "enum": ["off", "partial", "block", "progress"] },
182
+ { "type": "string" },
148
183
  {
149
184
  "type": "object",
150
185
  "additionalProperties": true,
@@ -180,6 +215,7 @@
180
215
  },
181
216
  "labels": { "type": "array", "items": { "type": "string" } },
182
217
  "maxLines": { "type": "integer", "exclusiveMinimum": 0 },
218
+ "maxLineChars": { "type": "integer", "exclusiveMinimum": 0 },
183
219
  "render": { "type": "string", "enum": ["text", "rich"] },
184
220
  "toolProgress": { "type": "boolean" },
185
221
  "commandText": { "type": "string", "enum": ["raw", "status"] }
@@ -261,38 +297,653 @@
261
297
  "type": "object",
262
298
  "additionalProperties": true,
263
299
  "properties": {
264
- "name": { "$ref": "#/properties/name" },
265
- "enabled": { "$ref": "#/properties/enabled" },
266
- "baseUrl": { "$ref": "#/properties/baseUrl" },
267
- "token": { "$ref": "#/properties/token" },
268
- "tokenFile": { "$ref": "#/properties/tokenFile" },
269
- "capabilities": { "$ref": "#/properties/capabilities" },
270
- "dmPolicy": { "$ref": "#/properties/dmPolicy" },
271
- "allowFrom": { "$ref": "#/properties/allowFrom" },
272
- "defaultTo": { "$ref": "#/properties/defaultTo" },
273
- "systemPrompt": { "$ref": "#/properties/systemPrompt" },
274
- "groupAllowFrom": { "$ref": "#/properties/groupAllowFrom" },
275
- "groupPolicy": { "$ref": "#/properties/groupPolicy" },
276
- "groups": { "$ref": "#/properties/groups" },
277
- "requireMention": { "$ref": "#/properties/requireMention" },
278
- "replyToBotWithoutMention": { "$ref": "#/properties/replyToBotWithoutMention" },
279
- "historyLimit": { "$ref": "#/properties/historyLimit" },
280
- "dmHistoryLimit": { "$ref": "#/properties/dmHistoryLimit" },
281
- "parseMarkdown": { "$ref": "#/properties/parseMarkdown" },
282
- "mediaMaxMb": { "$ref": "#/properties/mediaMaxMb" },
283
- "reactionNotifications": { "$ref": "#/properties/reactionNotifications" },
284
- "reactionAllowlist": { "$ref": "#/properties/reactionAllowlist" },
285
- "actions": { "$ref": "#/properties/actions" },
286
- "textChunkLimit": { "$ref": "#/properties/textChunkLimit" },
287
- "chunkMode": { "$ref": "#/properties/chunkMode" },
288
- "streaming": { "$ref": "#/properties/streaming" },
289
- "streamMode": { "$ref": "#/properties/streamMode" },
290
- "draftChunk": { "$ref": "#/properties/draftChunk" },
291
- "blockStreaming": { "$ref": "#/properties/blockStreaming" },
292
- "streamViaEditMessage": { "$ref": "#/properties/streamViaEditMessage" },
293
- "blockStreamingCoalesce": { "$ref": "#/properties/blockStreamingCoalesce" },
294
- "commands": { "$ref": "#/properties/commands" },
295
- "execApprovals": { "$ref": "#/properties/execApprovals" }
300
+ "name": {
301
+ "type": "string"
302
+ },
303
+ "enabled": {
304
+ "type": "boolean"
305
+ },
306
+ "baseUrl": {
307
+ "type": "string"
308
+ },
309
+ "token": {
310
+ "anyOf": [
311
+ {
312
+ "type": "string"
313
+ },
314
+ {
315
+ "oneOf": [
316
+ {
317
+ "type": "object",
318
+ "additionalProperties": false,
319
+ "properties": {
320
+ "source": {
321
+ "type": "string",
322
+ "const": "env"
323
+ },
324
+ "provider": {
325
+ "type": "string"
326
+ },
327
+ "id": {
328
+ "type": "string"
329
+ }
330
+ },
331
+ "required": [
332
+ "source",
333
+ "provider",
334
+ "id"
335
+ ]
336
+ },
337
+ {
338
+ "type": "object",
339
+ "additionalProperties": false,
340
+ "properties": {
341
+ "source": {
342
+ "type": "string",
343
+ "const": "file"
344
+ },
345
+ "provider": {
346
+ "type": "string"
347
+ },
348
+ "id": {
349
+ "type": "string"
350
+ }
351
+ },
352
+ "required": [
353
+ "source",
354
+ "provider",
355
+ "id"
356
+ ]
357
+ },
358
+ {
359
+ "type": "object",
360
+ "additionalProperties": false,
361
+ "properties": {
362
+ "source": {
363
+ "type": "string",
364
+ "const": "exec"
365
+ },
366
+ "provider": {
367
+ "type": "string"
368
+ },
369
+ "id": {
370
+ "type": "string"
371
+ }
372
+ },
373
+ "required": [
374
+ "source",
375
+ "provider",
376
+ "id"
377
+ ]
378
+ }
379
+ ]
380
+ }
381
+ ]
382
+ },
383
+ "tokenFile": {
384
+ "type": "string"
385
+ },
386
+ "capabilities": {
387
+ "type": "object",
388
+ "additionalProperties": false,
389
+ "properties": {
390
+ "replyThreads": {
391
+ "type": "boolean"
392
+ }
393
+ }
394
+ },
395
+ "dmPolicy": {
396
+ "default": "pairing",
397
+ "type": "string",
398
+ "enum": [
399
+ "pairing",
400
+ "allowlist",
401
+ "open",
402
+ "disabled"
403
+ ]
404
+ },
405
+ "allowFrom": {
406
+ "type": "array",
407
+ "items": {
408
+ "anyOf": [
409
+ {
410
+ "type": "string"
411
+ },
412
+ {
413
+ "type": "number"
414
+ }
415
+ ]
416
+ }
417
+ },
418
+ "defaultTo": {
419
+ "anyOf": [
420
+ {
421
+ "type": "string"
422
+ },
423
+ {
424
+ "type": "number"
425
+ }
426
+ ]
427
+ },
428
+ "systemPrompt": {
429
+ "type": "string"
430
+ },
431
+ "groupAllowFrom": {
432
+ "type": "array",
433
+ "items": {
434
+ "anyOf": [
435
+ {
436
+ "type": "string"
437
+ },
438
+ {
439
+ "type": "number"
440
+ }
441
+ ]
442
+ }
443
+ },
444
+ "groupPolicy": {
445
+ "default": "allowlist",
446
+ "type": "string",
447
+ "enum": [
448
+ "open",
449
+ "disabled",
450
+ "allowlist"
451
+ ]
452
+ },
453
+ "groups": {
454
+ "type": "object",
455
+ "propertyNames": {
456
+ "type": "string"
457
+ },
458
+ "additionalProperties": {
459
+ "type": "object",
460
+ "additionalProperties": false,
461
+ "properties": {
462
+ "requireMention": {
463
+ "type": "boolean"
464
+ },
465
+ "replyThreadMode": {
466
+ "type": "string",
467
+ "enum": [
468
+ "auto",
469
+ "thread",
470
+ "main"
471
+ ]
472
+ },
473
+ "replyThreadAutoCreateMinMessages": {
474
+ "type": "integer",
475
+ "minimum": 0
476
+ },
477
+ "replyThreadRequireExplicitMention": {
478
+ "type": "boolean"
479
+ },
480
+ "replyThreadParentHistoryLimit": {
481
+ "type": "integer",
482
+ "minimum": 0
483
+ },
484
+ "allowFrom": {
485
+ "type": "array",
486
+ "items": {
487
+ "anyOf": [
488
+ {
489
+ "type": "string"
490
+ },
491
+ {
492
+ "type": "number"
493
+ }
494
+ ]
495
+ }
496
+ },
497
+ "systemPrompt": {
498
+ "type": "string"
499
+ },
500
+ "tools": {
501
+ "type": "object",
502
+ "additionalProperties": false,
503
+ "properties": {
504
+ "allow": {
505
+ "type": "array",
506
+ "items": {
507
+ "type": "string"
508
+ }
509
+ },
510
+ "alsoAllow": {
511
+ "type": "array",
512
+ "items": {
513
+ "type": "string"
514
+ }
515
+ },
516
+ "deny": {
517
+ "type": "array",
518
+ "items": {
519
+ "type": "string"
520
+ }
521
+ }
522
+ }
523
+ },
524
+ "toolsBySender": {
525
+ "type": "object",
526
+ "propertyNames": {
527
+ "type": "string"
528
+ },
529
+ "additionalProperties": {
530
+ "type": "object",
531
+ "additionalProperties": false,
532
+ "properties": {
533
+ "allow": {
534
+ "type": "array",
535
+ "items": {
536
+ "type": "string"
537
+ }
538
+ },
539
+ "alsoAllow": {
540
+ "type": "array",
541
+ "items": {
542
+ "type": "string"
543
+ }
544
+ },
545
+ "deny": {
546
+ "type": "array",
547
+ "items": {
548
+ "type": "string"
549
+ }
550
+ }
551
+ }
552
+ }
553
+ }
554
+ }
555
+ }
556
+ },
557
+ "requireMention": {
558
+ "type": "boolean"
559
+ },
560
+ "replyThreadMode": {
561
+ "type": "string",
562
+ "enum": [
563
+ "auto",
564
+ "thread",
565
+ "main"
566
+ ]
567
+ },
568
+ "replyThreadAutoCreateMinMessages": {
569
+ "type": "integer",
570
+ "minimum": 0
571
+ },
572
+ "replyThreadRequireExplicitMention": {
573
+ "type": "boolean"
574
+ },
575
+ "replyThreadParentHistoryLimit": {
576
+ "type": "integer",
577
+ "minimum": 0
578
+ },
579
+ "replyToBotWithoutMention": {
580
+ "type": "boolean"
581
+ },
582
+ "historyLimit": {
583
+ "type": "integer",
584
+ "minimum": 0
585
+ },
586
+ "dmHistoryLimit": {
587
+ "type": "integer",
588
+ "minimum": 0
589
+ },
590
+ "parseMarkdown": {
591
+ "type": "boolean"
592
+ },
593
+ "mediaMaxMb": {
594
+ "type": "number",
595
+ "exclusiveMinimum": 0
596
+ },
597
+ "reactionNotifications": {
598
+ "type": "string",
599
+ "enum": [
600
+ "off",
601
+ "own",
602
+ "all",
603
+ "allowlist"
604
+ ]
605
+ },
606
+ "reactionAllowlist": {
607
+ "type": "array",
608
+ "items": {
609
+ "anyOf": [
610
+ {
611
+ "type": "string"
612
+ },
613
+ {
614
+ "type": "number"
615
+ }
616
+ ]
617
+ }
618
+ },
619
+ "actions": {
620
+ "type": "object",
621
+ "additionalProperties": false,
622
+ "properties": {
623
+ "send": {
624
+ "type": "boolean"
625
+ },
626
+ "reply": {
627
+ "type": "boolean"
628
+ },
629
+ "reactions": {
630
+ "type": "boolean"
631
+ },
632
+ "read": {
633
+ "type": "boolean"
634
+ },
635
+ "search": {
636
+ "type": "boolean"
637
+ },
638
+ "edit": {
639
+ "type": "boolean"
640
+ },
641
+ "channels": {
642
+ "type": "boolean"
643
+ },
644
+ "participants": {
645
+ "type": "boolean"
646
+ },
647
+ "delete": {
648
+ "type": "boolean"
649
+ },
650
+ "pins": {
651
+ "type": "boolean"
652
+ },
653
+ "permissions": {
654
+ "type": "boolean"
655
+ }
656
+ }
657
+ },
658
+ "textChunkLimit": {
659
+ "type": "integer",
660
+ "exclusiveMinimum": 0
661
+ },
662
+ "chunkMode": {
663
+ "type": "string",
664
+ "enum": [
665
+ "length",
666
+ "newline"
667
+ ]
668
+ },
669
+ "streaming": {
670
+ "anyOf": [
671
+ {
672
+ "type": "boolean"
673
+ },
674
+ {
675
+ "type": "string"
676
+ },
677
+ {
678
+ "type": "object",
679
+ "additionalProperties": true,
680
+ "properties": {
681
+ "mode": {
682
+ "type": "string",
683
+ "enum": [
684
+ "off",
685
+ "partial",
686
+ "block",
687
+ "progress"
688
+ ]
689
+ },
690
+ "chunkMode": {
691
+ "type": "string",
692
+ "enum": [
693
+ "length",
694
+ "newline"
695
+ ]
696
+ },
697
+ "preview": {
698
+ "type": "object",
699
+ "additionalProperties": true,
700
+ "properties": {
701
+ "chunk": {
702
+ "type": "object",
703
+ "additionalProperties": true,
704
+ "properties": {
705
+ "minChars": {
706
+ "type": "integer",
707
+ "exclusiveMinimum": 0
708
+ },
709
+ "maxChars": {
710
+ "type": "integer",
711
+ "exclusiveMinimum": 0
712
+ },
713
+ "breakPreference": {
714
+ "type": "string",
715
+ "enum": [
716
+ "paragraph",
717
+ "newline",
718
+ "sentence"
719
+ ]
720
+ }
721
+ }
722
+ },
723
+ "toolProgress": {
724
+ "type": "boolean"
725
+ },
726
+ "commandText": {
727
+ "type": "string",
728
+ "enum": [
729
+ "raw",
730
+ "status"
731
+ ]
732
+ }
733
+ }
734
+ },
735
+ "progress": {
736
+ "type": "object",
737
+ "additionalProperties": true,
738
+ "properties": {
739
+ "label": {
740
+ "anyOf": [
741
+ {
742
+ "type": "string"
743
+ },
744
+ {
745
+ "type": "boolean",
746
+ "const": false
747
+ }
748
+ ]
749
+ },
750
+ "labels": {
751
+ "type": "array",
752
+ "items": {
753
+ "type": "string"
754
+ }
755
+ },
756
+ "maxLines": {
757
+ "type": "integer",
758
+ "exclusiveMinimum": 0
759
+ },
760
+ "maxLineChars": {
761
+ "type": "integer",
762
+ "exclusiveMinimum": 0
763
+ },
764
+ "render": {
765
+ "type": "string",
766
+ "enum": [
767
+ "text",
768
+ "rich"
769
+ ]
770
+ },
771
+ "toolProgress": {
772
+ "type": "boolean"
773
+ },
774
+ "commandText": {
775
+ "type": "string",
776
+ "enum": [
777
+ "raw",
778
+ "status"
779
+ ]
780
+ }
781
+ }
782
+ },
783
+ "block": {
784
+ "type": "object",
785
+ "additionalProperties": true,
786
+ "properties": {
787
+ "enabled": {
788
+ "type": "boolean"
789
+ },
790
+ "coalesce": {
791
+ "type": "object",
792
+ "additionalProperties": true,
793
+ "properties": {
794
+ "minChars": {
795
+ "type": "integer",
796
+ "exclusiveMinimum": 0
797
+ },
798
+ "maxChars": {
799
+ "type": "integer",
800
+ "exclusiveMinimum": 0
801
+ },
802
+ "idleMs": {
803
+ "type": "integer",
804
+ "minimum": 0
805
+ }
806
+ }
807
+ }
808
+ }
809
+ }
810
+ }
811
+ }
812
+ ]
813
+ },
814
+ "streamMode": {
815
+ "type": "string",
816
+ "enum": [
817
+ "off",
818
+ "partial",
819
+ "block",
820
+ "progress"
821
+ ]
822
+ },
823
+ "draftChunk": {
824
+ "type": "object",
825
+ "additionalProperties": false,
826
+ "properties": {
827
+ "minChars": {
828
+ "type": "integer",
829
+ "exclusiveMinimum": 0
830
+ },
831
+ "maxChars": {
832
+ "type": "integer",
833
+ "exclusiveMinimum": 0
834
+ },
835
+ "breakPreference": {
836
+ "type": "string",
837
+ "enum": [
838
+ "paragraph",
839
+ "newline",
840
+ "sentence"
841
+ ]
842
+ }
843
+ }
844
+ },
845
+ "blockStreaming": {
846
+ "type": "boolean"
847
+ },
848
+ "streamViaEditMessage": {
849
+ "type": "boolean"
850
+ },
851
+ "blockStreamingCoalesce": {
852
+ "type": "object",
853
+ "additionalProperties": false,
854
+ "properties": {
855
+ "minChars": {
856
+ "type": "integer",
857
+ "exclusiveMinimum": 0
858
+ },
859
+ "maxChars": {
860
+ "type": "integer",
861
+ "exclusiveMinimum": 0
862
+ },
863
+ "idleMs": {
864
+ "type": "integer",
865
+ "minimum": 0
866
+ }
867
+ }
868
+ },
869
+ "commands": {
870
+ "type": "object",
871
+ "additionalProperties": false,
872
+ "properties": {
873
+ "native": {
874
+ "anyOf": [
875
+ {
876
+ "type": "boolean"
877
+ },
878
+ {
879
+ "type": "string",
880
+ "const": "auto"
881
+ }
882
+ ]
883
+ },
884
+ "nativeSkills": {
885
+ "anyOf": [
886
+ {
887
+ "type": "boolean"
888
+ },
889
+ {
890
+ "type": "string",
891
+ "const": "auto"
892
+ }
893
+ ]
894
+ }
895
+ }
896
+ },
897
+ "execApprovals": {
898
+ "type": "object",
899
+ "additionalProperties": false,
900
+ "properties": {
901
+ "enabled": {
902
+ "anyOf": [
903
+ {
904
+ "type": "boolean"
905
+ },
906
+ {
907
+ "type": "string",
908
+ "const": "auto"
909
+ }
910
+ ]
911
+ },
912
+ "approvers": {
913
+ "type": "array",
914
+ "items": {
915
+ "anyOf": [
916
+ {
917
+ "type": "string"
918
+ },
919
+ {
920
+ "type": "number"
921
+ }
922
+ ]
923
+ }
924
+ },
925
+ "agentFilter": {
926
+ "type": "array",
927
+ "items": {
928
+ "type": "string"
929
+ }
930
+ },
931
+ "sessionFilter": {
932
+ "type": "array",
933
+ "items": {
934
+ "type": "string"
935
+ }
936
+ },
937
+ "target": {
938
+ "type": "string",
939
+ "enum": [
940
+ "dm",
941
+ "channel",
942
+ "both"
943
+ ]
944
+ }
945
+ }
946
+ }
296
947
  }
297
948
  }
298
949
  }
@@ -349,9 +1000,25 @@
349
1000
  "label": "Inline Reply Threads",
350
1001
  "help": "Expose Inline reply-thread chats through OpenClaw's thread API."
351
1002
  },
1003
+ "replyThreadMode": {
1004
+ "label": "Inline Reply Thread Mode",
1005
+ "help": "Controls where Inline group replies start from parent-chat messages: \"auto\" keeps current behavior, \"thread\" replies in a child reply thread, and \"main\" keeps replies in the parent chat. Messages that already arrive in an Inline reply thread stay in that reply thread."
1006
+ },
1007
+ "replyThreadAutoCreateMinMessages": {
1008
+ "label": "Inline Reply Thread Parent Size",
1009
+ "help": "Minimum inbound chat-local message ID before \"thread\" mode auto-creates a child reply thread from a parent-chat message. Defaults to 50; set to 0 to thread every parent-chat message. Existing reply-thread chats always stay in their current thread."
1010
+ },
1011
+ "replyThreadRequireExplicitMention": {
1012
+ "label": "Inline Reply Thread Mentions",
1013
+ "help": "When false (default), bot-participated Inline reply threads can continue without explicitly mentioning the bot, matching Slack thread behavior. Recent bot participation is persisted for sparse follow-ups. Set true to require an explicit mention on every reply-thread message."
1014
+ },
1015
+ "replyThreadParentHistoryLimit": {
1016
+ "label": "Inline Reply Thread Parent History",
1017
+ "help": "Number of parent-chat messages before the anchor to include in reply-thread context. Defaults to 10, so reply threads receive nearby parent discussion plus the anchor and thread-local history. Set 0 to disable parent history."
1018
+ },
352
1019
  "groups": {
353
1020
  "label": "Inline Group Overrides",
354
- "help": "Per-group settings keyed by Inline chat ID, including sender allowlist, mention, and tool policy overrides."
1021
+ "help": "Per-group settings keyed by Inline chat ID, including sender allowlist, mention, reply-thread mode, reply-thread mention/history policy, parent-size threshold, and tool policy overrides."
355
1022
  },
356
1023
  "accounts": {
357
1024
  "label": "Inline Accounts",
@@ -403,19 +1070,19 @@
403
1070
  },
404
1071
  "streaming": {
405
1072
  "label": "Inline Streaming Mode",
406
- "help": "Unified Inline stream preview mode: \"off\" | \"partial\" | \"block\" | \"progress\". \"partial\" and \"progress\" use Inline edit previews for visible answer text; reasoning stays out of the chat-visible lane."
1073
+ "help": "Unified Inline stream mode: \"off\" | \"partial\" | \"block\" | \"progress\". \"partial\" edits visible answer previews; \"progress\" sends a silent temporary progress message, edits it while OpenClaw works, and deletes it before the final reply."
407
1074
  },
408
1075
  "streaming.mode": {
409
1076
  "label": "Inline Streaming Mode",
410
- "help": "Canonical Inline preview mode: \"off\" | \"partial\" | \"block\" | \"progress\". \"progress\" degrades to answer-only edit previews until Inline has a dedicated progress/reasoning lane."
1077
+ "help": "Canonical Inline stream mode: \"off\" | \"partial\" | \"block\" | \"progress\". Use \"progress\" for the separate temporary working indicator; it is independent from final answer streaming."
411
1078
  },
412
1079
  "streaming.preview.toolProgress": {
413
1080
  "label": "Inline Draft Tool Progress",
414
- "help": "Accepted for shared OpenClaw streaming config compatibility. Inline does not render tool-progress text into chat-visible edit previews."
1081
+ "help": "Controls shared preview tool-progress compatibility. Inline answer edit previews stay answer-only; live tool details belong in the temporary progress message."
415
1082
  },
416
1083
  "streaming.progress.toolProgress": {
417
1084
  "label": "Inline Progress Tool Lines",
418
- "help": "Accepted for shared OpenClaw streaming config compatibility. Inline keeps progress/tool details out of chat-visible messages."
1085
+ "help": "Show compact tool, plan, command, approval, and patch lines inside the temporary progress message while OpenClaw is working."
419
1086
  },
420
1087
  "streaming.block.enabled": {
421
1088
  "label": "Inline Block Streaming",