@multi-agent-protocol/sdk 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1451,7 +1451,7 @@ var BaseConnection = class {
1451
1451
  this.#pendingResponses.set(id, pending);
1452
1452
  });
1453
1453
  await this.#sendMessage(request);
1454
- return responsePromise;
1454
+ return await responsePromise;
1455
1455
  }
1456
1456
  /**
1457
1457
  * Send a notification (no response expected)
@@ -2243,16 +2243,34 @@ var ACPStreamConnection = class extends events.EventEmitter {
2243
2243
  if (event.type === "message_delivered" && event.data) {
2244
2244
  const message = event.data.message;
2245
2245
  if (message?.payload) {
2246
- await this.#handleIncomingMessage(message);
2246
+ try {
2247
+ await this.#handleIncomingMessage(message);
2248
+ } catch (msgError) {
2249
+ this.#safeEmitError(
2250
+ msgError instanceof Error ? msgError : new Error(String(msgError))
2251
+ );
2252
+ }
2247
2253
  }
2248
2254
  }
2249
2255
  }
2250
2256
  } catch (error) {
2251
2257
  if (!this.#closed) {
2252
- this.emit("error", error);
2258
+ this.#safeEmitError(error instanceof Error ? error : new Error(String(error)));
2253
2259
  }
2254
2260
  }
2255
2261
  }
2262
+ /**
2263
+ * Emit an "error" event safely. If no listeners are attached,
2264
+ * EventEmitter.emit("error") throws the error as an uncaught
2265
+ * exception — this method logs instead when no listeners exist.
2266
+ */
2267
+ #safeEmitError(error) {
2268
+ if (this.listenerCount("error") > 0) {
2269
+ this.emit("error", error);
2270
+ } else {
2271
+ console.error("ACPStreamConnection error (no listener):", error.message);
2272
+ }
2273
+ }
2256
2274
  /**
2257
2275
  * Handle an incoming message from the target agent.
2258
2276
  */
@@ -2446,7 +2464,7 @@ var ACPStreamConnection = class extends events.EventEmitter {
2446
2464
  if (this.#closed && !this.#pendingRequests.has(correlationId)) {
2447
2465
  throw new Error("ACP stream closed");
2448
2466
  }
2449
- return resultPromise;
2467
+ return await resultPromise;
2450
2468
  }
2451
2469
  /**
2452
2470
  * Send an ACP notification (no response expected).
@@ -2497,7 +2515,7 @@ var ACPStreamConnection = class extends events.EventEmitter {
2497
2515
  if (!this.#initialized) {
2498
2516
  throw new Error("Must call initialize() before authenticate()");
2499
2517
  }
2500
- return this.#sendRequest(
2518
+ return await this.#sendRequest(
2501
2519
  ACP_METHODS.AUTHENTICATE,
2502
2520
  params
2503
2521
  );
@@ -2537,7 +2555,7 @@ var ACPStreamConnection = class extends events.EventEmitter {
2537
2555
  * Set the session mode.
2538
2556
  */
2539
2557
  async setSessionMode(params) {
2540
- return this.#sendRequest(
2558
+ return await this.#sendRequest(
2541
2559
  ACP_METHODS.SESSION_SET_MODE,
2542
2560
  params
2543
2561
  );
@@ -2553,7 +2571,7 @@ var ACPStreamConnection = class extends events.EventEmitter {
2553
2571
  if (!this.#sessionId) {
2554
2572
  throw new Error("Must call newSession() or loadSession() before prompt()");
2555
2573
  }
2556
- return this.#sendRequest(
2574
+ return await this.#sendRequest(
2557
2575
  ACP_METHODS.SESSION_PROMPT,
2558
2576
  params
2559
2577
  );
@@ -2595,7 +2613,7 @@ var ACPStreamConnection = class extends events.EventEmitter {
2595
2613
  if (!this.#initialized) {
2596
2614
  throw new Error("Must call initialize() before callExtension()");
2597
2615
  }
2598
- return this.#sendRequest(method, params);
2616
+ return await this.#sendRequest(method, params);
2599
2617
  }
2600
2618
  // ===========================================================================
2601
2619
  // Lifecycle
@@ -3353,7 +3371,7 @@ var ClientConnection = class _ClientConnection {
3353
3371
  * ```
3354
3372
  */
3355
3373
  async callExtension(method, params) {
3356
- return this.#connection.sendRequest(method, params);
3374
+ return await this.#connection.sendRequest(method, params);
3357
3375
  }
3358
3376
  // ===========================================================================
3359
3377
  // Mail