@modelriver/client 1.1.0 → 1.1.2

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/react.cjs CHANGED
@@ -28,76 +28,6 @@ const DEFAULT_REQUEST_TIMEOUT = 300000;
28
28
  * Active request storage key suffix
29
29
  */
30
30
  const ACTIVE_REQUEST_KEY = 'active_request';
31
- /**
32
- * Decode a base64url string to a regular string
33
- */
34
- function base64UrlDecode(str) {
35
- // Replace base64url characters with base64 characters
36
- let base64 = str.replace(/-/g, '+').replace(/_/g, '/');
37
- // Pad with '=' to make length a multiple of 4
38
- const padding = base64.length % 4;
39
- if (padding) {
40
- base64 += '='.repeat(4 - padding);
41
- }
42
- // Decode
43
- try {
44
- return atob(base64);
45
- }
46
- catch {
47
- throw new Error('Invalid base64url string');
48
- }
49
- }
50
- /**
51
- * Decode a JWT token and extract the payload
52
- * Note: This does NOT verify the signature - that's done server-side
53
- */
54
- function decodeToken(token) {
55
- if (!token || typeof token !== 'string') {
56
- throw new Error('Invalid token: token must be a non-empty string');
57
- }
58
- const parts = token.split('.');
59
- if (parts.length !== 3) {
60
- throw new Error('Invalid token: JWT must have 3 parts');
61
- }
62
- try {
63
- const payload = JSON.parse(base64UrlDecode(parts[1]));
64
- // Validate required fields
65
- if (!payload.project_id || !payload.channel_id) {
66
- throw new Error('Invalid token: missing required fields (project_id, channel_id)');
67
- }
68
- // Build topic if not present
69
- const topic = payload.topic || `ai_response:${payload.project_id}:${payload.channel_id}`;
70
- return {
71
- project_id: payload.project_id,
72
- channel_id: payload.channel_id,
73
- topic,
74
- exp: payload.exp,
75
- };
76
- }
77
- catch (error) {
78
- if (error instanceof Error && error.message.startsWith('Invalid token:')) {
79
- throw error;
80
- }
81
- throw new Error('Invalid token: failed to decode payload');
82
- }
83
- }
84
- /**
85
- * Check if a token is expired
86
- */
87
- function isTokenExpired(payload) {
88
- if (!payload.exp) {
89
- return false; // No expiration set
90
- }
91
- // exp is in seconds, Date.now() is in milliseconds
92
- return Date.now() >= payload.exp * 1000;
93
- }
94
- /**
95
- * Build the WebSocket URL with token
96
- */
97
- function buildWebSocketUrl(baseUrl, token) {
98
- const url = baseUrl.endsWith('/websocket') ? baseUrl : `${baseUrl}/websocket`;
99
- return `${url}?token=${encodeURIComponent(token)}&vsn=2.0.0`;
100
- }
101
31
  /**
102
32
  * Check if localStorage is available
103
33
  */
