oceanbus 0.8.0 → 0.9.1

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
@@ -47,7 +47,7 @@ You built an AI Agent. It works perfectly on localhost. But how does **another d
47
47
 
48
48
  Without OceanBus: buy a domain, configure DNS, provision SSL certificates, set up a load balancer, open firewall ports, write a WebSocket reconnect loop, build authentication middleware.
49
49
 
50
- **With OceanBus: `ob.register()`.** You get a permanent global address. Messages arrive in a callback. The network handles the rest end-to-end encrypted, no server required.
50
+ **With OceanBus: `ob.createIdentity()`.** You get a permanent global address. Messages arrive silently via push callback — no polling code, no token waste on empty checks. When idle, zero overhead. When a message lands, your Agent wakes up and handles it. WeChat, email, Slack — plug any notification channel.
51
51
 
52
52
  Now say that other Agent wants to buy something from yours. How does your Agent know the buyer isn't a scammer? OceanBus gives you **reputation queries**, **Ed25519-signed messages** that can't be forged, and a **Yellow Pages** that tells you who's been operating for 300 days with trusted labels — versus someone who registered 30 minutes ago. Your Agent makes the decision. OceanBus provides the evidence.
53
53
 
@@ -84,12 +84,12 @@ async function main() {
84
84
  const ob = await createOceanBus();
85
85
 
86
86
  // One call → you now exist on the global network.
87
- // You get a permanent Agent ID + API key.
88
- await ob.register();
87
+ // You get a permanent UUID + API key. This is IRREVERSIBLE.
88
+ await ob.createIdentity();
89
89
 
90
90
  // This is your global address. Share it like an email address.
91
91
  // Any agent, anywhere, can send messages to this address.
92
- const myOpenid = await ob.getOpenId();
92
+ const myOpenid = await ob.getAddress();
93
93
  console.log('Your address:', myOpenid);
94
94
 
95
95
  // Messages arrive here. No webhooks. No polling code.
@@ -117,9 +117,10 @@ Organized by what you need — not by module structure.
117
117
 
118
118
  | You want to... | Use this | Details |
119
119
  |---------------|----------|---------|
120
- | **Get a global identity** | `ob.register()` → `ob.getOpenId()` | Permanent address on the OceanBus network. No domain needed. |
120
+ | **Get a global identity** | `ob.createIdentity()` → `ob.getAddress()` | Permanent UUID + receiving address on the OceanBus network. No domain needed. |
121
121
  | **Send messages** | `ob.send(openid, text)` | 128k-char limit. End-to-end encrypted (XChaCha20-Poly1305). |
122
- | **Receive messages in real-time** | `ob.startListening(callback)` | Messages arrive within seconds. No refresh needed. |
122
+ | **Receive messages in real-time** | `ob.startListening(callback)` | Messages arrive within seconds. Dev mode — prints to console. |
123
+ | **Deploy a production listener** | `ob.startMonitor(callback, opts)` | Silent polling. No token on idle. Auto-reply. Push to WeChat/email/Slack via `onNotify`. Self-skip to prevent echo. Error backoff. One call replaces 150 lines of infrastructure code. |
123
124
  | **Publish yourself** | `ob.publish({ tags, description })` | One line. Appears in Yellow Pages. Auto-heartbeat. |
124
125
  | **Find services** | `ob.l1.yellowPages.discover(tags)` | Discover agents by tag. "Which agents do food delivery?" |
125
126
  | **Check reputation** | `ob.l1.reputation.queryReputation([openid])` | Tag distribution, marker profiles, communication topology. You decide who to trust. |
@@ -140,17 +141,17 @@ Debug, prototype, and vibe-code from the terminal.
140
141
  ```bash
141
142
  npm install -g oceanbus
142
143
 
143
- oceanbus register # Register a new Agent
144
- oceanbus openid # Show your stable OpenID
145
- oceanbus new-openid # Generate a new OpenID nonce
146
- oceanbus send <openid> # Send a message (supports stdin pipe)
147
- oceanbus listen # Listen for incoming messages
148
- oceanbus add <name> <openid> # Save a contact with a dedicated sender address
149
- oceanbus contacts # List saved contacts
150
- oceanbus block <openid> # Block a sender
151
- oceanbus keygen # Generate an Ed25519 key pair
152
- oceanbus key-create # Create a new API key
153
- oceanbus key-revoke <key_id> # Revoke an API key
144
+ oceanbus create-identity # Create a new UUID identity
145
+ oceanbus address # Show your current receiving address
146
+ oceanbus create-address # Generate a new receiving address
147
+ oceanbus send <openid> # Send a message (supports stdin pipe)
148
+ oceanbus listen # Listen for incoming messages
149
+ oceanbus add <name> <openid> # Save a contact with a dedicated sender address
150
+ oceanbus contacts # List saved contacts
151
+ oceanbus block <openid> # Block a sender
152
+ oceanbus keygen # Generate an Ed25519 key pair
153
+ oceanbus create-key # Create a new key under current UUID
154
+ oceanbus revoke-key <key_id> # Revoke a key
154
155
  ```
155
156
 
156
157
  Pipe mode:
@@ -163,7 +164,7 @@ oceanbus listen | jq '.content' # JSON stream on stdout
163
164
 
164
165
  The SDK receives messages within seconds — no manual refresh needed.
165
166
 
166
- **Terminal (human-to-human):**
167
+ **Dev mode — `startListening()` (prints to console):**
167
168
  ```bash
168
169
  # Terminal 1: start listening
169
170
  oceanbus listen
@@ -175,18 +176,55 @@ oceanbus send <friend-openid> "Hey! Are you there?"
175
176
  # [seq:127] 0rGE3HsKmeAPg...: Hey! Are you there?
176
177
  ```
177
178
 
178
- **Code (agent-to-agent):**
179
179
  ```javascript
180
180
  const ob = await createOceanBus();
181
- await ob.register();
181
+ await ob.createIdentity();
182
182
 
183
- // Messages arrive in real-time — 2s polling, zero config
184
183
  ob.startListening((msg) => {
185
184
  console.log(`[${msg.from_openid}] ${msg.content}`);
186
- // Your agent logic here
187
185
  });
188
186
  ```
189
187
 
188
+ **Production mode — `startMonitor()` (silent, push-ready):**
189
+
190
+ `startMonitor` is the production-grade upgrade to `startListening`. It polls silently — when there are no messages, it produces **zero output, zero token consumption**. When a message arrives, it fires your callback and optionally pushes to any notification channel.
191
+
192
+ ```javascript
193
+ const ob = await createOceanBus({
194
+ identity: { agent_id, api_key, openid },
195
+ });
196
+
197
+ // One call. Polling, cursor, self-skip, error backoff — all handled.
198
+ const stop = ob.startMonitor(
199
+ async (msg) => {
200
+ // Your agent logic here — wake up only when there's a message
201
+ await handleIncomingMessage(msg);
202
+ },
203
+ {
204
+ intervalMs: 3000, // poll interval (default 2s)
205
+ skipSelf: true, // never echo your own messages
206
+ autoReply: '✅ 已收到', // optional: auto-acknowledge every message
207
+ onNotify: async (msg) => { // optional: push to your notification channel
208
+ await sendWeChatPush(msg); // or email, Slack, Discord webhook...
209
+ // During idle: zero API calls, zero tokens, zero noise
210
+ },
211
+ errorBackoff: { threshold: 5, delayMs: 30000 }, // 5 consecutive errors → 30s cooldown
212
+ }
213
+ );
214
+
215
+ // stop() to gracefully shutdown
216
+ ```
217
+
218
+ | Capability | `startListening()` | `startMonitor()` |
219
+ |---|---|---|
220
+ | Polling engine | ✅ | ✅ |
221
+ | Self-skip (no echo) | — | ✅ |
222
+ | Notification callback | — | ✅ `onNotify` |
223
+ | Auto-reply | — | ✅ `autoReply` |
224
+ | Error backoff | — | ✅ |
225
+ | Silent when idle | — | ✅ |
226
+ | Use case | Dev / debugging | PM2 / Docker / serverless |
227
+
190
228
  ### How Real-Time Delivery Works
191
229
 
192
230
  OceanBus uses **HTTP polling** (not WebSocket or SSE). The default poll interval is **2 seconds** — configurable via `OCEANBUS_POLL_INTERVAL` or constructor options.
package/bin/oceanbus.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
  // OceanBus CLI entry point
3
3
  // After tsc compiles, this file requires dist/cli/index.js
4
4
 
@@ -23,6 +23,15 @@ export declare class AgentIdentityManager {
23
23
  exportState(): AgentState;
24
24
  loadFromPersistedState(state: AgentState): void;
25
25
  trackExtraKey(key: ApiKeyData): void;
26
+ /** Create a brand new UUID identity. This is IRREVERSIBLE — once created,
27
+ * the UUID can never be changed or recovered if all keys are lost. */
28
+ createIdentity(): Promise<RegistrationData>;
29
+ /** Generate a NEW receiving address. Each call returns a different value.
30
+ * For a stable address, use getAddress() instead. */
31
+ createAddress(): Promise<OpenIDData>;
32
+ /** Return the current receiving address (persisted across sessions).
33
+ * If no address has been created yet, generates one automatically. */
34
+ getAddress(): Promise<string>;
26
35
  private ensureAuth;
27
36
  }
28
37
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/agent/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQ3F,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,WAAW,CAAuB;IAM1C,OAAO,CAAC,eAAe,CAAuB;gBAElC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAM/D,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B,eAAe,IAAI,MAAM,GAAG,IAAI;IAOhC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIxC,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAInC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlD,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA+BrC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAgBhC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAOlC,+FAA+F;IACzF,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAM7B,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAQ7C,WAAW,IAAI,UAAU;IAYzB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQ/C,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAIpC,OAAO,CAAC,UAAU;CAKnB"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/agent/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQ3F,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,WAAW,CAAuB;IAM1C,OAAO,CAAC,eAAe,CAAuB;gBAElC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAM/D,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B,eAAe,IAAI,MAAM,GAAG,IAAI;IAOhC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIxC,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAInC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlD,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA+BrC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAgBhC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAOlC,+FAA+F;IACzF,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAM7B,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAQ7C,WAAW,IAAI,UAAU;IAYzB,sBAAsB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQ/C,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAepC;2EACuE;IACjE,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIjD;0DACsD;IAChD,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1C;2EACuE;IACjE,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,OAAO,CAAC,UAAU;CAKnB"}
@@ -126,9 +126,34 @@ class AgentIdentityManager {
126
126
  trackExtraKey(key) {
127
127
  this.extraKeys.push(key);
128
128
  }
129
+ // ── Clear-name aliases ──────────────────────────────────────────────────
130
+ // L0 uses "register" and "OpenID" internally, but these names are misleading:
131
+ // register() → sounds like "re-register existing" but actually CREATES new UUID
132
+ // getOpenId() → sounds like a getter but creates a new address when uncached
133
+ // newOpenId() → "OpenId" is a L0 term, doesn't tell you what it IS
134
+ //
135
+ // The SDK wraps them with self-documenting names:
136
+ // createIdentity() → creates a brand new UUID (irreversible)
137
+ // createAddress() → generates a new receiving address (each call = new address)
138
+ // getAddress() → returns the current persisted address
139
+ /** Create a brand new UUID identity. This is IRREVERSIBLE — once created,
140
+ * the UUID can never be changed or recovered if all keys are lost. */
141
+ async createIdentity() {
142
+ return this.register();
143
+ }
144
+ /** Generate a NEW receiving address. Each call returns a different value.
145
+ * For a stable address, use getAddress() instead. */
146
+ async createAddress() {
147
+ return this.newOpenId();
148
+ }
149
+ /** Return the current receiving address (persisted across sessions).
150
+ * If no address has been created yet, generates one automatically. */
151
+ async getAddress() {
152
+ return this.getOpenId();
153
+ }
129
154
  ensureAuth() {
130
155
  if (!this.apiKey) {
131
- throw new errors_1.OceanBusError('Not authenticated: call register() first or provide API key in config');
156
+ throw new errors_1.OceanBusError('Not authenticated: call createIdentity() first or provide API key in config');
132
157
  }
133
158
  }
134
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/agent/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/agent/identity.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,10 @@ export declare class ApiKeyManager {
7
7
  createApiKey(): Promise<ApiKeyData>;
8
8
  createApiKeyWithRetry(maxWaitMs?: number): Promise<ApiKeyData>;
9
9
  revokeApiKey(keyId: string): Promise<void>;
10
+ /** Create a new key pair under the current UUID. Each key has its own
11
+ * receiving address. All keys belong to the same permanent identity. */
12
+ createKey(): Promise<ApiKeyData>;
13
+ /** Revoke a specific key by its key_id. Other keys are unaffected. */
14
+ revokeKey(keyId: string): Promise<void>;
10
15
  }
11
16
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/agent/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAsB;gBAE3B,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,MAAM,GAAG,IAAI;IAKtD,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;IAQnC,qBAAqB,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBrE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMjD"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/agent/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAsB;gBAE3B,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,MAAM,GAAG,IAAI;IAKtD,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;IAQnC,qBAAqB,CAAC,SAAS,GAAE,MAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBrE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;6EACyE;IACnE,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAItC,sEAAsE;IAChE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9C"}
@@ -45,6 +45,16 @@ class ApiKeyManager {
45
45
  throw new errors_1.OceanBusError('Not authenticated');
46
46
  await this.http.del(`/agents/me/keys/${keyId}`, { apiKey: key });
47
47
  }
