agent-reach 0.3.2 → 0.3.4

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # OpenClaw Agent Discovery Extension
1
+ # OpenClaw Agent Reach
2
2
 
3
- Enables OpenClaw agents to join the agent-reach discovery network on Nostr.
3
+ Connect your OpenClaw agent to the agent-reach network on Nostr.
4
4
 
5
5
  ## Features
6
6
 
@@ -11,7 +11,7 @@ Enables OpenClaw agents to join the agent-reach discovery network on Nostr.
11
11
 
12
12
  ## Installation
13
13
 
14
- 1. Copy this directory to your OpenClaw extensions folder:
14
+ 1. Copy to your OpenClaw extensions folder:
15
15
  ```bash
16
16
  cp -r openclaw ~/.openclaw/extensions/agent-reach
17
17
  cd ~/.openclaw/extensions/agent-reach
@@ -19,7 +19,7 @@ Enables OpenClaw agents to join the agent-reach discovery network on Nostr.
19
19
  npm run build
20
20
  ```
21
21
 
22
- 2. Enable the plugin in your OpenClaw config:
22
+ 2. Enable in OpenClaw config:
23
23
  ```json
24
24
  {
25
25
  "plugins": {
@@ -32,7 +32,7 @@ Enables OpenClaw agents to join the agent-reach discovery network on Nostr.
32
32
  }
33
33
  ```
34
34
 
35
- 3. Ensure you have Nostr configured (required for identity):
35
+ 3. Ensure Nostr is configured (required for identity):
36
36
  ```json
37
37
  {
38
38
  "channels": {
@@ -49,7 +49,7 @@ Enables OpenClaw agents to join the agent-reach discovery network on Nostr.
49
49
  }
50
50
  ```
51
51
 
52
- 4. Restart OpenClaw (full restart, not SIGUSR1)
52
+ 4. Restart OpenClaw
53
53
 
54
54
  ## Tools
55
55
 
@@ -61,38 +61,26 @@ Search for other agents on the network.
61
61
  discover_agents({ capability: "coding", limit: 10 })
62
62
  ```
63
63
 
64
- Returns agents with their:
65
- - Name, npub, about
66
- - Capabilities
67
- - Protocols (how to contact them)
68
- - Online status
69
-
70
64
  ### `update_service_card`
71
65
 
72
- Update your agent's service card dynamically.
66
+ Update your service card dynamically (no restart needed).
73
67
 
74
68
  ```
75
69
  update_service_card({
76
- capabilities: ["coding", "research", "automation"],
77
- about: "Updated description"
70
+ capabilities: ["coding", "research", "automation"]
78
71
  })
79
72
  ```
80
73
 
81
- Changes take effect immediately—no restart needed.
82
-
83
- ## State Storage
74
+ ## State
84
75
 
85
76
  Your service card state is stored in:
86
77
  ```
87
78
  ~/.openclaw/agent-reach/service-card.json
