@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/README.md +61 -33
- package/cdn/{v1.1.0 → v1.1.2}/modelriver.min.js +1 -1
- package/cdn/{v1.1.0 → v1.1.2}/modelriver.min.js.map +1 -1
- package/dist/angular.cjs +36 -118
- package/dist/angular.cjs.map +1 -1
- package/dist/angular.d.ts +3 -3
- package/dist/angular.mjs +36 -118
- package/dist/angular.mjs.map +1 -1
- package/dist/client.d.ts +5 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/index.cjs +33 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +33 -45
- package/dist/index.mjs.map +1 -1
- package/dist/modelriver.umd.js +1 -1
- package/dist/modelriver.umd.js.map +1 -1
- package/dist/react.cjs +35 -117
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.ts +2 -2
- package/dist/react.mjs +35 -117
- package/dist/react.mjs.map +1 -1
- package/dist/svelte.cjs +35 -117
- package/dist/svelte.cjs.map +1 -1
- package/dist/svelte.d.ts +2 -2
- package/dist/svelte.mjs +35 -117
- package/dist/svelte.mjs.map +1 -1
- package/dist/types.d.ts +43 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/vue.cjs +35 -117
- package/dist/vue.cjs.map +1 -1
- package/dist/vue.d.ts +2 -2
- package/dist/vue.mjs +35 -117
- package/dist/vue.mjs.map +1 -1
- package/package.json +1 -1
package/dist/vue.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,
|
|
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
|
-
|
|
125
|
-
|
|
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({
|
|
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.
|
|
243
|
-
this.
|
|
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
|
|
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 {
|
|
290
|
-
|
|
291
|
-
|
|
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.
|
|
315
|
-
this.
|
|
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,
|
|
238
|
+
saveActiveRequest(this.options.storageKeyPrefix, channelId, websocketUrl, websocketChannel);
|
|
326
239
|
}
|
|
327
|
-
// Update queue step to
|
|
328
|
-
this.updateStepAndEmit('queue', { status: '
|
|
329
|
-
//
|
|
330
|
-
const wsUrl =
|
|
331
|
-
|
|
332
|
-
this.
|
|
333
|
-
|
|
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(
|
|
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: '
|
|
374
|
-
this.updateStepAndEmit('receive', { status: '
|
|
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.
|
|
475
|
-
this.
|
|
388
|
+
this.currentChannelId = null;
|
|
389
|
+
this.currentWebsocketChannel = null;
|
|
476
390
|
}
|
|
477
391
|
/**
|
|
478
|
-
* Try to reconnect using stored
|
|
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
|
|
491
|
-
this.connect({
|
|
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
|
* async function handleSend() {
|
|
614
|
-
* const {
|
|
615
|
-
* connect({
|
|
532
|
+
* const { channel_id, websocket_url } = await yourBackendAPI.createRequest(message);
|
|
533
|
+
* connect({ channelId: channel_id, websocketUrl: websocket_url });
|
|
616
534
|
* }
|
|
617
535
|
* </script>
|
|
618
536
|
*
|
package/dist/vue.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue.cjs","sources":["../src/utils.ts","../src/client.ts","../src/vue.ts"],"sourcesContent":[null,null,null],"names":["Socket","ref","onMounted","onUnmounted"],"mappings":";;;;;AAAA;;;;AAIG;AAIH;;AAEG;AACI,MAAM,gBAAgB,GAAG,iCAAiC;AAEjE;;AAEG;AACI,MAAM,0BAA0B,GAAG,aAAa;AAEvD;;AAEG;AACI,MAAM,0BAA0B,GAAG,KAAK;AAE/C;;AAEG;AACI,MAAM,uBAAuB,GAAG,MAAM;AAE7C;;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,SAAiB,EACjB,OAAe,EAAA;IAEf,IAAI,CAAC,kBAAkB,EAAE;QAAE;AAE3B,IAAA,MAAM,OAAO,GAAkB;QAC7B,SAAS;AACT,QAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS;QACT,OAAO;KACR;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;;AC7OA;;;;AAIG;AA8BH;;;;;;;;;;;;;;;;;;AAkBG;MACU,gBAAgB,CAAA;AAiB3B,IAAA,WAAA,CAAY,UAAmC,EAAE,EAAA;QAfzC,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,YAAY,GAAwB,IAAI;QACxC,IAAA,CAAA,cAAc,GAAkB,IAAI;QACpC,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;SAClE;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;AAEA,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO;;AAG3B,QAAA,IAAI,YAA0B;AAC9B,QAAA,IAAI;AACF,YAAA,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE;gBAChC,SAAS,EAAE,YAAY,CAAC,UAAU;gBAClC,SAAS,EAAE,YAAY,CAAC,UAAU;gBAClC,KAAK,EAAE,YAAY,CAAC,KAAK;AAC1B,aAAA,CAAC;QACJ;QAAE,OAAO,GAAG,EAAE;AACZ,YAAA,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,eAAe;AACrE,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC5B;QACF;;AAGA,QAAA,IAAI,cAAc,CAAC,YAAY,CAAC,EAAE;YAChC,MAAM,QAAQ,GAAG,mBAAmB;AACpC,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;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO;AAC7B,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,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,UAAU,EACvB,OAAO,CACR;QACH;;QAGA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;;AAGtD,QAAA,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;AAC9D,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAExE,IAAI,CAAC,MAAM,GAAG,IAAIA,cAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC7C,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,YAAY,CAAC,KAAK,CAAC;AACtC,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YAC5B,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,KAAK,KAAI;YAC5B,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,YAAY,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;IAC5B;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,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC;AAChD,QAAA,OAAO,IAAI;IACb;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;;AC/dD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AAaH;;;;;AAKG;AACG,SAAU,aAAa,CAC3B,OAAA,GAAmC,EAAE,EAAA;;AAGrC,IAAA,MAAM,eAAe,GAAGC,OAAG,CAAkB,cAAc,CAAC;AAC5D,IAAA,MAAM,KAAK,GAAGA,OAAG,CAAiB,EAAE,CAAC;AACrC,IAAA,MAAM,QAAQ,GAAGA,OAAG,CAAoB,IAAI,CAAC;AAC7C,IAAA,MAAM,KAAK,GAAGA,OAAG,CAAgB,IAAI,CAAC;AACtC,IAAA,MAAM,iBAAiB,GAAGA,OAAG,CAAC,KAAK,CAAC;AACpC,IAAA,MAAM,WAAW,GAAGA,OAAG,CAAC,KAAK,CAAC;AAC9B,IAAA,MAAM,YAAY,GAAGA,OAAG,CAAC,KAAK,CAAC;;IAG/B,IAAI,MAAM,GAA4B,IAAI;IAC1C,MAAM,aAAa,GAAmB,EAAE;;IAGxC,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC;;QAGtC,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAK;AAC3B,YAAA,eAAe,CAAC,KAAK,GAAG,YAAY;AACpC,YAAA,YAAY,CAAC,KAAK,GAAG,IAAI;AACzB,YAAA,WAAW,CAAC,KAAK,GAAG,KAAK;QAC3B,CAAC,CAAC,CACH;QAED,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAK;AAC1B,YAAA,eAAe,CAAC,KAAK,GAAG,WAAW;AACnC,YAAA,WAAW,CAAC,KAAK,GAAG,IAAI;AACxB,YAAA,YAAY,CAAC,KAAK,GAAG,KAAK;QAC5B,CAAC,CAAC,CACH;QAED,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,MAAK;AAC7B,YAAA,eAAe,CAAC,KAAK,GAAG,cAAc;AACtC,YAAA,WAAW,CAAC,KAAK,GAAG,KAAK;AACzB,YAAA,YAAY,CAAC,KAAK,GAAG,KAAK;QAC5B,CAAC,CAAC,CACH;AAED,QAAA,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,KAAI;AAC7B,YAAA,QAAQ,CAAC,KAAK,GAAG,IAAI;AACrB,YAAA,iBAAiB,CAAC,KAAK,GAAG,KAAK;QACjC,CAAC,CAAC,CACH;AAED,QAAA,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAI;AACzB,YAAA,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO;AACzD,YAAA,eAAe,CAAC,KAAK,GAAG,OAAO;AAC/B,YAAA,YAAY,CAAC,KAAK,GAAG,KAAK;QAC5B,CAAC,CAAC,CACH;QAED,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAK;YACrB,IAAI,MAAM,EAAE;AACV,gBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;gBAC/B,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAChC;QACF,CAAC,CAAC,CACH;;AAGD,QAAA,IAAI,MAAM,CAAC,iBAAiB,EAAE,EAAE;AAC9B,YAAA,iBAAiB,CAAC,KAAK,GAAG,IAAI;YAC9B,MAAM,CAAC,SAAS,EAAE;QACpB;AACF,IAAA,CAAC;;IAGD,MAAM,OAAO,GAAG,MAAK;QACnB,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;AACzC,QAAA,aAAa,CAAC,MAAM,GAAG,CAAC;QAExB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE;YACzC,MAAM,CAAC,OAAO,EAAE;QAClB;QACA,MAAM,GAAG,IAAI;AACf,IAAA,CAAC;;AAGD,IAAA,MAAM,OAAO,GAAG,CAAC,cAA8B,KAAI;AACjD,QAAA,IAAI,CAAC,MAAM;YAAE;AAEb,QAAA,KAAK,CAAC,KAAK,GAAG,IAAI;AAClB,QAAA,QAAQ,CAAC,KAAK,GAAG,IAAI;AACrB,QAAA,KAAK,CAAC,KAAK,GAAG,EAAE;AAChB,QAAA,iBAAiB,CAAC,KAAK,GAAG,IAAI;AAE9B,QAAA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;AAChC,IAAA,CAAC;;IAGD,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,IAAI,CAAC,MAAM;YAAE;QAEb,MAAM,CAAC,UAAU,EAAE;AACnB,QAAA,iBAAiB,CAAC,KAAK,GAAG,KAAK;AACjC,IAAA,CAAC;;IAGD,MAAM,KAAK,GAAG,MAAK;AACjB,QAAA,IAAI,CAAC,MAAM;YAAE;QAEb,MAAM,CAAC,KAAK,EAAE;AACd,QAAA,eAAe,CAAC,KAAK,GAAG,cAAc;AACtC,QAAA,WAAW,CAAC,KAAK,GAAG,KAAK;AACzB,QAAA,YAAY,CAAC,KAAK,GAAG,KAAK;AAC1B,QAAA,KAAK,CAAC,KAAK,GAAG,EAAE;AAChB,QAAA,QAAQ,CAAC,KAAK,GAAG,IAAI;AACrB,QAAA,KAAK,CAAC,KAAK,GAAG,IAAI;AAClB,QAAA,iBAAiB,CAAC,KAAK,GAAG,KAAK;AACjC,IAAA,CAAC;;IAGDC,aAAS,CAAC,MAAK;AACb,QAAA,UAAU,EAAE;AACd,IAAA,CAAC,CAAC;IAEFC,eAAW,CAAC,MAAK;AACf,QAAA,OAAO,EAAE;AACX,IAAA,CAAC,CAAC;IAEF,OAAO;QACL,eAAe;QACf,WAAW;QACX,YAAY;QACZ,KAAK;QACL,QAAQ;QACR,KAAK;QACL,iBAAiB;QACjB,OAAO;QACP,UAAU;QACV,KAAK;KACN;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"vue.cjs","sources":["../src/utils.ts","../src/client.ts","../src/vue.ts"],"sourcesContent":[null,null,null],"names":["Socket","ref","onMounted","onUnmounted"],"mappings":"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"}
|
package/dist/vue.d.ts
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* });
|
|
14
14
|
*
|
|
15
15
|
* async function handleSend() {
|
|
16
|
-
* const {
|
|
17
|
-
* connect({
|
|
16
|
+
* const { channel_id, websocket_url } = await yourBackendAPI.createRequest(message);
|
|
17
|
+
* connect({ channelId: channel_id, websocketUrl: websocket_url });
|
|
18
18
|
* }
|
|
19
19
|
* </script>
|
|
20
20
|
*
|
package/dist/vue.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,
|
|
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
|
-
|
|
123
|
-
|
|
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({
|
|
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.
|
|
241
|
-
this.
|
|
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
|
|
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 {
|
|
288
|
-
|
|
289
|
-
|
|
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.
|
|
313
|
-
this.
|
|
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,
|
|
236
|
+
saveActiveRequest(this.options.storageKeyPrefix, channelId, websocketUrl, websocketChannel);
|
|
324
237
|
}
|
|
325
|
-
// Update queue step to
|
|
326
|
-
this.updateStepAndEmit('queue', { status: '
|
|
327
|
-
//
|
|
328
|
-
const wsUrl =
|
|
329
|
-
|
|
330
|
-
this.
|
|
331
|
-
|
|
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(
|
|
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: '
|
|
372
|
-
this.updateStepAndEmit('receive', { status: '
|
|
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.
|
|
473
|
-
this.
|
|
386
|
+
this.currentChannelId = null;
|
|
387
|
+
this.currentWebsocketChannel = null;
|
|
474
388
|
}
|
|
475
389
|
/**
|
|
476
|
-
* Try to reconnect using stored
|
|
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
|
|
489
|
-
this.connect({
|
|
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
|
* async function handleSend() {
|
|
612
|
-
* const {
|
|
613
|
-
* connect({
|
|
530
|
+
* const { channel_id, websocket_url } = await yourBackendAPI.createRequest(message);
|
|
531
|
+
* connect({ channelId: channel_id, websocketUrl: websocket_url });
|
|
614
532
|
* }
|
|
615
533
|
* </script>
|
|
616
534
|
*
|