@kadi.build/core 0.3.1 → 0.3.3

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/client.d.ts CHANGED
@@ -112,33 +112,8 @@ export declare class KadiClient {
112
112
  private registerWithBroker;
113
113
  /**
114
114
  * Send a JSON-RPC request and wait for the response.
115
- *
116
- * Design: Returns the result directly (not the full JSON-RPC response).
117
- *
118
- * Why? The JSON-RPC envelope (jsonrpc, id) is transport metadata.
119
- * Once we've matched the response to the pending request, that metadata
120
- * has served its purpose. Callers care about the result, not the envelope.
121
- *
122
- * Errors are handled via Promise rejection in handleBrokerResponse,
123
- * so by the time this resolves, we know it's a successful response.
124
- *
125
- * IMPORTANT: The type parameter T is NOT validated at runtime.
126
- * It provides TypeScript type hints but the broker could return any shape.
127
- * Callers MUST validate critical fields before using them.
128
- *
129
- * @template T - Expected type of the result (defaults to unknown for safety)
130
- * @param state - Broker connection state
131
- * @param request - JSON-RPC request to send
132
- * @returns Promise resolving to the typed result
133
- *
134
- * @example
135
- * ```typescript
136
- * // Caller specifies expected result type
137
- * const result = await this.sendRequest<{ nonce: string }>(state, helloMessage);
138
- * // IMPORTANT: Validate before using - the type is not runtime-enforced
139
- * if (!result.nonce) throw new Error('Missing nonce');
140
- * console.log(result.nonce);
141
- * ```
115
+ * Returns the result directly (not the JSON-RPC envelope).
116
+ * Note: Type parameter T is not validated at runtime.
142
117
  */
143
118
  private sendRequest;
144
119
  /**
@@ -152,30 +127,19 @@ export declare class KadiClient {
152
127
  * 1. Client sends kadi.ability.request → gets { status: 'pending', requestId }
153
128
  * 2. Provider executes tool and sends result back to broker
154
129
  * 3. Broker sends this notification with the actual result
155
- *
156
- * The notification contains:
157
- * - requestId: matches what we got in step 1
158
- * - result: the tool's return value (if successful)
159
- * - error: error message (if failed)
160
130
  */
161
131
  private handleAbilityResponse;
132
+ /**
133
+ * Resolve or reject a pending invocation based on response content.
134
+ */
135
+ private resolveAbilityResponse;
136
+ /**
137
+ * Get a connected broker's state, throwing if not available.
138
+ */
139
+ private getConnectedBrokerState;
162
140
  /**
163
141
  * Handle kadi.event.delivery notification from broker.
164
- *
165
- * When an event is published to a channel that matches one of our subscribed
166
- * patterns, the broker sends us this notification with the event data.
167
- *
168
- * Flow:
169
- * 1. Some agent calls publish('user.login', data)
170
- * 2. Broker routes to all subscribers matching 'user.*' or 'user.#' etc.
171
- * 3. We receive this notification and dispatch to local handlers
172
- *
173
- * The notification params contain:
174
- * - channel: The exact channel name (e.g., 'user.login')
175
- * - data: The event payload
176
- * - networkId: Which network the event was published to
177
- * - source: Session ID of the publisher
178
- * - timestamp: When the event was published
142
+ * Dispatches to local handlers matching the event channel.
179
143
  */
180
144
  private handleEventDelivery;
181
145
  /**
@@ -405,8 +369,6 @@ export declare class KadiClient {
405
369
  * ```
406
370
  */
407
371
  registerTool<TInput, TOutput>(definition: ZodToolDefinition<TInput, TOutput>, handler: ToolHandler<TInput, TOutput>, options?: RegisterToolOptions): void;
408
- /**
409
- */
410
372
  /**
411
373
  * Get tool definitions, optionally filtered for a specific broker.
412
374
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EACV,YAAY,EAEZ,WAAW,EAEX,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EAInB,cAAc,EAGd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAiGpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,UAAU;IACrB,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAEhE,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAE/D,gDAAgD;IAChD,OAAO,CAAC,aAAa,CAAK;IAE1B,uDAAuD;IACvD,OAAO,CAAC,YAAY,CAAyD;IAE7E,8DAA8D;IAC9D,OAAO,CAAC,cAAc,CAAS;gBAMnB,MAAM,EAAE,YAAY;IA4ChC;;;;;;;;;OASG;IACG,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjD;;;;;;;;;;;;OAYG;YACW,eAAe;IAgE7B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAwCrB;;;;;;;;OAQG;YACW,gBAAgB;IAiC9B;;;;;;OAMG;YACW,kBAAkB;IAahC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,WAAW;IA4CnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAmD7B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAuChB;;;;;;;;;;;;;;;;;OAiBG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC;IA2ChB;;;;;;;;;;;;;;;;;;OAkBG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC1F;;OAEG;YACW,mBAAmB;IA+BjC;;;;;;;;;;;OAWG;YACW,mBAAmB;IAwDjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAqCrB;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAuC5B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;;;OAOG;YACW,gBAAgB;IAwC9B;;;;;OAKG;IACG,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpD;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAItE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAiC/D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,EAC1B,UAAU,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,GAAE,mBAAwB,GAChC,IAAI;IA6BP;OACG;IACH;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;;;OAMG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3F;;;;;;;;;;;;;;OAcG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBvF;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BrF;;;;;;;;;;;;;;OAcG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IA8BvF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,YAAY,CAAC,CAAC,GAAG,OAAO,EAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,CAAC,CAAC;IAsFb;;;;;;;;;;;;;OAaG;IACG,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD;;;;;;;;OAQG;YACW,UAAU;IAiFxB;;OAEG;YACW,kBAAkB;IAgChC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;;;;OAKG;YACW,WAAW;IAsBzB;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,EAAE,CAAA;KAAE;IAQ3E;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI3D;;;;OAIG;IACH,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;IAazC;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;CAShC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -203,8 +203,29 @@ export class KadiClient {
203
203
  // No brokers configured - that's okay for local-only usage
204
204
  return;
205
205
  }
206
- // Connect to all brokers in parallel
207
- await Promise.all(brokerNames.map((name) => this.connectToBroker(name)));
206
+ // Connect to all brokers in parallel, continuing even if some fail
207
+ const results = await Promise.allSettled(brokerNames.map((name) => this.connectToBroker(name)));
208
+ // Log failures but don't throw unless ALL brokers failed
209
+ const failures = [];
210
+ for (const [i, result] of results.entries()) {
211
+ if (result.status === 'rejected') {
212
+ const failedBroker = brokerNames[i];
213
+ if (failedBroker === undefined)
214
+ continue;
215
+ const reason = result.reason instanceof Error ? result.reason.message : String(result.reason);
216
+ console.error(`[KADI] Failed to connect to broker "${failedBroker}": ${reason}`);
217
+ failures.push(failedBroker);
218
+ }
219
+ }
220
+ // Only throw if ALL brokers failed
221
+ if (failures.length === brokerNames.length) {
222
+ throw new KadiError(`Failed to connect to any broker`, 'CONNECTION_FAILED', { failedBrokers: failures });
223
+ }
224
+ // Log partial success
225
+ if (failures.length > 0) {
226
+ const succeeded = brokerNames.length - failures.length;
227
+ console.error(`[KADI] Connected to ${succeeded}/${brokerNames.length} brokers`);
228
+ }
208
229
  }
209
230
  /**
210
231
  * Connect to a specific broker by name.
@@ -403,33 +424,8 @@ export class KadiClient {
403
424
  }
404
425
  /**
405
426
  * Send a JSON-RPC request and wait for the response.
406
- *
407
- * Design: Returns the result directly (not the full JSON-RPC response).
408
- *
409
- * Why? The JSON-RPC envelope (jsonrpc, id) is transport metadata.
410
- * Once we've matched the response to the pending request, that metadata
411
- * has served its purpose. Callers care about the result, not the envelope.
412
- *
413
- * Errors are handled via Promise rejection in handleBrokerResponse,
414
- * so by the time this resolves, we know it's a successful response.
415
- *
416
- * IMPORTANT: The type parameter T is NOT validated at runtime.
417
- * It provides TypeScript type hints but the broker could return any shape.
418
- * Callers MUST validate critical fields before using them.
419
- *
420
- * @template T - Expected type of the result (defaults to unknown for safety)
421
- * @param state - Broker connection state
422
- * @param request - JSON-RPC request to send
423
- * @returns Promise resolving to the typed result
424
- *
425
- * @example
426
- * ```typescript
427
- * // Caller specifies expected result type
428
- * const result = await this.sendRequest<{ nonce: string }>(state, helloMessage);
429
- * // IMPORTANT: Validate before using - the type is not runtime-enforced
430
- * if (!result.nonce) throw new Error('Missing nonce');
431
- * console.log(result.nonce);
432
- * ```
427
+ * Returns the result directly (not the JSON-RPC envelope).
428
+ * Note: Type parameter T is not validated at runtime.
433
429
  */
434
430
  sendRequest(state, request) {
435
431
  // Fail fast if WebSocket is not connected
@@ -507,66 +503,64 @@ export class KadiClient {
507
503
  * 1. Client sends kadi.ability.request → gets { status: 'pending', requestId }
508
504
  * 2. Provider executes tool and sends result back to broker
509
505
  * 3. Broker sends this notification with the actual result
510
- *
511
- * The notification contains:
512
- * - requestId: matches what we got in step 1
513
- * - result: the tool's return value (if successful)
514
- * - error: error message (if failed)
515
506
  */
516
507
  handleAbilityResponse(state, notification) {
517
- // The error field can be either a string or an object with code/message.
518
- // We accept both forms and normalize for consistent error handling.
519
508
  const params = notification.params;
520
- // Validate notification has requestId
521
509
  if (!params?.requestId) {
522
- // Malformed notification - ignore
523
510
  return;
524
511
  }
525
- // Find pending invocation
526
512
  const pending = state.pendingInvocations.get(params.requestId);
527
513
  if (!pending) {
528
- // No one waiting for this - might be stale or already timed out
514
+ // No listener - response is orphaned (timed out or unknown requestId)
529
515
  return;
530
516
  }
531
- // Clean up: remove from pending and clear timeout
532
517
  clearTimeout(pending.timeout);
533
518
  state.pendingInvocations.delete(params.requestId);
534
- // Resolve or reject based on response content
535
- if (params.error) {
536
- // Normalize error - could be string or { code, message } object
537
- const errorMessage = typeof params.error === 'string' ? params.error : params.error.message;
538
- const errorCode = typeof params.error === 'object' ? params.error.code : undefined;
519
+ this.resolveAbilityResponse(pending, params, state.name);
520
+ }
521
+ /**
522
+ * Resolve or reject a pending invocation based on response content.
523
+ */
524
+ resolveAbilityResponse(pending, response, brokerName) {
525
+ if (response.error) {
526
+ const errorMessage = typeof response.error === 'string' ? response.error : response.error.message;
527
+ const errorCode = typeof response.error === 'object' ? response.error.code : undefined;
539
528
  pending.reject(new KadiError(`Tool "${pending.toolName}" failed: ${errorMessage}`, 'TOOL_INVOCATION_FAILED', {
540
529
  toolName: pending.toolName,
541
- requestId: params.requestId,
542
- broker: state.name,
543
- errorCode, // Include error code if available
530
+ broker: brokerName,
531
+ errorCode,
544
532
  }));
545
533
  }
546
534
  else {
547
- pending.resolve(params.result);
535
+ pending.resolve(response.result);
548
536
  }
549
537
  }
538
+ /**
539
+ * Get a connected broker's state, throwing if not available.
540
+ */
541
+ getConnectedBrokerState(optionsBroker) {
542
+ const brokerName = optionsBroker ?? this.config.defaultBroker;
543
+ if (!brokerName) {
544
+ throw new KadiError('No broker specified and no defaultBroker configured', 'INVALID_CONFIG', {
545
+ hint: 'Either specify a broker in options or set defaultBroker in config',
546
+ });
547
+ }
548
+ const state = this.brokers.get(brokerName);
549
+ if (!state || state.status !== 'connected') {
550
+ throw new KadiError(`Broker "${brokerName}" is not connected`, 'BROKER_NOT_CONNECTED', {
551
+ broker: brokerName,
552
+ status: state?.status ?? 'not found',
553
+ hint: 'Call client.connect() first',
554
+ });
555
+ }
556
+ return { state, brokerName };
557
+ }
550
558
  // ═══════════════════════════════════════════════════════════════
551
559
  // BROKER EVENTS (Pub/Sub)
552
560
  // ═══════════════════════════════════════════════════════════════
553
561
  /**
554
562
  * Handle kadi.event.delivery notification from broker.
555
- *
556
- * When an event is published to a channel that matches one of our subscribed
557
- * patterns, the broker sends us this notification with the event data.
558
- *
559
- * Flow:
560
- * 1. Some agent calls publish('user.login', data)
561
- * 2. Broker routes to all subscribers matching 'user.*' or 'user.#' etc.
562
- * 3. We receive this notification and dispatch to local handlers
563
- *
564
- * The notification params contain:
565
- * - channel: The exact channel name (e.g., 'user.login')
566
- * - data: The event payload
567
- * - networkId: Which network the event was published to
568
- * - source: Session ID of the publisher
569
- * - timestamp: When the event was published
563
+ * Dispatches to local handlers matching the event channel.
570
564
  */
571
565
  handleEventDelivery(state, notification) {
572
566
  const params = notification.params;
@@ -685,22 +679,7 @@ export class KadiClient {
685
679
  * ```
686
680
  */
687
681
  async subscribe(pattern, handler, options = {}) {
688
- // Resolve which broker to use
689
- const brokerName = options.broker ?? this.config.defaultBroker;
690
- if (!brokerName) {
691
- throw new KadiError('No broker specified and no defaultBroker configured', 'INVALID_CONFIG', {
692
- hint: 'Either specify a broker in options or set defaultBroker in config',
693
- });
694
- }
695
- // Get broker state
696
- const state = this.brokers.get(brokerName);
697
- if (!state || state.status !== 'connected') {
698
- throw new KadiError(`Broker "${brokerName}" is not connected`, 'BROKER_NOT_CONNECTED', {
699
- broker: brokerName,
700
- status: state?.status ?? 'not found',
701
- hint: 'Call client.connect() first',
702
- });
703
- }
682
+ const { state } = this.getConnectedBrokerState(options.broker);
704
683
  // Add handler to local tracking
705
684
  let handlers = state.eventHandlers.get(pattern);
706
685
  if (!handlers) {
@@ -796,22 +775,7 @@ export class KadiClient {
796
775
  * ```
797
776
  */
798
777
  async publish(channel, data, options = {}) {
799
- // Resolve which broker to use
800
- const brokerName = options.broker ?? this.config.defaultBroker;
801
- if (!brokerName) {
802
- throw new KadiError('No broker specified and no defaultBroker configured', 'INVALID_CONFIG', {
803
- hint: 'Either specify a broker in options or set defaultBroker in config',
804
- });
805
- }
806
- // Get broker state
807
- const state = this.brokers.get(brokerName);
808
- if (!state || state.status !== 'connected') {
809
- throw new KadiError(`Broker "${brokerName}" is not connected`, 'BROKER_NOT_CONNECTED', {
810
- broker: brokerName,
811
- status: state?.status ?? 'not found',
812
- hint: 'Call client.connect() first',
813
- });
814
- }
778
+ const { state } = this.getConnectedBrokerState(options.broker);
815
779
  // Resolve which network to publish to
816
780
  const networkId = options.network ?? this.config.networks[0] ?? 'global';
817
781
  // Send publish request to broker
@@ -1248,8 +1212,6 @@ export class KadiClient {
1248
1212
  };
1249
1213
  this.tools.set(definition.name, registered);
1250
1214
  }
1251
- /**
1252
- */
1253
1215
  /**
1254
1216
  * Get tool definitions, optionally filtered for a specific broker.
1255
1217
  *
@@ -1286,6 +1248,10 @@ export class KadiClient {
1286
1248
  hint: 'Register the tool first with registerTool()',
1287
1249
  });
1288
1250
  }
1251
+ // TODO: Validate params against tool.definition.input schema before invoking.
1252
+ // Currently the schema is only used for discovery (kadi.ability.list) and TypeScript types.
1253
+ // Tool handlers must do their own validation, which defeats the purpose of requiring a schema.
1254
+ // Should call tool.definition.input.safeParse(params) and throw on validation errors.
1289
1255
  return tool.handler(params, context);
1290
1256
  }
1291
1257
  // ─────────────────────────────────────────────────────────────
@@ -1383,19 +1349,7 @@ export class KadiClient {
1383
1349
  * ```
1384
1350
  */
1385
1351
  async loadBroker(name, options = {}) {
1386
- const brokerName = options.broker ?? this.config.defaultBroker;
1387
- if (!brokerName) {
1388
- throw new KadiError('No broker specified and no defaultBroker configured', 'INVALID_CONFIG', {
1389
- hint: 'Either specify a broker in options or set defaultBroker in config',
1390
- });
1391
- }
1392
- const state = this.brokers.get(brokerName);
1393
- if (!state || state.status !== 'connected') {
1394
- throw new KadiError(`Broker "${brokerName}" is not connected`, 'BROKER_NOT_CONNECTED', {
1395
- broker: brokerName,
1396
- hint: 'Call client.connect() first',
1397
- });
1398
- }
1352
+ const { state, brokerName } = this.getConnectedBrokerState(options.broker);
1399
1353
  return loadBrokerTransport(name, {
1400
1354
  broker: state,
1401
1355
  requestTimeout: this.config.requestTimeout,
@@ -1433,49 +1387,17 @@ export class KadiClient {
1433
1387
  * ```
1434
1388
  */
1435
1389
  async invokeRemote(toolName, params, options = {}) {
1436
- // ─────────────────────────────────────────────────────────────
1437
- // VALIDATION
1438
- // ─────────────────────────────────────────────────────────────
1439
- const brokerName = options.broker ?? this.config.defaultBroker;
1440
- if (!brokerName) {
1441
- throw new KadiError('No broker specified and no defaultBroker configured', 'INVALID_CONFIG', {
1442
- hint: 'Either specify a broker in options or set defaultBroker in config',
1443
- });
1444
- }
1445
- const state = this.brokers.get(brokerName);
1446
- if (!state || state.status !== 'connected') {
1447
- throw new KadiError(`Broker "${brokerName}" is not connected`, 'BROKER_NOT_CONNECTED', {
1448
- broker: brokerName,
1449
- hint: 'Call client.connect() first',
1450
- });
1451
- }
1390
+ const { state, brokerName } = this.getConnectedBrokerState(options.broker);
1452
1391
  const timeout = options.timeout ?? this.config.requestTimeout;
1453
- // ─────────────────────────────────────────────────────────────
1454
- // PHASE 1: Send request, get "pending" acknowledgment
1455
- // ─────────────────────────────────────────────────────────────
1456
- // Use existing sendRequest() for the request/response part.
1457
- // This handles the JSON-RPC id matching for us.
1458
- const pendingResult = await this.sendRequest(state, {
1459
- jsonrpc: '2.0',
1460
- id: ++this.nextRequestId,
1461
- method: 'kadi.ability.request',
1462
- params: { toolName, toolInput: params },
1463
- });
1464
- // Validate the pending response
1465
- if (pendingResult.status !== 'pending' || !pendingResult.requestId) {
1466
- throw new KadiError('Unexpected response from broker: expected pending acknowledgment', 'BROKER_ERROR', {
1467
- broker: brokerName,
1468
- toolName,
1469
- response: pendingResult,
1470
- });
1471
- }
1472
- const requestId = pendingResult.requestId;
1473
- // ─────────────────────────────────────────────────────────────
1474
- // PHASE 2: Wait for kadi.ability.response notification
1475
- // ─────────────────────────────────────────────────────────────
1476
- // The actual result comes as a notification (no id) with our requestId.
1477
- // We store in pendingInvocations and handleAbilityResponse() will resolve.
1478
- return new Promise((resolve, reject) => {
1392
+ // Generate requestId FIRST, before any async operations.
1393
+ // This allows us to set up the response listener before sending,
1394
+ // eliminating the race condition where fast responses arrive
1395
+ // before the listener exists.
1396
+ const requestId = crypto.randomUUID();
1397
+ // Set up result listener BEFORE sending the request.
1398
+ // When the broker sends kadi.ability.response, handleAbilityResponse()
1399
+ // will find this listener and resolve/reject the promise.
1400
+ const resultPromise = new Promise((resolve, reject) => {
1479
1401
  const timeoutHandle = setTimeout(() => {
1480
1402
  state.pendingInvocations.delete(requestId);
1481
1403
  reject(new KadiError(`Tool invocation "${toolName}" timed out waiting for result`, 'BROKER_TIMEOUT', {
@@ -1493,6 +1415,35 @@ export class KadiClient {
1493
1415
  sentAt: new Date(),
1494
1416
  });
1495
1417
  });
1418
+ // NOW send the request (listener already exists, no race possible)
1419
+ try {
1420
+ const pendingResult = await this.sendRequest(state, {
1421
+ jsonrpc: '2.0',
1422
+ id: ++this.nextRequestId,
1423
+ method: 'kadi.ability.request',
1424
+ params: { toolName, toolInput: params, requestId },
1425
+ });
1426
+ // Validate the broker accepted the request
1427
+ if (pendingResult.status !== 'pending') {
1428
+ // Clean up listener since request wasn't accepted
1429
+ const pending = state.pendingInvocations.get(requestId);
1430
+ if (pending) {
1431
+ clearTimeout(pending.timeout);
1432
+ state.pendingInvocations.delete(requestId);
1433
+ }
1434
+ throw new KadiError('Unexpected response from broker: expected pending acknowledgment', 'BROKER_ERROR', { broker: brokerName, toolName, response: pendingResult });
1435
+ }
1436
+ }
1437
+ catch (error) {
1438
+ // Clean up listener if request failed
1439
+ const pending = state.pendingInvocations.get(requestId);
1440
+ if (pending) {
1441
+ clearTimeout(pending.timeout);
1442
+ state.pendingInvocations.delete(requestId);
1443
+ }
1444
+ throw error;
1445
+ }
1446
+ return resultPromise;
1496
1447
  }
1497
1448
  // ─────────────────────────────────────────────────────────────
1498
1449
  // SERVE MODE
@@ -1714,13 +1665,9 @@ export class KadiClient {
1714
1665
  * Get list of connected broker names.
1715
1666
  */
1716
1667
  getConnectedBrokers() {
1717
- const connected = [];
1718
- for (const [name, state] of this.brokers) {
1719
- if (state.status === 'connected') {
1720
- connected.push(name);
1721
- }
1722
- }
1723
- return connected;
1668
+ return Array.from(this.brokers.entries())
1669
+ .filter(([, state]) => state.status === 'connected')
1670
+ .map(([name]) => name);
1724
1671
  }
1725
1672
  }
1726
1673
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -320,7 +320,7 @@ export interface BrokerState {
320
320
  pendingRequests: Map<string | number, PendingRequest>;
321
321
  /**
322
322
  * Pending tool invocations waiting for result notifications.
323
- * Keyed by requestId (from the "pending" acknowledgment).
323
+ * Keyed by requestId (client-generated UUID).
324
324
  * Used for: invokeRemote() async pattern.
325
325
  */
326
326
  pendingInvocations: Map<string, PendingInvocation>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kadi.build/core",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "A lean, readable SDK for building KADI agents.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",