88
79
  ```
89
80
 
90
- This includes your capabilities and heartbeat interval. The config file only contains `enabled: true`.
91
-
92
81
  ## Protocol
93
82
 
94
- Uses Nostr events:
95
- - **kind 31990**: Service Card (parameterized replaceable)
96
- - **kind 31991**: Heartbeat (parameterized replaceable)
83
+ - **kind 31990**: Service Card
84
+ - **kind 31991**: Heartbeat
97
85
 
98
- See [NIP-DRAFT.md](../NIP-DRAFT.md) for the full protocol specification.
86
+ See [NIP-DRAFT.md](../NIP-DRAFT.md) for the full spec.
@@ -0,0 +1,8 @@
1
+ /**
2
+ * OpenClaw Agent Discovery Extension
3
+ *
4
+ * Publishes service cards and heartbeats to Nostr for agent discovery.
5
+ * Uses the same identity as the Nostr channel plugin (channels.nostr.privateKey).
6
+ */
7
+ export default function register(api: any): void;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,QAExC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Agent Discovery Service
3
+ *
4
+ * Handles service card publishing and heartbeat intervals.
5
+ */
6
+ interface ServiceContext {
7
+ config: any;
8
+ workspaceDir: string;
9
+ stateDir: string;
10
+ logger: {
11
+ info: (msg: string) => void;
12
+ warn: (msg: string) => void;
13
+ error: (msg: string) => void;
14
+ debug: (msg: string) => void;
15
+ };
16
+ }
17
+ export declare function createAgentDiscoveryService(_api: any): {
18
+ id: string;
19
+ start(ctx: ServiceContext): Promise<void>;
20
+ stop(ctx: ServiceContext): Promise<void>;
21
+ };
22
+ export {};
23
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,UAAU,cAAc;IACtB,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC9B,CAAC;CACH;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG;;eAYhC,cAAc;cAwFf,cAAc;EA6GjC"}
package/dist/service.js CHANGED
@@ -61,7 +61,7 @@ export function createAgentDiscoveryService(_api) {
61
61
  let relays = DEFAULT_RELAYS;
62
62
  let nostrTools = null;
63
63
  let currentState = null;
64
- let dmListenerHandle = null;
64
+ // DM receiving handled by OpenClaw's native Nostr channel
65
65
  return {
66
66
  id: "agent-reach",
67
67
  async start(ctx) {
@@ -154,35 +154,9 @@ export function createAgentDiscoveryService(_api) {
154
154
  else {
155
155
  ctx.logger.info(`agent-reach: Started (heartbeats paused - offline mode)`);
156
156
  }
157
- // Start DM listener (workaround for OpenClaw bugs #3646 and #4547)
158
- try {
159
- const runtime = _api.runtime;
160
- if (secretKey && publicKeyHex && runtime) {
161
- const { startDmListener } = await import("./dm-listener.js");
162
- dmListenerHandle = await startDmListener({
163
- nostrTools,
164
- secretKey,
165
- publicKey: publicKeyHex,
166
- relays,
167
- stateDir: ctx.stateDir,
168
- runtime,
169
- logger: ctx.logger,
170
- });
171
- }
172
- else {
173
- ctx.logger.warn("agent-reach: DM listener skipped (missing keys or runtime)");
174
- }
175
- }
176
- catch (err) {
177
- ctx.logger.error(`agent-reach: DM listener failed to start: ${String(err)}`);
178
- }
157
+ // Nostr DM receiving is handled by OpenClaw's native Nostr channel
179
158
  },
180
159
  async stop(ctx) {
181
- // Stop DM listener
182
- if (dmListenerHandle) {
183
- dmListenerHandle.stop();
184
- dmListenerHandle = null;
185
- }
186
160
  // Clear heartbeat interval
187
161
  if (heartbeatInterval) {
188
162
  clearInterval(heartbeatInterval);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "agent-reach",
3
- "name": "Agent Discovery",
4
- "description": "Publish service cards and heartbeats to Nostr for agent discovery",
3
+ "name": "Agent Reach",
4
+ "description": "Connect to the agent-reach network on Nostr for agent discovery and collaboration",
5
5
  "version": "0.1.0",
6
6
  "configSchema": {
7
7
  "type": "object",
@@ -10,24 +10,7 @@
10
10
  "enabled": {
11
11
  "type": "boolean",
12
12
  "default": true,
13
- "description": "Enable agent discovery"
14
- },
15
- "capabilities": {
16
- "type": "array",
17
- "items": { "type": "string" },
18
- "default": ["automation", "research", "coding"],
19
- "description": "List of capabilities to advertise"
20
- },
21
- "heartbeatIntervalMs": {
22
- "type": "number",
23
- "default": 600000,
24
- "description": "Heartbeat interval in milliseconds (default: 10 minutes)"
25
- },
26
- "relays": {
27
- "type": "array",
28
- "items": { "type": "string" },
29
- "default": ["wss://relay.damus.io", "wss://nos.lol", "wss://relay.nostr.band"],
30
- "description": "Nostr relays to publish to"
13
+ "description": "Enable agent-reach"
31
14
  }
32
15
  }
33
16
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agent-reach",
3
- "version": "0.3.2",
4
- "description": "Agent discovery for OpenClaw via Nostr - publish service cards and heartbeats to make your agent discoverable",
3
+ "version": "0.3.4",
4
+ "description": "Agent Reach for OpenClaw - connect to the decentralized agent network on Nostr",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -19,6 +19,7 @@
19
19
  "openclaw-plugin",
20
20
  "nostr",
21
21
  "agent-reach",
22
+ "agent-reach",
22
23
  "ai-agents",
23
24
  "decentralized"
24
25
  ],
@@ -34,9 +35,7 @@
34
35
  "url": "https://github.com/AustinEral/agent-reach/issues"
35
36
  },
36
37
  "openclaw": {
37
- "extensions": [
38
- "dist/index.js"
39
- ]
38
+ "extensions": ["dist/index.js"]
40
39
  },
41
40
  "dependencies": {
42
41
  "nostr-tools": "^2.10.4"
@@ -1,174 +0,0 @@
1
- /**
2
- * DM Listener - Temporary workaround for OpenClaw Nostr bugs #3646 and #4547
3
- *
4
- * Subscribes to Nostr relays for incoming NIP-04 DMs and injects them
5
- * as system events into the main session via the gateway API.
6
- *
7
- * Remove this file once OpenClaw fixes Nostr DM receiving natively.
8
- */
9
- const fs = require("fs/promises");
10
- const path = require("path");
11
- const STATE_FILE = "dm-listener-state.json";
12
- let activeSubs = [];
13
- let activeRelays = [];
14
- async function loadState(stateDir) {
15
- try {
16
- const data = await fs.readFile(path.join(stateDir, STATE_FILE), "utf-8");
17
- return JSON.parse(data);
18
- }
19
- catch {
20
- return {
21
- lastSeenAt: Math.floor(Date.now() / 1000) - 120,
22
- seenIds: [],
23
- };
24
- }
25
- }
26
- async function saveState(stateDir, state) {
27
- await fs.mkdir(stateDir, { recursive: true });
28
- // Keep only last 500 IDs
29
- state.seenIds = state.seenIds.slice(-500);
30
- await fs.writeFile(path.join(stateDir, STATE_FILE), JSON.stringify(state, null, 2));
31
- }
32
- let _wakeNow = null;
33
- function findRequestHeartbeatNow() {
34
- if (_wakeNow)
35
- return _wakeNow;
36
- try {
37
- // Search loaded modules for OpenClaw's requestHeartbeatNow (same process)
38
- const cache = require.cache || {};
39
- for (const key of Object.keys(cache)) {
40
- if (!key.includes("subagent-registry"))
41
- continue;
42
- const mod = cache[key]?.exports;
43
- if (!mod)
44
- continue;
45
- for (const exp of Object.keys(mod)) {
46
- try {
47
- if (typeof mod[exp] === "function" && mod[exp].toString().includes("queuePendingWakeReason")) {
48
- _wakeNow = () => mod[exp]({ reason: "nostr-dm", coalesceMs: 500 });
49
- return _wakeNow;
50
- }
51
- }
52
- catch { }
53
- }
54
- }
55
- }
56
- catch { }
57
- return null;
58
- }
59
- function injectMessage(runtime, text) {
60
- runtime.system.enqueueSystemEvent(text, { sessionKey: "agent:main:main" });
61
- // Trigger immediate LLM turn
62
- const wake = findRequestHeartbeatNow();
63
- if (wake) {
64
- try {
65
- wake();
66
- }
67
- catch { }
68
- }
69
- }
70
- export async function startDmListener(deps) {
71
- const { nostrTools, secretKey, publicKey, relays, stateDir, runtime, logger } = deps;
72
- const { Relay } = await import("nostr-tools/relay");
73
- const nip04 = nostrTools.nip04;
74
- const state = await loadState(stateDir);
75
- const seenSet = new Set(state.seenIds);
76
- const since = Math.max(0, state.lastSeenAt - 60); // 60s lookback
77
- let saveTimeout = null;
78
- function scheduleSave() {
79
- if (saveTimeout)
80
- clearTimeout(saveTimeout);
81
- saveTimeout = setTimeout(() => {
82
- saveState(stateDir, state).catch(err => logger.error(`dm-listener: Failed to save state: ${err}`));
83
- }, 5000);
84
- }
85
- async function handleEvent(event) {
86
- // Dedup
87
- if (seenSet.has(event.id))
88
- return;
89
- seenSet.add(event.id);
90
- state.seenIds.push(event.id);
91
- // Skip our own messages
92
- if (event.pubkey === publicKey)
93
- return;
94
- // Must be tagged to us
95
- const targetsUs = event.tags.some((t) => t[0] === "p" && t[1] === publicKey);
96
- if (!targetsUs)
97
- return;
98
- // Decrypt
99
- let plaintext;
100
- try {
101
- plaintext = await nip04.decrypt(secretKey, event.pubkey, event.content);
102
- }
103
- catch (err) {
104
- logger.warn(`dm-listener: Decrypt failed from ${event.pubkey.slice(0, 12)}: ${err}`);
105
- return;
106
- }
107
- // Update state
108
- state.lastSeenAt = Math.max(state.lastSeenAt, event.created_at);
109
- scheduleSave();
110
- // Format sender
111
- const senderShort = event.pubkey.slice(0, 12) + "...";
112
- let senderNpub;
113
- try {
114
- senderNpub = nostrTools.nip19.npubEncode(event.pubkey);
115
- }
116
- catch {
117
- senderNpub = event.pubkey;
118
- }
119
- logger.info(`dm-listener: DM from ${senderShort}: ${plaintext.slice(0, 80)}`);
120
- // Inject into main session as system event
121
- const injectedText = `[Nostr DM from ${senderNpub}]\n${plaintext}`;
122
- try {
123
- injectMessage(runtime, injectedText);
124
- logger.debug(`dm-listener: Injected DM into main session`);
125
- }
126
- catch (err) {
127
- logger.error(`dm-listener: Failed to inject: ${err}`);
128
- }
129
- }
130
- // Connect to each relay individually (Relay.subscribe works, SimplePool doesn't)
131
- for (const url of relays) {
132
- try {
133
- const relay = await Relay.connect(url);
134
- activeRelays.push(relay);
135
- const sub = relay.subscribe([{ kinds: [4], "#p": [publicKey], since }], {
136
- onevent: (event) => {
137
- handleEvent(event).catch(err => logger.error(`dm-listener: Event handler error: ${err}`));
138
- },
139
- oneose: () => {
140
- logger.debug(`dm-listener: EOSE from ${url}`);
141
- },
142
- });
143
- activeSubs.push(sub);
144
- logger.debug(`dm-listener: Subscribed to ${url}`);
145
- }
146
- catch (err) {
147
- logger.warn(`dm-listener: Failed to connect to ${url}: ${err}`);
148
- }
149
- }
150
- logger.info(`dm-listener: Listening on ${activeRelays.length}/${relays.length} relays`);
151
- return {
152
- stop: () => {
153
- for (const sub of activeSubs) {
154
- try {
155
- sub.close();
156
- }
157
- catch { }
158
- }
159
- for (const relay of activeRelays) {
160
- try {
161
- relay.close();
162
- }
163
- catch { }
164
- }
165
- activeSubs = [];
166
- activeRelays = [];
167
- if (saveTimeout)
168
- clearTimeout(saveTimeout);
169
- saveState(stateDir, state).catch(() => { });
170
- logger.info("dm-listener: Stopped");
171
- },
172
- };
173
- }
174
- //# sourceMappingURL=dm-listener.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dm-listener.js","sourceRoot":"","sources":["../src/dm-listener.ts"],"names":[],"mappings":"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"}