@openclaw/slack 2026.7.2-beta.7 → 2026.8.1-beta.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.
- package/dist/{account-inspect-DEKpg9Ip.js → account-inspect-YJvFBbCR.js} +1 -1
- package/dist/account-inspect-api.js +1 -1
- package/dist/{accounts-CHAeNZOX.js → accounts-BlzxuYle.js} +7 -3
- package/dist/{accounts.runtime-BHD4Ma2R.js → accounts.runtime-CbabBL8x.js} +1 -1
- package/dist/{action-runtime-DfuYoMjG.js → action-runtime-D6jg2CQd.js} +193 -125
- package/dist/action-runtime.runtime-JtoOK9l5.js +2 -0
- package/dist/{actions-D3NuJvva.js → actions-DFk0ANVB.js} +116 -235
- package/dist/actions.runtime-CYLsYRai.js +2 -0
- package/dist/api.js +17 -17
- package/dist/{approval-handler.runtime-BA05P0QT.js → approval-handler.runtime-BNvAoKdK.js} +53 -14
- package/dist/{channel-B9fVdW3s.js → channel-CA5w7qDF.js} +209 -110
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel-type-DXyos1d2.js → channel-type-CZWv55Wu.js} +9 -12
- package/dist/{config-adapter-CxBQH8fq.js → channel.setup-CpyYsEXH.js} +83 -25
- package/dist/{config-schema-SgZT6nXV.js → config-schema-CN3XZRX5.js} +27 -17
- package/dist/conversation-binding-route-DFVLUdYF.js +115 -0
- package/dist/{directory-config-CnCIAktf.js → directory-config-BGYyuzWh.js} +3 -3
- package/dist/directory-contract-api.js +1 -1
- package/dist/{directory-live-DKunWh3A.js → directory-live-DjUJQLbq.js} +13 -22
- package/dist/{doctor-contract-CsGH1Dfc.js → doctor-contract-BAy7-EUQ.js} +30 -3
- package/dist/doctor-contract-api.js +1 -1
- package/dist/{group-policy-NQZti9t-.js → group-policy-DyfB_ZIE.js} +282 -183
- package/dist/index.js +4 -1
- package/dist/{message-tool-api-DkhFpMoy.js → message-tool-api-CqMr5Rmc.js} +14 -3
- package/dist/message-tool-api.js +1 -1
- package/dist/{monitor-CmKz0wtI.js → monitor-Chrecrb9.js} +3 -3
- package/dist/{outbound-adapter-BkuMp2Vs.js → outbound-adapter-DuRqAQXK.js} +35 -23
- package/dist/{pipeline.runtime-DgtmuYCP.js → pipeline.runtime-Bbfd5VFW.js} +1386 -929
- package/dist/{policy-PRysPn23.js → policy-BKXSxrIS.js} +18 -14
- package/dist/{probe-CgDsSops.js → probe-BVA65leh.js} +38 -18
- package/dist/{provider-DmRizMZt.js → provider-CUUiwsg2.js} +3454 -2601
- package/dist/{relay-source-Blxj8xb4.js → relay-source-mhpMMRG-.js} +11 -21
- package/dist/{replies-4s_Vq_z9.js → replies-SnWyXcsL.js} +84 -27
- package/dist/{resolve-channels-yEqmM-3I.js → resolve-channels-BSpqC8jU.js} +39 -12
- package/dist/{resolve-users-BOrt5K-5.js → resolve-users-Dvz9pDe0.js} +28 -5
- package/dist/{runtime-api-QMb-Q5Ko.js → runtime-api-DBi7xc_g.js} +3 -3
- package/dist/runtime-api.js +11 -11
- package/dist/{scopes-BJSrkAp6.js → scopes-BSk4GZvZ.js} +1 -1
- package/dist/security-contract-api.js +1 -1
- package/dist/{send-DsLeZpST.js → send-CtnOxKCc.js} +249 -163
- package/dist/{send.runtime-gUdK6V3h.js → send.runtime-kYctMHSd.js} +1 -1
- package/dist/setup-entry.js +1 -4
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{setup-surface-BeNzrMrJ.js → setup-surface-BPFfp6So.js} +6 -6
- package/dist/{shared-DgIN3Dcr.js → shared-DJBaslN7.js} +45 -45
- package/dist/{block-text-DkHaoGem.js → slack-client-kind-BXyOOICI.js} +17 -2
- package/dist/{slash-dispatch.runtime-zPkyl7dB.js → slash-dispatch.runtime-Cf2FTrnf.js} +2 -2
- package/dist/{streaming-compat-3_X-21wW.js → streaming-compat-B-e0mqM0.js} +3 -8
- package/dist/{target-parsing-N6lHogYZ.js → target-parsing-BnMD2ZqZ.js} +40 -2
- package/dist/{targets-KmjP2E8s.js → targets-Cx5W_n3W.js} +1 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/crypto.d.ts +1 -1
- package/node_modules/@slack/bolt/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/socket-mode/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/socket-mode/node_modules/@types/node/crypto.d.ts +1 -1
- package/node_modules/@slack/socket-mode/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
- package/node_modules/undici/lib/cache/memory-cache-store.js +54 -9
- package/node_modules/undici/lib/cache/sqlite-cache-store.js +7 -1
- package/node_modules/undici/lib/core/request.js +12 -1
- package/node_modules/undici/lib/dispatcher/client-h1.js +11 -2
- package/node_modules/undici/lib/handler/cache-handler.js +246 -64
- package/node_modules/undici/lib/handler/cache-revalidation-handler.js +3 -3
- package/node_modules/undici/lib/handler/retry-handler.js +24 -0
- package/node_modules/undici/lib/interceptor/cache.js +159 -52
- package/node_modules/undici/lib/util/cache.js +324 -62
- package/node_modules/undici/lib/util/date.js +23 -6
- package/node_modules/undici/lib/web/cookies/util.js +79 -9
- package/node_modules/undici/package.json +1 -1
- package/openclaw.plugin.json +280 -33
- package/package.json +9 -11
- package/skills/slack/SKILL.md +10 -68
- package/dist/account-reply-mode-DrUXogvO.js +0 -14
- package/dist/action-runtime.runtime-DQErZYpz.js +0 -2
- package/dist/actions.runtime-BIRU_G4M.js +0 -2
- package/dist/channel.setup-CLP5oTvh.js +0 -56
- package/dist/preflight-audio.runtime-D5Bgags0.js +0 -3
- package/dist/slash-plugin-commands.runtime-Dosfcx3X.js +0 -2
- package/node_modules/p-map/index.d.ts +0 -155
- package/node_modules/p-map/index.js +0 -285
- package/node_modules/p-map/license +0 -9
- package/node_modules/p-map/package.json +0 -57
- package/node_modules/p-map/readme.md +0 -190
- package/dist/{security-audit-DR097212.js → security-audit-B_yKr7MW.js} +1 -1
|
@@ -105,7 +105,7 @@ function validateCookiePath (path) {
|
|
|
105
105
|
|
|
106
106
|
if (
|
|
107
107
|
code < 0x20 || // exclude CTLs (0-31)
|
|
108
|
-
code
|
|
108
|
+
code > 0x7E || // exclude DEL and non-ascii
|
|
109
109
|
code === 0x3B // ;
|
|
110
110
|
) {
|
|
111
111
|
throw new Error('Invalid cookie path')
|
|
@@ -114,16 +114,80 @@ function validateCookiePath (path) {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
/**
|
|
117
|
-
*
|
|
118
|
-
*
|
|
117
|
+
* <let-dig> ::= <letter> | <digit>
|
|
118
|
+
*
|
|
119
|
+
* <letter> ::= any one of the 52 alphabetic characters A through Z in
|
|
120
|
+
* upper case and a through z in lower case
|
|
121
|
+
*
|
|
122
|
+
* <digit> ::= any one of the ten digits 0 through 9r
|
|
123
|
+
*
|
|
124
|
+
* @see https://www.rfc-editor.org/rfc/rfc1034#section-3.5
|
|
125
|
+
* @param {number} code
|
|
126
|
+
*/
|
|
127
|
+
function isLetterOrDigit (code) {
|
|
128
|
+
return (
|
|
129
|
+
(code >= 0x30 && code <= 0x39) || // 0-9
|
|
130
|
+
(code >= 0x41 && code <= 0x5A) || // A-Z
|
|
131
|
+
(code >= 0x61 && code <= 0x7A) // a-z
|
|
132
|
+
)
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Validates a cookie domain against the "preferred name syntax".
|
|
137
|
+
*
|
|
138
|
+
* <domain> ::= <subdomain> | " "
|
|
139
|
+
* <subdomain> ::= <label> | <subdomain> "." <label>
|
|
140
|
+
* <label> ::= <let-dig> [ [ <ldh-str> ] <let-dig> ]
|
|
141
|
+
* <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
|
|
142
|
+
* <let-dig-hyp> ::= <let-dig> | "-"
|
|
143
|
+
*
|
|
144
|
+
* @see https://www.rfc-editor.org/rfc/rfc1034#section-3.5
|
|
145
|
+
* @see https://www.rfc-editor.org/rfc/rfc1123#section-2.1
|
|
146
|
+
* @see https://www.rfc-editor.org/rfc/rfc1035#section-2.3.4
|
|
119
147
|
* @param {string} domain
|
|
120
148
|
*/
|
|
121
149
|
function validateCookieDomain (domain) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
150
|
+
// <domain> ::= <subdomain> | " "
|
|
151
|
+
if (domain === ' ') {
|
|
152
|
+
return
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if (domain.length > 255) {
|
|
156
|
+
throw new Error('Invalid cookie domain')
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
let labelLength = 0
|
|
160
|
+
|
|
161
|
+
for (let i = 0; i < domain.length; ++i) {
|
|
162
|
+
const code = domain.charCodeAt(i)
|
|
163
|
+
|
|
164
|
+
if (code === 0x2E) {
|
|
165
|
+
if (labelLength === 0) {
|
|
166
|
+
throw new Error('Invalid cookie domain')
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (domain.charCodeAt(i - 1) === 0x2D) { // "-"
|
|
170
|
+
throw new Error('Invalid cookie domain')
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
labelLength = 0
|
|
174
|
+
continue
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (labelLength === 0 && !isLetterOrDigit(code)) {
|
|
178
|
+
throw new Error('Invalid cookie domain')
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (!isLetterOrDigit(code) && code !== 0x2D) { // "-"
|
|
182
|
+
throw new Error('Invalid cookie domain')
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (++labelLength > 63) {
|
|
186
|
+
throw new Error('Invalid cookie domain')
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (labelLength === 0 || domain.charCodeAt(domain.length - 1) === 0x2D) { // "-"
|
|
127
191
|
throw new Error('Invalid cookie domain')
|
|
128
192
|
}
|
|
129
193
|
}
|
|
@@ -266,7 +330,13 @@ function stringify (cookie) {
|
|
|
266
330
|
|
|
267
331
|
const [key, ...value] = part.split('=')
|
|
268
332
|
|
|
269
|
-
|
|
333
|
+
const trimmedKey = key.trim()
|
|
334
|
+
const joinedValue = value.join('=')
|
|
335
|
+
|
|
336
|
+
validateCookieName(trimmedKey)
|
|
337
|
+
validateCookieValue(joinedValue)
|
|
338
|
+
|
|
339
|
+
out.push(`${trimmedKey}=${joinedValue}`)
|
|
270
340
|
}
|
|
271
341
|
|
|
272
342
|
return out.join('; ')
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "slack",
|
|
3
|
+
"doctorContract": {
|
|
4
|
+
"configRepair": true
|
|
5
|
+
},
|
|
3
6
|
"name": "Slack",
|
|
4
7
|
"description": "OpenClaw Slack channel plugin for channels, DMs, commands, and app events.",
|
|
5
8
|
"skills": [
|
|
@@ -248,13 +251,6 @@
|
|
|
248
251
|
"exclusiveMinimum": 0,
|
|
249
252
|
"maximum": 9007199254740991
|
|
250
253
|
},
|
|
251
|
-
"render": {
|
|
252
|
-
"type": "string",
|
|
253
|
-
"enum": [
|
|
254
|
-
"text",
|
|
255
|
-
"rich"
|
|
256
|
-
]
|
|
257
|
-
},
|
|
258
254
|
"toolProgress": {
|
|
259
255
|
"type": "boolean"
|
|
260
256
|
},
|
|
@@ -271,6 +267,13 @@
|
|
|
271
267
|
"narration": {
|
|
272
268
|
"type": "boolean"
|
|
273
269
|
},
|
|
270
|
+
"style": {
|
|
271
|
+
"type": "string",
|
|
272
|
+
"enum": [
|
|
273
|
+
"card",
|
|
274
|
+
"compact"
|
|
275
|
+
]
|
|
276
|
+
},
|
|
274
277
|
"nativeTaskCards": {
|
|
275
278
|
"type": "boolean"
|
|
276
279
|
}
|
|
@@ -381,9 +384,6 @@
|
|
|
381
384
|
"relay"
|
|
382
385
|
]
|
|
383
386
|
},
|
|
384
|
-
"enterpriseOrgInstall": {
|
|
385
|
-
"type": "boolean"
|
|
386
|
-
},
|
|
387
387
|
"relay": {
|
|
388
388
|
"type": "object",
|
|
389
389
|
"properties": {
|
|
@@ -420,6 +420,29 @@
|
|
|
420
420
|
],
|
|
421
421
|
"additionalProperties": false
|
|
422
422
|
},
|
|
423
|
+
{
|
|
424
|
+
"type": "object",
|
|
425
|
+
"properties": {
|
|
426
|
+
"source": {
|
|
427
|
+
"type": "string",
|
|
428
|
+
"const": "store"
|
|
429
|
+
},
|
|
430
|
+
"provider": {
|
|
431
|
+
"type": "string",
|
|
432
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
433
|
+
},
|
|
434
|
+
"id": {
|
|
435
|
+
"type": "string",
|
|
436
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
"required": [
|
|
440
|
+
"source",
|
|
441
|
+
"provider",
|
|
442
|
+
"id"
|
|
443
|
+
],
|
|
444
|
+
"additionalProperties": false
|
|
445
|
+
},
|
|
423
446
|
{
|
|
424
447
|
"type": "object",
|
|
425
448
|
"properties": {
|
|
@@ -504,6 +527,29 @@
|
|
|
504
527
|
],
|
|
505
528
|
"additionalProperties": false
|
|
506
529
|
},
|
|
530
|
+
{
|
|
531
|
+
"type": "object",
|
|
532
|
+
"properties": {
|
|
533
|
+
"source": {
|
|
534
|
+
"type": "string",
|
|
535
|
+
"const": "store"
|
|
536
|
+
},
|
|
537
|
+
"provider": {
|
|
538
|
+
"type": "string",
|
|
539
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
540
|
+
},
|
|
541
|
+
"id": {
|
|
542
|
+
"type": "string",
|
|
543
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
544
|
+
}
|
|
545
|
+
},
|
|
546
|
+
"required": [
|
|
547
|
+
"source",
|
|
548
|
+
"provider",
|
|
549
|
+
"id"
|
|
550
|
+
],
|
|
551
|
+
"additionalProperties": false
|
|
552
|
+
},
|
|
507
553
|
{
|
|
508
554
|
"type": "object",
|
|
509
555
|
"properties": {
|
|
@@ -664,6 +710,29 @@
|
|
|
664
710
|
],
|
|
665
711
|
"additionalProperties": false
|
|
666
712
|
},
|
|
713
|
+
{
|
|
714
|
+
"type": "object",
|
|
715
|
+
"properties": {
|
|
716
|
+
"source": {
|
|
717
|
+
"type": "string",
|
|
718
|
+
"const": "store"
|
|
719
|
+
},
|
|
720
|
+
"provider": {
|
|
721
|
+
"type": "string",
|
|
722
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
723
|
+
},
|
|
724
|
+
"id": {
|
|
725
|
+
"type": "string",
|
|
726
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"required": [
|
|
730
|
+
"source",
|
|
731
|
+
"provider",
|
|
732
|
+
"id"
|
|
733
|
+
],
|
|
734
|
+
"additionalProperties": false
|
|
735
|
+
},
|
|
667
736
|
{
|
|
668
737
|
"type": "object",
|
|
669
738
|
"properties": {
|
|
@@ -742,6 +811,29 @@
|
|
|
742
811
|
],
|
|
743
812
|
"additionalProperties": false
|
|
744
813
|
},
|
|
814
|
+
{
|
|
815
|
+
"type": "object",
|
|
816
|
+
"properties": {
|
|
817
|
+
"source": {
|
|
818
|
+
"type": "string",
|
|
819
|
+
"const": "store"
|
|
820
|
+
},
|
|
821
|
+
"provider": {
|
|
822
|
+
"type": "string",
|
|
823
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
824
|
+
},
|
|
825
|
+
"id": {
|
|
826
|
+
"type": "string",
|
|
827
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
828
|
+
}
|
|
829
|
+
},
|
|
830
|
+
"required": [
|
|
831
|
+
"source",
|
|
832
|
+
"provider",
|
|
833
|
+
"id"
|
|
834
|
+
],
|
|
835
|
+
"additionalProperties": false
|
|
836
|
+
},
|
|
745
837
|
{
|
|
746
838
|
"type": "object",
|
|
747
839
|
"properties": {
|
|
@@ -820,6 +912,29 @@
|
|
|
820
912
|
],
|
|
821
913
|
"additionalProperties": false
|
|
822
914
|
},
|
|
915
|
+
{
|
|
916
|
+
"type": "object",
|
|
917
|
+
"properties": {
|
|
918
|
+
"source": {
|
|
919
|
+
"type": "string",
|
|
920
|
+
"const": "store"
|
|
921
|
+
},
|
|
922
|
+
"provider": {
|
|
923
|
+
"type": "string",
|
|
924
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
925
|
+
},
|
|
926
|
+
"id": {
|
|
927
|
+
"type": "string",
|
|
928
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
929
|
+
}
|
|
930
|
+
},
|
|
931
|
+
"required": [
|
|
932
|
+
"source",
|
|
933
|
+
"provider",
|
|
934
|
+
"id"
|
|
935
|
+
],
|
|
936
|
+
"additionalProperties": false
|
|
937
|
+
},
|
|
823
938
|
{
|
|
824
939
|
"type": "object",
|
|
825
940
|
"properties": {
|
|
@@ -1056,6 +1171,10 @@
|
|
|
1056
1171
|
"auto",
|
|
1057
1172
|
"on"
|
|
1058
1173
|
]
|
|
1174
|
+
},
|
|
1175
|
+
"prompt": {
|
|
1176
|
+
"type": "string",
|
|
1177
|
+
"maxLength": 20000
|
|
1059
1178
|
}
|
|
1060
1179
|
},
|
|
1061
1180
|
"additionalProperties": false
|
|
@@ -1291,6 +1410,10 @@
|
|
|
1291
1410
|
"auto",
|
|
1292
1411
|
"on"
|
|
1293
1412
|
]
|
|
1413
|
+
},
|
|
1414
|
+
"prompt": {
|
|
1415
|
+
"type": "string",
|
|
1416
|
+
"maxLength": 20000
|
|
1294
1417
|
}
|
|
1295
1418
|
},
|
|
1296
1419
|
"additionalProperties": false
|
|
@@ -1540,13 +1663,6 @@
|
|
|
1540
1663
|
"exclusiveMinimum": 0,
|
|
1541
1664
|
"maximum": 9007199254740991
|
|
1542
1665
|
},
|
|
1543
|
-
"render": {
|
|
1544
|
-
"type": "string",
|
|
1545
|
-
"enum": [
|
|
1546
|
-
"text",
|
|
1547
|
-
"rich"
|
|
1548
|
-
]
|
|
1549
|
-
},
|
|
1550
1666
|
"toolProgress": {
|
|
1551
1667
|
"type": "boolean"
|
|
1552
1668
|
},
|
|
@@ -1563,6 +1679,13 @@
|
|
|
1563
1679
|
"narration": {
|
|
1564
1680
|
"type": "boolean"
|
|
1565
1681
|
},
|
|
1682
|
+
"style": {
|
|
1683
|
+
"type": "string",
|
|
1684
|
+
"enum": [
|
|
1685
|
+
"card",
|
|
1686
|
+
"compact"
|
|
1687
|
+
]
|
|
1688
|
+
},
|
|
1566
1689
|
"nativeTaskCards": {
|
|
1567
1690
|
"type": "boolean"
|
|
1568
1691
|
}
|
|
@@ -1671,9 +1794,6 @@
|
|
|
1671
1794
|
"relay"
|
|
1672
1795
|
]
|
|
1673
1796
|
},
|
|
1674
|
-
"enterpriseOrgInstall": {
|
|
1675
|
-
"type": "boolean"
|
|
1676
|
-
},
|
|
1677
1797
|
"relay": {
|
|
1678
1798
|
"type": "object",
|
|
1679
1799
|
"properties": {
|
|
@@ -1710,6 +1830,29 @@
|
|
|
1710
1830
|
],
|
|
1711
1831
|
"additionalProperties": false
|
|
1712
1832
|
},
|
|
1833
|
+
{
|
|
1834
|
+
"type": "object",
|
|
1835
|
+
"properties": {
|
|
1836
|
+
"source": {
|
|
1837
|
+
"type": "string",
|
|
1838
|
+
"const": "store"
|
|
1839
|
+
},
|
|
1840
|
+
"provider": {
|
|
1841
|
+
"type": "string",
|
|
1842
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
1843
|
+
},
|
|
1844
|
+
"id": {
|
|
1845
|
+
"type": "string",
|
|
1846
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
1847
|
+
}
|
|
1848
|
+
},
|
|
1849
|
+
"required": [
|
|
1850
|
+
"source",
|
|
1851
|
+
"provider",
|
|
1852
|
+
"id"
|
|
1853
|
+
],
|
|
1854
|
+
"additionalProperties": false
|
|
1855
|
+
},
|
|
1713
1856
|
{
|
|
1714
1857
|
"type": "object",
|
|
1715
1858
|
"properties": {
|
|
@@ -1794,6 +1937,29 @@
|
|
|
1794
1937
|
],
|
|
1795
1938
|
"additionalProperties": false
|
|
1796
1939
|
},
|
|
1940
|
+
{
|
|
1941
|
+
"type": "object",
|
|
1942
|
+
"properties": {
|
|
1943
|
+
"source": {
|
|
1944
|
+
"type": "string",
|
|
1945
|
+
"const": "store"
|
|
1946
|
+
},
|
|
1947
|
+
"provider": {
|
|
1948
|
+
"type": "string",
|
|
1949
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
1950
|
+
},
|
|
1951
|
+
"id": {
|
|
1952
|
+
"type": "string",
|
|
1953
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
1954
|
+
}
|
|
1955
|
+
},
|
|
1956
|
+
"required": [
|
|
1957
|
+
"source",
|
|
1958
|
+
"provider",
|
|
1959
|
+
"id"
|
|
1960
|
+
],
|
|
1961
|
+
"additionalProperties": false
|
|
1962
|
+
},
|
|
1797
1963
|
{
|
|
1798
1964
|
"type": "object",
|
|
1799
1965
|
"properties": {
|
|
@@ -1953,6 +2119,29 @@
|
|
|
1953
2119
|
],
|
|
1954
2120
|
"additionalProperties": false
|
|
1955
2121
|
},
|
|
2122
|
+
{
|
|
2123
|
+
"type": "object",
|
|
2124
|
+
"properties": {
|
|
2125
|
+
"source": {
|
|
2126
|
+
"type": "string",
|
|
2127
|
+
"const": "store"
|
|
2128
|
+
},
|
|
2129
|
+
"provider": {
|
|
2130
|
+
"type": "string",
|
|
2131
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
2132
|
+
},
|
|
2133
|
+
"id": {
|
|
2134
|
+
"type": "string",
|
|
2135
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
2136
|
+
}
|
|
2137
|
+
},
|
|
2138
|
+
"required": [
|
|
2139
|
+
"source",
|
|
2140
|
+
"provider",
|
|
2141
|
+
"id"
|
|
2142
|
+
],
|
|
2143
|
+
"additionalProperties": false
|
|
2144
|
+
},
|
|
1956
2145
|
{
|
|
1957
2146
|
"type": "object",
|
|
1958
2147
|
"properties": {
|
|
@@ -2031,6 +2220,29 @@
|
|
|
2031
2220
|
],
|
|
2032
2221
|
"additionalProperties": false
|
|
2033
2222
|
},
|
|
2223
|
+
{
|
|
2224
|
+
"type": "object",
|
|
2225
|
+
"properties": {
|
|
2226
|
+
"source": {
|
|
2227
|
+
"type": "string",
|
|
2228
|
+
"const": "store"
|
|
2229
|
+
},
|
|
2230
|
+
"provider": {
|
|
2231
|
+
"type": "string",
|
|
2232
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
2233
|
+
},
|
|
2234
|
+
"id": {
|
|
2235
|
+
"type": "string",
|
|
2236
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
2237
|
+
}
|
|
2238
|
+
},
|
|
2239
|
+
"required": [
|
|
2240
|
+
"source",
|
|
2241
|
+
"provider",
|
|
2242
|
+
"id"
|
|
2243
|
+
],
|
|
2244
|
+
"additionalProperties": false
|
|
2245
|
+
},
|
|
2034
2246
|
{
|
|
2035
2247
|
"type": "object",
|
|
2036
2248
|
"properties": {
|
|
@@ -2109,6 +2321,29 @@
|
|
|
2109
2321
|
],
|
|
2110
2322
|
"additionalProperties": false
|
|
2111
2323
|
},
|
|
2324
|
+
{
|
|
2325
|
+
"type": "object",
|
|
2326
|
+
"properties": {
|
|
2327
|
+
"source": {
|
|
2328
|
+
"type": "string",
|
|
2329
|
+
"const": "store"
|
|
2330
|
+
},
|
|
2331
|
+
"provider": {
|
|
2332
|
+
"type": "string",
|
|
2333
|
+
"pattern": "^[a-z][a-z0-9_-]{0,63}$"
|
|
2334
|
+
},
|
|
2335
|
+
"id": {
|
|
2336
|
+
"type": "string",
|
|
2337
|
+
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
|
|
2338
|
+
}
|
|
2339
|
+
},
|
|
2340
|
+
"required": [
|
|
2341
|
+
"source",
|
|
2342
|
+
"provider",
|
|
2343
|
+
"id"
|
|
2344
|
+
],
|
|
2345
|
+
"additionalProperties": false
|
|
2346
|
+
},
|
|
2112
2347
|
{
|
|
2113
2348
|
"type": "object",
|
|
2114
2349
|
"properties": {
|
|
@@ -2345,6 +2580,10 @@
|
|
|
2345
2580
|
"auto",
|
|
2346
2581
|
"on"
|
|
2347
2582
|
]
|
|
2583
|
+
},
|
|
2584
|
+
"prompt": {
|
|
2585
|
+
"type": "string",
|
|
2586
|
+
"maxLength": 20000
|
|
2348
2587
|
}
|
|
2349
2588
|
},
|
|
2350
2589
|
"additionalProperties": false
|
|
@@ -2580,6 +2819,10 @@
|
|
|
2580
2819
|
"auto",
|
|
2581
2820
|
"on"
|
|
2582
2821
|
]
|
|
2822
|
+
},
|
|
2823
|
+
"prompt": {
|
|
2824
|
+
"type": "string",
|
|
2825
|
+
"maxLength": 20000
|
|
2583
2826
|
}
|
|
2584
2827
|
},
|
|
2585
2828
|
"additionalProperties": false
|
|
@@ -2618,10 +2861,6 @@
|
|
|
2618
2861
|
"label": "Slack",
|
|
2619
2862
|
"help": "Slack channel provider configuration for bot/app tokens, streaming behavior, and DM policy controls. Keep token handling and thread behavior explicit to avoid noisy workspace interactions."
|
|
2620
2863
|
},
|
|
2621
|
-
"enterpriseOrgInstall": {
|
|
2622
|
-
"label": "Slack Enterprise Grid Org Install",
|
|
2623
|
-
"help": "Enable only for an Enterprise Grid org-wide bot installation. OpenClaw verifies the token with Slack auth.test at startup; DMs must be disabled or use dmPolicy=\"open\" with allowFrom=[\"*\"]."
|
|
2624
|
-
},
|
|
2625
2864
|
"postAs": {
|
|
2626
2865
|
"label": "Slack Identity",
|
|
2627
2866
|
"help": "Select \"bot\" (default) for the classic Slack app/bot identity or \"user\" to post as the authorizing human through a user token while the app carries event transport."
|
|
@@ -2676,11 +2915,11 @@
|
|
|
2676
2915
|
},
|
|
2677
2916
|
"streaming": {
|
|
2678
2917
|
"label": "Slack Streaming Mode",
|
|
2679
|
-
"help": "Unified Slack stream preview mode: \"off\" | \"partial\" | \"block\" | \"progress\". Legacy boolean/streamMode keys are auto-mapped."
|
|
2918
|
+
"help": "Unified Slack stream preview mode: \"off\" | \"partial\" | \"block\" | \"progress\" (default). Legacy boolean/streamMode keys are auto-mapped."
|
|
2680
2919
|
},
|
|
2681
2920
|
"streaming.mode": {
|
|
2682
2921
|
"label": "Slack Streaming Mode",
|
|
2683
|
-
"help": "Canonical Slack preview mode: \"off\" | \"partial\" | \"block\" | \"progress\"."
|
|
2922
|
+
"help": "Canonical Slack preview mode: \"off\" | \"partial\" | \"block\" | \"progress\" (default)."
|
|
2684
2923
|
},
|
|
2685
2924
|
"streaming.chunkMode": {
|
|
2686
2925
|
"label": "Slack Chunk Mode",
|
|
@@ -2704,15 +2943,15 @@
|
|
|
2704
2943
|
},
|
|
2705
2944
|
"streaming.preview.commandText": {
|
|
2706
2945
|
"label": "Slack Draft Command Text",
|
|
2707
|
-
"help": "Command/exec detail in preview tool-progress lines: \"
|
|
2946
|
+
"help": "Command/exec detail in preview tool-progress lines: \"status\" is the safe default; \"raw\" opts into command text."
|
|
2708
2947
|
},
|
|
2709
|
-
"streaming.progress.
|
|
2710
|
-
"label": "Slack Progress
|
|
2711
|
-
"help": "
|
|
2948
|
+
"streaming.progress.style": {
|
|
2949
|
+
"label": "Slack Progress Style",
|
|
2950
|
+
"help": "Slack progress presentation: \"card\" (default) uses structured task/session cards; \"compact\" keeps one editable text draft that the final answer replaces in place when Slack can safely edit it."
|
|
2712
2951
|
},
|
|
2713
2952
|
"streaming.progress.nativeTaskCards": {
|
|
2714
2953
|
"label": "Slack Native Progress Task Cards",
|
|
2715
|
-
"help": "
|
|
2954
|
+
"help": "Slack native task-card progress updates when channels.slack.streaming.mode=\"progress\", progress.style=\"card\", and streaming.nativeTransport is enabled. Set false to fall back to the Block Kit progress card. Default: true."
|
|
2716
2955
|
},
|
|
2717
2956
|
"streaming.progress.label": {
|
|
2718
2957
|
"label": "Slack Progress Label",
|
|
@@ -2736,7 +2975,7 @@
|
|
|
2736
2975
|
},
|
|
2737
2976
|
"streaming.progress.commandText": {
|
|
2738
2977
|
"label": "Slack Progress Command Text",
|
|
2739
|
-
"help": "Command/exec detail in progress draft lines: \"
|
|
2978
|
+
"help": "Command/exec detail in progress draft lines: \"status\" is the safe default; \"raw\" opts into command text."
|
|
2740
2979
|
},
|
|
2741
2980
|
"allowBots": {
|
|
2742
2981
|
"label": "Slack Allow Bot Messages",
|
|
@@ -2796,7 +3035,7 @@
|
|
|
2796
3035
|
},
|
|
2797
3036
|
"execApprovals": {
|
|
2798
3037
|
"label": "Slack Exec Approvals",
|
|
2799
|
-
"help": "Slack-native exec approval routing and approver authorization. When unset, OpenClaw auto-enables DM-first native approvals if approvers can be resolved for this
|
|
3038
|
+
"help": "Slack-native exec approval routing and approver authorization. When unset, OpenClaw auto-enables DM-first native approvals if approvers can be resolved for this Slack account."
|
|
2800
3039
|
},
|
|
2801
3040
|
"presenceEvents": {
|
|
2802
3041
|
"label": "Slack Presence Events",
|
|
@@ -2806,10 +3045,18 @@
|
|
|
2806
3045
|
"label": "Slack Presence Event Mode",
|
|
2807
3046
|
"help": "\"off\" disables polling; \"auto\" covers DMs, MPIMs, and recent threads with up to 8 observed people; \"on\" also covers larger threads and top-level channels."
|
|
2808
3047
|
},
|
|
3048
|
+
"presenceEvents.prompt": {
|
|
3049
|
+
"label": "Slack Presence Event Prompt",
|
|
3050
|
+
"help": "Replace the default greeting guidance appended after presence facts. Use an empty string to omit event-specific guidance and let workspace instructions such as AGENTS.md govern behavior. Maximum: 20,000 characters."
|
|
3051
|
+
},
|
|
2809
3052
|
"channels.*.presenceEvents.mode": {
|
|
2810
3053
|
"label": "Slack Channel Presence Event Mode",
|
|
2811
3054
|
"help": "Override presence events for one Slack channel. Use \"on\" to include large threads or top-level channel sessions."
|
|
2812
3055
|
},
|
|
3056
|
+
"channels.*.presenceEvents.prompt": {
|
|
3057
|
+
"label": "Slack Channel Presence Event Prompt",
|
|
3058
|
+
"help": "Override the account-level presence-event prompt for one Slack channel. Maximum: 20,000 characters."
|
|
3059
|
+
},
|
|
2813
3060
|
"execApprovals.enabled": {
|
|
2814
3061
|
"label": "Slack Exec Approvals Enabled",
|
|
2815
3062
|
"help": "Controls Slack native exec approvals for this account: unset or \"auto\" enables DM-first native approvals when approvers can be resolved, true forces native approvals on, and false disables them."
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/slack",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.8.1-beta.3",
|
|
4
4
|
"description": "OpenClaw Slack channel plugin for channels, DMs, commands, and app events.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,14 +13,13 @@
|
|
|
13
13
|
"@slack/types": "3.0.0",
|
|
14
14
|
"@slack/web-api": "8.0.0",
|
|
15
15
|
"get-east-asian-width": "1.6.0",
|
|
16
|
-
"p-map": "7.0.6",
|
|
17
16
|
"typebox": "1.3.6",
|
|
18
|
-
"undici": "7.
|
|
17
|
+
"undici": "7.29.0",
|
|
19
18
|
"ws": "8.21.1",
|
|
20
19
|
"zod": "4.4.3"
|
|
21
20
|
},
|
|
22
21
|
"peerDependencies": {
|
|
23
|
-
"openclaw": ">=2026.
|
|
22
|
+
"openclaw": ">=2026.8.1-beta.3"
|
|
24
23
|
},
|
|
25
24
|
"peerDependenciesMeta": {
|
|
26
25
|
"openclaw": {
|
|
@@ -135,7 +134,10 @@
|
|
|
135
134
|
"cli": {
|
|
136
135
|
"flags": "--use-env",
|
|
137
136
|
"description": "Use Slack environment credentials"
|
|
138
|
-
}
|
|
137
|
+
},
|
|
138
|
+
"envVars": [
|
|
139
|
+
"SLACK_BOT_TOKEN"
|
|
140
|
+
]
|
|
139
141
|
}
|
|
140
142
|
]
|
|
141
143
|
}
|
|
@@ -147,13 +149,10 @@
|
|
|
147
149
|
"allowInvalidConfigRecovery": true
|
|
148
150
|
},
|
|
149
151
|
"compat": {
|
|
150
|
-
"pluginApi": ">=2026.
|
|
151
|
-
},
|
|
152
|
-
"startup": {
|
|
153
|
-
"deferConfiguredChannelFullLoadUntilAfterListen": true
|
|
152
|
+
"pluginApi": ">=2026.8.1-beta.3"
|
|
154
153
|
},
|
|
155
154
|
"build": {
|
|
156
|
-
"openclawVersion": "2026.
|
|
155
|
+
"openclawVersion": "2026.8.1-beta.3",
|
|
157
156
|
"bundledDist": false
|
|
158
157
|
},
|
|
159
158
|
"release": {
|
|
@@ -177,7 +176,6 @@
|
|
|
177
176
|
"@slack/types",
|
|
178
177
|
"@slack/web-api",
|
|
179
178
|
"get-east-asian-width",
|
|
180
|
-
"p-map",
|
|
181
179
|
"typebox",
|
|
182
180
|
"undici",
|
|
183
181
|
"ws",
|