@modelriver/client 1.1.1 → 1.1.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/index.cjs CHANGED
@@ -114,14 +114,15 @@ function isStorageAvailable() {
114
114
  /**
115
115
  * Save active request to localStorage
116
116
  */
117
- function saveActiveRequest(prefix, projectId, channelId, wsToken) {
117
+ function saveActiveRequest(prefix, channelId, wsToken, websocketUrl, websocketChannel) {
118
118
  if (!isStorageAvailable())
119
119
  return;
120
120
  const request = {
121
121
  channelId,
122
- timestamp: Date.now(),
123
- projectId,
124
122
  wsToken,
123
+ timestamp: Date.now(),
124
+ websocketUrl,
125
+ websocketChannel,
125
126
  };
126
127
  try {
127
128
  localStorage.setItem(`${prefix}${ACTIVE_REQUEST_KEY}`, JSON.stringify(request));
@@ -226,7 +227,7 @@ function createLogger(debug) {
226
227
  * console.log('AI Response:', data);
227
228
  * });
228
229
  *
229
- * client.connect({ wsToken: 'your-token-from-backend' });
230
+ * client.connect({ channelId: 'channel-id', wsToken: 'ws-token-from-api' });
230
231
  * ```
231
232
  */
232
233
  class ModelRiverClient {
@@ -238,8 +239,7 @@ class ModelRiverClient {
238
239
  this.steps = [];
239
240
  this.response = null;
240
241
  this.error = null;
241
- this.currentToken = null;
242
- this.currentWsToken = null;
242
+ this.currentWebsocketChannel = null;
243
243
  this.isConnecting = false;
244
244
  // Event listeners
245
245
  this.listeners = new Map();
@@ -250,6 +250,8 @@ class ModelRiverClient {
250
250
  storageKeyPrefix: options.storageKeyPrefix ?? DEFAULT_STORAGE_KEY_PREFIX,
251
251
  heartbeatInterval: options.heartbeatInterval ?? DEFAULT_HEARTBEAT_INTERVAL,
252
252
  requestTimeout: options.requestTimeout ?? DEFAULT_REQUEST_TIMEOUT,
253
+ // Optional HTTP base URL for reconnect endpoint
254
+ apiBaseUrl: options.apiBaseUrl ?? '',
253
255
  };
254
256
  this.logger = createLogger(this.options.debug);
255
257
  this.logger.log('Client initialized with options:', this.options);
@@ -278,40 +280,28 @@ class ModelRiverClient {
278
280
  return request !== null;
279
281
  }
280
282
  /**
281
- * Connect to WebSocket with token
283
+ * Connect to WebSocket with channel ID
282
284
  */
283
285
  connect(options) {
284
286
  if (this.isConnecting) {
285
287
  this.logger.warn('Connection already in progress, skipping...');
286
288
  return;
287
289
  }
288
- const { wsToken } = options;
289
- // Decode and validate token
290
- let tokenPayload;
291
- try {
292
- tokenPayload = decodeToken(wsToken);
293
- this.logger.log('Token decoded:', {
294
- projectId: tokenPayload.project_id,
295
- channelId: tokenPayload.channel_id,
296
- topic: tokenPayload.topic,
297
- });
298
- }
299
- catch (err) {
300
- const errorMsg = err instanceof Error ? err.message : 'Invalid token';
290
+ const { channelId, wsToken, websocketUrl, websocketChannel } = options;
291
+ if (!channelId) {
292
+ const errorMsg = 'channelId is required';
301
293
  this.setError(errorMsg);
302
294
  this.emit('error', errorMsg);
303
295
  return;
304
296
  }
305
- // Check token expiration
306
- if (isTokenExpired(tokenPayload)) {
307
- const errorMsg = 'Token has expired';
297
+ if (!wsToken) {
298
+ const errorMsg = 'wsToken is required for WebSocket authentication';
308
299
  this.setError(errorMsg);
309
300
  this.emit('error', errorMsg);
310
301
  return;
311
302
  }
312
303
  this.isConnecting = true;
313
- this.currentToken = tokenPayload;
314
- this.currentWsToken = wsToken;
304
+ this.currentWebsocketChannel = websocketChannel || `ai_response:${channelId}`;
315
305
  this.emit('connecting');
316
306
  // Clean up any existing connection
317
307
  this.cleanupConnection();
@@ -321,14 +311,16 @@ class ModelRiverClient {
321
311
  this.response = null;
322
312
  // Save to localStorage for persistence
323
313
  if (this.options.persist) {
324
- saveActiveRequest(this.options.storageKeyPrefix, tokenPayload.project_id, tokenPayload.channel_id, wsToken);
314
+ saveActiveRequest(this.options.storageKeyPrefix, channelId, wsToken, websocketUrl, websocketChannel);
325
315
  }
326
- // Update queue step to loading
327
- this.updateStepAndEmit('queue', { status: 'loading' });
328
- // Create Phoenix Socket
329
- const wsUrl = buildWebSocketUrl(this.options.baseUrl, wsToken);
330
- this.logger.log('Connecting to:', wsUrl.replace(wsToken, '***TOKEN***'));
331
- this.socket = new phoenix.Socket(this.options.baseUrl, {
316
+ // Update queue step to pending
317
+ this.updateStepAndEmit('queue', { status: 'pending' });
318
+ // Determine WebSocket URL
319
+ const wsUrl = websocketUrl || this.options.baseUrl;
320
+ const socketUrl = wsUrl.endsWith('/socket') ? wsUrl : `${wsUrl}/socket`;
321
+ this.logger.log('Connecting to:', socketUrl);
322
+ // Pass token to Phoenix Socket for authentication
323
+ this.socket = new phoenix.Socket(socketUrl, {
332
324
  params: { token: wsToken },
333
325
  });
334
326
  this.socket.onOpen(() => {
@@ -337,7 +329,7 @@ class ModelRiverClient {
337
329
  this.isConnecting = false;
338
330
  this.emit('connected');
339
331
  // Join channel
340
- this.joinChannel(tokenPayload.topic);
332
+ this.joinChannel(this.currentWebsocketChannel);
341
333
  });
342
334
  this.socket.onError((error) => {
343
335
  this.logger.error('Socket error:', error);
@@ -369,8 +361,8 @@ class ModelRiverClient {
369
361
  .receive('ok', () => {
370
362
  this.logger.log('Channel joined successfully');
371
363
  this.updateStepAndEmit('queue', { status: 'success', duration: 100 });
372
- this.updateStepAndEmit('process', { status: 'loading' });
373
- this.updateStepAndEmit('receive', { status: 'loading' });
364
+ this.updateStepAndEmit('process', { status: 'pending' });
365
+ this.updateStepAndEmit('receive', { status: 'pending' });
374
366
  this.emit('channel_joined');
375
367
  this.startHeartbeat();
376
368
  })
@@ -470,11 +462,10 @@ class ModelRiverClient {
470
462
  this.steps = [];
471
463
  this.response = null;
472
464
  this.error = null;
473
- this.currentToken = null;
474
- this.currentWsToken = null;
465
+ this.currentWebsocketChannel = null;
475
466
  }
476
467
  /**
477
- * Try to reconnect using stored token
468
+ * Try to reconnect using stored channel ID
478
469
  */
479
470
  reconnect() {
480
471
  if (!this.options.persist) {
@@ -486,10 +477,86 @@ class ModelRiverClient {
486
477
  this.logger.log('No active request found for reconnection');
487
478
  return false;
488
479
  }
489
- this.logger.log('Reconnecting with stored token...');
490
- this.connect({ wsToken: activeRequest.wsToken });
480
+ if (!activeRequest.wsToken) {
481
+ this.logger.warn('No wsToken found in stored request, cannot reconnect');
482
+ clearActiveRequest(this.options.storageKeyPrefix);
483
+ return false;
484
+ }
485
+ this.logger.log('Reconnecting with stored channel ID...');
486
+ this.connect({
487
+ channelId: activeRequest.channelId,
488
+ wsToken: activeRequest.wsToken,
489
+ websocketUrl: activeRequest.websocketUrl,
490
+ websocketChannel: activeRequest.websocketChannel,
491
+ });
491
492
  return true;
492
493
  }
494
+ /**
495
+ * Try to reconnect using your backend `/api/v1/ai/reconnect` endpoint.
496
+ *
497
+ * This helper is intended for use with the official ModelRiver backend
498
+ * endpoint which issues a fresh one-time `ws_token` for an existing
499
+ * async request. It should be used instead of `reconnect()` in cases
500
+ * where WebSocket tokens are strictly single-use (the default).
501
+ *
502
+ * Requirements:
503
+ * - `persist` enabled (so the client can read the stored channel ID)
504
+ * - `apiBaseUrl` configured in `ModelRiverClientOptions`
505
+ *
506
+ * Returns `true` if a reconnection attempt was started, `false` if no
507
+ * pending request was found or configuration was missing.
508
+ */
509
+ async reconnectWithBackend() {
510
+ if (!this.options.persist) {
511
+ this.logger.warn('Persistence is disabled, cannot reconnect with backend');
512
+ return false;
513
+ }
514
+ if (!this.options.apiBaseUrl) {
515
+ this.logger.warn('apiBaseUrl is not configured, cannot call /api/v1/ai/reconnect');
516
+ return false;
517
+ }
518
+ const activeRequest = getActiveRequest(this.options.storageKeyPrefix);
519
+ if (!activeRequest) {
520
+ this.logger.log('No active request found for backend reconnection');
521
+ return false;
522
+ }
523
+ const base = this.options.apiBaseUrl.replace(/\/+$/, '');
524
+ const url = `${base}/api/v1/ai/reconnect`;
525
+ try {
526
+ const response = await fetch(url, {
527
+ method: 'POST',
528
+ headers: {
529
+ 'Content-Type': 'application/json',
530
+ },
531
+ body: JSON.stringify({
532
+ channel_id: activeRequest.channelId,
533
+ }),
534
+ });
535
+ if (!response.ok) {
536
+ this.logger.error('Backend reconnect failed with HTTP status', response.status);
537
+ return false;
538
+ }
539
+ const data = (await response.json());
540
+ if (!data?.channel_id || !data?.ws_token) {
541
+ this.logger.error('Backend reconnect response missing channel_id or ws_token', data);
542
+ return false;
543
+ }
544
+ // Save updated request to localStorage for future persistence
545
+ saveActiveRequest(this.options.storageKeyPrefix, data.channel_id, data.ws_token, data.websocket_url, data.websocket_channel);
546
+ // Initiate WebSocket reconnection with the fresh token
547
+ this.connect({
548
+ channelId: data.channel_id,
549
+ wsToken: data.ws_token,
550
+ websocketUrl: data.websocket_url,
551
+ websocketChannel: data.websocket_channel,
552
+ });
553
+ return true;
554
+ }
555
+ catch (error) {
556
+ this.logger.error('Backend reconnect request failed', error);
557
+ return false;
558
+ }
559
+ }
493
560
  /**
494
561
  * Add event listener
495
562
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/utils.ts","../src/client.ts"],"sourcesContent":[null,null],"names":["Socket"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/utils.ts","../src/client.ts"],"sourcesContent":[null,null],"names":["Socket"],"mappings":";;;;AAAA;;;;AAIG;AAIH;;AAEG;AACI,MAAM,gBAAgB,GAAG;AAEhC;;AAEG;AACI,MAAM,0BAA0B,GAAG,aAAa;AAEvD;;AAEG;AACI,MAAM,0BAA0B,GAAG;AAE1C;;AAEG;AACI,MAAM,uBAAuB,GAAG;AAEvC;;AAEG;AACI,MAAM,kBAAkB,GAAG,gBAAgB;AAElD;;AAEG;AACH,SAAS,eAAe,CAAC,GAAW,EAAA;;AAElC,IAAA,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;AAGtD,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;IACjC,IAAI,OAAO,EAAE;QACX,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;IACnC;;AAGA,IAAA,IAAI;AACF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB;AAAE,IAAA,MAAM;AACN,QAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;IAC7C;AACF;AAEA;;;AAGG;AACG,SAAU,WAAW,CAAC,KAAa,EAAA;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACvC,QAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;IACpE;IAEA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9B,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC;IACzD;AAEA,IAAA,IAAI;AACF,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;QAGrD,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAC9C,YAAA,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC;QACpF;;AAGA,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAA,YAAA,EAAe,OAAO,CAAC,UAAU,CAAA,CAAA,EAAI,OAAO,CAAC,UAAU,EAAE;QAExF,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK;YACL,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB;IACH;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;AACxE,YAAA,MAAM,KAAK;QACb;AACA,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC;IAC5D;AACF;AAEA;;AAEG;AACG,SAAU,cAAc,CAAC,OAAqB,EAAA;AAClD,IAAA,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;QAChB,OAAO,KAAK,CAAC;IACf;;IAGA,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI;AACzC;AAEA;;AAEG;AACG,SAAU,iBAAiB,CAAC,OAAe,EAAE,KAAa,EAAA;AAC9D,IAAA,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,OAAO,GAAG,CAAA,EAAG,OAAO,YAAY;IAC7E,OAAO,CAAA,EAAG,GAAG,CAAA,OAAA,EAAU,kBAAkB,CAAC,KAAK,CAAC,YAAY;AAC9D;AAEA;;AAEG;SACa,kBAAkB,GAAA;AAChC,IAAA,IAAI;QACF,MAAM,OAAO,GAAG,qBAAqB;AACrC,QAAA,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;AACrC,QAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;AAChC,QAAA,OAAO,IAAI;IACb;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,KAAK;IACd;AACF;AAEA;;AAEG;AACG,SAAU,iBAAiB,CAC/B,MAAc,EACd,SAAiB,EACjB,OAAe,EACf,YAAqB,EACrB,gBAAyB,EAAA;IAEzB,IAAI,CAAC,kBAAkB,EAAE;QAAE;AAE3B,IAAA,MAAM,OAAO,GAAkB;QAC7B,SAAS;QACT,OAAO;AACP,QAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,YAAY;QACZ,gBAAgB;KACjB;AAED,IAAA,IAAI;AACF,QAAA,YAAY,CAAC,OAAO,CAClB,CAAA,EAAG,MAAM,GAAG,kBAAkB,CAAA,CAAE,EAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACxB;IACH;AAAE,IAAA,MAAM;;IAER;AACF;AAEA;;;AAGG;AACG,SAAU,gBAAgB,CAAC,MAAc,EAAA;IAC7C,IAAI,CAAC,kBAAkB,EAAE;AAAE,QAAA,OAAO,IAAI;AAEtC,IAAA,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,MAAM,CAAA,EAAG,kBAAkB,CAAA,CAAE,CAAC;AACrE,QAAA,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAkB;;QAGnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;AAC1C,QAAA,IAAI,GAAG,GAAG,uBAAuB,EAAE;YACjC,kBAAkB,CAAC,MAAM,CAAC;AAC1B,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,OAAO;IAChB;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,IAAI;IACb;AACF;AAEA;;AAEG;AACG,SAAU,kBAAkB,CAAC,MAAc,EAAA;IAC/C,IAAI,CAAC,kBAAkB,EAAE;QAAE;AAE3B,IAAA,IAAI;QACF,YAAY,CAAC,UAAU,CAAC,CAAA,EAAG,MAAM,CAAA,EAAG,kBAAkB,CAAA,CAAE,CAAC;IAC3D;AAAE,IAAA,MAAM;;IAER;AACF;AAEA;;AAEG;SACa,kBAAkB,GAAA;IAChC,OAAO;QACL,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE;QAC5D,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE;QACnE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE;QAClE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE;KACjE;AACH;AAEA;;AAEG;SACa,UAAU,CACxB,KAAqB,EACrB,EAAU,EACV,OAA8B,EAAA;AAE9B,IAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KACpB,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAChD;AACH;AAEA;;AAEG;AACG,SAAU,YAAY,CAAC,KAAc,EAAA;IACzC,MAAM,MAAM,GAAG,cAAc;IAE7B,OAAO;AACL,QAAA,GAAG,EAAE,CAAC,GAAG,IAAe,KAAI;AAC1B,YAAA,IAAI,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QACzC,CAAC;AACD,QAAA,IAAI,EAAE,CAAC,GAAG,IAAe,KAAI;AAC3B,YAAA,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QAC1C,CAAC;AACD,QAAA,KAAK,EAAE,CAAC,GAAG,IAAe,KAAI;;YAE5B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;QAChC,CAAC;KACF;AACH;;AC/OA;;;;AAIG;AA0BH;;;;;;;;;;;;;;;;;;AAkBG;MACU,gBAAgB,CAAA;AAgB3B,IAAA,WAAA,CAAY,UAAmC,EAAE,EAAA;QAdzC,IAAA,CAAA,MAAM,GAAkB,IAAI;QAC5B,IAAA,CAAA,OAAO,GAAmB,IAAI;QAC9B,IAAA,CAAA,iBAAiB,GAA0C,IAAI;QAC/D,IAAA,CAAA,eAAe,GAAoB,cAAc;QACjD,IAAA,CAAA,KAAK,GAAmB,EAAE;QAC1B,IAAA,CAAA,QAAQ,GAAsB,IAAI;QAClC,IAAA,CAAA,KAAK,GAAkB,IAAI;QAC3B,IAAA,CAAA,uBAAuB,GAAkB,IAAI;QAC7C,IAAA,CAAA,YAAY,GAAG,KAAK;;AAIpB,QAAA,IAAA,CAAA,SAAS,GAA4C,IAAI,GAAG,EAAE;QAGpE,IAAI,CAAC,OAAO,GAAG;AACb,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB;AAC5C,YAAA,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;AAC7B,YAAA,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;AAChC,YAAA,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,0BAA0B;AACxE,YAAA,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,0BAA0B;AAC1E,YAAA,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,uBAAuB;;AAEjE,YAAA,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;SACrC;QAED,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,OAAO,CAAC;IACnE;AAEA;;AAEG;IACH,QAAQ,GAAA;QACN,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;AACrC,YAAA,WAAW,EAAE,IAAI,CAAC,eAAe,KAAK,WAAW;YACjD,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/B,YAAA,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC5C;IACH;AAEA;;AAEG;IACH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;AAAE,YAAA,OAAO,KAAK;QACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC/D,OAAO,OAAO,KAAK,IAAI;IACzB;AAEA;;AAEG;AACH,IAAA,OAAO,CAAC,OAAuB,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC;YAC/D;QACF;QAEA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO;QAEtE,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,QAAQ,GAAG,uBAAuB;AACxC,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC5B;QACF;QAEA,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,QAAQ,GAAG,kDAAkD;AACnE,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC5B;QACF;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,IAAI,CAAA,YAAA,EAAe,SAAS,EAAE;AAC7E,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;;QAGvB,IAAI,CAAC,iBAAiB,EAAE;;AAGxB,QAAA,IAAI,CAAC,KAAK,GAAG,kBAAkB,EAAE;AACjC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;AAGpB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACxB,YAAA,iBAAiB,CACf,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAC7B,SAAS,EACT,OAAO,EACP,YAAY,EACZ,gBAAgB,CACjB;QACH;;QAGA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;;QAGtD,MAAM,KAAK,GAAG,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;AAClD,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAA,EAAG,KAAK,SAAS;QACvE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC;;AAG5C,QAAA,IAAI,CAAC,MAAM,GAAG,IAAIA,cAAM,CAAC,SAAS,EAAE;AAClC,YAAA,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;AAC3B,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAK;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACnC,YAAA,IAAI,CAAC,eAAe,GAAG,WAAW;AAClC,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;AAGtB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAwB,CAAC;AACjD,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAc,KAAI;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC;AACzC,YAAA,IAAI,CAAC,eAAe,GAAG,OAAO;AAC9B,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;YACzB,MAAM,QAAQ,GAAG,4BAA4B;AAC7C,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvB,YAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAC5E,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC9B,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAA2B,KAAI;YAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC;AACxC,YAAA,IAAI,CAAC,eAAe,GAAG,cAAc;AACrC,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;YACzB,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC;AAC5C,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;IACvB;AAEA;;AAEG;AACK,IAAA,WAAW,CAAC,KAAa,EAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE;QAElB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC;AAC1C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAE7C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI;AACd,aAAA,OAAO,CAAC,IAAI,EAAE,MAAK;AAClB,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;AAC9C,YAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YACrE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACxD,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACxD,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC3B,IAAI,CAAC,cAAc,EAAE;AACvB,QAAA,CAAC;AACA,aAAA,OAAO,CAAC,OAAO,EAAE,CAAC,KAA0B,KAAI;AAC/C,YAAA,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC;YAEjD,IAAI,QAAQ,GAAG,wBAAwB;AACvC,YAAA,IAAI,MAAM,KAAK,6BAA6B,EAAE;gBAC5C,QAAQ,GAAG,sDAAsD;YACnE;AAAO,iBAAA,IAAI,MAAM,KAAK,wBAAwB,EAAE;gBAC9C,QAAQ,GAAG,wBAAwB;YACrC;iBAAO,IAAI,MAAM,KAAK,sBAAsB,IAAI,MAAM,KAAK,sBAAsB,EAAE;gBACjF,QAAQ,GAAG,+BAA+B;YAC5C;AAAO,iBAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AAC/B,gBAAA,QAAQ,GAAG,CAAA,qBAAA,EAAwB,MAAM,CAAA,CAAE;YAC7C;AAEA,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvB,YAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAC5E,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;AACpC,QAAA,CAAC,CAAC;;QAGJ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,OAAmB,KAAI;YAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC;AACjD,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;AAC9B,QAAA,CAAC,CAAC;;QAGF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAA6B,KAAI;AACzD,YAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,OAAO,IAAI,mBAAmB;YACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC;AAC7C,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC5B,QAAA,CAAC,CAAC;IACJ;AAEA;;AAEG;AACK,IAAA,cAAc,CAAC,OAAmB,EAAA;AACxC,QAAA,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,KAAK,SAAS;YAC5B,OAAO,CAAC,MAAM,KAAK,SAAS;AAC5B,YAAA,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS;AAClC,YAAA,OAAO,CAAC,MAAM,KAAK,IAAI;QAEzB,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;AAC7F,YAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACtE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACzD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QACzB;aAAO;YACL,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe;AAC1D,YAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;YAC9E,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACvD,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB;;AAGA,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACxB,YAAA,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACnD;;AAGA,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;;QAG9B,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,iBAAiB,EAAE;QAC1B,CAAC,EAAE,IAAI,CAAC;IACV;AAEA;;AAEG;AACK,IAAA,WAAW,CAAC,QAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvB,QAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAC9E,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAE5B,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACxB,YAAA,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACnD;IACF;AAEA;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QACzB,IAAI,CAAC,iBAAiB,EAAE;AAExB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACxB,YAAA,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACnD;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAChD;AAEA;;AAEG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACf,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;IACrC;AAEA;;AAEG;IACH,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC;AAC7D,YAAA,OAAO,KAAK;QACd;QAEA,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACrE,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC;AAC3D,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC;AACxE,YAAA,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACjD,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC;YACX,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,YAAY,EAAE,aAAa,CAAC,YAAY;YACxC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;AACjD,SAAA,CAAC;AACF,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;;;;;;;;AAcG;AACH,IAAA,MAAM,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC;AAC1E,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC;AAClF,YAAA,OAAO,KAAK;QACd;QAEA,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACrE,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,CAAC;AACnE,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACxD,QAAA,MAAM,GAAG,GAAG,CAAA,EAAG,IAAI,sBAAsB;AAEzC,QAAA,IAAI;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;AAChC,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,kBAAkB;AACnC,iBAAA;AACD,gBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,UAAU,EAAE,aAAa,CAAC,SAAS;iBACpC,CAAC;AACH,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,QAAQ,CAAC,MAAM,CAAC;AAC/E,gBAAA,OAAO,KAAK;YACd;YAEA,MAAM,IAAI,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAMlC;YAED,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2DAA2D,EAC3D,IAAI,CACL;AACD,gBAAA,OAAO,KAAK;YACd;;YAGA,iBAAiB,CACf,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAC7B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,iBAAiB,CACvB;;YAGD,IAAI,CAAC,OAAO,CAAC;gBACX,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;AACzC,aAAA,CAAC;AAEF,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC5D,YAAA,OAAO,KAAK;QACd;IACF;AAEA;;AAEG;IACH,EAAE,CACA,KAAQ,EACR,QAA+B,EAAA;QAE/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC;QACtC;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;;AAGxC,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;AAC7C,QAAA,CAAC;IACH;AAEA;;AAEG;IACH,GAAG,CACD,KAAQ,EACR,QAA+B,EAAA;AAE/B,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC7C;AAEA;;AAEG;AACK,IAAA,IAAI,CACV,KAAQ,EACR,GAAG,IAAuC,EAAA;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAC3C,IAAI,SAAS,EAAE;AACb,YAAA,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AAC7B,gBAAA,IAAI;AACD,oBAAA,QAAqB,CAAC,GAAG,IAAI,CAAC;gBACjC;gBAAE,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,SAAA,EAAY,KAAK,CAAA,UAAA,CAAY,EAAE,GAAG,CAAC;gBACvD;AACF,YAAA,CAAC,CAAC;QACJ;IACF;AAEA;;AAEG;IACK,iBAAiB,CAAC,EAAU,EAAE,OAA8B,EAAA;AAClE,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC;AAChD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QAChD,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;QACzB;IACF;AAEA;;AAEG;AACK,IAAA,QAAQ,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA;;AAEG;IACK,cAAc,GAAA;QACpB,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,MAAK;AACxC,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACpC;AACF,QAAA,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACpC;AAEA;;AAEG;IACK,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACrC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAC/B;IACF;AAEA;;AAEG;IACK,iBAAiB,GAAA;QACvB,IAAI,CAAC,aAAa,EAAE;AAEpB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI;AACF,gBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB;AAAE,YAAA,MAAM;;YAER;AACA,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;AAEA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI;AACF,gBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC1B;AAAE,YAAA,MAAM;;YAER;AACA,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;QACpB;AAEA,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;IACvC;AAEA;;AAEG;IACH,OAAO,GAAA;QACL,IAAI,CAAC,KAAK,EAAE;AACZ,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;AACD;;;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@
15
15
  * console.log('AI Response:', data);
16
16
  * });
17
17
  *
18
- * client.connect({ wsToken: 'your-token-from-backend' });
18
+ * client.connect({ channelId: 'channel-id-from-api' });
19
19
  * ```
20
20
  */
21
21
  export { ModelRiverClient } from './client';
package/dist/index.mjs CHANGED
@@ -112,14 +112,15 @@ function isStorageAvailable() {
112
112
  /**
113
113
  * Save active request to localStorage
114
114
  */
115
- function saveActiveRequest(prefix, projectId, channelId, wsToken) {
115
+ function saveActiveRequest(prefix, channelId, wsToken, websocketUrl, websocketChannel) {
116
116
  if (!isStorageAvailable())
117
117
  return;
118
118
  const request = {
119
119
  channelId,
120
- timestamp: Date.now(),
121
- projectId,
122
120
  wsToken,
121
+ timestamp: Date.now(),
122
+ websocketUrl,
123
+ websocketChannel,
123
124
  };
124
125
  try {
125
126
  localStorage.setItem(`${prefix}${ACTIVE_REQUEST_KEY}`, JSON.stringify(request));
@@ -224,7 +225,7 @@ function createLogger(debug) {
224
225
  * console.log('AI Response:', data);
225
226
  * });
226
227
  *
227
- * client.connect({ wsToken: 'your-token-from-backend' });
228
+ * client.connect({ channelId: 'channel-id', wsToken: 'ws-token-from-api' });
228
229
  * ```
229
230
  */
230
231
  class ModelRiverClient {
@@ -236,8 +237,7 @@ class ModelRiverClient {
236
237
  this.steps = [];
237
238
  this.response = null;
238
239
  this.error = null;
239
- this.currentToken = null;
240
- this.currentWsToken = null;
240
+ this.currentWebsocketChannel = null;
241
241
  this.isConnecting = false;
242
242
  // Event listeners
243
243
  this.listeners = new Map();
@@ -248,6 +248,8 @@ class ModelRiverClient {
248
248
  storageKeyPrefix: options.storageKeyPrefix ?? DEFAULT_STORAGE_KEY_PREFIX,
249
249
  heartbeatInterval: options.heartbeatInterval ?? DEFAULT_HEARTBEAT_INTERVAL,
250
250
  requestTimeout: options.requestTimeout ?? DEFAULT_REQUEST_TIMEOUT,
251
+ // Optional HTTP base URL for reconnect endpoint
252
+ apiBaseUrl: options.apiBaseUrl ?? '',
251
253
  };
252
254
  this.logger = createLogger(this.options.debug);
253
255
  this.logger.log('Client initialized with options:', this.options);
@@ -276,40 +278,28 @@ class ModelRiverClient {
276
278
  return request !== null;
277
279
  }
278
280
  /**
279
- * Connect to WebSocket with token
281
+ * Connect to WebSocket with channel ID
280
282
  */
281
283
  connect(options) {
282
284
  if (this.isConnecting) {
283
285
  this.logger.warn('Connection already in progress, skipping...');
284
286
  return;
285
287
  }
286
- const { wsToken } = options;
287
- // Decode and validate token
288
- let tokenPayload;
289
- try {
290
- tokenPayload = decodeToken(wsToken);
291
- this.logger.log('Token decoded:', {
292
- projectId: tokenPayload.project_id,
293
- channelId: tokenPayload.channel_id,
294
- topic: tokenPayload.topic,
295
- });
296
- }
297
- catch (err) {
298
- const errorMsg = err instanceof Error ? err.message : 'Invalid token';
288
+ const { channelId, wsToken, websocketUrl, websocketChannel } = options;
289
+ if (!channelId) {
290
+ const errorMsg = 'channelId is required';
299
291
  this.setError(errorMsg);
300
292
  this.emit('error', errorMsg);
301
293
  return;
302
294
  }
303
- // Check token expiration
304
- if (isTokenExpired(tokenPayload)) {
305
- const errorMsg = 'Token has expired';
295
+ if (!wsToken) {
296
+ const errorMsg = 'wsToken is required for WebSocket authentication';
306
297
  this.setError(errorMsg);
307
298
  this.emit('error', errorMsg);
308
299
  return;
309
300
  }
310
301
  this.isConnecting = true;
311
- this.currentToken = tokenPayload;
312
- this.currentWsToken = wsToken;
302
+ this.currentWebsocketChannel = websocketChannel || `ai_response:${channelId}`;
313
303
  this.emit('connecting');
314
304
  // Clean up any existing connection
315
305
  this.cleanupConnection();
@@ -319,14 +309,16 @@ class ModelRiverClient {
319
309
  this.response = null;
320
310
  // Save to localStorage for persistence
321
311
  if (this.options.persist) {
322
- saveActiveRequest(this.options.storageKeyPrefix, tokenPayload.project_id, tokenPayload.channel_id, wsToken);
312
+ saveActiveRequest(this.options.storageKeyPrefix, channelId, wsToken, websocketUrl, websocketChannel);
323
313
  }
324
- // Update queue step to loading
325
- this.updateStepAndEmit('queue', { status: 'loading' });
326
- // Create Phoenix Socket
327
- const wsUrl = buildWebSocketUrl(this.options.baseUrl, wsToken);
328
- this.logger.log('Connecting to:', wsUrl.replace(wsToken, '***TOKEN***'));
329
- this.socket = new Socket(this.options.baseUrl, {
314
+ // Update queue step to pending
315
+ this.updateStepAndEmit('queue', { status: 'pending' });
316
+ // Determine WebSocket URL
317
+ const wsUrl = websocketUrl || this.options.baseUrl;
318
+ const socketUrl = wsUrl.endsWith('/socket') ? wsUrl : `${wsUrl}/socket`;
319
+ this.logger.log('Connecting to:', socketUrl);
320
+ // Pass token to Phoenix Socket for authentication
321
+ this.socket = new Socket(socketUrl, {
330
322
  params: { token: wsToken },
331
323
  });
332
324
  this.socket.onOpen(() => {
@@ -335,7 +327,7 @@ class ModelRiverClient {
335
327
  this.isConnecting = false;
336
328
  this.emit('connected');
337
329
  // Join channel
338
- this.joinChannel(tokenPayload.topic);
330
+ this.joinChannel(this.currentWebsocketChannel);
339
331
  });
340
332
  this.socket.onError((error) => {
341
333
  this.logger.error('Socket error:', error);
@@ -367,8 +359,8 @@ class ModelRiverClient {
367
359
  .receive('ok', () => {
368
360
  this.logger.log('Channel joined successfully');
369
361
  this.updateStepAndEmit('queue', { status: 'success', duration: 100 });
370
- this.updateStepAndEmit('process', { status: 'loading' });
371
- this.updateStepAndEmit('receive', { status: 'loading' });
362
+ this.updateStepAndEmit('process', { status: 'pending' });
363
+ this.updateStepAndEmit('receive', { status: 'pending' });
372
364
  this.emit('channel_joined');
373
365
  this.startHeartbeat();
374
366
  })
@@ -468,11 +460,10 @@ class ModelRiverClient {
468
460
  this.steps = [];
469
461
  this.response = null;
470
462
  this.error = null;
471
- this.currentToken = null;
472
- this.currentWsToken = null;
463
+ this.currentWebsocketChannel = null;
473
464
  }
474
465
  /**
475
- * Try to reconnect using stored token
466
+ * Try to reconnect using stored channel ID
476
467
  */
477
468
  reconnect() {
478
469
  if (!this.options.persist) {
@@ -484,10 +475,86 @@ class ModelRiverClient {
484
475
  this.logger.log('No active request found for reconnection');
485
476
  return false;
486
477
  }
487
- this.logger.log('Reconnecting with stored token...');
488
- this.connect({ wsToken: activeRequest.wsToken });
478
+ if (!activeRequest.wsToken) {
479
+ this.logger.warn('No wsToken found in stored request, cannot reconnect');
480
+ clearActiveRequest(this.options.storageKeyPrefix);
481
+ return false;
482
+ }
483
+ this.logger.log('Reconnecting with stored channel ID...');
484
+ this.connect({
485
+ channelId: activeRequest.channelId,
486
+ wsToken: activeRequest.wsToken,
487
+ websocketUrl: activeRequest.websocketUrl,
488
+ websocketChannel: activeRequest.websocketChannel,
489
+ });
489
490
  return true;
490
491
  }
492
+ /**
493
+ * Try to reconnect using your backend `/api/v1/ai/reconnect` endpoint.
494
+ *
495
+ * This helper is intended for use with the official ModelRiver backend
496
+ * endpoint which issues a fresh one-time `ws_token` for an existing
497
+ * async request. It should be used instead of `reconnect()` in cases
498
+ * where WebSocket tokens are strictly single-use (the default).
499
+ *
500
+ * Requirements:
501
+ * - `persist` enabled (so the client can read the stored channel ID)
502
+ * - `apiBaseUrl` configured in `ModelRiverClientOptions`
503
+ *
504
+ * Returns `true` if a reconnection attempt was started, `false` if no
505
+ * pending request was found or configuration was missing.
506
+ */
507
+ async reconnectWithBackend() {
508
+ if (!this.options.persist) {
509
+ this.logger.warn('Persistence is disabled, cannot reconnect with backend');
510
+ return false;
511
+ }
512
+ if (!this.options.apiBaseUrl) {
513
+ this.logger.warn('apiBaseUrl is not configured, cannot call /api/v1/ai/reconnect');
514
+ return false;
515
+ }
516
+ const activeRequest = getActiveRequest(this.options.storageKeyPrefix);
517
+ if (!activeRequest) {
518
+ this.logger.log('No active request found for backend reconnection');
519
+ return false;
520
+ }
521
+ const base = this.options.apiBaseUrl.replace(/\/+$/, '');
522
+ const url = `${base}/api/v1/ai/reconnect`;
523
+ try {
524
+ const response = await fetch(url, {
525
+ method: 'POST',
526
+ headers: {
527
+ 'Content-Type': 'application/json',
528
+ },
529
+ body: JSON.stringify({
530
+ channel_id: activeRequest.channelId,
531
+ }),
532
+ });
533
+ if (!response.ok) {
534
+ this.logger.error('Backend reconnect failed with HTTP status', response.status);
535
+ return false;
536
+ }
537
+ const data = (await response.json());
538
+ if (!data?.channel_id || !data?.ws_token) {
539
+ this.logger.error('Backend reconnect response missing channel_id or ws_token', data);
540
+ return false;
541
+ }
542
+ // Save updated request to localStorage for future persistence
543
+ saveActiveRequest(this.options.storageKeyPrefix, data.channel_id, data.ws_token, data.websocket_url, data.websocket_channel);
544
+ // Initiate WebSocket reconnection with the fresh token
545
+ this.connect({
546
+ channelId: data.channel_id,
547
+ wsToken: data.ws_token,
548
+ websocketUrl: data.websocket_url,
549
+ websocketChannel: data.websocket_channel,
550
+ });
551
+ return true;
552
+ }
553
+ catch (error) {
554
+ this.logger.error('Backend reconnect request failed', error);
555
+ return false;
556
+ }
557
+ }
491
558
  /**
492
559
  * Add event listener
493
560
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/utils.ts","../src/client.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/utils.ts","../src/client.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}