@openclaw/discord 2026.5.30-beta.1 → 2026.5.31-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.
Files changed (81) hide show
  1. package/README.md +11 -0
  2. package/dist/{account-inspect-BkL-fm-M.js → account-inspect-DDZtT5C8.js} +2 -2
  3. package/dist/account-inspect-api.js +1 -1
  4. package/dist/{accounts-dXTfmnSZ.js → accounts-P19jm1lf.js} +1 -1
  5. package/dist/action-runtime-api.js +1 -1
  6. package/dist/api.js +15 -15
  7. package/dist/{approval-handler.runtime-BFLqemq4.js → approval-handler.runtime-DSFfzXpo.js} +4 -4
  8. package/dist/{audit-CKzCd_nb.js → audit-kgIklCyI.js} +4 -4
  9. package/dist/{channel-DnUKVkVn.js → channel-D0gX0yj6.js} +44 -31
  10. package/dist/{channel-actions-D60aLg8q.js → channel-actions-DDoc4V7x.js} +4 -4
  11. package/dist/{channel-actions.runtime-D6awrVWB.js → channel-actions.runtime-CqZfnMaA.js} +5 -5
  12. package/dist/channel-config-api.js +1 -1
  13. package/dist/channel-plugin-api.js +1 -1
  14. package/dist/{channel.setup-Cqfoar5h.js → channel.setup-BNZm3eed.js} +6 -7
  15. package/dist/{components-CWgTTA0J.js → components-DcLQ2JkV.js} +1 -1
  16. package/dist/{config-schema-C1lzB2Ld.js → config-schema-spuxW477.js} +16 -0
  17. package/dist/contract-api.js +3 -3
  18. package/dist/{conversation-identity-Dvi-8LyR.js → conversation-identity-BURFgcfI.js} +7 -5
  19. package/dist/{directory-config-B-i4XzWZ.js → directory-config-B9Jw1Q2R.js} +2 -2
  20. package/dist/directory-contract-api.js +1 -1
  21. package/dist/{directory-live-B5E-IbgC.js → directory-live-CDWUg-nA.js} +2 -2
  22. package/dist/{doctor-DT41iqQA.js → doctor-BUhqxLb9.js} +4 -5
  23. package/dist/{doctor-contract-8-Ia3d_X.js → doctor-contract-BAu3WLvd.js} +5 -5
  24. package/dist/doctor-contract-api.js +1 -1
  25. package/dist/{handle-action.guild-admin-B39nAL5c.js → handle-action.guild-admin-Dpa-kUzu.js} +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/legacy-state-migrations-api.js +1 -1
  28. package/dist/{manager.runtime-ClHe315Q.js → manager.runtime-BWBENHRA.js} +10 -15
  29. package/dist/{message-handler-Deidymb-.js → message-handler-HO8BbZmQ.js} +6 -6
  30. package/dist/{message-handler.preflight-DeTwc2nk.js → message-handler.preflight-DxHBPQvD.js} +24 -17
  31. package/dist/{message-handler.process-DJkFWirK.js → message-handler.process-Cq3j7A9k.js} +20 -10
  32. package/dist/{message-utils-C4OlktSy.js → message-utils-D_3KTxh_.js} +1 -1
  33. package/dist/{outbound-adapter-DCC3zPuC.js → outbound-adapter-BkPkILpq.js} +7 -7
  34. package/dist/{pluralkit-Dhad974D.js → pluralkit-Ds9aZAM4.js} +1 -1
  35. package/dist/{probe-BiEg-_i1.js → probe-2MdGjUAf.js} +1 -1
  36. package/dist/{probe.runtime-Dja7CbJT.js → probe.runtime-J927koKG.js} +1 -1
  37. package/dist/{provider-SeIwaTTJ.js → provider-BK8hjk_y.js} +116 -36
  38. package/dist/{provider-session.runtime-B5aLy8NA.js → provider-session.runtime-CYMFlLg9.js} +3 -3
  39. package/dist/provider.runtime-RfQSSM_v.js +2 -0
  40. package/dist/{resolve-allowlist-common-DAIbZobr.js → resolve-allowlist-common-BIf3417N.js} +1 -1
  41. package/dist/{resolve-channels-LMOlvXSw.js → resolve-channels-DK-3f_aA.js} +2 -2
  42. package/dist/{resolve-users-WNAKeCd_.js → resolve-users-DUDPsfWt.js} +2 -2
  43. package/dist/{runtime-Dg0INaGm.js → runtime-Blf_d9E7.js} +8 -8
  44. package/dist/runtime-api.actions.js +2 -2
  45. package/dist/runtime-api.js +21 -21
  46. package/dist/runtime-api.lookup.js +5 -5
  47. package/dist/runtime-api.monitor-LVbgPRHA.js +6 -0
  48. package/dist/runtime-api.monitor.js +4 -4
  49. package/dist/runtime-api.send.js +5 -5
  50. package/dist/runtime-api.threads.js +5 -5
  51. package/dist/{send-DwUf-fzH.js → send-BHkA8a-k.js} +5 -5
  52. package/dist/{send.components-BVfuI0-G.js → send.components-CUHzDapa.js} +5 -5
  53. package/dist/{send.outbound-4IJRwYbJ.js → send.outbound-DSKZbjML.js} +15 -5
  54. package/dist/{send.receipt-CxFJX9o3.js → send.receipt-CjsWpitW.js} +4 -4
  55. package/dist/{send.shared-DQwyGjXe.js → send.shared-Cluujl6W.js} +3 -3
  56. package/dist/setup-plugin-api.js +1 -1
  57. package/dist/{shared-D-ePFtjZ.js → shared-BMGLQw74.js} +5 -5
  58. package/dist/{subagent-hooks-CqhiwYpb.js → subagent-hooks-7jAn9HT5.js} +3 -3
  59. package/dist/subagent-hooks-api.js +1 -1
  60. package/dist/{system-events-DZdHRt2j.js → system-events-BjuNA9Zs.js} +1 -1
  61. package/dist/{target-resolver-DTD90GqZ.js → target-resolver-BYuWNVQp.js} +3 -3
  62. package/dist/targets-BNDUOdvI.js +3 -0
  63. package/dist/{thread-bindings-VrlFUPDW.js → thread-bindings-CKruJE91.js} +6 -6
  64. package/dist/{thread-bindings.discord-api-CItgvv24.js → thread-bindings.discord-api-BjLUwwSP.js} +5 -5
  65. package/dist/{thread-bindings.manager-hhqHJlGr.js → thread-bindings.manager-Dji7SZHG.js} +4 -4
  66. package/dist/{thread-bindings.session-updates-0BaqAU8S.js → thread-bindings.session-updates-DoDFvU_h.js} +1 -1
  67. package/dist/{transcripts-source-CFsqnHc4.js → transcripts-source-O73_YIDs.js} +1 -1
  68. package/dist/transcripts-source-api.js +1 -1
  69. package/dist/{typing-Bfns8H17.js → typing-CKW0i8du.js} +1 -1
  70. package/node_modules/typebox/build/type/script/mapping.d.mts +5 -2
  71. package/node_modules/typebox/build/type/script/mapping.mjs +15 -8
  72. package/node_modules/typebox/build/type/script/parser.d.mts +3 -1
  73. package/node_modules/typebox/build/type/script/parser.mjs +2 -1
  74. package/node_modules/typebox/package.json +29 -29
  75. package/npm-shrinkwrap.json +7 -38
  76. package/openclaw.plugin.json +76 -0
  77. package/package.json +7 -6
  78. package/dist/provider.runtime-DVHYE9ZI.js +0 -2
  79. package/dist/runtime-api.monitor-C56AP2ZG.js +0 -6
  80. package/dist/targets-xBATI2q7.js +0 -3
  81. package/dist/{thread-bindings.state-B-iprgEM.js → thread-bindings.state-DYp4FVEB.js} +1 -1
