@openclaw/nostr 2026.7.2-beta.7 → 2026.7.33

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 (159) hide show
  1. package/dist/{channel-O6-jXoT5.js → .setup/channel-B4SX7Iq6.mjs} +554 -877
  2. package/dist/{config-schema-CelPzg1N.js → .setup/config-schema-DIiXiBKr.mjs} +1 -1
  3. package/dist/.setup/inbound-direct-dm-runtime-EdLLVtkh.mjs +2 -0
  4. package/dist/{setup-adapter-BjKmSwdW.js → .setup/setup-adapter-DEU3o8MF.mjs} +1 -31
  5. package/dist/.setup/setup-plugin-api-DzlCumkz.mjs +2 -0
  6. package/dist/.setup/setup-plugin-api-csfJrRxD.mjs +111 -0
  7. package/dist/{setup-surface-BJCFpe02.js → .setup/setup-surface-DWa6-9ku.mjs} +70 -41
  8. package/dist/api.js +72 -61
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/doctor-contract-api.js +3 -2
  11. package/dist/setup-api.js +1 -1
  12. package/dist/setup-entry.js +2 -1
  13. package/dist/setup-plugin-api.js +1 -112
  14. package/node_modules/nostr-tools/lib/cjs/abstract-pool.js +28 -59
  15. package/node_modules/nostr-tools/lib/cjs/abstract-pool.js.map +3 -3
  16. package/node_modules/nostr-tools/lib/cjs/abstract-relay.js +7 -44
  17. package/node_modules/nostr-tools/lib/cjs/abstract-relay.js.map +2 -2
  18. package/node_modules/nostr-tools/lib/cjs/core.js +1 -17
  19. package/node_modules/nostr-tools/lib/cjs/core.js.map +3 -3
  20. package/node_modules/nostr-tools/lib/cjs/filter.js.map +1 -1
  21. package/node_modules/nostr-tools/lib/cjs/index.js +130 -172
  22. package/node_modules/nostr-tools/lib/cjs/index.js.map +4 -4
  23. package/node_modules/nostr-tools/lib/cjs/kinds.js +1 -17
  24. package/node_modules/nostr-tools/lib/cjs/kinds.js.map +3 -3
  25. package/node_modules/nostr-tools/lib/cjs/nip04.js.map +1 -1
  26. package/node_modules/nostr-tools/lib/cjs/nip10.js +5 -20
  27. package/node_modules/nostr-tools/lib/cjs/nip10.js.map +3 -3
  28. package/node_modules/nostr-tools/lib/cjs/nip13.js.map +1 -1
  29. package/node_modules/nostr-tools/lib/cjs/nip17.js +23 -30
  30. package/node_modules/nostr-tools/lib/cjs/nip17.js.map +4 -4
  31. package/node_modules/nostr-tools/lib/cjs/nip18.js +14 -21
  32. package/node_modules/nostr-tools/lib/cjs/nip18.js.map +4 -4
  33. package/node_modules/nostr-tools/lib/cjs/nip19.js.map +1 -1
  34. package/node_modules/nostr-tools/lib/cjs/nip21.js.map +1 -1
  35. package/node_modules/nostr-tools/lib/cjs/nip22.js +7 -22
  36. package/node_modules/nostr-tools/lib/cjs/nip22.js.map +3 -3
  37. package/node_modules/nostr-tools/lib/cjs/nip25.js +14 -21
  38. package/node_modules/nostr-tools/lib/cjs/nip25.js.map +4 -4
  39. package/node_modules/nostr-tools/lib/cjs/nip27.js.map +1 -1
  40. package/node_modules/nostr-tools/lib/cjs/nip28.js +14 -21
  41. package/node_modules/nostr-tools/lib/cjs/nip28.js.map +4 -4
  42. package/node_modules/nostr-tools/lib/cjs/nip29.js.map +1 -1
  43. package/node_modules/nostr-tools/lib/cjs/nip30.js.map +2 -2
  44. package/node_modules/nostr-tools/lib/cjs/nip42.js.map +2 -2
  45. package/node_modules/nostr-tools/lib/cjs/nip44.js.map +1 -1
  46. package/node_modules/nostr-tools/lib/cjs/nip45.js +9 -22
  47. package/node_modules/nostr-tools/lib/cjs/nip45.js.map +4 -4
  48. package/node_modules/nostr-tools/lib/cjs/nip46.js +70 -111
  49. package/node_modules/nostr-tools/lib/cjs/nip46.js.map +4 -4
  50. package/node_modules/nostr-tools/lib/cjs/nip47.js +18 -25
  51. package/node_modules/nostr-tools/lib/cjs/nip47.js.map +4 -4
  52. package/node_modules/nostr-tools/lib/cjs/nip57.js +16 -23
  53. package/node_modules/nostr-tools/lib/cjs/nip57.js.map +4 -4
  54. package/node_modules/nostr-tools/lib/cjs/nip58.js.map +2 -2
  55. package/node_modules/nostr-tools/lib/cjs/nip59.js +7 -16
  56. package/node_modules/nostr-tools/lib/cjs/nip59.js.map +3 -3
  57. package/node_modules/nostr-tools/lib/cjs/nip75.js.map +1 -1
  58. package/node_modules/nostr-tools/lib/cjs/nip94.js.map +1 -1
  59. package/node_modules/nostr-tools/lib/cjs/nip98.js +16 -23
  60. package/node_modules/nostr-tools/lib/cjs/nip98.js.map +4 -4
  61. package/node_modules/nostr-tools/lib/cjs/nip99.js.map +2 -2
  62. package/node_modules/nostr-tools/lib/cjs/nipb0.js +17 -38
  63. package/node_modules/nostr-tools/lib/cjs/nipb0.js.map +4 -4
  64. package/node_modules/nostr-tools/lib/cjs/nipb7.js +7 -13
  65. package/node_modules/nostr-tools/lib/cjs/nipb7.js.map +2 -2
  66. package/node_modules/nostr-tools/lib/cjs/pool.js +61 -102
  67. package/node_modules/nostr-tools/lib/cjs/pool.js.map +4 -4
  68. package/node_modules/nostr-tools/lib/cjs/pure.js +14 -21
  69. package/node_modules/nostr-tools/lib/cjs/pure.js.map +4 -4
  70. package/node_modules/nostr-tools/lib/cjs/references.js.map +1 -1
  71. package/node_modules/nostr-tools/lib/cjs/relay.js +42 -86
  72. package/node_modules/nostr-tools/lib/cjs/relay.js.map +4 -4
  73. package/node_modules/nostr-tools/lib/cjs/signer.js +14 -21
  74. package/node_modules/nostr-tools/lib/cjs/signer.js.map +4 -4
  75. package/node_modules/nostr-tools/lib/cjs/utils.js +0 -10
  76. package/node_modules/nostr-tools/lib/cjs/utils.js.map +2 -2
  77. package/node_modules/nostr-tools/lib/cjs/wasm.js +2 -16
  78. package/node_modules/nostr-tools/lib/cjs/wasm.js.map +4 -4
  79. package/node_modules/nostr-tools/lib/esm/abstract-pool.js +28 -59
  80. package/node_modules/nostr-tools/lib/esm/abstract-pool.js.map +3 -3
  81. package/node_modules/nostr-tools/lib/esm/abstract-relay.js +7 -44
  82. package/node_modules/nostr-tools/lib/esm/abstract-relay.js.map +2 -2
  83. package/node_modules/nostr-tools/lib/esm/core.js +1 -15
  84. package/node_modules/nostr-tools/lib/esm/core.js.map +3 -3
  85. package/node_modules/nostr-tools/lib/esm/filter.js.map +1 -1
  86. package/node_modules/nostr-tools/lib/esm/index.js +80 -122
  87. package/node_modules/nostr-tools/lib/esm/index.js.map +4 -4
  88. package/node_modules/nostr-tools/lib/esm/kinds.js +1 -17
  89. package/node_modules/nostr-tools/lib/esm/kinds.js.map +3 -3
  90. package/node_modules/nostr-tools/lib/esm/nip04.js.map +1 -1
  91. package/node_modules/nostr-tools/lib/esm/nip10.js +5 -18
  92. package/node_modules/nostr-tools/lib/esm/nip10.js.map +3 -3
  93. package/node_modules/nostr-tools/lib/esm/nip13.js.map +1 -1
  94. package/node_modules/nostr-tools/lib/esm/nip17.js +8 -15
  95. package/node_modules/nostr-tools/lib/esm/nip17.js.map +4 -4
  96. package/node_modules/nostr-tools/lib/esm/nip18.js +8 -15
  97. package/node_modules/nostr-tools/lib/esm/nip18.js.map +4 -4
  98. package/node_modules/nostr-tools/lib/esm/nip19.js.map +1 -1
  99. package/node_modules/nostr-tools/lib/esm/nip21.js.map +1 -1
  100. package/node_modules/nostr-tools/lib/esm/nip22.js +7 -20
  101. package/node_modules/nostr-tools/lib/esm/nip22.js.map +3 -3
  102. package/node_modules/nostr-tools/lib/esm/nip25.js +8 -15
  103. package/node_modules/nostr-tools/lib/esm/nip25.js.map +4 -4
  104. package/node_modules/nostr-tools/lib/esm/nip27.js.map +1 -1
  105. package/node_modules/nostr-tools/lib/esm/nip28.js +8 -15
  106. package/node_modules/nostr-tools/lib/esm/nip28.js.map +4 -4
  107. package/node_modules/nostr-tools/lib/esm/nip29.js.map +1 -1
  108. package/node_modules/nostr-tools/lib/esm/nip30.js.map +2 -2
  109. package/node_modules/nostr-tools/lib/esm/nip42.js.map +2 -2
  110. package/node_modules/nostr-tools/lib/esm/nip44.js.map +1 -1
  111. package/node_modules/nostr-tools/lib/esm/nip45.js +10 -23
  112. package/node_modules/nostr-tools/lib/esm/nip45.js.map +4 -4
  113. package/node_modules/nostr-tools/lib/esm/nip46.js +54 -95
  114. package/node_modules/nostr-tools/lib/esm/nip46.js.map +4 -4
  115. package/node_modules/nostr-tools/lib/esm/nip47.js +8 -15
  116. package/node_modules/nostr-tools/lib/esm/nip47.js.map +4 -4
  117. package/node_modules/nostr-tools/lib/esm/nip57.js +10 -17
  118. package/node_modules/nostr-tools/lib/esm/nip57.js.map +4 -4
  119. package/node_modules/nostr-tools/lib/esm/nip58.js.map +2 -2
  120. package/node_modules/nostr-tools/lib/esm/nip59.js +1 -10
  121. package/node_modules/nostr-tools/lib/esm/nip59.js.map +3 -3
  122. package/node_modules/nostr-tools/lib/esm/nip75.js.map +1 -1
  123. package/node_modules/nostr-tools/lib/esm/nip94.js.map +1 -1
  124. package/node_modules/nostr-tools/lib/esm/nip98.js +8 -15
  125. package/node_modules/nostr-tools/lib/esm/nip98.js.map +4 -4
  126. package/node_modules/nostr-tools/lib/esm/nip99.js.map +2 -2
  127. package/node_modules/nostr-tools/lib/esm/nipb0.js +18 -39
  128. package/node_modules/nostr-tools/lib/esm/nipb0.js.map +4 -4
  129. package/node_modules/nostr-tools/lib/esm/nipb7.js +7 -13
  130. package/node_modules/nostr-tools/lib/esm/nipb7.js.map +2 -2
  131. package/node_modules/nostr-tools/lib/esm/pool.js +54 -95
  132. package/node_modules/nostr-tools/lib/esm/pool.js.map +4 -4
  133. package/node_modules/nostr-tools/lib/esm/pure.js +8 -15
  134. package/node_modules/nostr-tools/lib/esm/pure.js.map +4 -4
  135. package/node_modules/nostr-tools/lib/esm/references.js.map +1 -1
  136. package/node_modules/nostr-tools/lib/esm/relay.js +36 -80
  137. package/node_modules/nostr-tools/lib/esm/relay.js.map +4 -4
  138. package/node_modules/nostr-tools/lib/esm/signer.js +8 -15
  139. package/node_modules/nostr-tools/lib/esm/signer.js.map +4 -4
  140. package/node_modules/nostr-tools/lib/esm/utils.js +0 -10
  141. package/node_modules/nostr-tools/lib/esm/utils.js.map +2 -2
  142. package/node_modules/nostr-tools/lib/esm/wasm.js +3 -17
  143. package/node_modules/nostr-tools/lib/esm/wasm.js.map +4 -4
  144. package/node_modules/nostr-tools/lib/nostr.bundle.js +77 -121
  145. package/node_modules/nostr-tools/lib/nostr.bundle.js.map +4 -4
  146. package/node_modules/nostr-tools/lib/types/abstract-pool.d.ts +4 -7
  147. package/node_modules/nostr-tools/lib/types/abstract-relay.d.ts +2 -7
  148. package/node_modules/nostr-tools/lib/types/helpers.d.ts +2 -0
  149. package/node_modules/nostr-tools/lib/types/kinds.d.ts +0 -2
  150. package/node_modules/nostr-tools/lib/types/nipb0.d.ts +1 -0
  151. package/node_modules/nostr-tools/lib/types/nipb7.d.ts +1 -0
  152. package/node_modules/nostr-tools/lib/types/relay.d.ts +2 -2
  153. package/node_modules/nostr-tools/lib/types/utils.d.ts +0 -4
  154. package/node_modules/nostr-tools/package.json +1 -1
  155. package/openclaw.plugin.json +5 -0
  156. package/package.json +15 -41
  157. package/dist/inbound-direct-dm-runtime-DHn9NoYN.js +0 -2
  158. package/node_modules/nostr-tools/lib/types/nipb0.test.d.ts +0 -1
  159. /package/dist/{state-account-id-CvBZ9s6P.js → .setup/state-account-id-CvBZ9s6P.mjs} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { AbstractRelay as AbstractRelay, SubscriptionParams, type AbstractRelayConstructorOptions } from './abstract-relay.ts';
