@eka-care/medassist-core 1.0.56 → 1.0.59
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/Synapse.d.ts.map +1 -1
- package/dist/Synapse.js +29 -8
- package/dist/auth/constants.d.ts +12 -0
- package/dist/auth/constants.d.ts.map +1 -0
- package/dist/auth/constants.js +10 -0
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +18 -0
- package/dist/auth/session.d.ts +5 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +36 -0
- package/dist/connection/ConnectionFactory.d.ts +3 -1
- package/dist/connection/ConnectionFactory.d.ts.map +1 -1
- package/dist/connection/ConnectionFactory.js +4 -1
- package/dist/connection/SSE.d.ts +82 -0
- package/dist/connection/SSE.d.ts.map +1 -0
- package/dist/connection/SSE.js +216 -0
- package/dist/connection/Websocket.d.ts.map +1 -1
- package/dist/connection/Websocket.js +0 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/media/audio/Audio.copy.d.ts.map +1 -1
- package/dist/media/audio/Audio.copy.js +0 -7
- package/dist/media/audio/Audio.d.ts.map +1 -1
- package/dist/media/audio/Audio.js +0 -7
- package/dist/messages/types.d.ts +1 -0
- package/dist/messages/types.d.ts.map +1 -1
- package/dist/resources/session/types.d.ts +1 -0
- package/dist/resources/session/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/Synapse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Synapse.d.ts","sourceRoot":"","sources":["../src/Synapse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,OAAO,EACL,uBAAuB,EAExB,MAAM,kBAAkB,CAAC;AAuB1B,OAAO,EACL,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAA2C,gBAAgB,EAAiB,aAAa,EAAE,MAAM,SAAS,CAAC;AACxL,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKhD,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,MAAM,CAA2B;gBAE7B,MAAM,EAAE,gBAAgB;IAcpC;;;;;;OAMG;IACU,YAAY,CACvB,eAAe,CAAC,EAAE,sBAAsB,GACvC,OAAO,CAAC,eAAe,CAAC;IA6B3B;;OAEG;IACU,WAAW,CAAC,EACvB,OAAO,EACP,KAAK,EACL,KAAK,EACL,aAAa,EACb,OAAO,EACP,eAAe,EACf,WAAW,EACZ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Synapse.d.ts","sourceRoot":"","sources":["../src/Synapse.ts"],"names":[],"mappings":"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"}
|
package/dist/Synapse.js
CHANGED
|
@@ -87,6 +87,7 @@ class SynapseSDK {
|
|
|
87
87
|
}
|
|
88
88
|
switch (this.connectionType) {
|
|
89
89
|
case ConnectionFactory_1.ConnectionType.SOCKET:
|
|
90
|
+
case ConnectionFactory_1.ConnectionType.SSE:
|
|
90
91
|
this.messageManager.sendSocketMessage({
|
|
91
92
|
message: message,
|
|
92
93
|
files: files,
|
|
@@ -130,6 +131,7 @@ class SynapseSDK {
|
|
|
130
131
|
}
|
|
131
132
|
switch (this.connectionType) {
|
|
132
133
|
case ConnectionFactory_1.ConnectionType.SOCKET:
|
|
134
|
+
case ConnectionFactory_1.ConnectionType.SSE:
|
|
133
135
|
await this.resourceManager.sendFeedback(this.sessionConfig.session_id, messageId, feedback, reason);
|
|
134
136
|
break;
|
|
135
137
|
}
|
|
@@ -180,6 +182,7 @@ class SynapseSDK {
|
|
|
180
182
|
}
|
|
181
183
|
switch (this.connectionType) {
|
|
182
184
|
case ConnectionFactory_1.ConnectionType.SOCKET:
|
|
185
|
+
case ConnectionFactory_1.ConnectionType.SSE:
|
|
183
186
|
try {
|
|
184
187
|
const response = await this.resourceManager.callTool(this.sessionConfig.session_id, tool_id, message_id, this.sessionConfig.session_token, params);
|
|
185
188
|
if (response.error) {
|
|
@@ -292,7 +295,6 @@ class SynapseSDK {
|
|
|
292
295
|
* End the session
|
|
293
296
|
*/
|
|
294
297
|
endSession() {
|
|
295
|
-
console.log("end sesion called ");
|
|
296
298
|
this._voice?.destroy();
|
|
297
299
|
this._voice = null;
|
|
298
300
|
this.closeConnection();
|
|
@@ -352,13 +354,16 @@ class SynapseSDK {
|
|
|
352
354
|
});
|
|
353
355
|
}
|
|
354
356
|
this.sessionConfig = sessionResponse;
|
|
355
|
-
const
|
|
356
|
-
const
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
357
|
+
const envConfig = (0, constants_1.getConfig)(this.config?.environment);
|
|
358
|
+
const isSse = this.connectionType === ConnectionFactory_1.ConnectionType.SSE;
|
|
359
|
+
const defaultUrl = isSse ? envConfig.BASE_API_URL : envConfig.WEBSOCKET_URL;
|
|
360
|
+
const customUrl = this.config.serverUrl
|
|
361
|
+
? isSse
|
|
362
|
+
? this.config.serverUrl
|
|
363
|
+
: `wss://${this.config.serverUrl.split("://")[1]}`
|
|
364
|
+
: null;
|
|
365
|
+
this.connection = await ConnectionFactory_1.ConnectionFactory.createConnection(this.connectionType, {
|
|
366
|
+
serverUrl: customUrl || defaultUrl,
|
|
362
367
|
auth: {
|
|
363
368
|
sessionId: sessionResponse.session_id,
|
|
364
369
|
sessionToken: sessionResponse.session_token,
|
|
@@ -459,6 +464,22 @@ class SynapseSDK {
|
|
|
459
464
|
this.handleSessionExpiry();
|
|
460
465
|
});
|
|
461
466
|
break;
|
|
467
|
+
case ConnectionFactory_1.ConnectionType.SSE:
|
|
468
|
+
// SSE auth is handled at the URL/header layer, no auth message needed.
|
|
469
|
+
// Connection is considered "established" as soon as the stream opens.
|
|
470
|
+
this.connection.onOpen(() => {
|
|
471
|
+
this.messageManager.handleConnectionEstablished();
|
|
472
|
+
});
|
|
473
|
+
this.connection.onMessage((message) => {
|
|
474
|
+
this.onIncomingSocketMessage(message);
|
|
475
|
+
});
|
|
476
|
+
this.connection.onError((error) => {
|
|
477
|
+
this.onSocketConnectionError(error);
|
|
478
|
+
});
|
|
479
|
+
this.connection.on(types_2.SYNAPSE_REALTIME_RESERVED_EVENTS.SESSION_EXPIRED, () => {
|
|
480
|
+
this.handleSessionExpiry();
|
|
481
|
+
});
|
|
482
|
+
break;
|
|
462
483
|
default:
|
|
463
484
|
throw new Error_2.ConnectionError("Unsupported connection type", {
|
|
464
485
|
context: {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const EKA_AUTH: {
|
|
2
|
+
readonly SESSION_STORAGE_KEY: "eka_auth_session";
|
|
3
|
+
/** postMessage type sent from auth popup to opener on successful login */
|
|
4
|
+
readonly POST_MESSAGE_SUCCESS_TYPE: "EKA_AUTH_SUCCESS";
|
|
5
|
+
/** Default URL for the Eka Care auth popup */
|
|
6
|
+
readonly DEFAULT_AUTH_URL: "https://aortago.dev.eka.care/auth/login?audience=doc-web";
|
|
7
|
+
};
|
|
8
|
+
export type EkaAuthSession = {
|
|
9
|
+
sess: string;
|
|
10
|
+
refresh: string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/auth/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;IAEnB,0EAA0E;;IAE1E,8CAA8C;;CAEtC,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EKA_AUTH = void 0;
|
|
4
|
+
exports.EKA_AUTH = {
|
|
5
|
+
SESSION_STORAGE_KEY: "eka_auth_session",
|
|
6
|
+
/** postMessage type sent from auth popup to opener on successful login */
|
|
7
|
+
POST_MESSAGE_SUCCESS_TYPE: "EKA_AUTH_SUCCESS",
|
|
8
|
+
/** Default URL for the Eka Care auth popup */
|
|
9
|
+
DEFAULT_AUTH_URL: "https://aortago.dev.eka.care/auth/login?audience=doc-web",
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./constants"), exports);
|
|
18
|
+
__exportStar(require("./session"), exports);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type EkaAuthSession } from "./constants";
|
|
2
|
+
export declare function saveEkaSession(tokens: EkaAuthSession): void;
|
|
3
|
+
export declare function loadEkaSession(): EkaAuthSession | null;
|
|
4
|
+
export declare function clearEkaSession(): void;
|
|
5
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAM3D;AAED,wBAAgB,cAAc,IAAI,cAAc,GAAG,IAAI,CAUtD;AAED,wBAAgB,eAAe,IAAI,IAAI,CAMtC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.saveEkaSession = saveEkaSession;
|
|
4
|
+
exports.loadEkaSession = loadEkaSession;
|
|
5
|
+
exports.clearEkaSession = clearEkaSession;
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
function saveEkaSession(tokens) {
|
|
8
|
+
try {
|
|
9
|
+
sessionStorage.setItem(constants_1.EKA_AUTH.SESSION_STORAGE_KEY, JSON.stringify(tokens));
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
// ignore storage errors (e.g. private browsing quota)
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function loadEkaSession() {
|
|
16
|
+
try {
|
|
17
|
+
const raw = sessionStorage.getItem(constants_1.EKA_AUTH.SESSION_STORAGE_KEY);
|
|
18
|
+
if (!raw)
|
|
19
|
+
return null;
|
|
20
|
+
const parsed = JSON.parse(raw);
|
|
21
|
+
if (parsed?.sess && parsed?.refresh)
|
|
22
|
+
return parsed;
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function clearEkaSession() {
|
|
30
|
+
try {
|
|
31
|
+
sessionStorage.removeItem(constants_1.EKA_AUTH.SESSION_STORAGE_KEY);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// ignore
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { BaseConnection } from "../internal/connection/BaseConnection";
|
|
5
5
|
import { type WebSocketConnectionConfig } from "./Websocket";
|
|
6
|
+
import { type SSEConnectionConfig } from "./SSE";
|
|
6
7
|
export declare const ConnectionType: {
|
|
7
8
|
readonly SOCKET: "socket";
|
|
9
|
+
readonly SSE: "sse";
|
|
8
10
|
};
|
|
9
11
|
export type ConnectionType = (typeof ConnectionType)[keyof typeof ConnectionType];
|
|
10
|
-
export type ConnectionConfig = WebSocketConnectionConfig;
|
|
12
|
+
export type ConnectionConfig = WebSocketConnectionConfig | SSEConnectionConfig;
|
|
11
13
|
export declare class ConnectionFactory {
|
|
12
14
|
/**
|
|
13
15
|
* Create a connection based on the specified type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionFactory.d.ts","sourceRoot":"","sources":["../../src/connection/ConnectionFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectionFactory.d.ts","sourceRoot":"","sources":["../../src/connection/ConnectionFactory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAGhE,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,MAAM,MAAM,cAAc,GACxB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,GAAG,mBAAmB,CAAC;AAE/E,qBAAa,iBAAiB;IAC5B;;OAEG;WACiB,gBAAgB,CAClC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,cAAc,CAAC;CAY3B"}
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ConnectionFactory = exports.ConnectionType = void 0;
|
|
7
7
|
const Websocket_1 = require("./Websocket");
|
|
8
|
+
const SSE_1 = require("./SSE");
|
|
8
9
|
const Error_1 = require("../internal/Error/Error");
|
|
9
10
|
exports.ConnectionType = {
|
|
10
11
|
SOCKET: "socket",
|
|
11
|
-
|
|
12
|
+
SSE: "sse",
|
|
12
13
|
};
|
|
13
14
|
class ConnectionFactory {
|
|
14
15
|
/**
|
|
@@ -18,6 +19,8 @@ class ConnectionFactory {
|
|
|
18
19
|
switch (type) {
|
|
19
20
|
case exports.ConnectionType.SOCKET:
|
|
20
21
|
return new Websocket_1.WebSocketConnection(config);
|
|
22
|
+
case exports.ConnectionType.SSE:
|
|
23
|
+
return new SSE_1.SSEConnection(config);
|
|
21
24
|
default:
|
|
22
25
|
throw new Error_1.ConnectionError(`Unsupported connection type: ${type}`, {
|
|
23
26
|
context: { type },
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-Sent Events implementation of BaseConnection.
|
|
3
|
+
*
|
|
4
|
+
* Unlike the classic GET + EventSource pattern, this server streams events
|
|
5
|
+
* back as the response body of a POST to /chat. The request body is the
|
|
6
|
+
* same OutgoingSocketMessage envelope used over the WebSocket, so
|
|
7
|
+
* MessageManager parsing is shared.
|
|
8
|
+
*
|
|
9
|
+
* Wire shape:
|
|
10
|
+
* POST {serverUrl}/med-assist/session/{sessionId}/chat
|
|
11
|
+
* Headers: Content-Type: application/json
|
|
12
|
+
* Accept: text/event-stream
|
|
13
|
+
* sess-token: <session token>
|
|
14
|
+
* x-agent-id: <agent id>
|
|
15
|
+
* Body: JSON-encoded OutgoingSocketMessage
|
|
16
|
+
* Response: text/event-stream with `data: <json>\n\n` frames whose payloads
|
|
17
|
+
* match the IncomingSocketMessage shape.
|
|
18
|
+
*/
|
|
19
|
+
import { BaseConnection } from "../internal/connection/BaseConnection";
|
|
20
|
+
import { type OnOpenCallback, type SessionConfig } from "../internal/connection/types";
|
|
21
|
+
import { type OutgoingSocketMessage } from "../events/Events";
|
|
22
|
+
export interface SSEConnectionConfig extends SessionConfig {
|
|
23
|
+
serverUrl: string;
|
|
24
|
+
auth: {
|
|
25
|
+
sessionToken: string;
|
|
26
|
+
sessionId: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare class SSEConnection extends BaseConnection {
|
|
30
|
+
readonly conversationId: string;
|
|
31
|
+
private config;
|
|
32
|
+
private connected;
|
|
33
|
+
private activeStreamController;
|
|
34
|
+
constructor(config: SSEConnectionConfig);
|
|
35
|
+
/**
|
|
36
|
+
* "Open" the SSE channel. There is no persistent socket — the connection
|
|
37
|
+
* is considered ready as soon as the session/agent identifiers are set.
|
|
38
|
+
* Each outgoing message opens its own short-lived streaming response.
|
|
39
|
+
*
|
|
40
|
+
* The open callback is deferred to a macrotask so it fires AFTER
|
|
41
|
+
* `Synapse.startSession()` resolves and the consumer (e.g. widget's
|
|
42
|
+
* `setUpEventListeners`) has had a chance to register the CONNECTED
|
|
43
|
+
* listener. With WebSocket the real socket open is naturally async; we
|
|
44
|
+
* have to simulate that here, otherwise the CONNECTED event is emitted
|
|
45
|
+
* before anyone is listening for it.
|
|
46
|
+
*/
|
|
47
|
+
private connect;
|
|
48
|
+
/**
|
|
49
|
+
* Fire the open callback if the connection is already up by the time
|
|
50
|
+
* the listener registers. Mirrors the queued-disconnect pattern in
|
|
51
|
+
* BaseConnection so late-registering consumers don't miss the open
|
|
52
|
+
* event. Deferred via setTimeout for the same reason as connect().
|
|
53
|
+
*/
|
|
54
|
+
onOpen(callback: OnOpenCallback): void;
|
|
55
|
+
private buildChatUrl;
|
|
56
|
+
/**
|
|
57
|
+
* Send an outgoing message. POSTs the same envelope used over the
|
|
58
|
+
* WebSocket and streams the response back as SSE-encoded events.
|
|
59
|
+
*/
|
|
60
|
+
sendMessage(message: OutgoingSocketMessage): void;
|
|
61
|
+
private streamChat;
|
|
62
|
+
/**
|
|
63
|
+
* Walk the buffer and dispatch every complete top-level JSON object it
|
|
64
|
+
* contains, returning any trailing partial-object bytes that still need
|
|
65
|
+
* more data. The server streams back-to-back objects (`{…}{…}{…}`) with
|
|
66
|
+
* no separator, so we track brace depth (respecting strings/escapes)
|
|
67
|
+
* to find each object boundary. Any whitespace or stray SSE prefixes
|
|
68
|
+
* between objects is skipped automatically since we anchor on `{`.
|
|
69
|
+
*/
|
|
70
|
+
private extractJsonObjects;
|
|
71
|
+
/**
|
|
72
|
+
* Return the index of the matching closing brace for the `{` at `start`,
|
|
73
|
+
* or -1 if the buffer ends before the object closes. String contents
|
|
74
|
+
* and escape sequences are skipped so braces inside strings don't
|
|
75
|
+
* affect the depth count.
|
|
76
|
+
*/
|
|
77
|
+
private findObjectEnd;
|
|
78
|
+
close(): void;
|
|
79
|
+
isConnected(): boolean;
|
|
80
|
+
handleConnected(): void;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=SSE.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SSE.d.ts","sourceRoot":"","sources":["../../src/connection/SSE.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAO9D,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,aAAc,SAAQ,cAAc;IAC/C,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,sBAAsB,CAAgC;gBAElD,MAAM,EAAE,mBAAmB;IAOvC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,OAAO;IAQf;;;;;OAKG;IACa,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAOtD,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;YAc1C,UAAU;IAuDxB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IA4Bd,KAAK,IAAI,IAAI;IAOb,WAAW,IAAI,OAAO;IAItB,eAAe,IAAI,IAAI;CAG/B"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Server-Sent Events implementation of BaseConnection.
|
|
4
|
+
*
|
|
5
|
+
* Unlike the classic GET + EventSource pattern, this server streams events
|
|
6
|
+
* back as the response body of a POST to /chat. The request body is the
|
|
7
|
+
* same OutgoingSocketMessage envelope used over the WebSocket, so
|
|
8
|
+
* MessageManager parsing is shared.
|
|
9
|
+
*
|
|
10
|
+
* Wire shape:
|
|
11
|
+
* POST {serverUrl}/med-assist/session/{sessionId}/chat
|
|
12
|
+
* Headers: Content-Type: application/json
|
|
13
|
+
* Accept: text/event-stream
|
|
14
|
+
* sess-token: <session token>
|
|
15
|
+
* x-agent-id: <agent id>
|
|
16
|
+
* Body: JSON-encoded OutgoingSocketMessage
|
|
17
|
+
* Response: text/event-stream with `data: <json>\n\n` frames whose payloads
|
|
18
|
+
* match the IncomingSocketMessage shape.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.SSEConnection = void 0;
|
|
22
|
+
const BaseConnection_1 = require("../internal/connection/BaseConnection");
|
|
23
|
+
const types_1 = require("../internal/connection/types");
|
|
24
|
+
const Error_1 = require("../internal/Error/Error");
|
|
25
|
+
class SSEConnection extends BaseConnection_1.BaseConnection {
|
|
26
|
+
conversationId;
|
|
27
|
+
config;
|
|
28
|
+
connected = false;
|
|
29
|
+
activeStreamController = null;
|
|
30
|
+
constructor(config) {
|
|
31
|
+
super();
|
|
32
|
+
this.config = config;
|
|
33
|
+
this.conversationId = config.auth.sessionId;
|
|
34
|
+
this.connect();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* "Open" the SSE channel. There is no persistent socket — the connection
|
|
38
|
+
* is considered ready as soon as the session/agent identifiers are set.
|
|
39
|
+
* Each outgoing message opens its own short-lived streaming response.
|
|
40
|
+
*
|
|
41
|
+
* The open callback is deferred to a macrotask so it fires AFTER
|
|
42
|
+
* `Synapse.startSession()` resolves and the consumer (e.g. widget's
|
|
43
|
+
* `setUpEventListeners`) has had a chance to register the CONNECTED
|
|
44
|
+
* listener. With WebSocket the real socket open is naturally async; we
|
|
45
|
+
* have to simulate that here, otherwise the CONNECTED event is emitted
|
|
46
|
+
* before anyone is listening for it.
|
|
47
|
+
*/
|
|
48
|
+
connect() {
|
|
49
|
+
this.updateStatus(types_1.ConnectionStatus.CONNECTING);
|
|
50
|
+
this.connected = true;
|
|
51
|
+
setTimeout(() => {
|
|
52
|
+
this.onOpenCallback?.();
|
|
53
|
+
}, 0);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Fire the open callback if the connection is already up by the time
|
|
57
|
+
* the listener registers. Mirrors the queued-disconnect pattern in
|
|
58
|
+
* BaseConnection so late-registering consumers don't miss the open
|
|
59
|
+
* event. Deferred via setTimeout for the same reason as connect().
|
|
60
|
+
*/
|
|
61
|
+
onOpen(callback) {
|
|
62
|
+
this.onOpenCallback = callback;
|
|
63
|
+
if (this.connected) {
|
|
64
|
+
setTimeout(() => callback(), 0);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
buildChatUrl() {
|
|
68
|
+
const url = new URL(this.config.serverUrl);
|
|
69
|
+
url.pathname = `${url.pathname.replace(/\/$/, "")}/med-assist/session/${this.config.auth.sessionId}/chat`;
|
|
70
|
+
return url.toString();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Send an outgoing message. POSTs the same envelope used over the
|
|
74
|
+
* WebSocket and streams the response back as SSE-encoded events.
|
|
75
|
+
*/
|
|
76
|
+
sendMessage(message) {
|
|
77
|
+
if (!this.connected) {
|
|
78
|
+
const error = new Error_1.ConnectionError("SSE connection is not open", {
|
|
79
|
+
context: { stage: "sendMessage" },
|
|
80
|
+
});
|
|
81
|
+
this.onErrorCallback?.(error);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
this.activeStreamController?.abort();
|
|
85
|
+
const controller = new AbortController();
|
|
86
|
+
this.activeStreamController = controller;
|
|
87
|
+
void this.streamChat(message, controller);
|
|
88
|
+
}
|
|
89
|
+
async streamChat(message, controller) {
|
|
90
|
+
const url = this.buildChatUrl();
|
|
91
|
+
try {
|
|
92
|
+
const response = await fetch(url, {
|
|
93
|
+
method: "POST",
|
|
94
|
+
headers: {
|
|
95
|
+
"Content-Type": "application/json",
|
|
96
|
+
Accept: "text/event-stream",
|
|
97
|
+
"sess-token": this.config.auth.sessionToken,
|
|
98
|
+
"x-agent-id": this.config.agentId,
|
|
99
|
+
},
|
|
100
|
+
body: JSON.stringify(message),
|
|
101
|
+
signal: controller.signal,
|
|
102
|
+
});
|
|
103
|
+
if (!response.ok || !response.body) {
|
|
104
|
+
throw new Error_1.ConnectionError(`SSE chat request failed with status ${response.status}`, { context: { stage: "streamChat", status: response.status } });
|
|
105
|
+
}
|
|
106
|
+
const reader = response.body.getReader();
|
|
107
|
+
const decoder = new TextDecoder();
|
|
108
|
+
let buffer = "";
|
|
109
|
+
while (true) {
|
|
110
|
+
const { done, value } = await reader.read();
|
|
111
|
+
if (done)
|
|
112
|
+
break;
|
|
113
|
+
buffer += decoder.decode(value, { stream: true });
|
|
114
|
+
buffer = this.extractJsonObjects(buffer);
|
|
115
|
+
}
|
|
116
|
+
// Final flush in case the stream ends mid-object.
|
|
117
|
+
if (buffer.trim().length > 0) {
|
|
118
|
+
this.extractJsonObjects(buffer);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
if (controller.signal.aborted)
|
|
123
|
+
return;
|
|
124
|
+
const connectionError = (0, Error_1.normalizeError)(error, Error_1.ConnectionError, "SSE chat stream failed", { context: { stage: "streamChat" } });
|
|
125
|
+
this.onErrorCallback?.(connectionError);
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
if (this.activeStreamController === controller) {
|
|
129
|
+
this.activeStreamController = null;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Walk the buffer and dispatch every complete top-level JSON object it
|
|
135
|
+
* contains, returning any trailing partial-object bytes that still need
|
|
136
|
+
* more data. The server streams back-to-back objects (`{…}{…}{…}`) with
|
|
137
|
+
* no separator, so we track brace depth (respecting strings/escapes)
|
|
138
|
+
* to find each object boundary. Any whitespace or stray SSE prefixes
|
|
139
|
+
* between objects is skipped automatically since we anchor on `{`.
|
|
140
|
+
*/
|
|
141
|
+
extractJsonObjects(buffer) {
|
|
142
|
+
let i = 0;
|
|
143
|
+
while (i < buffer.length) {
|
|
144
|
+
const start = buffer.indexOf("{", i);
|
|
145
|
+
if (start === -1)
|
|
146
|
+
return "";
|
|
147
|
+
const end = this.findObjectEnd(buffer, start);
|
|
148
|
+
if (end === -1) {
|
|
149
|
+
// Incomplete object — keep from `start` onward for the next chunk.
|
|
150
|
+
return buffer.slice(start);
|
|
151
|
+
}
|
|
152
|
+
const objStr = buffer.slice(start, end + 1);
|
|
153
|
+
try {
|
|
154
|
+
const parsed = JSON.parse(objStr);
|
|
155
|
+
this.handleMessage(parsed);
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
const parseError = (0, Error_1.normalizeError)(error, Error_1.MessageError, "Failed to parse incoming SSE object", { context: { stage: "extractJsonObjects", objStr } });
|
|
159
|
+
this.onErrorCallback?.(parseError);
|
|
160
|
+
}
|
|
161
|
+
i = end + 1;
|
|
162
|
+
}
|
|
163
|
+
return "";
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Return the index of the matching closing brace for the `{` at `start`,
|
|
167
|
+
* or -1 if the buffer ends before the object closes. String contents
|
|
168
|
+
* and escape sequences are skipped so braces inside strings don't
|
|
169
|
+
* affect the depth count.
|
|
170
|
+
*/
|
|
171
|
+
findObjectEnd(buffer, start) {
|
|
172
|
+
let depth = 0;
|
|
173
|
+
let inString = false;
|
|
174
|
+
let escape = false;
|
|
175
|
+
for (let i = start; i < buffer.length; i++) {
|
|
176
|
+
const ch = buffer[i];
|
|
177
|
+
if (inString) {
|
|
178
|
+
if (escape) {
|
|
179
|
+
escape = false;
|
|
180
|
+
}
|
|
181
|
+
else if (ch === "\\") {
|
|
182
|
+
escape = true;
|
|
183
|
+
}
|
|
184
|
+
else if (ch === '"') {
|
|
185
|
+
inString = false;
|
|
186
|
+
}
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
if (ch === '"') {
|
|
190
|
+
inString = true;
|
|
191
|
+
}
|
|
192
|
+
else if (ch === "{") {
|
|
193
|
+
depth++;
|
|
194
|
+
}
|
|
195
|
+
else if (ch === "}") {
|
|
196
|
+
depth--;
|
|
197
|
+
if (depth === 0)
|
|
198
|
+
return i;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return -1;
|
|
202
|
+
}
|
|
203
|
+
close() {
|
|
204
|
+
this.connected = false;
|
|
205
|
+
this.activeStreamController?.abort();
|
|
206
|
+
this.activeStreamController = null;
|
|
207
|
+
this.updateStatus(types_1.ConnectionStatus.NOT_CONNECTED);
|
|
208
|
+
}
|
|
209
|
+
isConnected() {
|
|
210
|
+
return this.connected;
|
|
211
|
+
}
|
|
212
|
+
handleConnected() {
|
|
213
|
+
this.updateStatus(types_1.ConnectionStatus.CONNECTED);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
exports.SSEConnection = SSEConnection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Websocket.d.ts","sourceRoot":"","sources":["../../src/connection/Websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAO9D,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,aAAa,CAAkB;gBAE3B,MAAM,EAAE,yBAAyB;IAY7C;;OAEG;IACH,OAAO,CAAC,OAAO;IA+Bf;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"Websocket.d.ts","sourceRoot":"","sources":["../../src/connection/Websocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAO9D,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,aAAa,CAAkB;gBAE3B,MAAM,EAAE,yBAAyB;IAY7C;;OAEG;IACH,OAAO,CAAC,OAAO;IA+Bf;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;IA2CnB;;OAEG;IACI,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAyBxD;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACI,WAAW,IAAI,OAAO;IAItB,eAAe,IAAI,IAAI;CAI/B"}
|
|
@@ -98,7 +98,6 @@ class WebSocketConnection extends BaseConnection_1.BaseConnection {
|
|
|
98
98
|
let disconnectReason;
|
|
99
99
|
let message;
|
|
100
100
|
this.authenticated = false;
|
|
101
|
-
console.log("handleClose", event);
|
|
102
101
|
if (this.isConnected()) {
|
|
103
102
|
console.log("WebSocket is already connected, skipping reconnection");
|
|
104
103
|
return;
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export { SynapseSDK } from "./Synapse";
|
|
|
6
6
|
export type { SynapseSDKConfig, SynapseSDKCallbacks, SynapseSDKOverrides, ExistingSessionOptions, } from "./types";
|
|
7
7
|
export { BaseConnection } from "./internal/connection/BaseConnection";
|
|
8
8
|
export { WebSocketConnection } from "./connection/Websocket";
|
|
9
|
+
export { SSEConnection } from "./connection/SSE";
|
|
10
|
+
export type { SSEConnectionConfig } from "./connection/SSE";
|
|
9
11
|
export { ConnectionFactory, ConnectionType, } from "./connection/ConnectionFactory";
|
|
10
12
|
export type { ConnectionConfig } from "./connection/ConnectionFactory";
|
|
11
13
|
export * from "./internal/connection/types";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,cAAc,6BAA6B,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,cAAc,kBAAkB,CAAC;AAEjC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,cAAc,qBAAqB,CAAC;AAEpC,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,cAAc,6BAA6B,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,cAAc,kBAAkB,CAAC;AAEjC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,cAAc,qBAAqB,CAAC;AAEpC,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.SYNAPSE_MESSAGE_TYPES = exports.ErrorUtils = exports.ErrorType = exports.SynapseErrorCode = exports.InternalServerError = exports.RateLimitError = exports.MethodNotAllowedError = exports.NotFoundError = exports.PermissionDeniedError = exports.UnauthorizedError = exports.BadRequestError = exports.APIConnectionTimeoutError = exports.APIUserAbortError = exports.APIError = exports.SynapseError = exports.HttpClient = exports.MessageManager = exports.ToolCall = exports.Session = exports.ResourceManager = exports.ConnectionType = exports.ConnectionFactory = exports.WebSocketConnection = exports.BaseConnection = exports.SynapseSDK = void 0;
|
|
21
|
+
exports.SYNAPSE_MESSAGE_TYPES = exports.ErrorUtils = exports.ErrorType = exports.SynapseErrorCode = exports.InternalServerError = exports.RateLimitError = exports.MethodNotAllowedError = exports.NotFoundError = exports.PermissionDeniedError = exports.UnauthorizedError = exports.BadRequestError = exports.APIConnectionTimeoutError = exports.APIUserAbortError = exports.APIError = exports.SynapseError = exports.HttpClient = exports.MessageManager = exports.ToolCall = exports.Session = exports.ResourceManager = exports.ConnectionType = exports.ConnectionFactory = exports.SSEConnection = exports.WebSocketConnection = exports.BaseConnection = exports.SynapseSDK = void 0;
|
|
22
22
|
// High-level API (Primary interface for most users)
|
|
23
23
|
var Synapse_1 = require("./Synapse");
|
|
24
24
|
Object.defineProperty(exports, "SynapseSDK", { enumerable: true, get: function () { return Synapse_1.SynapseSDK; } });
|
|
@@ -27,6 +27,8 @@ var BaseConnection_1 = require("./internal/connection/BaseConnection");
|
|
|
27
27
|
Object.defineProperty(exports, "BaseConnection", { enumerable: true, get: function () { return BaseConnection_1.BaseConnection; } });
|
|
28
28
|
var Websocket_1 = require("./connection/Websocket");
|
|
29
29
|
Object.defineProperty(exports, "WebSocketConnection", { enumerable: true, get: function () { return Websocket_1.WebSocketConnection; } });
|
|
30
|
+
var SSE_1 = require("./connection/SSE");
|
|
31
|
+
Object.defineProperty(exports, "SSEConnection", { enumerable: true, get: function () { return SSE_1.SSEConnection; } });
|
|
30
32
|
var ConnectionFactory_1 = require("./connection/ConnectionFactory");
|
|
31
33
|
Object.defineProperty(exports, "ConnectionFactory", { enumerable: true, get: function () { return ConnectionFactory_1.ConnectionFactory; } });
|
|
32
34
|
Object.defineProperty(exports, "ConnectionType", { enumerable: true, get: function () { return ConnectionFactory_1.ConnectionType; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Audio.copy.d.ts","sourceRoot":"","sources":["../../../src/media/audio/Audio.copy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAGjB,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAA8C;IAEpE,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM;IAU7C;;;;;;;OAOG;YACW,2BAA2B;IAkD5B,KAAK,CAChB,WAAW,EAAE,iBAAiB,EAC9B,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,IAAI,CAAC;YAoIF,iBAAiB;IAuB/B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"Audio.copy.d.ts","sourceRoot":"","sources":["../../../src/media/audio/Audio.copy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAGjB,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAA8C;IAEpE,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM;IAU7C;;;;;;;OAOG;YACW,2BAA2B;IAkD5B,KAAK,CAChB,WAAW,EAAE,iBAAiB,EAC9B,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,IAAI,CAAC;YAoIF,iBAAiB;IAuB/B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,wBAAwB;IAiChC;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,IAAI,IAAI,IAAI;IA4BZ;;OAEG;IACH,MAAM,IAAI,IAAI;IAgCd,OAAO,IAAI,IAAI;CAiBhB"}
|
|
@@ -237,7 +237,6 @@ class AudioManager {
|
|
|
237
237
|
clearTimeout(this.autoPauseTimer);
|
|
238
238
|
}
|
|
239
239
|
this.autoPauseTimer = setTimeout(() => {
|
|
240
|
-
console.log("Auto-pause timer triggered after 15 minutes");
|
|
241
240
|
this.stop();
|
|
242
241
|
}, this.config.maxRecordingDuration);
|
|
243
242
|
}
|
|
@@ -262,11 +261,6 @@ class AudioManager {
|
|
|
262
261
|
: new Error("MediaRecorder encountered an unknown error"), { stage: "media_recorder_onerror" });
|
|
263
262
|
};
|
|
264
263
|
this.mediaRecorder.onstart = () => {
|
|
265
|
-
console.log("MediaRecorder started recording");
|
|
266
|
-
if (this.mediaRecorder) {
|
|
267
|
-
console.log("MediaRecorder state:", this.mediaRecorder.state);
|
|
268
|
-
console.log("MediaRecorder MIME type:", this.mediaRecorder.mimeType);
|
|
269
|
-
}
|
|
270
264
|
};
|
|
271
265
|
}
|
|
272
266
|
/**
|
|
@@ -315,7 +309,6 @@ class AudioManager {
|
|
|
315
309
|
this.mediaStream.getTracks().forEach((track) => track.stop());
|
|
316
310
|
this.mediaStream = null;
|
|
317
311
|
}
|
|
318
|
-
console.log("Audio recording stopped manually");
|
|
319
312
|
}
|
|
320
313
|
catch (error) {
|
|
321
314
|
throw this.toRecordingError(error, "Failed to stop audio recording", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../src/media/audio/Audio.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAGjB,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAA8C;IAEpE,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM;YAU/B,2BAA2B;IAwB5B,KAAK,CAChB,WAAW,EAAE,iBAAiB,EAC9B,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,IAAI,CAAC;YA0GF,iBAAiB;IAuB/B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../src/media/audio/Audio.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAGjB,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAA8C;IAEpE,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM;YAU/B,2BAA2B;IAwB5B,KAAK,CAChB,WAAW,EAAE,iBAAiB,EAC9B,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,IAAI,CAAC;YA0GF,iBAAiB;IAuB/B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,wBAAwB;IAiChC;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,IAAI,IAAI,IAAI;IA4BZ;;OAEG;IACH,MAAM,IAAI,IAAI;IAgCd,OAAO,IAAI,IAAI;CAiBhB"}
|
|
@@ -184,7 +184,6 @@ class AudioManager {
|
|
|
184
184
|
clearTimeout(this.autoPauseTimer);
|
|
185
185
|
}
|
|
186
186
|
this.autoPauseTimer = setTimeout(() => {
|
|
187
|
-
console.log("Auto-pause timer triggered after 15 minutes");
|
|
188
187
|
this.stop();
|
|
189
188
|
}, this.config.maxRecordingDuration);
|
|
190
189
|
}
|
|
@@ -209,11 +208,6 @@ class AudioManager {
|
|
|
209
208
|
: new Error("MediaRecorder encountered an unknown error"), { stage: "media_recorder_onerror" });
|
|
210
209
|
};
|
|
211
210
|
this.mediaRecorder.onstart = () => {
|
|
212
|
-
console.log("MediaRecorder started recording");
|
|
213
|
-
if (this.mediaRecorder) {
|
|
214
|
-
console.log("MediaRecorder state:", this.mediaRecorder.state);
|
|
215
|
-
console.log("MediaRecorder MIME type:", this.mediaRecorder.mimeType);
|
|
216
|
-
}
|
|
217
211
|
};
|
|
218
212
|
}
|
|
219
213
|
/**
|
|
@@ -262,7 +256,6 @@ class AudioManager {
|
|
|
262
256
|
this.mediaStream.getTracks().forEach((track) => track.stop());
|
|
263
257
|
this.mediaStream = null;
|
|
264
258
|
}
|
|
265
|
-
console.log("Audio recording stopped manually");
|
|
266
259
|
}
|
|
267
260
|
catch (error) {
|
|
268
261
|
throw this.toRecordingError(error, "Failed to stop audio recording", {
|
package/dist/messages/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messages/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,eAAO,MAAM,qBAAqB;;;;;;;;;CAAuB,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;CAClC;AACD,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAG1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;CAY1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;CAY/B,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACtC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAC;AAEnF,eAAO,MAAM,gCAAgC;;CAEnC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAC1C,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAG3F,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/messages/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export interface SessionResponse extends ResourceResponse {
|
|
|
16
16
|
initial_message?: TInitialMessage;
|
|
17
17
|
}
|
|
18
18
|
export interface AgentConfigResponse extends ResourceResponse {
|
|
19
|
+
connectivity?: "sse" | "socket";
|
|
19
20
|
theme?: {
|
|
20
21
|
background?: string;
|
|
21
22
|
background_img?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resources/session/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvE,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC7D,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAA;CACA;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,eAAe,CAAC,EAAE;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE;YACd,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAA;AACD,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resources/session/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvE,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC7D,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAChC,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAA;CACA;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,eAAe,CAAC,EAAE;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE;YACd,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAA;AACD,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eka-care/medassist-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.59",
|
|
4
4
|
"description": "TypeScript SDK for real-time medical chatbot experiences with session management, WebSocket connectivity, and media handling",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|