@@ -115,14 +45,14 @@ function isStorageAvailable() {
115
45
  /**
116
46
  * Save active request to localStorage
117
47
  */
118
- function saveActiveRequest(prefix, projectId, channelId, wsToken) {
48
+ function saveActiveRequest(prefix, channelId, websocketUrl, websocketChannel) {
119
49
  if (!isStorageAvailable())
120
50
  return;
121
51
  const request = {
122
52
  channelId,
123
53
  timestamp: Date.now(),
124
- projectId,
125
- wsToken,
54
+ websocketUrl,
55
+ websocketChannel,
126
56
  };
127
57
  try {
128
58
  localStorage.setItem(`${prefix}${ACTIVE_REQUEST_KEY}`, JSON.stringify(request));
@@ -227,7 +157,7 @@ function createLogger(debug) {
227
157
  * console.log('AI Response:', data);
228
158
  * });
229
159
  *
230
- * client.connect({ wsToken: 'your-token-from-backend' });
160
+ * client.connect({ channelId: 'channel-id-from-api' });
231
161
  * ```
232
162
  */
233
163
  class ModelRiverClient {
@@ -239,8 +169,8 @@ class ModelRiverClient {
239
169
  this.steps = [];
240
170
  this.response = null;
241
171
  this.error = null;
242
- this.currentToken = null;
243
- this.currentWsToken = null;
172
+ this.currentChannelId = null;
173
+ this.currentWebsocketChannel = null;
244
174
  this.isConnecting = false;
245
175
  // Event listeners
246
176
  this.listeners = new Map();
@@ -279,40 +209,23 @@ class ModelRiverClient {
279
209
  return request !== null;
280
210
  }
281
211
  /**
282
- * Connect to WebSocket with token
212
+ * Connect to WebSocket with channel ID
283
213
  */
284
214
  connect(options) {
285
215
  if (this.isConnecting) {
286
216
  this.logger.warn('Connection already in progress, skipping...');
287
217
  return;
288
218
  }
289
- const { wsToken } = options;
290
- // Decode and validate token
291
- let tokenPayload;
292
- try {
293
- tokenPayload = decodeToken(wsToken);
294
- this.logger.log('Token decoded:', {
295
- projectId: tokenPayload.project_id,
296
- channelId: tokenPayload.channel_id,
297
- topic: tokenPayload.topic,
298
- });
299
- }
300
- catch (err) {
301
- const errorMsg = err instanceof Error ? err.message : 'Invalid token';
302
- this.setError(errorMsg);
303
- this.emit('error', errorMsg);
304
- return;
305
- }
306
- // Check token expiration
307
- if (isTokenExpired(tokenPayload)) {
308
- const errorMsg = 'Token has expired';
219
+ const { channelId, websocketUrl, websocketChannel } = options;
220
+ if (!channelId) {
221
+ const errorMsg = 'channelId is required';
309
222
  this.setError(errorMsg);
310
223
  this.emit('error', errorMsg);
311
224
  return;
312
225
  }
313
226
  this.isConnecting = true;
314
- this.currentToken = tokenPayload;
315
- this.currentWsToken = wsToken;
227
+ this.currentChannelId = channelId;
228
+ this.currentWebsocketChannel = websocketChannel || `ai_response:${channelId}`;
316
229
  this.emit('connecting');
317
230
  // Clean up any existing connection
318
231
  this.cleanupConnection();
@@ -322,15 +235,16 @@ class ModelRiverClient {
322
235
  this.response = null;
323
236
  // Save to localStorage for persistence
324
237
  if (this.options.persist) {
325
- saveActiveRequest(this.options.storageKeyPrefix, tokenPayload.project_id, tokenPayload.channel_id, wsToken);
238
+ saveActiveRequest(this.options.storageKeyPrefix, channelId, websocketUrl, websocketChannel);
326
239
  }
327
- // Update queue step to loading
328
- this.updateStepAndEmit('queue', { status: 'loading' });
329
- // Create Phoenix Socket
330
- const wsUrl = buildWebSocketUrl(this.options.baseUrl, wsToken);
331
- this.logger.log('Connecting to:', wsUrl.replace(wsToken, '***TOKEN***'));
332
- this.socket = new phoenix.Socket(this.options.baseUrl, {
333
- params: { token: wsToken },
240
+ // Update queue step to pending
241
+ this.updateStepAndEmit('queue', { status: 'pending' });
242
+ // Determine WebSocket URL
243
+ const wsUrl = websocketUrl || this.options.baseUrl;
244
+ const socketUrl = wsUrl.endsWith('/socket') ? wsUrl : `${wsUrl}/socket`;
245
+ this.logger.log('Connecting to:', socketUrl);
246
+ this.socket = new phoenix.Socket(socketUrl, {
247
+ params: {},
334
248
  });
335
249
  this.socket.onOpen(() => {
336
250
  this.logger.log('Socket connected');
@@ -338,7 +252,7 @@ class ModelRiverClient {
338
252
  this.isConnecting = false;
339
253
  this.emit('connected');
340
254
  // Join channel
341
- this.joinChannel(tokenPayload.topic);
255
+ this.joinChannel(this.currentWebsocketChannel);
342
256
  });
343
257
  this.socket.onError((error) => {
344
258
  this.logger.error('Socket error:', error);
@@ -370,8 +284,8 @@ class ModelRiverClient {
370
284
  .receive('ok', () => {
371
285
  this.logger.log('Channel joined successfully');
372
286
  this.updateStepAndEmit('queue', { status: 'success', duration: 100 });
373
- this.updateStepAndEmit('process', { status: 'loading' });
374
- this.updateStepAndEmit('receive', { status: 'loading' });
287
+ this.updateStepAndEmit('process', { status: 'pending' });
288
+ this.updateStepAndEmit('receive', { status: 'pending' });
375
289
  this.emit('channel_joined');
376
290
  this.startHeartbeat();
377
291
  })
@@ -471,11 +385,11 @@ class ModelRiverClient {
471
385
  this.steps = [];
472
386
  this.response = null;
473
387
  this.error = null;
474
- this.currentToken = null;
475
- this.currentWsToken = null;
388
+ this.currentChannelId = null;
389
+ this.currentWebsocketChannel = null;
476
390
  }
477
391
  /**
478
- * Try to reconnect using stored token
392
+ * Try to reconnect using stored channel ID
479
393
  */
480
394
  reconnect() {
481
395
  if (!this.options.persist) {
@@ -487,8 +401,12 @@ class ModelRiverClient {
487
401
  this.logger.log('No active request found for reconnection');
488
402
  return false;
489
403
  }
490
- this.logger.log('Reconnecting with stored token...');
491
- this.connect({ wsToken: activeRequest.wsToken });
404
+ this.logger.log('Reconnecting with stored channel ID...');
405
+ this.connect({
406
+ channelId: activeRequest.channelId,
407
+ websocketUrl: activeRequest.websocketUrl,
408
+ websocketChannel: activeRequest.websocketChannel,
409
+ });
492
410
  return true;
493
411
  }
494
412
  /**
@@ -611,8 +529,8 @@ class ModelRiverClient {
611
529
  * });
612
530
  *
613
531
  * const handleSend = async () => {
614
- * const { ws_token } = await yourBackendAPI.createRequest(message);
615
- * connect({ wsToken: ws_token });
532
+ * const { channel_id, websocket_url } = await yourBackendAPI.createRequest(message);
533
+ * connect({ channelId: channel_id, websocketUrl: websocket_url });
616
534
  * };
617
535
  *
618
536
  * return (
@@ -1 +1 @@
1
- {"version":3,"file":"react.cjs","sources":["../src/utils.ts","../src/client.ts","../src/react.ts"],"sourcesContent":[null,null,null],"names":["Socket","useState","useRef","useEffect","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"react.cjs","sources":["../src/utils.ts","../src/client.ts","../src/react.ts"],"sourcesContent":[null,null,null],"names":["Socket","useState","useRef","useEffect","useCallback"],"mappings":"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"}
package/dist/react.d.ts CHANGED
@@ -13,8 +13,8 @@
13
13
  * });
14
14
  *
15
15
  * const handleSend = async () => {
16
- * const { ws_token } = await yourBackendAPI.createRequest(message);
17
- * connect({ wsToken: ws_token });
16
+ * const { channel_id, websocket_url } = await yourBackendAPI.createRequest(message);
17
+ * connect({ channelId: channel_id, websocketUrl: websocket_url });
18
18
  * };
19
19
  *
20
20
  * return (
package/dist/react.mjs CHANGED
@@ -26,76 +26,6 @@ const DEFAULT_REQUEST_TIMEOUT = 300000;
26
26
  * Active request storage key suffix
27
27
  */
28
28
  const ACTIVE_REQUEST_KEY = 'active_request';
29
- /**
30
- * Decode a base64url string to a regular string
31
- */
32
- function base64UrlDecode(str) {
33
- // Replace base64url characters with base64 characters
34
- let base64 = str.replace(/-/g, '+').replace(/_/g, '/');
35
- // Pad with '=' to make length a multiple of 4
36
- const padding = base64.length % 4;
37
- if (padding) {
38
- base64 += '='.repeat(4 - padding);
39
- }
40
- // Decode
41
- try {
42
- return atob(base64);
43
- }
44
- catch {
45
- throw new Error('Invalid base64url string');
46
- }
47
- }
48
- /**
49
- * Decode a JWT token and extract the payload
50
- * Note: This does NOT verify the signature - that's done server-side
51
- */
52
- function decodeToken(token) {
53
- if (!token || typeof token !== 'string') {
54
- throw new Error('Invalid token: token must be a non-empty string');
55
- }
56
- const parts = token.split('.');
57
- if (parts.length !== 3) {
58
- throw new Error('Invalid token: JWT must have 3 parts');
59
- }
60
- try {
61
- const payload = JSON.parse(base64UrlDecode(parts[1]));
62
- // Validate required fields
63
- if (!payload.project_id || !payload.channel_id) {
64
- throw new Error('Invalid token: missing required fields (project_id, channel_id)');
65
- }
66
- // Build topic if not present
67
- const topic = payload.topic || `ai_response:${payload.project_id}:${payload.channel_id}`;
68
- return {
69
- project_id: payload.project_id,
70
- channel_id: payload.channel_id,
71
- topic,
72
- exp: payload.exp,
73
- };
74
- }
75
- catch (error) {
76
- if (error instanceof Error && error.message.startsWith('Invalid token:')) {
77
- throw error;
78
- }
79
- throw new Error('Invalid token: failed to decode payload');
80
- }
81
- }
82
- /**
83
- * Check if a token is expired
84
- */
85
- function isTokenExpired(payload) {
86
- if (!payload.exp) {
87
- return false; // No expiration set
88
- }
89
- // exp is in seconds, Date.now() is in milliseconds
90
- return Date.now() >= payload.exp * 1000;
91
- }
92
- /**
93
- * Build the WebSocket URL with token
94
- */
95
- function buildWebSocketUrl(baseUrl, token) {
96
- const url = baseUrl.endsWith('/websocket') ? baseUrl : `${baseUrl}/websocket`;
97
- return `${url}?token=${encodeURIComponent(token)}&vsn=2.0.0`;
98
- }
99
29
  /**
100
30
  * Check if localStorage is available
101
31
  */
@@ -113,14 +43,14 @@ function isStorageAvailable() {
113
43
  /**
114
44
  * Save active request to localStorage
115
45
  */
116
- function saveActiveRequest(prefix, projectId, channelId, wsToken) {
46
+ function saveActiveRequest(prefix, channelId, websocketUrl, websocketChannel) {
117
47
  if (!isStorageAvailable())
118
48
  return;
119
49
  const request = {
120
50
  channelId,
121
51
  timestamp: Date.now(),
122
- projectId,
123
- wsToken,
52
+ websocketUrl,
53
+ websocketChannel,
124
54
  };
125
55
  try {
126
56
  localStorage.setItem(`${prefix}${ACTIVE_REQUEST_KEY}`, JSON.stringify(request));
@@ -225,7 +155,7 @@ function createLogger(debug) {
225
155
  * console.log('AI Response:', data);
226
156
  * });
227
157
  *
228
- * client.connect({ wsToken: 'your-token-from-backend' });
158
+ * client.connect({ channelId: 'channel-id-from-api' });
229
159
  * ```
230
160
  */
231
161
  class ModelRiverClient {
@@ -237,8 +167,8 @@ class ModelRiverClient {
237
167
  this.steps = [];
238
168
  this.response = null;
239
169
  this.error = null;
240
- this.currentToken = null;
241
- this.currentWsToken = null;
170
+ this.currentChannelId = null;
171
+ this.currentWebsocketChannel = null;
242
172
  this.isConnecting = false;
243
173
  // Event listeners
244
174
  this.listeners = new Map();
@@ -277,40 +207,23 @@ class ModelRiverClient {
277
207
  return request !== null;
278
208
  }
279
209
  /**
280
- * Connect to WebSocket with token
210
+ * Connect to WebSocket with channel ID
281
211
  */
282
212
  connect(options) {
283
213
  if (this.isConnecting) {
284
214
  this.logger.warn('Connection already in progress, skipping...');
285
215
  return;
286
216
  }
287
- const { wsToken } = options;
288
- // Decode and validate token
289
- let tokenPayload;
290
- try {
291
- tokenPayload = decodeToken(wsToken);
292
- this.logger.log('Token decoded:', {
293
- projectId: tokenPayload.project_id,
294
- channelId: tokenPayload.channel_id,
295
- topic: tokenPayload.topic,
296
- });
297
- }
298
- catch (err) {
299
- const errorMsg = err instanceof Error ? err.message : 'Invalid token';
300
- this.setError(errorMsg);
301
- this.emit('error', errorMsg);
302
- return;
303
- }
304
- // Check token expiration
305
- if (isTokenExpired(tokenPayload)) {
306
- const errorMsg = 'Token has expired';
217
+ const { channelId, websocketUrl, websocketChannel } = options;
218
+ if (!channelId) {
219
+ const errorMsg = 'channelId is required';
307
220
  this.setError(errorMsg);
308
221
  this.emit('error', errorMsg);
309
222
  return;
310
223
  }
311
224
  this.isConnecting = true;
312
- this.currentToken = tokenPayload;
313
- this.currentWsToken = wsToken;
225
+ this.currentChannelId = channelId;
226
+ this.currentWebsocketChannel = websocketChannel || `ai_response:${channelId}`;
314
227
  this.emit('connecting');
315
228
  // Clean up any existing connection
316
229
  this.cleanupConnection();
@@ -320,15 +233,16 @@ class ModelRiverClient {
320
233
  this.response = null;
321
234
  // Save to localStorage for persistence
322
235
  if (this.options.persist) {
323
- saveActiveRequest(this.options.storageKeyPrefix, tokenPayload.project_id, tokenPayload.channel_id, wsToken);
236
+ saveActiveRequest(this.options.storageKeyPrefix, channelId, websocketUrl, websocketChannel);
324
237
  }
325
- // Update queue step to loading
326
- this.updateStepAndEmit('queue', { status: 'loading' });
327
- // Create Phoenix Socket
328
- const wsUrl = buildWebSocketUrl(this.options.baseUrl, wsToken);
329
- this.logger.log('Connecting to:', wsUrl.replace(wsToken, '***TOKEN***'));
330
- this.socket = new Socket(this.options.baseUrl, {
331
- params: { token: wsToken },
238
+ // Update queue step to pending
239
+ this.updateStepAndEmit('queue', { status: 'pending' });
240
+ // Determine WebSocket URL
241
+ const wsUrl = websocketUrl || this.options.baseUrl;
242
+ const socketUrl = wsUrl.endsWith('/socket') ? wsUrl : `${wsUrl}/socket`;
243
+ this.logger.log('Connecting to:', socketUrl);
244
+ this.socket = new Socket(socketUrl, {
245
+ params: {},
332
246
  });
333
247
  this.socket.onOpen(() => {
334
248
  this.logger.log('Socket connected');
@@ -336,7 +250,7 @@ class ModelRiverClient {
336
250
  this.isConnecting = false;
337
251
  this.emit('connected');
338
252
  // Join channel
339
- this.joinChannel(tokenPayload.topic);
253
+ this.joinChannel(this.currentWebsocketChannel);
340
254
  });
341
255
  this.socket.onError((error) => {
342
256
  this.logger.error('Socket error:', error);
@@ -368,8 +282,8 @@ class ModelRiverClient {
368
282
  .receive('ok', () => {
369
283
  this.logger.log('Channel joined successfully');
370
284
  this.updateStepAndEmit('queue', { status: 'success', duration: 100 });
371
- this.updateStepAndEmit('process', { status: 'loading' });
372
- this.updateStepAndEmit('receive', { status: 'loading' });
285
+ this.updateStepAndEmit('process', { status: 'pending' });
286
+ this.updateStepAndEmit('receive', { status: 'pending' });
373
287
  this.emit('channel_joined');
374
288
  this.startHeartbeat();
375
289
  })
@@ -469,11 +383,11 @@ class ModelRiverClient {
469
383
  this.steps = [];
470
384
  this.response = null;
471
385
  this.error = null;
472
- this.currentToken = null;
473
- this.currentWsToken = null;
386
+ this.currentChannelId = null;
387
+ this.currentWebsocketChannel = null;
474
388
  }
475
389
  /**
476
- * Try to reconnect using stored token
390
+ * Try to reconnect using stored channel ID
477
391
  */
478
392
  reconnect() {
479
393
  if (!this.options.persist) {
@@ -485,8 +399,12 @@ class ModelRiverClient {
485
399
  this.logger.log('No active request found for reconnection');
486
400
  return false;
487
401
  }
488
- this.logger.log('Reconnecting with stored token...');
489
- this.connect({ wsToken: activeRequest.wsToken });
402
+ this.logger.log('Reconnecting with stored channel ID...');
403
+ this.connect({
404
+ channelId: activeRequest.channelId,
405
+ websocketUrl: activeRequest.websocketUrl,
406
+ websocketChannel: activeRequest.websocketChannel,
407
+ });
490
408
  return true;
491
409
  }
492
410
  /**
@@ -609,8 +527,8 @@ class ModelRiverClient {
609
527
  * });
610
528
  *
611
529
  * const handleSend = async () => {
612
- * const { ws_token } = await yourBackendAPI.createRequest(message);
613
- * connect({ wsToken: ws_token });
530
+ * const { channel_id, websocket_url } = await yourBackendAPI.createRequest(message);
531
+ * connect({ channelId: channel_id, websocketUrl: websocket_url });
614
532
  * };
615
533
  *
616
534
  * return (