2
- import type { Event, EventTemplate, VerifiedEvent } from './core.ts';
2
+ import type { Event, EventTemplate, Nostr, VerifiedEvent } from './core.ts';
3
3
  import { type Filter } from './filter.ts';
4
4
  import { type CountManyDirective } from './nip45.ts';
5
5
  export type SubCloser = {
@@ -15,10 +15,7 @@ export type AbstractPoolConstructorOptions = AbstractRelayConstructorOptions & {
15
15
  export type SubscribeManyParams = Omit<SubscriptionParams, 'onclose'> & {
16
16
  maxWait?: number;
17
17
  abort?: AbortSignal;
18
- onclose?: (reasons: {
19
- url: string;
20
- reason: string;
21
- }[]) => void;
18
+ onclose?: (reasons: string[]) => void;
22
19
  onauth?: (event: EventTemplate) => Promise<VerifiedEvent>;
23
20
  id?: string;
24
21
  label?: string;
@@ -27,11 +24,11 @@ export declare class AbstractSimplePool {
27
24
  protected relays: Map<string, AbstractRelay>;
28
25
  seenOn: Map<string, Set<AbstractRelay>>;
29
26
  trackRelays: boolean;
30
- verifyEvent: (event: Event, url: string) => boolean;
27
+ verifyEvent: Nostr['verifyEvent'];
31
28
  enablePing: boolean | undefined;
32
29
  enableReconnect: boolean;
33
- idleTimeout: number;
34
30
  automaticallyAuth?: (relayURL: string) => null | ((event: EventTemplate) => Promise<VerifiedEvent>);
31
+ trustedRelayURLs: Set<string>;
35
32
  onRelayConnectionFailure?: (url: string) => void;
36
33
  onRelayConnectionSuccess?: (url: string) => void;
37
34
  allowConnectingToRelay?: (url: string, operation: ['read', Filter[]] | ['write', Event]) => boolean;
@@ -1,11 +1,10 @@
1
- import type { Event, EventTemplate, VerifiedEvent } from './core.ts';
1
+ import type { Event, EventTemplate, VerifiedEvent, Nostr } from './core.ts';
2
2
  import { type Filter } from './filter.ts';
3
3
  export type AbstractRelayConstructorOptions = {
4
- verifyEvent: (event: Event, url: string) => boolean;
4
+ verifyEvent: Nostr['verifyEvent'];
5
5
  websocketImplementation?: typeof WebSocket;
6
6
  enablePing?: boolean;
7
7
  enableReconnect?: boolean;
8
- idleTimeout?: number;
9
8
  };
10
9
  export declare class SendingOnClosedConnection extends Error {
11
10
  constructor(message: string, relay: string);
@@ -24,14 +23,12 @@ export declare class AbstractRelay {
24
23
  openSubs: Map<string, Subscription>;
25
24
  enablePing: boolean | undefined;
26
25
  enableReconnect: boolean;
27
- idleTimeout: number;
28
26
  idleSince: number | undefined;
29
27
  ongoingOperations: number;
30
28
  private reconnectTimeoutHandle;
31
29
  private pingIntervalHandle;
32
30
  private reconnectAttempts;
33
31
  private skipReconnection;
34
- private idleTimeoutHandle;
35
32
  private connectionPromise;
36
33
  private openCountRequests;
37
34
  private openEventPublishes;
@@ -45,8 +42,6 @@ export declare class AbstractRelay {
45
42
  static connect(url: string, opts: AbstractRelayConstructorOptions & Parameters<AbstractRelay['connect']>[0]): Promise<AbstractRelay>;
46
43
  private closeAllSubscriptions;
47
44
  get connected(): boolean;
48
- private clearIdleTimeout;
49
- scheduleIdleClose(): void;
50
45
  private reconnect;
51
46
  private handleHardClose;
52
47
  connect(opts?: {
@@ -0,0 +1,2 @@
1
+ import { type Nostr } from './core.ts';
2
+ export declare const alwaysTrue: Nostr['verifyEvent'];
@@ -216,8 +216,6 @@ export declare const NutZapInfo = 10019;
216
216
  export type NutZapInfo = typeof NutZapInfo;
217
217
  export declare const MediaFollows = 10020;
218
218
  export type MediaFollows = typeof MediaFollows;
219
- export declare const FavoriteFollowSets = 10021;
220
- export type FavoriteFollowSets = typeof FavoriteFollowSets;
221
219
  export declare const UserEmojiList = 10030;
222
220
  export type UserEmojiList = typeof UserEmojiList;
223
221
  export declare const DecoupledKeyAnnouncement = 10044;
@@ -19,6 +19,7 @@ export type AuthEventOptions = {
19
19
  message?: string;
20
20
  expiration?: number;
21
21
  };
22
+ export declare function isSha256(str: string): boolean;
22
23
  export declare function getBlobSize(blob: UploadType): number;
23
24
  export declare function getBlobType(blob: UploadType): string | undefined;
24
25
  export declare function computeBlobSha256(blob: UploadType): Promise<string>;
@@ -12,6 +12,7 @@ export declare class BlossomClient {
12
12
  constructor(mediaserver: string, signer: Signer);
13
13
  private httpCall;
14
14
  private authorizationHeader;
15
+ private isValid32ByteHex;
15
16
  check(hash: string): Promise<void>;
16
17
  uploadBlob(file: File | Blob, contentType?: string): Promise<BlobDescriptor>;
17
18
  uploadFile(file: File): Promise<BlobDescriptor>;
@@ -1,8 +1,8 @@
1
1
  import { AbstractRelay, type AbstractRelayConstructorOptions } from './abstract-relay.ts';
2
2
  export declare function useWebSocketImplementation(websocketImplementation: any): void;
3
3
  export declare class Relay extends AbstractRelay {
4
- constructor(url: string, options?: Pick<AbstractRelayConstructorOptions, 'enablePing' | 'enableReconnect' | 'idleTimeout'>);
5
- static connect(url: string, options?: Pick<AbstractRelayConstructorOptions, 'enablePing' | 'enableReconnect' | 'idleTimeout'>): Promise<Relay>;
4
+ constructor(url: string, options?: Pick<AbstractRelayConstructorOptions, 'enablePing' | 'enableReconnect'>);
5
+ static connect(url: string, options?: Pick<AbstractRelayConstructorOptions, 'enablePing' | 'enableReconnect'>): Promise<Relay>;
6
6
  }
7
7
  export type RelayRecord = Record<string, {
8
8
  read: boolean;
@@ -7,7 +7,3 @@ export declare function insertEventIntoDescendingList(sortedArray: NostrEvent[],
7
7
  export declare function insertEventIntoAscendingList(sortedArray: NostrEvent[], event: NostrEvent): NostrEvent[];
8
8
  export declare function binarySearch<T>(arr: T[], compare: (b: T) => number): [number, boolean];
9
9
  export declare function mergeReverseSortedLists(list1: NostrEvent[], list2: NostrEvent[]): NostrEvent[];
10
- /**
11
- * Checks if a string is a 64-char lowercase hex string as most Nostr ids and pubkeys.
12
- */
13
- export declare function isHex32(input: string): boolean;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "nostr-tools",
4
- "version": "2.24.1",
4
+ "version": "2.23.9",
5
5
  "description": "Tools for making a Nostr client.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -8,6 +8,11 @@
8
8
  "channels": [
9
9
  "nostr"
10
10
  ],
11
+ "channelEnvVars": {
12
+ "nostr": [
13
+ "NOSTR_PRIVATE_KEY"
14
+ ]
15
+ },
11
16
  "configSchema": {
12
17
  "type": "object",
13
18
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/nostr",
3
- "version": "2026.7.2-beta.7",
3
+ "version": "2026.7.33",
4
4
  "description": "OpenClaw Nostr channel plugin for NIP-04 encrypted direct messages.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,11 +8,11 @@
8
8
  },
9
9
  "type": "module",
10
10
  "dependencies": {
11
- "nostr-tools": "2.24.1",
11
+ "nostr-tools": "2.23.9",
12
12
  "zod": "4.4.3"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.7.2-beta.7"
15
+ "openclaw": ">=2026.7.33"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "openclaw": {
@@ -26,13 +26,6 @@
26
26
  "setupEntry": "./dist/setup-entry.js",
27
27
  "channel": {
28
28
  "id": "nostr",
29
- "configuredState": {
30
- "env": {
31
- "anyOf": [
32
- "NOSTR_PRIVATE_KEY"
33
- ]
34
- }
35
- },
36
29
  "label": "Nostr",
37
30
  "selectionLabel": "Nostr (NIP-04 DMs)",
38
31
  "docsPath": "/channels/nostr",
@@ -40,35 +33,16 @@
40
33
  "blurb": "Decentralized protocol; encrypted DMs via NIP-04.",
41
34
  "order": 55,
42
35
  "quickstartAllowFrom": true,
43
- "setup": {
44
- "fields": [
45
- {
46
- "key": "privateKey",
47
- "kind": "string",
48
- "sensitive": true,
49
- "cli": {
50
- "flags": "--private-key <key>",
51
- "description": "Nostr private key"
52
- }
53
- },
54
- {
55
- "key": "relayUrls",
56
- "kind": "string",
57
- "cli": {
58
- "flags": "--relay-urls <urls>",
59
- "description": "Nostr relay URLs"
60
- }
61
- },
62
- {
63
- "key": "useEnv",
64
- "kind": "boolean",
65
- "cli": {
66
- "flags": "--use-env",
67
- "description": "Use NOSTR_PRIVATE_KEY"
68
- }
69
- }
70
- ]
71
- }
36
+ "cliAddOptions": [
37
+ {
38
+ "flags": "--private-key <key>",
39
+ "description": "Nostr private key (nsec... or hex)"
40
+ },
41
+ {
42
+ "flags": "--relay-urls <list>",
43
+ "description": "Nostr relay URLs (comma-separated)"
44
+ }
45
+ ]
72
46
  },
73
47
  "install": {
74
48
  "npmSpec": "@openclaw/nostr",
@@ -76,10 +50,10 @@
76
50
  "minHostVersion": ">=2026.4.10"
77
51
  },
78
52
  "compat": {
79
- "pluginApi": ">=2026.7.2-beta.7"
53
+ "pluginApi": ">=2026.7.33"
80
54
  },
81
55
  "build": {
82
- "openclawVersion": "2026.7.2-beta.7"
56
+ "openclawVersion": "2026.7.33"
83
57
  },
84
58
  "release": {
85
59
  "publishToClawHub": true,
@@ -1,2 +0,0 @@
1
- import { dispatchInboundDirectDm } from "openclaw/plugin-sdk/channel-inbound";
2
- export { dispatchInboundDirectDm };
@@ -1 +0,0 @@
1
- export {};