@@ -43,7 +43,8 @@ export type TIndexArray_0<Input extends string, Result extends unknown[] = []> =
43
43
  export type TIndexArray<Input extends string> = TIndexArray_0<Input> extends [infer _0 extends ([unknown, unknown, unknown] | [unknown, unknown])[], infer Input extends string] ? [S.TIndexArrayMapping<_0>, Input] : [];
44
44
  export type TExtends<Input extends string> = ((Token.TConst<'extends', Input> extends [infer _0, infer Input extends string] ? (TType<Input> extends [infer _1, infer Input extends string] ? (Token.TConst<'?', Input> extends [infer _2, infer Input extends string] ? (TType<Input> extends [infer _3, infer Input extends string] ? (Token.TConst<':', Input> extends [infer _4, infer Input extends string] ? (TType<Input> extends [infer _5, infer Input extends string] ? [[_0, _1, _2, _3, _4, _5], Input] : []) : []) : []) : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown, unknown] | [], infer Input extends string] ? [S.TExtendsMapping<_0>, Input] : [];
45
45
  export type TBase<Input extends string> = ((Token.TConst<'(', Input> extends [infer _0, infer Input extends string] ? (TType<Input> extends [infer _1, infer Input extends string] ? (Token.TConst<')', Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : TKeyword<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : T_Object_<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : TTuple<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : TTemplateLiteral<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : TLiteral<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : TConstructor<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : T_Function_<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : TMapped<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : TOptions<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : TGenericCall<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : TReference<Input> extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | unknown, infer Input extends string] ? [S.TBaseMapping<_0>, Input] : [];
46
- export type TFactor<Input extends string> = (TKeyOf<Input> extends [infer _0, infer Input extends string] ? (TBase<Input> extends [infer _1, infer Input extends string] ? (TIndexArray<Input> extends [infer _2, infer Input extends string] ? (TExtends<Input> extends [infer _3, infer Input extends string] ? [[_0, _1, _2, _3], Input] : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TFactorMapping<_0>, Input] : [];
46
+ export type TWith<Input extends string> = ((Token.TConst<'with', Input> extends [infer _0, infer Input extends string] ? (TJsonObject<Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown] | [], infer Input extends string] ? [S.TWithMapping<_0>, Input] : [];
47
+ export type TFactor<Input extends string> = (TKeyOf<Input> extends [infer _0, infer Input extends string] ? (TBase<Input> extends [infer _1, infer Input extends string] ? (TIndexArray<Input> extends [infer _2, infer Input extends string] ? (TExtends<Input> extends [infer _3, infer Input extends string] ? (TWith<Input> extends [infer _4, infer Input extends string] ? [[_0, _1, _2, _3, _4], Input] : []) : []) : []) : []) : []) extends [infer _0 extends [unknown, unknown, unknown, unknown, unknown], infer Input extends string] ? [S.TFactorMapping<_0>, Input] : [];
47
48
  export type TExprTermTail<Input extends string> = ((Token.TConst<'&', Input> extends [infer _0, infer Input extends string] ? (TFactor<Input> extends [infer _1, infer Input extends string] ? (TExprTermTail<Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TExprTermTailMapping<_0>, Input] : [];
48
49
  export type TExprTerm<Input extends string> = (TFactor<Input> extends [infer _0, infer Input extends string] ? (TExprTermTail<Input> extends [infer _1, infer Input extends string] ? [[_0, _1], Input] : []) : []) extends [infer _0 extends [unknown, unknown], infer Input extends string] ? [S.TExprTermMapping<_0>, Input] : [];
49
50
  export type TExprTail<Input extends string> = ((Token.TConst<'|', Input> extends [infer _0, infer Input extends string] ? (TExprTerm<Input> extends [infer _1, infer Input extends string] ? (TExprTail<Input> extends [infer _2, infer Input extends string] ? [[_0, _1, _2], Input] : []) : []) : []) extends [infer _0, infer Input extends string] ? [_0, Input] : [[], Input] extends [infer _0, infer Input extends string] ? [_0, Input] : []) extends [infer _0 extends [unknown, unknown, unknown] | [], infer Input extends string] ? [S.TExprTailMapping<_0>, Input] : [];
@@ -172,6 +173,7 @@ export declare const IndexArray_0: (input: string, result?: unknown[]) => [unkno
172
173
  export declare const IndexArray: (input: string) => [unknown, string] | [];
173
174
  export declare const Extends: (input: string) => [unknown, string] | [];
174
175
  export declare const Base: (input: string) => [unknown, string] | [];
176
+ export declare const With: (input: string) => [unknown, string] | [];
175
177
  export declare const Factor: (input: string) => [unknown, string] | [];
176
178
  export declare const ExprTermTail: (input: string) => [unknown, string] | [];
177
179
  export declare const ExprTerm: (input: string) => [unknown, string] | [];
@@ -47,7 +47,8 @@ export const IndexArray_0 = (input, result = []) => If(If(If(Token.Const('[', in
47
47
  export const IndexArray = (input) => If(IndexArray_0(input), ([_0, input]) => [S.IndexArrayMapping(_0), input]);
48
48
  export const Extends = (input) => If(If(If(Token.Const('extends', input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Token.Const('?', input), ([_2, input]) => If(Type(input), ([_3, input]) => If(Token.Const(':', input), ([_4, input]) => If(Type(input), ([_5, input]) => [[_0, _1, _2, _3, _4, _5], input])))))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ExtendsMapping(_0), input]);
49
49
  export const Base = (input) => If(If(If(Token.Const('(', input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Token.Const(')', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If(Keyword(input), ([_0, input]) => [_0, input], () => If(_Object_(input), ([_0, input]) => [_0, input], () => If(Tuple(input), ([_0, input]) => [_0, input], () => If(TemplateLiteral(input), ([_0, input]) => [_0, input], () => If(Literal(input), ([_0, input]) => [_0, input], () => If(Constructor(input), ([_0, input]) => [_0, input], () => If(_Function_(input), ([_0, input]) => [_0, input], () => If(Mapped(input), ([_0, input]) => [_0, input], () => If(Options(input), ([_0, input]) => [_0, input], () => If(GenericCall(input), ([_0, input]) => [_0, input], () => If(Reference(input), ([_0, input]) => [_0, input], () => [])))))))))))), ([_0, input]) => [S.BaseMapping(_0), input]);
50
- export const Factor = (input) => If(If(KeyOf(input), ([_0, input]) => If(Base(input), ([_1, input]) => If(IndexArray(input), ([_2, input]) => If(Extends(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [S.FactorMapping(_0), input]);
50
+ export const With = (input) => If(If(If(Token.Const('with', input), ([_0, input]) => If(JsonObject(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.WithMapping(_0), input]);
51
+ export const Factor = (input) => If(If(KeyOf(input), ([_0, input]) => If(Base(input), ([_1, input]) => If(IndexArray(input), ([_2, input]) => If(Extends(input), ([_3, input]) => If(With(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S.FactorMapping(_0), input]);
51
52
  export const ExprTermTail = (input) => If(If(If(Token.Const('&', input), ([_0, input]) => If(Factor(input), ([_1, input]) => If(ExprTermTail(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ExprTermTailMapping(_0), input]);
52
53
  export const ExprTerm = (input) => If(If(Factor(input), ([_0, input]) => If(ExprTermTail(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [S.ExprTermMapping(_0), input]);
53
54
  export const ExprTail = (input) => If(If(If(Token.Const('|', input), ([_0, input]) => If(ExprTerm(input), ([_1, input]) => If(ExprTail(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ExprTailMapping(_0), input]);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typebox",
3
3
  "description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
4
- "version": "1.1.38",
4
+ "version": "1.1.39",
5
5
  "keywords": [
6
6
  "typescript",
7
7
  "jsonschema"
@@ -16,22 +16,6 @@
16
16
  "types": "./build/index.d.mts",
17
17
  "module": "./build/index.mjs",
18
18
  "exports": {
19
- "./guard": {
20
- "import": "./build/guard/index.mjs",
21
- "default": "./build/guard/index.mjs"
22
- },
23
- "./error": {
24
- "import": "./build/error/index.mjs",
25
- "default": "./build/error/index.mjs"
26
- },
27
- "./compile": {
28
- "import": "./build/compile/index.mjs",
29
- "default": "./build/compile/index.mjs"
30
- },
31
- "./system": {
32
- "import": "./build/system/index.mjs",
33
- "default": "./build/system/index.mjs"
34
- },
35
19
  "./format": {
36
20
  "import": "./build/format/index.mjs",
37
21
  "default": "./build/format/index.mjs"
@@ -44,10 +28,26 @@
44
28
  "import": "./build/schema/index.mjs",
45
29
  "default": "./build/schema/index.mjs"
46
30
  },
31
+ "./compile": {
32
+ "import": "./build/compile/index.mjs",
33
+ "default": "./build/compile/index.mjs"
34
+ },
47
35
  "./value": {
48
36
  "import": "./build/value/index.mjs",
49
37
  "default": "./build/value/index.mjs"
50
38
  },
39
+ "./guard": {
40
+ "import": "./build/guard/index.mjs",
41
+ "default": "./build/guard/index.mjs"
42
+ },
43
+ "./system": {
44
+ "import": "./build/system/index.mjs",
45
+ "default": "./build/system/index.mjs"
46
+ },
47
+ "./error": {
48
+ "import": "./build/error/index.mjs",
49
+ "default": "./build/error/index.mjs"
50
+ },
51
51
  ".": {
52
52
  "import": "./build/index.mjs",
53
53
  "default": "./build/index.mjs"
@@ -55,18 +55,6 @@
55
55
  },
56
56
  "typesVersions": {
57
57
  "*": {
58
- "guard": [
59
- "./build/guard/index.d.mts"
60
- ],
61
- "error": [
62
- "./build/error/index.d.mts"
63
- ],
64
- "compile": [
65
- "./build/compile/index.d.mts"
66
- ],
67
- "system": [
68
- "./build/system/index.d.mts"
69
- ],
70
58
  "format": [
71
59
  "./build/format/index.d.mts"
72
60
  ],
@@ -76,9 +64,21 @@
76
64
  "schema": [
77
65
  "./build/schema/index.d.mts"
78
66
  ],
67
+ "compile": [
68
+ "./build/compile/index.d.mts"
69
+ ],
79
70
  "value": [
80
71
  "./build/value/index.d.mts"
81
72
  ],
73
+ "guard": [
74
+ "./build/guard/index.d.mts"
75
+ ],
76
+ "system": [
77
+ "./build/system/index.d.mts"
78
+ ],
79
+ "error": [
80
+ "./build/error/index.d.mts"
81
+ ],
82
82
  ".": [
83
83
  "./build/index.d.mts"
84
84
  ]
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@openclaw/discord",
3
- "version": "2026.5.30-beta.1",
3
+ "version": "2026.5.31-beta.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/discord",
9
- "version": "2026.5.30-beta.1",
9
+ "version": "2026.5.31-beta.2",
10
10
  "dependencies": {
11
11
  "@discordjs/voice": "0.19.2",
12
12
  "discord-api-types": "0.38.48",
13
13
  "libopus-wasm": "0.1.0",
14
- "typebox": "1.1.38",
14
+ "typebox": "1.1.39",
15
15
  "undici": "8.3.0",
16
16
  "ws": "8.21.0"
17
17
  },
18
18
  "peerDependencies": {
19
- "openclaw": ">=2026.5.30-beta.1"
19
+ "openclaw": ">=2026.5.31-beta.2"
20
20
  },
21
21
  "peerDependenciesMeta": {
22
22
  "openclaw": {
@@ -44,37 +44,6 @@
44
44
  "url": "https://github.com/discordjs/discord.js?sponsor"
45
45
  }
46
46
  },
47
- "node_modules/@emnapi/core": {
48
- "version": "1.10.0",
49
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
50
- "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
51
- "license": "MIT",
52
- "optional": true,
53
- "dependencies": {
54
- "@emnapi/wasi-threads": "1.2.1",
55
- "tslib": "^2.4.0"
56
- }
57
- },
58
- "node_modules/@emnapi/runtime": {
59
- "version": "1.10.0",
60
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
61
- "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
62
- "license": "MIT",
63
- "optional": true,
64
- "dependencies": {
65
- "tslib": "^2.4.0"
66
- }
67
- },
68
- "node_modules/@emnapi/wasi-threads": {
69
- "version": "1.2.1",
70
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
71
- "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==",
72
- "license": "MIT",
73
- "optional": true,
74
- "dependencies": {
75
- "tslib": "^2.4.0"
76
- }
77
- },
78
47
  "node_modules/@napi-rs/wasm-runtime": {
79
48
  "version": "1.1.4",
80
49
  "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz",
@@ -424,9 +393,9 @@
424
393
  "license": "0BSD"
425
394
  },
426
395
  "node_modules/typebox": {
427
- "version": "1.1.38",
428
- "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.38.tgz",
429
- "integrity": "sha512-pZ0aQPmMmXoUvSbeuWf/Hzsc+avNw/Zd6VeE8CFgkVGWyuHPJvqeJJDeJqLve+K70LvjYIoleGcoJHPT17cWoA==",
396
+ "version": "1.1.39",
397
+ "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.39.tgz",
398
+ "integrity": "sha512-vj0afVtOfLQvv0GR0VxVagYxsXN64btL7Z9XoaG0ZggH3mruMMkOO6hXdgMsjCY3shZgEvooAWVeznQVs5c43w==",
430
399
  "license": "MIT"
431
400
  },
432
401
  "node_modules/undici": {
@@ -243,6 +243,36 @@
243
243
  "allowlist"
244
244
  ]
245
245
  },
246
+ "mentionPatterns": {
247
+ "type": "object",
248
+ "properties": {
249
+ "mode": {
250
+ "anyOf": [
251
+ {
252
+ "type": "string",
253
+ "const": "allow"
254
+ },
255
+ {
256
+ "type": "string",
257
+ "const": "deny"
258
+ }
259
+ ]
260
+ },
261
+ "allowIn": {
262
+ "type": "array",
263
+ "items": {
264
+ "type": "string"
265
+ }
266
+ },
267
+ "denyIn": {
268
+ "type": "array",
269
+ "items": {
270
+ "type": "string"
271
+ }
272
+ }
273
+ },
274
+ "additionalProperties": false
275
+ },
246
276
  "contextVisibility": {
247
277
  "type": "string",
248
278
  "enum": [
@@ -2023,6 +2053,36 @@
2023
2053
  "allowlist"
2024
2054
  ]
2025
2055
  },
2056
+ "mentionPatterns": {
2057
+ "type": "object",
2058
+ "properties": {
2059
+ "mode": {
2060
+ "anyOf": [
2061
+ {
2062
+ "type": "string",
2063
+ "const": "allow"
2064
+ },
2065
+ {
2066
+ "type": "string",
2067
+ "const": "deny"
2068
+ }
2069
+ ]
2070
+ },
2071
+ "allowIn": {
2072
+ "type": "array",
2073
+ "items": {
2074
+ "type": "string"
2075
+ }
2076
+ },
2077
+ "denyIn": {
2078
+ "type": "array",
2079
+ "items": {
2080
+ "type": "string"
2081
+ }
2082
+ }
2083
+ },
2084
+ "additionalProperties": false
2085
+ },
2026
2086
  "contextVisibility": {
2027
2087
  "type": "string",
2028
2088
  "enum": [
@@ -3616,6 +3676,22 @@
3616
3676
  "label": "Discord Config Writes",
3617
3677
  "help": "Allow Discord to write config in response to channel events/commands (default: true)."
3618
3678
  },
3679
+ "mentionPatterns": {
3680
+ "label": "Discord Mention Pattern Policy",
3681
+ "help": "Scopes configured groupChat mentionPatterns to selected Discord channel IDs. Native Discord @mentions still trigger even when regex patterns are denied."
3682
+ },
3683
+ "mentionPatterns.mode": {
3684
+ "label": "Discord Mention Pattern Mode",
3685
+ "help": "\"allow\" enables configured regex mention patterns unless denyIn matches; \"deny\" disables them unless allowIn matches."
3686
+ },
3687
+ "mentionPatterns.allowIn": {
3688
+ "label": "Discord Mention Pattern Allowlist",
3689
+ "help": "Discord channel IDs where configured regex mention patterns are enabled when mode is deny."
3690
+ },
3691
+ "mentionPatterns.denyIn": {
3692
+ "label": "Discord Mention Pattern Denylist",
3693
+ "help": "Discord channel IDs where configured regex mention patterns are disabled. Native @mentions still trigger."
3694
+ },
3619
3695
  "proxy": {
3620
3696
  "label": "Discord Proxy URL",
3621
3697
  "help": "Proxy URL for Discord gateway + API requests (app-id lookup and allowlist resolution). Set per account via channels.discord.accounts.<id>.proxy."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/discord",
3
- "version": "2026.5.30-beta.1",
3
+ "version": "2026.5.31-beta.2",
4
4
  "description": "OpenClaw Discord channel plugin for channels, DMs, commands, and app events.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,12 +11,12 @@
11
11
  "@discordjs/voice": "0.19.2",
12
12
  "discord-api-types": "0.38.48",
13
13
  "libopus-wasm": "0.1.0",
14
- "typebox": "1.1.38",
14
+ "typebox": "1.1.39",
15
15
  "undici": "8.3.0",
16
16
  "ws": "8.21.0"
17
17
  },
18
18
  "peerDependencies": {
19
- "openclaw": ">=2026.5.30-beta.1"
19
+ "openclaw": ">=2026.5.31-beta.2"
20
20
  },
21
21
  "peerDependenciesMeta": {
22
22
  "openclaw": {
@@ -63,10 +63,10 @@
63
63
  "allowInvalidConfigRecovery": true
64
64
  },
65
65
  "compat": {
66
- "pluginApi": ">=2026.5.30-beta.1"
66
+ "pluginApi": ">=2026.5.31-beta.2"
67
67
  },
68
68
  "build": {
69
- "openclawVersion": "2026.5.30-beta.1"
69
+ "openclawVersion": "2026.5.31-beta.2"
70
70
  },
71
71
  "release": {
72
72
  "publishToClawHub": true,
@@ -80,7 +80,8 @@
80
80
  "files": [
81
81
  "dist/**",
82
82
  "openclaw.plugin.json",
83
- "npm-shrinkwrap.json"
83
+ "npm-shrinkwrap.json",
84
+ "README.md"
84
85
  ],
85
86
  "bundledDependencies": [
86
87
  "@discordjs/voice",
@@ -1,2 +0,0 @@
1
- import { t as monitorDiscordProvider } from "./provider-SeIwaTTJ.js";
2
- export { monitorDiscordProvider };
@@ -1,6 +0,0 @@
1
- import "./allow-list-BnkWtVpA.js";
2
- import "./timeouts-CEJ3--Uw.js";
3
- import "./provider-SeIwaTTJ.js";
4
- import "./message-utils-C4OlktSy.js";
5
- import "./message-handler-Deidymb-.js";
6
- export {};
@@ -1,3 +0,0 @@
1
- import "./send.receipt-CxFJX9o3.js";
2
- import "./target-resolver-DTD90GqZ.js";
3
- export {};
@@ -1,7 +1,7 @@
1
1
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString, normalizeOptionalStringifiedId } from "openclaw/plugin-sdk/string-coerce-runtime";
2
2
  import { normalizeAccountId, resolveAgentIdFromSessionKey } from "openclaw/plugin-sdk/routing";
3
- import path from "node:path";
4
3
  import { isFutureDateTimestampMs, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
4
+ import path from "node:path";
5
5
  import fs from "node:fs";
6
6
  import { loadJsonFile, saveJsonFile } from "openclaw/plugin-sdk/json-store";
7
7
  import { resolveStateDir } from "openclaw/plugin-sdk/state-paths";