48
+ // ── Clear-name aliases ──────────────────────────────────────────────────
49
+ /** Create a new key pair under the current UUID. Each key has its own
50
+ * receiving address. All keys belong to the same permanent identity. */
51
+ async createKey() {
52
+ return this.createApiKey();
53
+ }
54
+ /** Revoke a specific key by its key_id. Other keys are unaffected. */
55
+ async revokeKey(keyId) {
56
+ return this.revokeApiKey(keyId);
57
+ }
48
58
  }
49
59
  exports.ApiKeyManager = ApiKeyManager;
50
60
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/agent/keys.ts"],"names":[],"mappings":";;;AAEA,6CAAiD;AAEjD,MAAa,aAAa;IAChB,IAAI,CAAa;IACjB,SAAS,CAAsB;IAEvC,YAAY,IAAgB,EAAE,SAA8B;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,sBAAa,CAAC,mBAAmB,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,YAAoB,KAAK;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAEvC,2CAA2C;QAC3C,6CAA6C;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC;QAE5B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwB,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/F,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC,CAAC,YAAY;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mDAAmD;gBACnD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,8EAA8E;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,sBAAa,CAAC,mBAAmB,CAAC,CAAC;QAEvD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAhDD,sCAgDC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/agent/keys.ts"],"names":[],"mappings":";;;AAEA,6CAAiD;AAEjD,MAAa,aAAa;IAChB,IAAI,CAAa;IACjB,SAAS,CAAsB;IAEvC,YAAY,IAAgB,EAAE,SAA8B;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,sBAAa,CAAC,mBAAmB,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,iBAAiB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACrF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,YAAoB,KAAK;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAEvC,2CAA2C;QAC3C,6CAA6C;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC;QAE5B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwB,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/F,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC,CAAC,YAAY;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mDAAmD;gBACnD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,8EAA8E;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,sBAAa,CAAC,mBAAmB,CAAC,CAAC;QAEvD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,2EAA2E;IAE3E;6EACyE;IACzE,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AA7DD,sCA6DC"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ import type { MessageHandler } from './mailbox/poller';
8
8
  import type { OceanBusConfig, PartialConfig } from './types/config';
