@openclaw/mattermost 2026.7.1 → 2026.7.2-beta.2

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.
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@openclaw/mattermost",
3
- "version": "2026.7.1",
3
+ "version": "2026.7.2-beta.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/mattermost",
9
- "version": "2026.7.1",
9
+ "version": "2026.7.2-beta.2",
10
10
  "dependencies": {
11
11
  "ws": "8.21.0",
12
12
  "zod": "4.4.3"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.7.1"
15
+ "openclaw": ">=2026.7.2-beta.2"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "openclaw": {
@@ -205,16 +205,10 @@
205
205
  "exclusiveMinimum": 0,
206
206
  "maximum": 9007199254740991
207
207
  },
208
- "chunkMode": {
209
- "type": "string",
210
- "enum": [
211
- "length",
212
- "newline"
213
- ]
214
- },
215
208
  "streaming": {
216
- "anyOf": [
217
- {
209
+ "type": "object",
210
+ "properties": {
211
+ "mode": {
218
212
  "type": "string",
219
213
  "enum": [
220
214
  "off",
@@ -223,99 +217,95 @@
223
217
  "progress"
224
218
  ]
225
219
  },
226
- {
227
- "type": "boolean"
220
+ "chunkMode": {
221
+ "type": "string",
222
+ "enum": [
223
+ "length",
224
+ "newline"
225
+ ]
228
226
  },
229
- {
227
+ "preview": {
230
228
  "type": "object",
231
229
  "properties": {
232
- "mode": {
230
+ "toolProgress": {
231
+ "type": "boolean"
232
+ },
233
+ "commandText": {
233
234
  "type": "string",
234
235
  "enum": [
235
- "off",
236
- "partial",
237
- "block",
238
- "progress"
236
+ "raw",
237
+ "status"
239
238
  ]
239
+ }
240
+ },
241
+ "additionalProperties": false
242
+ },
243
+ "progress": {
244
+ "type": "object",
245
+ "properties": {
246
+ "label": {
247
+ "anyOf": [
248
+ {
249
+ "type": "string"
250
+ },
251
+ {
252
+ "type": "boolean",
253
+ "const": false
254
+ }
255
+ ]
256
+ },
257
+ "labels": {
258
+ "type": "array",
259
+ "items": {
260
+ "type": "string"
261
+ }
262
+ },
263
+ "maxLines": {
264
+ "type": "integer",
265
+ "exclusiveMinimum": 0,
266
+ "maximum": 9007199254740991
267
+ },
268
+ "maxLineChars": {
269
+ "type": "integer",
270
+ "exclusiveMinimum": 0,
271
+ "maximum": 9007199254740991
240
272
  },
241
- "chunkMode": {
273
+ "toolProgress": {
274
+ "type": "boolean"
275
+ },
276
+ "commandText": {
242
277
  "type": "string",
243
278
  "enum": [
244
- "length",
245
- "newline"
279
+ "raw",
280
+ "status"
246
281
  ]
282
+ }
283
+ },
284
+ "additionalProperties": false
285
+ },
286
+ "block": {
287
+ "type": "object",
288
+ "properties": {
289
+ "enabled": {
290
+ "type": "boolean"
247
291
  },
248
- "preview": {
249
- "type": "object",
250
- "properties": {
251
- "toolProgress": {
252
- "type": "boolean"
253
- }
254
- },
255
- "additionalProperties": false
256
- },
257
- "progress": {
292
+ "coalesce": {
258
293
  "type": "object",
259
294
  "properties": {
260
- "label": {
261
- "anyOf": [
262
- {
263
- "type": "string"
264
- },
265
- {
266
- "type": "boolean",
267
- "const": false
268
- }
269
- ]
270
- },
271
- "labels": {
272
- "type": "array",
273
- "items": {
274
- "type": "string"
275
- }
276
- },
277
- "maxLines": {
295
+ "minChars": {
278
296
  "type": "integer",
279
297
  "exclusiveMinimum": 0,
280
298
  "maximum": 9007199254740991
281
299
  },
282
- "maxLineChars": {
300
+ "maxChars": {
283
301
  "type": "integer",
284
302
  "exclusiveMinimum": 0,
285
303
  "maximum": 9007199254740991
286
304
  },
287
- "toolProgress": {
288
- "type": "boolean"
289
- }
290
- },
291
- "additionalProperties": false
292
- },
293
- "block": {
294
- "type": "object",
295
- "properties": {
296
- "enabled": {
297
- "type": "boolean"
298
- },
299
- "coalesce": {
300
- "type": "object",
301
- "properties": {
302
- "minChars": {
303
- "type": "integer",
304
- "exclusiveMinimum": 0,
305
- "maximum": 9007199254740991
306
- },
307
- "maxChars": {
308
- "type": "integer",
309
- "exclusiveMinimum": 0,
310
- "maximum": 9007199254740991
311
- },
312
- "idleMs": {
313
- "type": "integer",
314
- "minimum": 0,
315
- "maximum": 9007199254740991
316
- }
317
- },
318
- "additionalProperties": false
305
+ "idleMs": {
306
+ "type": "integer",
307
+ "minimum": 0,
308
+ "maximum": 9007199254740991
319
309
  }
320
310
  },
321
311
  "additionalProperties": false
@@ -323,29 +313,6 @@
323
313
  },
324
314
  "additionalProperties": false
325
315
  }
326
- ]
327
- },
328
- "blockStreaming": {
329
- "type": "boolean"
330
- },
331
- "blockStreamingCoalesce": {
332
- "type": "object",
333
- "properties": {
334
- "minChars": {
335
- "type": "integer",
336
- "exclusiveMinimum": 0,
337
- "maximum": 9007199254740991
338
- },
339
- "maxChars": {
340
- "type": "integer",
341
- "exclusiveMinimum": 0,
342
- "maximum": 9007199254740991
343
- },
344
- "idleMs": {
345
- "type": "integer",
346
- "minimum": 0,
347
- "maximum": 9007199254740991
348
- }
349
316
  },
350
317
  "additionalProperties": false
351
318
  },
@@ -358,6 +325,39 @@
358
325
  "batched"
359
326
  ]
360
327
  },
328
+ "replyToModeByChatType": {
329
+ "type": "object",
330
+ "properties": {
331
+ "direct": {
332
+ "type": "string",
333
+ "enum": [
334
+ "off",
335
+ "first",
336
+ "all",
337
+ "batched"
338
+ ]
339
+ },
340
+ "group": {
341
+ "type": "string",
342
+ "enum": [
343
+ "off",
344
+ "first",
345
+ "all",
346
+ "batched"
347
+ ]
348
+ },
349
+ "channel": {
350
+ "type": "string",
351
+ "enum": [
352
+ "off",
353
+ "first",
354
+ "all",
355
+ "batched"
356
+ ]
357
+ }
358
+ },
359
+ "additionalProperties": false
360
+ },
361
361
  "responsePrefix": {
362
362
  "type": "string"
363
363
  },
@@ -658,16 +658,10 @@
658
658
  "exclusiveMinimum": 0,
659
659
  "maximum": 9007199254740991
660
660
  },
661
- "chunkMode": {
662
- "type": "string",
663
- "enum": [
664
- "length",
665
- "newline"
666
- ]
667
- },
668
661
  "streaming": {
669
- "anyOf": [
670
- {
662
+ "type": "object",
663
+ "properties": {
664
+ "mode": {
671
665
  "type": "string",
672
666
  "enum": [
673
667
  "off",
@@ -676,99 +670,95 @@
676
670
  "progress"
677
671
  ]
678
672
  },
679
- {
680
- "type": "boolean"
673
+ "chunkMode": {
674
+ "type": "string",
675
+ "enum": [
676
+ "length",
677
+ "newline"
678
+ ]
681
679
  },
682
- {
680
+ "preview": {
683
681
  "type": "object",
684
682
  "properties": {
685
- "mode": {
683
+ "toolProgress": {
684
+ "type": "boolean"
685
+ },
686
+ "commandText": {
686
687
  "type": "string",
687
688
  "enum": [
688
- "off",
689
- "partial",
690
- "block",
691
- "progress"
689
+ "raw",
690
+ "status"
692
691
  ]
692
+ }
693
+ },
694
+ "additionalProperties": false
695
+ },
696
+ "progress": {
697
+ "type": "object",
698
+ "properties": {
699
+ "label": {
700
+ "anyOf": [
701
+ {
702
+ "type": "string"
703
+ },
704
+ {
705
+ "type": "boolean",
706
+ "const": false
707
+ }
708
+ ]
709
+ },
710
+ "labels": {
711
+ "type": "array",
712
+ "items": {
713
+ "type": "string"
714
+ }
715
+ },
716
+ "maxLines": {
717
+ "type": "integer",
718
+ "exclusiveMinimum": 0,
719
+ "maximum": 9007199254740991
693
720
  },
694
- "chunkMode": {
721
+ "maxLineChars": {
722
+ "type": "integer",
723
+ "exclusiveMinimum": 0,
724
+ "maximum": 9007199254740991
725
+ },
726
+ "toolProgress": {
727
+ "type": "boolean"
728
+ },
729
+ "commandText": {
695
730
  "type": "string",
696
731
  "enum": [
697
- "length",
698
- "newline"
732
+ "raw",
733
+ "status"
699
734
  ]
735
+ }
736
+ },
737
+ "additionalProperties": false
738
+ },
739
+ "block": {
740
+ "type": "object",
741
+ "properties": {
742
+ "enabled": {
743
+ "type": "boolean"
700
744
  },
701
- "preview": {
702
- "type": "object",
703
- "properties": {
704
- "toolProgress": {
705
- "type": "boolean"
706
- }
707
- },
708
- "additionalProperties": false
709
- },
710
- "progress": {
745
+ "coalesce": {
711
746
  "type": "object",
712
747
  "properties": {
713
- "label": {
714
- "anyOf": [
715
- {
716
- "type": "string"
717
- },
718
- {
719
- "type": "boolean",
720
- "const": false
721
- }
722
- ]
723
- },
724
- "labels": {
725
- "type": "array",
726
- "items": {
727
- "type": "string"
728
- }
729
- },
730
- "maxLines": {
748
+ "minChars": {
731
749
  "type": "integer",
732
750
  "exclusiveMinimum": 0,
733
751
  "maximum": 9007199254740991
734
752
  },
735
- "maxLineChars": {
753
+ "maxChars": {
736
754
  "type": "integer",
737
755
  "exclusiveMinimum": 0,
738
756
  "maximum": 9007199254740991
739
757
  },
740
- "toolProgress": {
741
- "type": "boolean"
742
- }
743
- },
744
- "additionalProperties": false
745
- },
746
- "block": {
747
- "type": "object",
748
- "properties": {
749
- "enabled": {
750
- "type": "boolean"
751
- },
752
- "coalesce": {
753
- "type": "object",
754
- "properties": {
755
- "minChars": {
756
- "type": "integer",
757
- "exclusiveMinimum": 0,
758
- "maximum": 9007199254740991
759
- },
760
- "maxChars": {
761
- "type": "integer",
762
- "exclusiveMinimum": 0,
763
- "maximum": 9007199254740991
764
- },
765
- "idleMs": {
766
- "type": "integer",
767
- "minimum": 0,
768
- "maximum": 9007199254740991
769
- }
770
- },
771
- "additionalProperties": false
758
+ "idleMs": {
759
+ "type": "integer",
760
+ "minimum": 0,
761
+ "maximum": 9007199254740991
772
762
  }
773
763
  },
774
764
  "additionalProperties": false
@@ -776,29 +766,6 @@
776
766
  },
777
767
  "additionalProperties": false
778
768
  }
779
- ]
780
- },
781
- "blockStreaming": {
782
- "type": "boolean"
783
- },
784
- "blockStreamingCoalesce": {
785
- "type": "object",
786
- "properties": {
787
- "minChars": {
788
- "type": "integer",
789
- "exclusiveMinimum": 0,
790
- "maximum": 9007199254740991
791
- },
792
- "maxChars": {
793
- "type": "integer",
794
- "exclusiveMinimum": 0,
795
- "maximum": 9007199254740991
796
- },
797
- "idleMs": {
798
- "type": "integer",
799
- "minimum": 0,
800
- "maximum": 9007199254740991
801
- }
802
769
  },
803
770
  "additionalProperties": false
804
771
  },
@@ -811,6 +778,39 @@
811
778
  "batched"
812
779
  ]
813
780
  },
781
+ "replyToModeByChatType": {
782
+ "type": "object",
783
+ "properties": {
784
+ "direct": {
785
+ "type": "string",
786
+ "enum": [
787
+ "off",
788
+ "first",
789
+ "all",
790
+ "batched"
791
+ ]
792
+ },
793
+ "group": {
794
+ "type": "string",
795
+ "enum": [
796
+ "off",
797
+ "first",
798
+ "all",
799
+ "batched"
800
+ ]
801
+ },
802
+ "channel": {
803
+ "type": "string",
804
+ "enum": [
805
+ "off",
806
+ "first",
807
+ "all",
808
+ "batched"
809
+ ]
810
+ }
811
+ },
812
+ "additionalProperties": false
813
+ },
814
814
  "responsePrefix": {
815
815
  "type": "string"
816
816
  },
@@ -965,7 +965,7 @@
965
965
  },
966
966
  "streaming.progress.labels": {
967
967
  "label": "Mattermost Progress Label Pool",
968
- "help": "Candidate labels for streaming.progress.label=\"auto\". Leave unset to use OpenClaw built-in progress labels."
968
+ "help": "Candidate labels for streaming.progress.label=\"auto\". Leave unset to use the built-in \"Working\" label."
969
969
  },
970
970
  "streaming.progress.maxLines": {
971
971
  "label": "Mattermost Progress Max Lines",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/mattermost",
3
- "version": "2026.7.1",
3
+ "version": "2026.7.2-beta.2",
4
4
  "description": "OpenClaw Mattermost channel plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  "zod": "4.4.3"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.7.1"
15
+ "openclaw": ">=2026.7.2-beta.2"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "openclaw": {
@@ -41,10 +41,10 @@
41
41
  "allowInvalidConfigRecovery": true
42
42
  },
43
43
  "compat": {
44
- "pluginApi": ">=2026.7.1"
44
+ "pluginApi": ">=2026.7.2-beta.2"
45
45
  },
46
46
  "build": {
47
- "openclawVersion": "2026.7.1",
47
+ "openclawVersion": "2026.7.2-beta.2",
48
48
  "bundledDist": false
49
49
  },
50
50
  "release": {
@@ -1,7 +0,0 @@
1
- import { createLegacyPrivateNetworkDoctorContract } from "openclaw/plugin-sdk/ssrf-runtime";
2
- //#region extensions/mattermost/src/doctor-contract.ts
3
- const contract = createLegacyPrivateNetworkDoctorContract({ channelKey: "mattermost" });
4
- const legacyConfigRules = contract.legacyConfigRules;
5
- const normalizeCompatibilityConfig = contract.normalizeCompatibilityConfig;
6
- //#endregion
7
- export { normalizeCompatibilityConfig as n, legacyConfigRules as t };
@@ -1,44 +0,0 @@
1
- import { collectSimpleChannelFieldAssignments, getChannelSurface } from "openclaw/plugin-sdk/channel-secret-basic-runtime";
2
- //#region extensions/mattermost/src/secret-contract.ts
3
- const secretTargetRegistryEntries = [{
4
- id: "channels.mattermost.accounts.*.botToken",
5
- targetType: "channels.mattermost.accounts.*.botToken",
6
- configFile: "openclaw.json",
7
- pathPattern: "channels.mattermost.accounts.*.botToken",
8
- secretShape: "secret_input",
9
- expectedResolvedValue: "string",
10
- includeInPlan: true,
11
- includeInConfigure: true,
12
- includeInAudit: true
13
- }, {
14
- id: "channels.mattermost.botToken",
15
- targetType: "channels.mattermost.botToken",
16
- configFile: "openclaw.json",
17
- pathPattern: "channels.mattermost.botToken",
18
- secretShape: "secret_input",
19
- expectedResolvedValue: "string",
20
- includeInPlan: true,
21
- includeInConfigure: true,
22
- includeInAudit: true
23
- }];
24
- function collectRuntimeConfigAssignments(params) {
25
- const resolved = getChannelSurface(params.config, "mattermost");
26
- if (!resolved) return;
27
- const { channel: mattermost, surface } = resolved;
28
- collectSimpleChannelFieldAssignments({
29
- channelKey: "mattermost",
30
- field: "botToken",
31
- channel: mattermost,
32
- surface,
33
- defaults: params.defaults,
34
- context: params.context,
35
- topInactiveReason: "no enabled account inherits this top-level Mattermost botToken.",
36
- accountInactiveReason: "Mattermost account is disabled."
37
- });
38
- }
39
- const channelSecrets = {
40
- secretTargetRegistryEntries,
41
- collectRuntimeConfigAssignments
42
- };
43
- //#endregion
44
- export { collectRuntimeConfigAssignments as n, secretTargetRegistryEntries as r, channelSecrets as t };
@@ -1,6 +1,5 @@
1
- import { parseAccessGroupAllowFromEntry } from "openclaw/plugin-sdk/access-groups";
2
- import { resolveStableChannelMessageIngress } from "openclaw/plugin-sdk/channel-ingress-runtime";
3
1
  import { normalizeLowercaseStringOrEmpty, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
2
+ import { parseTcpPort } from "openclaw/plugin-sdk/number-runtime";
4
3
  import { buildAgentMediaPayload } from "openclaw/plugin-sdk/agent-media-payload";
5
4
  import { resolveAllowlistMatchSimple } from "openclaw/plugin-sdk/allow-from";
6
5
  import { logInboundDrop } from "openclaw/plugin-sdk/channel-inbound";
@@ -17,7 +16,8 @@ import { DEFAULT_GROUP_HISTORY_LIMIT, createChannelHistoryWindow } from "opencla
17
16
  import { registerPluginHttpRoute } from "openclaw/plugin-sdk/webhook-targets";
18
17
  import { isRequestBodyLimitError, readRequestBodyWithLimit } from "openclaw/plugin-sdk/webhook-ingress";
19
18
  import { isTrustedProxyAddress, resolveClientIp } from "openclaw/plugin-sdk/core";
20
- import { parseTcpPort } from "openclaw/plugin-sdk/number-runtime";
19
+ import { parseAccessGroupAllowFromEntry } from "openclaw/plugin-sdk/access-groups";
20
+ import { resolveStableChannelMessageIngress } from "openclaw/plugin-sdk/channel-ingress-runtime";
21
21
  //#region extensions/mattermost/src/mattermost/monitor-auth.ts
22
22
  const mattermostIngressIdentity = {
23
23
  key: "sender-id",