9
9
  import type { RegistrationData } from './types/agent';
10
10
  import type { Message } from './types/messaging';
11
- import type { ListenOptions, SendOptions } from './types/messaging';
11
+ import type { ListenOptions, MonitorOptions, SendOptions } from './types/messaging';
12
12
  import { RosterService } from './roster/index';
13
13
  import type { Ed25519KeyPair, Certificate, CertVerifyResult, TrustAnchor } from './types/crypto';
14
14
  import type { AgentCard, AgentCardHandler } from './types/l1';
@@ -26,6 +26,7 @@ export declare class OceanBus {
26
26
  blocklist: BlocklistManager;
27
27
  mailbox: MailboxSync;
28
28
  private poller;
29
+ private monitorEngine;
29
30
  private keyStore;
30
31
  private cursor;
31
32
  private l1Dispatcher;
@@ -57,14 +58,27 @@ export declare class OceanBus {
57
58
  private constructor();
58
59
  static create(userConfig?: PartialConfig): Promise<OceanBus>;
59
60
  private bootstrapRoster;
61
+ /** Create a brand new UUID identity and first key.
62
+ * This is IRREVERSIBLE — the UUID can never be recovered if all keys are lost. */
63
+ createIdentity(): Promise<RegistrationData>;
64
+ /** @deprecated Use createIdentity() instead. This method will be removed in a future version. */
60
65
  register(): Promise<RegistrationData>;
61
- /** Generate a new OpenID nonce. Each call returns a different value. For stable address, use getOpenId(). */
66
+ /** Generate a NEW receiving address. Each call returns a different value.
67
+ * For a stable address, use getAddress() instead. */
68
+ createAddress(): Promise<{
69
+ agent_id: string;
70
+ openid: string;
71
+ }>;
72
+ /** @deprecated Use createAddress() instead. This method will be removed in a future version. */
62
73
  newOpenId(): Promise<{
63
74
  agent_id: string;
64
75
  openid: string;
65
76
  }>;
77
+ /** Return the current receiving address. Creates one automatically if none exists yet. */
78
+ getAddress(): Promise<string>;
79
+ /** @deprecated Use getAddress() instead. This method will be removed in a future version. */
66
80
  getOpenId(): Promise<string>;
67
- /** @deprecated Use getOpenId() for stable identity, or newOpenId() to generate a new nonce. */
81
+ /** @deprecated Use getAddress() or createAddress(). */
68
82
  whoami(): Promise<{
69
83
  agent_id: string;
70
84
  openid: string;
@@ -75,10 +89,20 @@ export declare class OceanBus {
75
89
  signer: PayloadSigner;
76
90
  keypair: Ed25519KeyPair;
77
91
  }>;
92
+ /** Create a new key pair under the current UUID.
93
+ * Each key has its own receiving address. All keys belong to the same identity. */
94
+ createKey(): Promise<{
95
+ key_id: string;
96
+ api_key: string;
97
+ }>;
98
+ /** @deprecated Use createKey() instead. */
78
99
  createApiKey(): Promise<{
79
100
  key_id: string;
80
101
  api_key: string;
81
102
  }>;
103
+ /** Revoke a specific key by its key_id. Other keys are unaffected. */
104
+ revokeKey(keyId: string): Promise<void>;
105
+ /** @deprecated Use revokeKey() instead. */
82
106
  revokeApiKey(keyId: string): Promise<void>;
83
107
  /**
84
108
  * Register a handler that auto-responds to AgentCard requests.
@@ -148,6 +172,18 @@ export declare class OceanBus {
148
172
  sync(sinceSeq?: number, limit?: number): Promise<Message[]>;
149
173
  startListening(onMessage: MessageHandler, options?: ListenOptions): () => void;
150
174
  stopListening(): void;
175
+ /**
176
+ * Production-grade persistent listener with notification hooks, auto-reply, and error resilience.
177
+ *
178
+ * Builds on the same MailboxSync as `startListening` but uses `MonitorEngine` instead of
179
+ * `AutoPollEngine` — adding self-skip, `onNotify` callback, auto-reply, and consecutive-error
180
+ * backoff. Does NOT route AgentCard or L1 dispatcher messages (those require `startListening`).
181
+ *
182
+ * Use this for long-running deployments (PM2, Docker, serverless) where you want to plug in
183
+ * a notification channel (WeChat, email, Slack) and optionally auto-reply to keep senders
184
+ * informed that their message was received.
185
+ */
186
+ startMonitor(onMessage: MessageHandler, options?: MonitorOptions): () => void;
151
187
  blockSender(fromOpenid: string): Promise<void>;
152
188
  unblockSender(fromOpenid: string): Promise<void>;
153
189
  isBlocked(fromOpenid: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAc/C,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD,qBAAa,QAAQ;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,gBAAgB,CAAiC;IAGzD,MAAM,EAAE;QACN,eAAe,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACnG,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;QACvC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/E,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,cAAc,CAAC;QACjE,kBAAkB,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QACrF,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,cAAc,CAAC;QACvE,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;KAChG,CAAC;IAGF,EAAE,EAAG;QACH,WAAW,EAAE,iBAAiB,CAAC;QAC/B,EAAE,EAAE,QAAQ,CAAC;QACb,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC;IAGF,YAAY,EAAE,gBAAgB,CAAC;IAG/B,MAAM,EAAE,aAAa,CAAC;IAGtB,OAAO;WAsEM,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YA2FpD,eAAe;IAsC7B;uFACmF;IAC7E,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAQjD,iGAAiG;IAC3F,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAM3C;0DACsD;IAChD,aAAa,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAMpE,gGAAgG;IAC1F,SAAS,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAKhE,0FAA0F;IACpF,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,6FAA6F;IACvF,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAKlC,uDAAuD;IACjD,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAM7D,yGAAyG;IACnG,gBAAgB,IAAI,OAAO,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,aAAa,CAAC;QACtB,OAAO,EAAE,cAAc,CAAC;KACzB,CAAC;IASF;wFACoF;IAC9E,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/D,2CAA2C;IACrC,YAAY,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAKlE,sEAAsE;IAChE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,2CAA2C;IACrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI/C;;;OAGG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAwB5D;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAM/D;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,OAAO,EAAE;QACrB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAuBF;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAM5C;;;OAGG;IACG,oBAAoB,CAAC,MAAM,EAAE;QACjC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAKvB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3E,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIjE,cAAc,CACZ,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,IAAI;IA4Db,aAAa,IAAI,IAAI;IASrB;;;;;;;;;;OAUG;IACH,YAAY,CACV,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,IAAI;IAwBP,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAItC,YAAY,IAAI,MAAM,EAAE;IAIlB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAKjE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B/B;AAED,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE9E;AAGD,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ const send_1 = require("./messaging/send");
24
24
  const blocklist_1 = require("./messaging/blocklist");
25
25
  const sync_1 = require("./mailbox/sync");
26
26
  const poller_1 = require("./mailbox/poller");
27
+ const monitor_1 = require("./mailbox/monitor");
27
28
  const cursor_1 = require("./mailbox/cursor");
28
29
  const loader_1 = require("./config/loader");
29
30
  const defaults_1 = require("./config/defaults");
@@ -51,6 +52,7 @@ class OceanBus {
51
52
  blocklist;
52
53
  mailbox;
53
54
  poller = null;
55
+ monitorEngine = null;
54
56
  keyStore;
55
57
  cursor;
56
58
  l1Dispatcher = null;
@@ -202,35 +204,50 @@ class OceanBus {
202
204
  }
203
205
  }
204
206
  // Identity convenience methods
205
- async register() {
207
+ /** Create a brand new UUID identity and first key.
208
+ * This is IRREVERSIBLE — the UUID can never be recovered if all keys are lost. */
209
+ async createIdentity() {
206
210
  const data = await this.identity.register();
207
- // Fetch and persist OpenID immediately
208
211
  try {
209
212
  await this.identity.newOpenId();
210
213
  }
211
214
  catch { }
212
215
  await this.keyStore.save(this.identity.exportState());
213
- // Bootstrap default contacts (YP + Reputation)
214
216
  await this.bootstrapRoster().catch(() => { });
215
217
  return data;
216
218
  }
217
- /** Generate a new OpenID nonce. Each call returns a different value. For stable address, use getOpenId(). */
218
- async newOpenId() {
219
+ /** @deprecated Use createIdentity() instead. This method will be removed in a future version. */
220
+ async register() {
221
+ console.warn('[oceanbus] ⚠ ob.register() is deprecated. Use ob.createIdentity() instead.');
222
+ console.warn('[oceanbus] createIdentity() = create a brand new UUID (irreversible)');
223
+ return this.createIdentity();
224
+ }
225
+ /** Generate a NEW receiving address. Each call returns a different value.
226
+ * For a stable address, use getAddress() instead. */
227
+ async createAddress() {
219
228
  const data = await this.identity.newOpenId();
220
- // Persist newly fetched OpenID
221
229
  if (data.my_openid)
222
230
  await this.keyStore.save(this.identity.exportState());
223
231
  return { agent_id: this.identity.getAgentId(), openid: data.my_openid };
224
232
  }
225
- async getOpenId() {
233
+ /** @deprecated Use createAddress() instead. This method will be removed in a future version. */
234
+ async newOpenId() {
235
+ console.warn('[oceanbus] ⚠ ob.newOpenId() is deprecated. Use ob.createAddress() instead.');
236
+ return this.createAddress();
237
+ }
238
+ /** Return the current receiving address. Creates one automatically if none exists yet. */
239
+ async getAddress() {
226
240
  return this.identity.getOpenId();
227
241
  }
228
- /** @deprecated Use getOpenId() for stable identity, or newOpenId() to generate a new nonce. */
242
+ /** @deprecated Use getAddress() instead. This method will be removed in a future version. */
243
+ async getOpenId() {
244
+ console.warn('[oceanbus] ⚠ ob.getOpenId() is deprecated. Use ob.getAddress() instead.');
245
+ return this.getAddress();
246
+ }
247
+ /** @deprecated Use getAddress() or createAddress(). */
229
248
  async whoami() {
230
- console.warn('[oceanbus] ⚠ whoami() is deprecated. Use getOpenId() (stable) or newOpenId() (new nonce). This method will be removed in a future version.');
231
- console.warn('[oceanbus] getOpenId() = your stable receiving OpenID (persisted across sessions)');
232
- console.warn('[oceanbus] newOpenId() = generate a new anti-tracking nonce (changes your address)');
233
- const openid = await this.getOpenId();
249
+ console.warn('[oceanbus] ⚠ whoami() is deprecated. Use getAddress() (stable) or createAddress() (new).');
250
+ const openid = await this.getAddress();
234
251
  return { agent_id: this.identity.getAgentId(), openid };
235
252
  }
236
253
  /** One-liner: generate an Ed25519 keypair and return everything needed for Yellow Pages registration. */
@@ -240,13 +257,26 @@ class OceanBus {
240
257
  const signer = async (payload) => (0, ed25519_1.sign)(keypair.secretKey, payload);
241
258
  return { publicKey, signer, keypair };
242
259
  }
243
- // API Key convenience methods
244
- async createApiKey() {
260
+ // Key management
261
+ /** Create a new key pair under the current UUID.
262
+ * Each key has its own receiving address. All keys belong to the same identity. */
263
+ async createKey() {
245
264
  return this.keys.createApiKeyWithRetry();
246
265
  }
247
- async revokeApiKey(keyId) {
266
+ /** @deprecated Use createKey() instead. */
267
+ async createApiKey() {
268
+ console.warn('[oceanbus] ⚠ ob.createApiKey() is deprecated. Use ob.createKey() instead.');
269
+ return this.createKey();
270
+ }
271
+ /** Revoke a specific key by its key_id. Other keys are unaffected. */
272
+ async revokeKey(keyId) {
248
273
  return this.keys.revokeApiKey(keyId);
249
274
  }
275
+ /** @deprecated Use revokeKey() instead. */
276
+ async revokeApiKey(keyId) {
277
+ console.warn('[oceanbus] ⚠ ob.revokeApiKey() is deprecated. Use ob.revokeKey() instead.');
278
+ return this.revokeKey(keyId);
279
+ }
250
280
  // AgentCard
251
281
  /**
252
282
  * Register a handler that auto-responds to AgentCard requests.
@@ -410,6 +440,32 @@ class OceanBus {
410
440
  // Allow L1Dispatcher to create its own poller again for standalone use
411
441
  this.l1Dispatcher?.setUseExternalPoller(false);
412
442
  }
443
+ /**
444
+ * Production-grade persistent listener with notification hooks, auto-reply, and error resilience.
445
+ *
446
+ * Builds on the same MailboxSync as `startListening` but uses `MonitorEngine` instead of
447
+ * `AutoPollEngine` — adding self-skip, `onNotify` callback, auto-reply, and consecutive-error
448
+ * backoff. Does NOT route AgentCard or L1 dispatcher messages (those require `startListening`).
449
+ *
450
+ * Use this for long-running deployments (PM2, Docker, serverless) where you want to plug in
451
+ * a notification channel (WeChat, email, Slack) and optionally auto-reply to keep senders
452
+ * informed that their message was received.
453
+ */
454
+ startMonitor(onMessage, options) {
455
+ // Stop any existing poller (listen or monitor)
456
+ this.stopListening();
457
+ if (this.monitorEngine) {
458
+ this.monitorEngine.stop();
459
+ this.monitorEngine = null;
460
+ }
461
+ const engine = new monitor_1.MonitorEngine(this.mailbox, onMessage, (to, content) => this.messaging.send(to, content), () => this.identity.getPersistedOpenId(), options ?? {});
462
+ this.monitorEngine = engine;
463
+ engine.start();
464
+ return () => {
465
+ engine.stop();
466
+ this.monitorEngine = null;
467
+ };
468
+ }
413
469
  // Blocklist convenience methods
414
470
  async blockSender(fromOpenid) {
415
471
  return this.blocklist.block(fromOpenid);
@@ -443,6 +499,10 @@ class OceanBus {
443
499
  this.l1Dispatcher = null;
444
500
  }
445
501
  this.stopListening();
502
+ if (this.monitorEngine) {
503
+ this.monitorEngine.stop();
504
+ this.monitorEngine = null;
505
+ }
446
506
  await this.cursor.save();
447
507
  await this.blocklist.saveLocal();
448
508
  if (this.identity.getAgentId()) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export { MailboxSync } from './sync';
2
2
  export { AutoPollEngine } from './poller';
3
3
  export type { MessageHandler, ErrorHandler } from './poller';
4
+ export { MonitorEngine } from './monitor';
4
5
  export { SeqCursor } from './cursor';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mailbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mailbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SeqCursor = exports.AutoPollEngine = exports.MailboxSync = void 0;
3
+ exports.SeqCursor = exports.MonitorEngine = exports.AutoPollEngine = exports.MailboxSync = void 0;
4
4
  var sync_1 = require("./sync");
5
5
  Object.defineProperty(exports, "MailboxSync", { enumerable: true, get: function () { return sync_1.MailboxSync; } });
6
6
  var poller_1 = require("./poller");
7
7
  Object.defineProperty(exports, "AutoPollEngine", { enumerable: true, get: function () { return poller_1.AutoPollEngine; } });
8
+ var monitor_1 = require("./monitor");
9
+ Object.defineProperty(exports, "MonitorEngine", { enumerable: true, get: function () { return monitor_1.MonitorEngine; } });
8
10
  var cursor_1 = require("./cursor");
9
11
  Object.defineProperty(exports, "SeqCursor", { enumerable: true, get: function () { return cursor_1.SeqCursor; } });
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mailbox/index.ts"],"names":[],"mappings":";;;AAAA,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AAEvB,mCAAqC;AAA5B,mGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mailbox/index.ts"],"names":[],"mappings":";;;AAAA,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AAEvB,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,mCAAqC;AAA5B,mGAAA,SAAS,OAAA"}
@@ -0,0 +1,21 @@
1
+ import type { MonitorOptions } from '../types/messaging';
2
+ import { MailboxSync } from './sync';
3
+ import type { MessageHandler } from './poller';
4
+ export declare class MonitorEngine {
5
+ private sync;
6
+ private intervalMs;
7
+ private running;
8
+ private timer;
9
+ private onMessage;
10
+ private options;
11
+ private getOwnOpenId;
12
+ private sendFn;
13
+ private onError;
14
+ private consecutiveErrors;
15
+ constructor(sync: MailboxSync, onMessage: MessageHandler, sendFn: (to: string, content: string) => Promise<void>, getOwnOpenId: () => string | null, options?: MonitorOptions);
16
+ start(): void;
17
+ stop(): void;
18
+ isRunning(): boolean;
19
+ private poll;
20
+ }
21
+ //# sourceMappingURL=monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/mailbox/monitor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,UAAU,CAAC;AAS7D,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,MAAM,CAAiD;IAC/D,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,iBAAiB,CAAK;gBAG5B,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACtD,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,EACjC,OAAO,GAAE,cAAmB;IAW9B,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAQZ,SAAS,IAAI,OAAO;YAIN,IAAI;CAqDnB"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MonitorEngine = void 0;
4
+ const DEFAULTS = {
5
+ errorBackoff: {
6
+ threshold: 5,
7
+ delayMs: 30000,
8
+ },
9
+ };
10
+ class MonitorEngine {
11
+ sync;
12
+ intervalMs;
13
+ running = false;
14
+ timer = null;
15
+ onMessage;
16
+ options;
17
+ getOwnOpenId;
18
+ sendFn;
19
+ onError;
20
+ consecutiveErrors = 0;
21
+ constructor(sync, onMessage, sendFn, getOwnOpenId, options = {}) {
22
+ this.sync = sync;
23
+ this.onMessage = onMessage;
24
+ this.sendFn = sendFn;
25
+ this.getOwnOpenId = getOwnOpenId;
26
+ this.options = options;
27
+ this.intervalMs = options.intervalMs ?? 2000;
28
+ this.onError = options.onError ?? ((err) => { console.error('[oceanbus] monitor error:', err.message); });
29
+ }
30
+ start() {
31
+ if (this.running)
32
+ return;
33
+ this.running = true;
34
+ this.poll();
35
+ }
36
+ stop() {
37
+ this.running = false;
38
+ if (this.timer) {
39
+ clearTimeout(this.timer);
40
+ this.timer = null;
41
+ }
42
+ }
43
+ isRunning() {
44
+ return this.running;
45
+ }
46
+ async poll() {
47
+ const ownOpenId = this.getOwnOpenId();
48
+ const backoff = this.options.errorBackoff ?? DEFAULTS.errorBackoff;
49
+ while (this.running) {
50
+ try {
51
+ const messages = await this.sync.sync();
52
+ this.consecutiveErrors = 0;
53
+ for (const msg of messages) {
54
+ // Self-skip
55
+ if (this.options.skipSelf && ownOpenId && msg.from_openid === ownOpenId)
56
+ continue;
57
+ // Notification callback (fire-and-forget, errors don't crash the loop)
58
+ if (this.options.onNotify) {
59
+ try {
60
+ await this.options.onNotify(msg);
61
+ }
62
+ catch { /* best effort */ }
63
+ }
64
+ // Auto-reply
65
+ if (this.options.autoReply) {
66
+ const text = typeof this.options.autoReply === 'function'
67
+ ? this.options.autoReply(msg)
68
+ : this.options.autoReply;
69
+ if (text) {
70
+ this.sendFn(msg.from_openid, text).catch(() => { });
71
+ }
72
+ }
73
+ // User callback
74
+ try {
75
+ await this.onMessage(msg);
76
+ }
77
+ catch (handlerErr) {
78
+ this.onError(handlerErr);
79
+ }
80
+ }
81
+ }
82
+ catch (err) {
83
+ this.consecutiveErrors++;
84
+ this.onError(err);
85
+ if (this.consecutiveErrors >= backoff.threshold) {
86
+ await new Promise(r => setTimeout(r, backoff.delayMs));
87
+ this.consecutiveErrors = 0;
88
+ }
89
+ }
90
+ await new Promise((resolve) => {
91
+ if (!this.running) {
92
+ resolve();
93
+ return;
94
+ }
95
+ this.timer = setTimeout(() => {
96
+ this.timer = null;
97
+ resolve();
98
+ }, this.intervalMs);
99
+ });
100
+ }
101
+ }
102
+ }
103
+ exports.MonitorEngine = MonitorEngine;
104
+ //# sourceMappingURL=monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/mailbox/monitor.ts"],"names":[],"mappings":"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"}
@@ -30,4 +30,19 @@ export interface ListenOptions {
30
30
  sinceSeq?: number;
31
31
  limit?: number;
32
32
  }
33
+ export interface MonitorOptions extends ListenOptions {
34
+ /** Auto-reply text or function. When set, SDK sends this back to sender on each message. */
35
+ autoReply?: string | ((msg: Message) => string | null);
36
+ /** Generic notification callback. Fires for each received message. Consumer plugs their notification channel here (WeChat, email, etc.). */
37
+ onNotify?: (msg: Message) => void | Promise<void>;
38
+ /** Skip messages from own OpenID to prevent echo loops. Default false. */
39
+ skipSelf?: boolean;
40
+ /** Consecutive-error backoff. After `threshold` consecutive sync failures, sleep `delayMs` before retrying. */
41
+ errorBackoff?: {
42
+ threshold: number;
43
+ delayMs: number;
44
+ };
45
+ /** Callback when monitor errors occur (connectivity issues, etc). Defaults to console.error. */
46
+ onError?: (err: Error) => void;
47
+ }
33
48
  //# sourceMappingURL=messaging.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/types/messaging.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/types/messaging.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC;IACvD,4IAA4I;IAC5I,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+GAA+G;IAC/G,YAAY,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,gGAAgG;IAChG,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC"}
package/package.json CHANGED
@@ -1,62 +1,62 @@
1
- {
2
- "name": "oceanbus",
3
- "version": "0.8.0",
4
- "description": "OceanBus AI Agent Communication & Trust Infrastructure SDK",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "bin": {
8
- "oceanbus": "./bin/oceanbus.js"
9
- },
10
- "scripts": {
11
- "build": "tsc",
12
- "dev": "tsc --watch",
13
- "test": "npm run test:unit && npm run test:e2e",
14
- "test:unit": "jest",
15
- "test:e2e": "node test/integration/run-all.mjs"
16
- },
17
- "keywords": [
18
- "oceanbus",
19
- "agent",
20
- "ai-agent",
21
- "agent-communication",
22
- "multi-agent",
23
- "p2p",
24
- "messaging",
25
- "end-to-end-encryption",
26
- "e2ee",
27
- "encryption",
28
- "xchacha20",
29
- "ed25519",
30
- "identity",
31
- "trust",
32
- "reputation",
33
- "anti-fraud",
34
- "decentralized",
35
- "service-discovery",
36
- "yellow-pages",
37
- "secure-chat"
38
- ],
39
- "license": "MIT",
40
- "files": [
41
- "dist/",
42
- "bin/",
43
- "README.md",
44
- "LICENSE"
45
- ],
46
- "dependencies": {
47
- "@noble/ed25519": "^2.1.0",
48
- "@noble/hashes": "^1.7.0",
49
- "superagent": "^10.3.0",
50
- "yargs": "^17.7.0"
51
- },
52
- "devDependencies": {
53
- "@jest/globals": "^30.3.0",
54
- "@types/jest": "^30.0.0",
55
- "@types/node": "^22.0.0",
56
- "@types/superagent": "^8.1.0",
57
- "@types/yargs": "^17.0.0",
58
- "jest": "^30.3.0",
59
- "ts-jest": "^29.4.9",
60
- "typescript": "^5.7.0"
61
- }
62
- }
1
+ {
2
+ "name": "oceanbus",
3
+ "version": "0.9.1",
4
+ "description": "OceanBus AI Agent Communication & Trust Infrastructure SDK",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "oceanbus": "./bin/oceanbus.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsc --watch",
13
+ "test": "npm run test:unit && npm run test:e2e",
14
+ "test:unit": "jest",
15
+ "test:e2e": "node test/integration/run-all.mjs"
16
+ },
17
+ "keywords": [
18
+ "oceanbus",
19
+ "agent",
20
+ "ai-agent",
21
+ "agent-communication",
22
+ "multi-agent",
23
+ "p2p",
24
+ "messaging",
25
+ "end-to-end-encryption",
26
+ "e2ee",
27
+ "encryption",
28
+ "xchacha20",
29
+ "ed25519",
30
+ "identity",
31
+ "trust",
32
+ "reputation",
33
+ "anti-fraud",
34
+ "decentralized",
35
+ "service-discovery",
36
+ "yellow-pages",
37
+ "secure-chat"
38
+ ],
39
+ "license": "MIT",
40
+ "files": [
41
+ "dist/",
42
+ "bin/",
43
+ "README.md",
44
+ "LICENSE"
45
+ ],
46
+ "dependencies": {
47
+ "@noble/ed25519": "^2.1.0",
48
+ "@noble/hashes": "^1.7.0",
49
+ "superagent": "^10.3.0",
50
+ "yargs": "^17.7.0"
51
+ },
52
+ "devDependencies": {
53
+ "@jest/globals": "^30.3.0",
54
+ "@types/jest": "^30.0.0",
55
+ "@types/node": "^22.0.0",
56
+ "@types/superagent": "^8.1.0",
57
+ "@types/yargs": "^17.0.0",
58
+ "jest": "^30.3.0",
59
+ "ts-jest": "^29.4.9",
60
+ "typescript": "^5.7.0"
61
+ }
62
+ }