@eka-care/medassist-core 1.0.6 → 1.0.7
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 +15 -7
- package/dist/Synapse.d.ts.map +1 -1
- package/dist/Synapse.js +18 -18
- package/dist/connection/Websocket.d.ts.map +1 -1
- package/dist/connection/Websocket.js +7 -2
- package/dist/constants/index.d.ts +2 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +9 -4
- package/dist/events/Events.d.ts +4 -5
- package/dist/events/Events.d.ts.map +1 -1
- package/dist/events/Events.js +3 -4
- package/dist/events/types.d.ts +15 -11
- package/dist/events/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -9
- package/dist/messages/MessageManager.d.ts +1 -1
- package/dist/messages/MessageManager.d.ts.map +1 -1
- package/dist/messages/MessageManager.js +44 -53
- package/dist/messages/types.d.ts +20 -18
- package/dist/messages/types.d.ts.map +1 -1
- package/dist/messages/types.js +14 -1
- package/dist/resources/index.d.ts +1 -2
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/session/types.d.ts +9 -0
- package/dist/resources/session/types.d.ts.map +1 -1
- package/dist/resources/toolCall/ToolCall.d.ts +3 -3
- package/dist/resources/toolCall/ToolCall.d.ts.map +1 -1
- package/dist/resources/toolCall/ToolCall.js +40 -0
- package/dist/resources/toolCall/types.d.ts +54 -1
- package/dist/resources/toolCall/types.d.ts.map +1 -1
- package/dist/resources/toolCall/types.js +22 -0
- package/package.json +1 -1
package/dist/Synapse.d.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Provides a simple interface for managing chat sessions
|
|
4
4
|
*/
|
|
5
5
|
import { ConnectionType } from "./connection/ConnectionFactory";
|
|
6
|
-
import { type Environment
|
|
7
|
-
import { SYNAPSE_REALTIME_EVENTS } from "./messages/types";
|
|
6
|
+
import { type Environment } from "./constants";
|
|
7
|
+
import { SYNAPSE_REALTIME_EVENTS, type TInitalPrompt } from "./messages/types";
|
|
8
8
|
import { SynapseError } from "./internal/Error/Error";
|
|
9
|
-
import { type SessionResponse } from "./resources/session/types";
|
|
9
|
+
import { type TInitialMessage, type SessionResponse } from "./resources/session/types";
|
|
10
10
|
import { type AudioMetaData } from "./media/audio/types";
|
|
11
11
|
import type { ToolCallResponse } from "./resources/toolCall/types";
|
|
12
12
|
export interface SendMessageOptions {
|
|
@@ -14,6 +14,10 @@ export interface SendMessageOptions {
|
|
|
14
14
|
messageId?: string;
|
|
15
15
|
files?: File[];
|
|
16
16
|
audio?: AudioMetaData;
|
|
17
|
+
toolCalled?: boolean;
|
|
18
|
+
tool_declined?: boolean;
|
|
19
|
+
tool_id?: string;
|
|
20
|
+
initial_prompts?: TInitalPrompt[];
|
|
17
21
|
}
|
|
18
22
|
export interface SynapseSDKOverrides {
|
|
19
23
|
prompt?: string;
|
|
@@ -34,6 +38,11 @@ export interface SynapseSDKConfig {
|
|
|
34
38
|
overrides?: SynapseSDKOverrides;
|
|
35
39
|
callbacks?: SynapseSDKCallbacks;
|
|
36
40
|
}
|
|
41
|
+
export interface SessionConfig {
|
|
42
|
+
session_id: string;
|
|
43
|
+
session_token?: string;
|
|
44
|
+
initial_message?: TInitialMessage;
|
|
45
|
+
}
|
|
37
46
|
export interface ExistingSessionOptions {
|
|
38
47
|
session_id: string;
|
|
39
48
|
session_token: string;
|
|
@@ -42,8 +51,7 @@ export declare class SynapseSDK {
|
|
|
42
51
|
private connection;
|
|
43
52
|
private messageManager;
|
|
44
53
|
private resourceManager;
|
|
45
|
-
private
|
|
46
|
-
private sessionId;
|
|
54
|
+
private sessionConfig;
|
|
47
55
|
private config;
|
|
48
56
|
private connectionType;
|
|
49
57
|
constructor(config: SynapseSDKConfig);
|
|
@@ -58,7 +66,7 @@ export declare class SynapseSDK {
|
|
|
58
66
|
/**
|
|
59
67
|
* Send a message conetnt will be text always
|
|
60
68
|
*/
|
|
61
|
-
sendMessage({ message, files, audio, }: SendMessageOptions): Promise<void>;
|
|
69
|
+
sendMessage({ message, files, audio, tool_declined, tool_id, initial_prompts }: SendMessageOptions): Promise<void>;
|
|
62
70
|
/**
|
|
63
71
|
* Register a listener for a specific event
|
|
64
72
|
*/
|
|
@@ -74,7 +82,7 @@ export declare class SynapseSDK {
|
|
|
74
82
|
/**
|
|
75
83
|
* Call tool
|
|
76
84
|
*/
|
|
77
|
-
callTool<R extends ToolCallResponse = ToolCallResponse>(name:
|
|
85
|
+
callTool<R extends ToolCallResponse = ToolCallResponse>(name: string, params?: Record<string, unknown>): Promise<R>;
|
|
78
86
|
/**
|
|
79
87
|
* Send audio
|
|
80
88
|
* */
|
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;AAGH,OAAO,EAEL,cAAc,EACf,MAAM,gCAAgC,CAAC;AAKxC,OAAO,EAAE,KAAK,WAAW,EAAa,
|
|
1
|
+
{"version":3,"file":"Synapse.d.ts","sourceRoot":"","sources":["../src/Synapse.ts"],"names":[],"mappings":"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"}
|
package/dist/Synapse.js
CHANGED
|
@@ -14,13 +14,13 @@ const types_1 = require("./messages/types");
|
|
|
14
14
|
const Error_1 = require("./utils/Error");
|
|
15
15
|
const Error_2 = require("./internal/Error/Error");
|
|
16
16
|
const Events_1 = require("./events/Events");
|
|
17
|
+
//TODO: Fix issue with handling error content type ,which is comming as a connection error to the user
|
|
17
18
|
class SynapseSDK {
|
|
18
19
|
connection = null;
|
|
19
20
|
messageManager;
|
|
20
21
|
resourceManager;
|
|
21
22
|
// private agentConfig: AgentConfig | null = null;
|
|
22
|
-
|
|
23
|
-
sessionId = null;
|
|
23
|
+
sessionConfig = null;
|
|
24
24
|
config;
|
|
25
25
|
connectionType;
|
|
26
26
|
constructor(config) {
|
|
@@ -63,7 +63,7 @@ class SynapseSDK {
|
|
|
63
63
|
/**
|
|
64
64
|
* Send a message conetnt will be text always
|
|
65
65
|
*/
|
|
66
|
-
async sendMessage({ message, files, audio, }) {
|
|
66
|
+
async sendMessage({ message, files, audio, tool_declined, tool_id, initial_prompts }) {
|
|
67
67
|
if (!this.connection) {
|
|
68
68
|
const error = new Error_2.ConnectionError("Connection not established. Session may not be initialized.", {
|
|
69
69
|
context: { stage: "sendChatMessage" },
|
|
@@ -78,6 +78,9 @@ class SynapseSDK {
|
|
|
78
78
|
message: message,
|
|
79
79
|
files: files,
|
|
80
80
|
audio: audio,
|
|
81
|
+
...(tool_declined && { tool_declined }),
|
|
82
|
+
...(tool_id && { tool_id }),
|
|
83
|
+
...(initial_prompts?.length && { initial_prompts })
|
|
81
84
|
});
|
|
82
85
|
break;
|
|
83
86
|
default:
|
|
@@ -107,16 +110,13 @@ class SynapseSDK {
|
|
|
107
110
|
* Get the session ID
|
|
108
111
|
*/
|
|
109
112
|
getSessionConfig() {
|
|
110
|
-
if (!this.
|
|
113
|
+
if (!this.sessionConfig?.session_id || !this.sessionConfig?.session_token) {
|
|
111
114
|
throw new Error_2.SessionError("Session ID or token not found", {
|
|
112
115
|
context: { stage: "getSessionConfig" },
|
|
113
116
|
hint: "Ensure the session API returns both identifiers.",
|
|
114
117
|
});
|
|
115
118
|
}
|
|
116
|
-
return
|
|
117
|
-
session_id: this.sessionId,
|
|
118
|
-
session_token: this.sessionToken,
|
|
119
|
-
};
|
|
119
|
+
return this.sessionConfig;
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
122
122
|
* Call tool
|
|
@@ -130,7 +130,7 @@ class SynapseSDK {
|
|
|
130
130
|
this.emitError(error);
|
|
131
131
|
throw error;
|
|
132
132
|
}
|
|
133
|
-
if (!this.
|
|
133
|
+
if (!this.sessionConfig?.session_id) {
|
|
134
134
|
const error = new Error_2.SessionError("Session ID not found", {
|
|
135
135
|
context: { stage: "callTool" },
|
|
136
136
|
hint: "Call startSession() before attempting to call tool.",
|
|
@@ -141,7 +141,7 @@ class SynapseSDK {
|
|
|
141
141
|
switch (this.connectionType) {
|
|
142
142
|
case ConnectionFactory_1.ConnectionType.SOCKET:
|
|
143
143
|
try {
|
|
144
|
-
const response = await this.resourceManager.callTool(this.
|
|
144
|
+
const response = await this.resourceManager.callTool(this.sessionConfig.session_id, name, params);
|
|
145
145
|
if (response.err) {
|
|
146
146
|
throw new Error_2.APIError(response.err.msg, 500, response.err);
|
|
147
147
|
}
|
|
@@ -266,8 +266,7 @@ class SynapseSDK {
|
|
|
266
266
|
hint: "Ensure the session API returns both identifiers.",
|
|
267
267
|
});
|
|
268
268
|
}
|
|
269
|
-
this.
|
|
270
|
-
this.sessionToken = sessionResponse.session_token;
|
|
269
|
+
this.sessionConfig = sessionResponse;
|
|
271
270
|
const serverUrl = (0, constants_1.getConfig)(this.config?.environment).WEBSOCKET_URL;
|
|
272
271
|
const connectionType = this.config.connectionType === "socket"
|
|
273
272
|
? ConnectionFactory_1.ConnectionType.SOCKET
|
|
@@ -397,7 +396,7 @@ class SynapseSDK {
|
|
|
397
396
|
* Handle socket connection open
|
|
398
397
|
*/
|
|
399
398
|
onSocketConnectionOpen() {
|
|
400
|
-
if (!this.
|
|
399
|
+
if (!this.sessionConfig?.session_token) {
|
|
401
400
|
const error = new Error_2.SessionError("Session token not set. Call startSession() first.", {
|
|
402
401
|
context: { stage: "onSocketConnectionOpen" },
|
|
403
402
|
hint: "Ensure startSession() completes successfully before socket opens.",
|
|
@@ -405,7 +404,7 @@ class SynapseSDK {
|
|
|
405
404
|
this.emitError(error);
|
|
406
405
|
throw error;
|
|
407
406
|
}
|
|
408
|
-
this.messageManager.sendSocketAuthMessage(this.
|
|
407
|
+
this.messageManager.sendSocketAuthMessage(this.sessionConfig.session_token);
|
|
409
408
|
}
|
|
410
409
|
/**
|
|
411
410
|
* Handle incoming socket messages
|
|
@@ -455,21 +454,22 @@ class SynapseSDK {
|
|
|
455
454
|
async handleSessionExpiry() {
|
|
456
455
|
try {
|
|
457
456
|
this.endSession();
|
|
458
|
-
if (!this.
|
|
457
|
+
if (!this.sessionConfig?.session_id ||
|
|
458
|
+
!this.sessionConfig?.session_token) {
|
|
459
459
|
const error = new Error_2.SessionError("Session ID or token not found", {
|
|
460
460
|
context: { stage: "handleSessionExpiry" },
|
|
461
461
|
});
|
|
462
462
|
this.emitError(error);
|
|
463
463
|
throw error;
|
|
464
464
|
}
|
|
465
|
-
const refreshed = await this.refreshSession(this.
|
|
465
|
+
const refreshed = await this.refreshSession(this.sessionConfig.session_id, this.sessionConfig.session_token);
|
|
466
466
|
if (!refreshed.session_id || !refreshed.session_token) {
|
|
467
467
|
throw new Error_2.SessionError("Session refresh failed", {
|
|
468
468
|
context: { stage: "handleSessionExpiry" },
|
|
469
469
|
});
|
|
470
470
|
}
|
|
471
|
-
this.
|
|
472
|
-
this.
|
|
471
|
+
this.sessionConfig.session_id = refreshed.session_id;
|
|
472
|
+
this.sessionConfig.session_token = refreshed.session_token;
|
|
473
473
|
await this.initializeConnection(refreshed);
|
|
474
474
|
this.setupEventHandlers();
|
|
475
475
|
this.config.callbacks?.onSessionRefreshed?.(refreshed);
|
|
@@ -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,
|
|
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,cAAc,CAAa;gBAEvB,MAAM,EAAE,yBAAyB;IAY7C;;OAEG;IACH,OAAO,CAAC,OAAO;IA6Bf;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,WAAW;IA8CnB;;OAEG;IACI,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAyBxD;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB;;OAEG;IACI,WAAW,IAAI,OAAO;IAItB,eAAe,IAAI,IAAI;CAI/B"}
|
|
@@ -14,7 +14,12 @@ class WebSocketConnection extends BaseConnection_1.BaseConnection {
|
|
|
14
14
|
reconnectCount = 0;
|
|
15
15
|
constructor(config) {
|
|
16
16
|
super();
|
|
17
|
-
this.config = {
|
|
17
|
+
this.config = {
|
|
18
|
+
...config,
|
|
19
|
+
reconnect: config.reconnect || true,
|
|
20
|
+
reconnectAttempts: config.reconnectAttempts || 3,
|
|
21
|
+
reconnectDelay: config.reconnectDelay || 1000,
|
|
22
|
+
};
|
|
18
23
|
this.conversationId = config.auth.sessionId;
|
|
19
24
|
this.connect();
|
|
20
25
|
}
|
|
@@ -49,7 +54,7 @@ class WebSocketConnection extends BaseConnection_1.BaseConnection {
|
|
|
49
54
|
*/
|
|
50
55
|
buildConnectionUrl() {
|
|
51
56
|
const url = new URL(this.config.serverUrl);
|
|
52
|
-
url.pathname = `/ws/med-assist/session/${this.config.auth.sessionId}/`;
|
|
57
|
+
url.pathname = `/reloaded/ws/med-assist/session/${this.config.auth.sessionId}/`;
|
|
53
58
|
return url.toString();
|
|
54
59
|
}
|
|
55
60
|
/**
|
|
@@ -16,7 +16,8 @@ export declare enum SYNAPSE_TOOL_NAME {
|
|
|
16
16
|
MOBILE_VERIFICATION = "mobile_verification",
|
|
17
17
|
AVAILABILITY_DATES = "availability_dates",
|
|
18
18
|
AVAILABILITY_SLOTS = "availability_slots",
|
|
19
|
-
DOCTOR_DETAILS = "doctor_details"
|
|
19
|
+
DOCTOR_DETAILS = "doctor_details",
|
|
20
|
+
GET_LOCATION = "get_location"
|
|
20
21
|
}
|
|
21
22
|
export type Environment = "development" | "production" | "staging";
|
|
22
23
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB;;;CAGtB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB;;;CAGtB,CAAC;AAKF,QAAA,MAAM,kBAAkB;;;CAIvB,CAAC;AAEF,QAAA,MAAM,cAAc;;;CAGnB,CAAC;AACF,MAAM,MAAM,iBAAiB,GACzB,OAAO,kBAAkB,GACzB,OAAO,iBAAiB,GACxB,OAAO,cAAc,CAAC;AAE1B,eAAO,MAAM,SAAS,GACpB,cAAa,WAA0B,KACtC,iBASF,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAC9B;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,CAAC"}
|
package/dist/constants/index.js
CHANGED
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SYNAPSE_TOOL_NAME = exports.getConfig = void 0;
|
|
4
4
|
const PRODUCTION_CONFIG = {
|
|
5
|
-
WEBSOCKET_URL: "wss://matrix-ws.eka.care",
|
|
6
|
-
BASE_API_URL: "https://matrix.eka.care",
|
|
5
|
+
WEBSOCKET_URL: "wss://matrix-ws.eka.care/reloaded",
|
|
6
|
+
BASE_API_URL: "https://matrix.eka.care/reloaded",
|
|
7
7
|
};
|
|
8
|
+
// const PRODUCTION_CONFIG = {
|
|
9
|
+
// WEBSOCKET_URL: "ws://7d122fab59fd.ngrok-free.app/reloaded",
|
|
10
|
+
// BASE_API_URL: "https://7d122fab59fd.ngrok-free.app/reloaded",
|
|
11
|
+
// }
|
|
8
12
|
const DEVELOPMENT_CONFIG = {
|
|
9
13
|
// can be used for local development
|
|
10
|
-
WEBSOCKET_URL: "wss://matrix-ws.dev.eka.care",
|
|
11
|
-
BASE_API_URL: "https://matrix.dev.eka.care",
|
|
14
|
+
WEBSOCKET_URL: "wss://matrix-ws.dev.eka.care/reloaded",
|
|
15
|
+
BASE_API_URL: "https://matrix.dev.eka.care/reloaded",
|
|
12
16
|
};
|
|
13
17
|
const STAGING_CONFIG = {
|
|
14
18
|
WEBSOCKET_URL: "wss://matrix-ws.dev.eka.care",
|
|
@@ -33,4 +37,5 @@ var SYNAPSE_TOOL_NAME;
|
|
|
33
37
|
SYNAPSE_TOOL_NAME["AVAILABILITY_DATES"] = "availability_dates";
|
|
34
38
|
SYNAPSE_TOOL_NAME["AVAILABILITY_SLOTS"] = "availability_slots";
|
|
35
39
|
SYNAPSE_TOOL_NAME["DOCTOR_DETAILS"] = "doctor_details";
|
|
40
|
+
SYNAPSE_TOOL_NAME["GET_LOCATION"] = "get_location";
|
|
36
41
|
})(SYNAPSE_TOOL_NAME || (exports.SYNAPSE_TOOL_NAME = SYNAPSE_TOOL_NAME = {}));
|
package/dist/events/Events.d.ts
CHANGED
|
@@ -5,15 +5,14 @@ export declare const SOCKET_CONTENT_TYPES: {
|
|
|
5
5
|
readonly TEXT: "text";
|
|
6
6
|
readonly AUDIO: "audio";
|
|
7
7
|
readonly FILE: "file";
|
|
8
|
-
readonly
|
|
9
|
-
readonly MULTI: "multi";
|
|
10
|
-
readonly DOCTOR_CARD: "doctor_card";
|
|
8
|
+
readonly TOOL_CALL: "tool";
|
|
11
9
|
readonly TIPS: "tips";
|
|
12
10
|
readonly INLINE_TEXT: "inline_text";
|
|
13
|
-
readonly
|
|
11
|
+
readonly TOOL_START: "tool_start";
|
|
12
|
+
readonly TOOL_END: "tool_end";
|
|
14
13
|
};
|
|
15
14
|
export type SOCKET_CONTENT_TYPES = (typeof SOCKET_CONTENT_TYPES)[keyof typeof SOCKET_CONTENT_TYPES];
|
|
16
|
-
export type SOCKET_CHAT_CONTENT_TYPES = (typeof SOCKET_CONTENT_TYPES)["TEXT"] | (typeof SOCKET_CONTENT_TYPES)["FILE"] | (typeof SOCKET_CONTENT_TYPES)["
|
|
15
|
+
export type SOCKET_CHAT_CONTENT_TYPES = (typeof SOCKET_CONTENT_TYPES)["TEXT"] | (typeof SOCKET_CONTENT_TYPES)["FILE"] | (typeof SOCKET_CONTENT_TYPES)["TOOL_CALL"];
|
|
17
16
|
export declare const SOCKET_EVENTS: {
|
|
18
17
|
readonly PING: "ping";
|
|
19
18
|
readonly PONG: "pong";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../src/events/Events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,YAAY,GACrB,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,4BAA4B,GACrC,QAAQ,CAAC,iCAAiC,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,YAAY,GACrB,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,2CAA2C,GACpD,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,4BAA4B,GACrC,QAAQ,CAAC,iCAAiC,CAAC;AAG/C,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../src/events/Events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,YAAY,GACrB,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,4BAA4B,GACrC,QAAQ,CAAC,iCAAiC,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,YAAY,GACrB,QAAQ,CAAC,WAAW,GACpB,QAAQ,CAAC,2CAA2C,GACpD,QAAQ,CAAC,0BAA0B,GACnC,QAAQ,CAAC,4BAA4B,GACrC,QAAQ,CAAC,iCAAiC,CAAC;AAG/C,eAAO,MAAM,oBAAoB;;;;;;;;;CASvB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE,MAAM,MAAM,yBAAyB,GACjC,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,GACrC,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,GACrC,CAAC,OAAO,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC;AAE/C,eAAO,MAAM,aAAa;;;;;;;;;;CAahB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,eAAO,MAAM,8BAA8B;;;CAGjC,CAAC;AAEX,MAAM,MAAM,8BAA8B,GACxC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC;AAEvF,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,WAAW,CAAC;AAC7D,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,WAAW,CAAC;AAC7D,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,YAAY,CAAC;AAC/D,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,WAAW,CAAC;AAC7D,MAAM,MAAM,0CAA0C,GACpD,QAAQ,CAAC,2CAA2C,CAAC;AACvD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,0BAA0B,CAAC;AAC5E,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,4BAA4B,CAAC;AAChF,MAAM,MAAM,gCAAgC,GAC1C,QAAQ,CAAC,iCAAiC,CAAC;AAE7C,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,0BAA0B,CAAC;AAC5E,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,4BAA4B,CAAC;AAChF,MAAM,MAAM,gCAAgC,GAC1C,QAAQ,CAAC,iCAAiC,CAAC;AAC7C,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC;AAClD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,GACX,OAAO,IAAI,qBAAqB,CAYlC"}
|
package/dist/events/Events.js
CHANGED
|
@@ -7,12 +7,11 @@ exports.SOCKET_CONTENT_TYPES = {
|
|
|
7
7
|
TEXT: "text",
|
|
8
8
|
AUDIO: "audio",
|
|
9
9
|
FILE: "file",
|
|
10
|
-
|
|
11
|
-
MULTI: "multi",
|
|
12
|
-
DOCTOR_CARD: "doctor_card",
|
|
10
|
+
TOOL_CALL: "tool",
|
|
13
11
|
TIPS: "tips",
|
|
14
12
|
INLINE_TEXT: "inline_text",
|
|
15
|
-
|
|
13
|
+
TOOL_START: "tool_start",
|
|
14
|
+
TOOL_END: "tool_end",
|
|
16
15
|
};
|
|
17
16
|
exports.SOCKET_EVENTS = {
|
|
18
17
|
// Client to Server events
|
package/dist/events/types.d.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Event types for message layer
|
|
3
3
|
* These are specific to the messaging layer and don't affect the base connection layer
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { type SYNAPSE_TOOL_TYPES, type ToolDetails } from "../resources/toolCall/types";
|
|
6
|
+
import { SOCKET_CONTENT_TYPES, SOCKET_EVENTS } from "./Events";
|
|
6
7
|
export interface BaseMessage {
|
|
7
8
|
ev: SOCKET_EVENTS;
|
|
8
9
|
_id: string;
|
|
@@ -30,11 +31,11 @@ export interface AuthSynapseToMatrixMessage extends BaseMessage {
|
|
|
30
31
|
}
|
|
31
32
|
export interface ChatSynapseToMatrixMessage extends BaseMessage {
|
|
32
33
|
ev: (typeof SOCKET_EVENTS)["CHAT"];
|
|
33
|
-
ct: (typeof SOCKET_CONTENT_TYPES)["TEXT"] | (typeof SOCKET_CONTENT_TYPES)["FILE"] | (typeof SOCKET_CONTENT_TYPES)["
|
|
34
|
+
ct: (typeof SOCKET_CONTENT_TYPES)["TEXT"] | (typeof SOCKET_CONTENT_TYPES)["FILE"] | (typeof SOCKET_CONTENT_TYPES)["TOOL_CALL"];
|
|
34
35
|
data?: {
|
|
35
36
|
url?: string;
|
|
36
37
|
text?: string;
|
|
37
|
-
|
|
38
|
+
tool_id?: string;
|
|
38
39
|
hidden?: boolean;
|
|
39
40
|
extension?: string;
|
|
40
41
|
tool_use_params?: any;
|
|
@@ -56,6 +57,13 @@ export interface ConnectionEstablishedMatrixToSynapseMessage extends BaseMessage
|
|
|
56
57
|
sid: string;
|
|
57
58
|
msg: string;
|
|
58
59
|
}
|
|
60
|
+
export type ToolCallData = {
|
|
61
|
+
tool_id: string | null;
|
|
62
|
+
tool_type?: SYNAPSE_TOOL_TYPES;
|
|
63
|
+
tool_name: string;
|
|
64
|
+
details?: ToolDetails;
|
|
65
|
+
_meta?: Record<string, unknown>;
|
|
66
|
+
};
|
|
59
67
|
export interface ChatMatrixToSynapseMessage extends BaseMessage {
|
|
60
68
|
ev: (typeof SOCKET_EVENTS)["CHAT"];
|
|
61
69
|
ct: Exclude<SOCKET_CONTENT_TYPES, (typeof SOCKET_CONTENT_TYPES)["AUDIO"]>;
|
|
@@ -63,21 +71,17 @@ export interface ChatMatrixToSynapseMessage extends BaseMessage {
|
|
|
63
71
|
urls?: string[];
|
|
64
72
|
exp?: number;
|
|
65
73
|
text?: string;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
callbacks: Record<string, boolean>;
|
|
69
|
-
additional_option?: typeof MULTI_SELECT_ADDITIONAL_OPTION;
|
|
70
|
-
mobile_number?: string;
|
|
71
|
-
};
|
|
74
|
+
tips?: string[];
|
|
75
|
+
} & Partial<ToolCallData>;
|
|
72
76
|
}
|
|
73
77
|
export interface StreamMatrixToSynapseMessage extends BaseMessage {
|
|
74
78
|
ev: (typeof SOCKET_EVENTS)["STREAM"];
|
|
75
|
-
ct: (typeof SOCKET_CONTENT_TYPES)["TEXT"] | (typeof SOCKET_CONTENT_TYPES)["TIPS"];
|
|
79
|
+
ct: (typeof SOCKET_CONTENT_TYPES)["TEXT"] | (typeof SOCKET_CONTENT_TYPES)["TIPS"] | (typeof SOCKET_CONTENT_TYPES)["TOOL_CALL"] | (typeof SOCKET_CONTENT_TYPES)["TOOL_START"] | (typeof SOCKET_CONTENT_TYPES)["TOOL_END"];
|
|
76
80
|
data: {
|
|
77
81
|
text?: string;
|
|
78
82
|
progress_msg?: string;
|
|
79
83
|
tips?: string[];
|
|
80
|
-
}
|
|
84
|
+
} & Partial<ToolCallData>;
|
|
81
85
|
}
|
|
82
86
|
export interface EndOfStreamMatrixToSynapseMessage extends BaseMessage {
|
|
83
87
|
ev: (typeof SOCKET_EVENTS)["END_OF_STREAM"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,12 +16,13 @@ export * from "./resources/session/types";
|
|
|
16
16
|
export { ToolCall } from "./resources/toolCall/ToolCall";
|
|
17
17
|
export * from "./resources/toolCall/types";
|
|
18
18
|
export { MessageManager } from "./messages/MessageManager";
|
|
19
|
-
export
|
|
19
|
+
export * from "./messages/types";
|
|
20
|
+
export * from "./events/types";
|
|
20
21
|
export { HttpClient } from "./internal/Api/HttpClient";
|
|
21
22
|
export type { HttpClientConfig } from "./internal/Api/HttpClient";
|
|
22
23
|
export { SynapseError, APIError, APIUserAbortError, APIConnectionTimeoutError, BadRequestError, UnauthorizedError, PermissionDeniedError, NotFoundError, MethodNotAllowedError, RateLimitError, InternalServerError, SynapseErrorCode, } from "./internal/Error/Error";
|
|
23
24
|
export { ErrorType } from "./internal/Error/types";
|
|
24
|
-
export { type Environment
|
|
25
|
+
export { type Environment } from "./constants";
|
|
25
26
|
export { ErrorUtils } from "./utils/Error";
|
|
26
27
|
export * from "./media/audio/types";
|
|
27
28
|
export type { SendMessageOptions } from "./Synapse";
|
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,WAAW,CAAC;AAGnB,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,
|
|
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,WAAW,CAAC;AAGnB,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,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,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.
|
|
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;
|
|
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; } });
|
|
@@ -44,8 +44,8 @@ __exportStar(require("./resources/toolCall/types"), exports);
|
|
|
44
44
|
// Message layer (for advanced usage)
|
|
45
45
|
var MessageManager_1 = require("./messages/MessageManager");
|
|
46
46
|
Object.defineProperty(exports, "MessageManager", { enumerable: true, get: function () { return MessageManager_1.MessageManager; } });
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
__exportStar(require("./messages/types"), exports);
|
|
48
|
+
__exportStar(require("./events/types"), exports);
|
|
49
49
|
// Core HTTP client (for advanced usage)
|
|
50
50
|
var HttpClient_1 = require("./internal/Api/HttpClient");
|
|
51
51
|
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return HttpClient_1.HttpClient; } });
|
|
@@ -63,13 +63,11 @@ Object.defineProperty(exports, "MethodNotAllowedError", { enumerable: true, get:
|
|
|
63
63
|
Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return Error_1.RateLimitError; } });
|
|
64
64
|
Object.defineProperty(exports, "InternalServerError", { enumerable: true, get: function () { return Error_1.InternalServerError; } });
|
|
65
65
|
Object.defineProperty(exports, "SynapseErrorCode", { enumerable: true, get: function () { return Error_1.SynapseErrorCode; } });
|
|
66
|
-
var
|
|
67
|
-
Object.defineProperty(exports, "ErrorType", { enumerable: true, get: function () { return
|
|
68
|
-
var constants_1 = require("./constants");
|
|
69
|
-
Object.defineProperty(exports, "SYNAPSE_TOOL_NAME", { enumerable: true, get: function () { return constants_1.SYNAPSE_TOOL_NAME; } });
|
|
66
|
+
var types_1 = require("./internal/Error/types");
|
|
67
|
+
Object.defineProperty(exports, "ErrorType", { enumerable: true, get: function () { return types_1.ErrorType; } });
|
|
70
68
|
// Utilities
|
|
71
69
|
var Error_2 = require("./utils/Error");
|
|
72
70
|
Object.defineProperty(exports, "ErrorUtils", { enumerable: true, get: function () { return Error_2.ErrorUtils; } });
|
|
73
71
|
__exportStar(require("./media/audio/types"), exports);
|
|
74
|
-
var
|
|
75
|
-
Object.defineProperty(exports, "SYNAPSE_MESSAGE_TYPES", { enumerable: true, get: function () { return
|
|
72
|
+
var types_2 = require("./messages/types");
|
|
73
|
+
Object.defineProperty(exports, "SYNAPSE_MESSAGE_TYPES", { enumerable: true, get: function () { return types_2.SYNAPSE_MESSAGE_TYPES; } });
|
|
@@ -21,7 +21,7 @@ export declare class MessageManager {
|
|
|
21
21
|
/**
|
|
22
22
|
* send chat message through socket
|
|
23
23
|
*/
|
|
24
|
-
sendSocketMessage({ message, files, audio, url, }: SocketChatRequestData): void;
|
|
24
|
+
sendSocketMessage({ message, files, audio, url, tool_declined, tool_id, initial_prompts }: SocketChatRequestData): void;
|
|
25
25
|
/**
|
|
26
26
|
* Handle incoming chat message
|
|
27
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageManager.d.ts","sourceRoot":"","sources":["../../src/messages/MessageManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACtC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,OAAO,EAEL,KAAK,qBAAqB,EAI3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAA6B;gBAErC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,mBAAmB;IAIvE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+C/B;;OAEG;IACI,iBAAiB,CAAC,EACvB,OAAO,EACP,KAAK,EACL,KAAK,EACL,GAAG,
|
|
1
|
+
{"version":3,"file":"MessageManager.d.ts","sourceRoot":"","sources":["../../src/messages/MessageManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACtC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,OAAO,EAEL,KAAK,qBAAqB,EAI3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAA6B;gBAErC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,mBAAmB;IAIvE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+C/B;;OAEG;IACI,iBAAiB,CAAC,EACvB,OAAO,EACP,KAAK,EACL,KAAK,EACL,GAAG,EACH,aAAa,EACb,OAAO,EACP,eAAe,EAChB,EAAE,qBAAqB,GAAG,IAAI;IAiD/B;;OAEG;IACI,+BAA+B,CACpC,OAAO,EAAE,yBAAyB,GACjC,IAAI;IA8EP;;OAEG;IACI,iCAAiC,CACtC,OAAO,EAAE,2BAA2B,GACnC,IAAI;IAoFA,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI5D;;OAEG;IACI,sCAAsC,CAC3C,QAAQ,EAAE,gCAAgC,GACzC,IAAI;IAOP;;OAEG;IACI,gCAAgC,CACrC,OAAO,EAAE,0BAA0B,GAClC,IAAI;IAoBP;;OAEG;IACI,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAWxD;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAUpC;;OAEG;IACU,cAAc,CAAC,EAC1B,QAAQ,EACR,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;QAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KAClC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCjB;;OAEG;IACI,sBAAsB,IAAI,IAAI;IAsBrC;;OAEG;IACI,qBAAqB,IAAI,IAAI;IAU7B,2BAA2B,IAAI,IAAI;IAM1C;;OAEG;IACI,yBAAyB,IAAI,IAAI;IAkBxC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;CAsCzB"}
|
|
@@ -59,7 +59,7 @@ class MessageManager {
|
|
|
59
59
|
/**
|
|
60
60
|
* send chat message through socket
|
|
61
61
|
*/
|
|
62
|
-
sendSocketMessage({ message, files, audio, url, }) {
|
|
62
|
+
sendSocketMessage({ message, files, audio, url, tool_declined, tool_id, initial_prompts }) {
|
|
63
63
|
const connection = this.assertConnection("sendSocketChatMessage");
|
|
64
64
|
let outMessage;
|
|
65
65
|
if ((files && files.length > 0) || (url && url.trim() !== "")) {
|
|
@@ -77,6 +77,9 @@ class MessageManager {
|
|
|
77
77
|
ts: Date.now(),
|
|
78
78
|
data: {
|
|
79
79
|
text: message,
|
|
80
|
+
...(tool_declined && { tool_declined }),
|
|
81
|
+
...(tool_id && { tool_id }),
|
|
82
|
+
...(initial_prompts && { initial_prompts })
|
|
80
83
|
},
|
|
81
84
|
};
|
|
82
85
|
}
|
|
@@ -141,17 +144,15 @@ class MessageManager {
|
|
|
141
144
|
connection.emit(types_1.SYNAPSE_REALTIME_EVENTS.MESSAGE_CHUNK, messageData);
|
|
142
145
|
}
|
|
143
146
|
break;
|
|
144
|
-
case Events_1.SOCKET_CONTENT_TYPES.
|
|
145
|
-
|
|
146
|
-
case Events_1.SOCKET_CONTENT_TYPES.DOCTOR_CARD:
|
|
147
|
-
if (message?.data?.tool_use_id && message._id) {
|
|
147
|
+
case Events_1.SOCKET_CONTENT_TYPES.TOOL_CALL:
|
|
148
|
+
if (message?.data?.tool_id && message._id) {
|
|
148
149
|
const chatMessageData = {
|
|
149
|
-
data: { ...message.data
|
|
150
|
+
data: { ...message.data },
|
|
150
151
|
// type: message.ct,
|
|
151
152
|
messageId: message._id,
|
|
152
153
|
timestamp: message.ts,
|
|
153
154
|
};
|
|
154
|
-
connection.emit(types_1.SYNAPSE_REALTIME_EVENTS.
|
|
155
|
+
connection.emit(types_1.SYNAPSE_REALTIME_EVENTS.TOOL_CALL, chatMessageData);
|
|
155
156
|
// this.callbacks?.onElicitationTool?.(chatMessageData, message._id);
|
|
156
157
|
}
|
|
157
158
|
break;
|
|
@@ -168,14 +169,14 @@ class MessageManager {
|
|
|
168
169
|
}
|
|
169
170
|
break;
|
|
170
171
|
default:
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
172
|
+
// const error = new MessageError("Unsupported content type", {
|
|
173
|
+
// context: {
|
|
174
|
+
// stage: "handleIncomingSocketChatMessage",
|
|
175
|
+
// contentType: message.ct,
|
|
176
|
+
// },
|
|
177
|
+
// });
|
|
178
|
+
// this.emitError(error);
|
|
179
|
+
// throw error;
|
|
179
180
|
}
|
|
180
181
|
}
|
|
181
182
|
/**
|
|
@@ -218,8 +219,35 @@ class MessageManager {
|
|
|
218
219
|
return;
|
|
219
220
|
}
|
|
220
221
|
break;
|
|
222
|
+
case Events_1.SOCKET_CONTENT_TYPES.TOOL_CALL:
|
|
223
|
+
if (message?.data?.tool_id && message._id) {
|
|
224
|
+
const streamMessageData = {
|
|
225
|
+
data: { ...message.data },
|
|
226
|
+
// type: message.ct,
|
|
227
|
+
messageId: message._id,
|
|
228
|
+
timestamp: message.ts,
|
|
229
|
+
};
|
|
230
|
+
connection.emit(types_1.SYNAPSE_REALTIME_EVENTS.TOOL_CALL, streamMessageData);
|
|
231
|
+
// this.callbacks?.onElicitationTool?.(chatMessageData, message._id);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
break;
|
|
235
|
+
case Events_1.SOCKET_CONTENT_TYPES.TOOL_START:
|
|
236
|
+
const toolStartMessage = {
|
|
237
|
+
data: message?.data,
|
|
238
|
+
messageId: message._id || Date.now().toString(),
|
|
239
|
+
};
|
|
240
|
+
connection.emit(types_1.SYNAPSE_REALTIME_EVENTS.TOOL_START, toolStartMessage);
|
|
241
|
+
break;
|
|
242
|
+
case Events_1.SOCKET_CONTENT_TYPES.TOOL_END:
|
|
243
|
+
const toolEndMessage = {
|
|
244
|
+
data: message?.data,
|
|
245
|
+
messageId: message._id || Date.now().toString(),
|
|
246
|
+
};
|
|
247
|
+
connection.emit(types_1.SYNAPSE_REALTIME_EVENTS.TOOL_END, toolEndMessage);
|
|
248
|
+
break;
|
|
221
249
|
default:
|
|
222
|
-
const error = new Error_1.MessageError(
|
|
250
|
+
const error = new Error_1.MessageError(`Unsupported content type ${message?.ct}`, {
|
|
223
251
|
context: {
|
|
224
252
|
stage: "handleIncomingSocketStreamMessage",
|
|
225
253
|
contentType: message.ct,
|
|
@@ -284,43 +312,6 @@ class MessageManager {
|
|
|
284
312
|
};
|
|
285
313
|
connection.sendMessage(pingMessage);
|
|
286
314
|
}
|
|
287
|
-
// /**
|
|
288
|
-
// * start recording audio
|
|
289
|
-
// */
|
|
290
|
-
// private sendSocketStreamMessage({
|
|
291
|
-
// data,
|
|
292
|
-
// type,
|
|
293
|
-
// messageId,
|
|
294
|
-
// timestamp,
|
|
295
|
-
// }: {
|
|
296
|
-
// data: SOCKET_STREAM_DATA;
|
|
297
|
-
// type: SOCKET_CONTENT_TYPES;
|
|
298
|
-
// messageId?: string;
|
|
299
|
-
// timestamp?: number;
|
|
300
|
-
// }): void {
|
|
301
|
-
// const connection = this.assertConnection("sendSocketStreamMessage");
|
|
302
|
-
// switch (type) {
|
|
303
|
-
// case SOCKET_CONTENT_TYPES.AUDIO:
|
|
304
|
-
// const message: Outgoing.StreamSynapseToMatrixMessage = {
|
|
305
|
-
// ev: SOCKET_EVENTS.STREAM,
|
|
306
|
-
// ct: type,
|
|
307
|
-
// _id: messageId || this.generateId(),
|
|
308
|
-
// ts: timestamp || Date.now(),
|
|
309
|
-
// data: {
|
|
310
|
-
// audio: data.audio,
|
|
311
|
-
// format: data.format,
|
|
312
|
-
// },
|
|
313
|
-
// };
|
|
314
|
-
// connection.sendMessage(message);
|
|
315
|
-
// break;
|
|
316
|
-
// default:
|
|
317
|
-
// const error = new MessageError("Unsupported content type", {
|
|
318
|
-
// context: { stage: "sendSocketStreamMessage", contentType: type },
|
|
319
|
-
// });
|
|
320
|
-
// this.emitError(error);
|
|
321
|
-
// throw error;
|
|
322
|
-
// }
|
|
323
|
-
// }
|
|
324
315
|
/**
|
|
325
316
|
* send audio message
|
|
326
317
|
*/
|
package/dist/messages/types.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Types for message management
|
|
3
3
|
*/
|
|
4
|
-
import { SOCKET_CONTENT_TYPES, type IncomingSocketMessage, type OutgoingSocketMessage
|
|
4
|
+
import { SOCKET_CONTENT_TYPES, type IncomingSocketMessage, type OutgoingSocketMessage } from "../events/Events";
|
|
5
|
+
import { type ToolCallData } from "../events/types";
|
|
5
6
|
import { type AudioMetaData } from "../media/audio/types";
|
|
6
7
|
export declare const SYNAPSE_MESSAGE_TYPES: {
|
|
7
8
|
readonly TEXT: "text";
|
|
8
9
|
readonly AUDIO: "audio";
|
|
9
10
|
readonly FILE: "file";
|
|
10
|
-
readonly
|
|
11
|
-
readonly MULTI: "multi";
|
|
12
|
-
readonly DOCTOR_CARD: "doctor_card";
|
|
11
|
+
readonly TOOL_CALL: "tool";
|
|
13
12
|
readonly TIPS: "tips";
|
|
14
13
|
readonly INLINE_TEXT: "inline_text";
|
|
15
|
-
readonly
|
|
14
|
+
readonly TOOL_START: "tool_start";
|
|
15
|
+
readonly TOOL_END: "tool_end";
|
|
16
16
|
};
|
|
17
17
|
export type ContentType = SOCKET_CONTENT_TYPES;
|
|
18
18
|
export type IncomingMessage = IncomingSocketMessage;
|
|
@@ -23,10 +23,16 @@ export interface SocketChatRequestData {
|
|
|
23
23
|
files?: File[];
|
|
24
24
|
audio?: AudioMetaData;
|
|
25
25
|
url?: string;
|
|
26
|
-
|
|
26
|
+
tool_id?: string;
|
|
27
|
+
tool_declined?: boolean;
|
|
27
28
|
tool_use_params?: Record<string, unknown>;
|
|
28
29
|
hidden?: boolean;
|
|
30
|
+
initial_prompts?: TInitalPrompt[];
|
|
29
31
|
}
|
|
32
|
+
export type TInitalPrompt = {
|
|
33
|
+
role: string;
|
|
34
|
+
text: string;
|
|
35
|
+
};
|
|
30
36
|
export declare const SYNAPSE_REALTIME_EVENTS: {
|
|
31
37
|
readonly CONNECTED: "connected";
|
|
32
38
|
readonly DISCONNECTED: "disconnected";
|
|
@@ -35,8 +41,10 @@ export declare const SYNAPSE_REALTIME_EVENTS: {
|
|
|
35
41
|
readonly TIPS_MESSAGE: "tips_message";
|
|
36
42
|
readonly END_OF_STREAM: "end_of_stream";
|
|
37
43
|
readonly ERROR: "error";
|
|
38
|
-
readonly
|
|
44
|
+
readonly TOOL_CALL: "tool_call";
|
|
39
45
|
readonly INLINE_TEXT: "inline_text";
|
|
46
|
+
readonly TOOL_START: "tool_start";
|
|
47
|
+
readonly TOOL_END: "tool_end";
|
|
40
48
|
};
|
|
41
49
|
export type SYNAPSE_REALTIME_EVENTS = (typeof SYNAPSE_REALTIME_EVENTS)[keyof typeof SYNAPSE_REALTIME_EVENTS];
|
|
42
50
|
export declare const SYNAPSE_REALTIME_ERROR_CODES: {
|
|
@@ -57,7 +65,11 @@ export declare const SYNAPSE_REALTIME_RESERVED_EVENTS: {
|
|
|
57
65
|
export type SYNAPSE_REALTIME_RESERVED_EVENTS = (typeof SYNAPSE_REALTIME_RESERVED_EVENTS)[keyof typeof SYNAPSE_REALTIME_RESERVED_EVENTS];
|
|
58
66
|
export type SOCKET_STREAM_DATA = AudioMetaData;
|
|
59
67
|
export type SynapseRealTimeEventData = {
|
|
60
|
-
data:
|
|
68
|
+
data: {
|
|
69
|
+
text?: string;
|
|
70
|
+
tips?: string[];
|
|
71
|
+
name?: string;
|
|
72
|
+
} & Partial<ToolCallData>;
|
|
61
73
|
messageId?: string;
|
|
62
74
|
timestamp?: number;
|
|
63
75
|
};
|
|
@@ -78,14 +90,4 @@ export type TDoctorDetails = {
|
|
|
78
90
|
availability?: TAvailability;
|
|
79
91
|
};
|
|
80
92
|
export type SynapseContentTypes = SOCKET_CONTENT_TYPES;
|
|
81
|
-
export type ToolEscalationData = {
|
|
82
|
-
type?: ContentType;
|
|
83
|
-
choices?: string[];
|
|
84
|
-
callbacks?: Record<string, boolean>;
|
|
85
|
-
doctor_details?: TDoctorDetails;
|
|
86
|
-
additional_option?: typeof MULTI_SELECT_ADDITIONAL_OPTION;
|
|
87
|
-
text?: string;
|
|
88
|
-
tips?: string[];
|
|
89
|
-
[key: string]: unknown;
|
|
90
|
-
};
|
|
91
93
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -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,
|
|
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,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;CAClC;AACD,MAAM,MAAM,aAAa,GAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAA;AAGvD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;CAY1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE,eAAO,MAAM,4BAA4B;;;;;;;;;;CAU/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,aAAa,GAAG;IAC1B,CAAC,WAAW,EAAE,MAAM,GAAG;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC"}
|
package/dist/messages/types.js
CHANGED
|
@@ -15,8 +15,10 @@ exports.SYNAPSE_REALTIME_EVENTS = {
|
|
|
15
15
|
TIPS_MESSAGE: "tips_message",
|
|
16
16
|
END_OF_STREAM: "end_of_stream",
|
|
17
17
|
ERROR: "error",
|
|
18
|
-
|
|
18
|
+
TOOL_CALL: "tool_call",
|
|
19
19
|
INLINE_TEXT: "inline_text",
|
|
20
|
+
TOOL_START: "tool_start",
|
|
21
|
+
TOOL_END: "tool_end"
|
|
20
22
|
};
|
|
21
23
|
exports.SYNAPSE_REALTIME_ERROR_CODES = {
|
|
22
24
|
SESSION_INACTIVE: "session_not_found",
|
|
@@ -32,3 +34,14 @@ exports.SYNAPSE_REALTIME_ERROR_CODES = {
|
|
|
32
34
|
exports.SYNAPSE_REALTIME_RESERVED_EVENTS = {
|
|
33
35
|
SESSION_EXPIRED: "session_expired", //to be used for session expiry
|
|
34
36
|
};
|
|
37
|
+
// export type ToolEscalationData = {
|
|
38
|
+
// type?: ContentType;
|
|
39
|
+
// choices?: string[];
|
|
40
|
+
// callbacks?: Record<string, boolean>;
|
|
41
|
+
// doctor_details?: TDoctorDetails;
|
|
42
|
+
// additional_option?: typeof MULTI_SELECT_ADDITIONAL_OPTION;
|
|
43
|
+
// text?: string;
|
|
44
|
+
// tips?: string[];
|
|
45
|
+
// [key: string]: unknown;
|
|
46
|
+
// };
|
|
47
|
+
//TODO: tips will never come in tool escalation
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type ResourceConfig } from "./types";
|
|
5
5
|
import { type SessionResponse, type USER_FEEDBACK } from "./session/types";
|
|
6
|
-
import { SYNAPSE_TOOL_NAME } from "../constants";
|
|
7
6
|
import type { ToolCallResponse } from "./toolCall/types";
|
|
8
7
|
export declare class ResourceManager {
|
|
9
8
|
private resourceConfig;
|
|
@@ -37,6 +36,6 @@ export declare class ResourceManager {
|
|
|
37
36
|
* Call a tool
|
|
38
37
|
* POST /med-assist/api-call-tool
|
|
39
38
|
*/
|
|
40
|
-
callTool<R extends ToolCallResponse = ToolCallResponse>(sessionId: string, toolName:
|
|
39
|
+
callTool<R extends ToolCallResponse = ToolCallResponse>(sessionId: string, toolName: string, toolParams?: Record<string, unknown>): Promise<R>;
|
|
41
40
|
}
|
|
42
41
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,MAAM,EAAE,cAAc;IAgBlC;;OAEG;IACU,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBpE;;;OAGG;IACU,eAAe,CAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAgDjD;;;OAGG;IACU,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC;IAI3B;;;OAGG;IACU,YAAY,CACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;IAShB;;;OAGG;IACU,QAAQ,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EACjE,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,CAAC,CAAC;CAMd"}
|
|
@@ -5,10 +5,19 @@ export declare const USER_FEEDBACK: {
|
|
|
5
5
|
readonly NONE: "NONE";
|
|
6
6
|
};
|
|
7
7
|
export type USER_FEEDBACK = (typeof USER_FEEDBACK)[keyof typeof USER_FEEDBACK];
|
|
8
|
+
export type TInitialMessage = {
|
|
9
|
+
text?: string;
|
|
10
|
+
suggestions: {
|
|
11
|
+
label?: string;
|
|
12
|
+
value?: string;
|
|
13
|
+
response?: string;
|
|
14
|
+
}[];
|
|
15
|
+
};
|
|
8
16
|
export interface SessionResponse extends ResourceResponse {
|
|
9
17
|
session_id: string;
|
|
10
18
|
session_token?: string;
|
|
11
19
|
session_validity_s?: string;
|
|
12
20
|
msg?: string;
|
|
21
|
+
initial_message?: TInitialMessage;
|
|
13
22
|
}
|
|
14
23
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -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,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,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,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtE,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,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { SYNAPSE_TOOL_NAME } from "../../constants";
|
|
2
1
|
import { BaseResource } from "../../internal/Api/BaseResource";
|
|
3
|
-
import type
|
|
2
|
+
import { type ToolCallResponse } from "./types";
|
|
4
3
|
export declare class ToolCall extends BaseResource {
|
|
5
4
|
private basePath;
|
|
6
|
-
callTool<R extends ToolCallResponse>(sessionId: string, toolName:
|
|
5
|
+
callTool<R extends ToolCallResponse>(sessionId: string, toolName: string, toolParams?: Record<string, unknown>): Promise<R>;
|
|
6
|
+
private requestLocation;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=ToolCall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolCall.d.ts","sourceRoot":"","sources":["../../../src/resources/toolCall/ToolCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ToolCall.d.ts","sourceRoot":"","sources":["../../../src/resources/toolCall/ToolCall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,SAAS,CAAC;AAEjB,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,CAAC,QAAQ,CAA+B;IAElC,QAAQ,CAAC,CAAC,SAAS,gBAAgB,EAC9C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,CAAC,CAAC;YAYC,eAAe;CA0C9B"}
|
|
@@ -2,12 +2,52 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ToolCall = void 0;
|
|
4
4
|
const BaseResource_1 = require("../../internal/Api/BaseResource");
|
|
5
|
+
const types_1 = require("./types");
|
|
5
6
|
class ToolCall extends BaseResource_1.BaseResource {
|
|
6
7
|
basePath = "/med-assist/api-call-tool";
|
|
7
8
|
async callTool(sessionId, toolName, toolParams) {
|
|
9
|
+
if (toolName === types_1.SYNAPSE_TOOL_NAME.GET_LOCATION) {
|
|
10
|
+
return this.requestLocation();
|
|
11
|
+
}
|
|
8
12
|
return this.post(`${this.basePath}?session_id=${sessionId}&tool_name=${toolName}`, {
|
|
9
13
|
tool_params: toolParams,
|
|
10
14
|
});
|
|
11
15
|
}
|
|
16
|
+
async requestLocation() {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
if (typeof navigator === "undefined" || !navigator.geolocation) {
|
|
19
|
+
reject({
|
|
20
|
+
code: 500,
|
|
21
|
+
message: "Geolocation is not supported by this browser",
|
|
22
|
+
status: 500,
|
|
23
|
+
type: "GEOLOCATION_ERROR",
|
|
24
|
+
originalError: new Error("Geolocation is not supported by this browser"),
|
|
25
|
+
});
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
navigator.geolocation.getCurrentPosition((pos) => {
|
|
29
|
+
resolve({
|
|
30
|
+
latitude: pos.coords.latitude,
|
|
31
|
+
longitude: pos.coords.longitude,
|
|
32
|
+
accuracy: pos.coords?.accuracy ?? undefined,
|
|
33
|
+
});
|
|
34
|
+
}, (error) => {
|
|
35
|
+
//err.code: 1 permission denied, 2 position unavailable, 3 timeout
|
|
36
|
+
// reject(new Error(`Geolocation error: ${error.code}`));
|
|
37
|
+
reject({
|
|
38
|
+
code: error.code,
|
|
39
|
+
message: error.message,
|
|
40
|
+
status: 500,
|
|
41
|
+
type: "GEOLOCATION_ERROR",
|
|
42
|
+
originalError: error,
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}, {
|
|
46
|
+
timeout: 10000,
|
|
47
|
+
maximumAge: 0,
|
|
48
|
+
enableHighAccuracy: true,
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
12
52
|
}
|
|
13
53
|
exports.ToolCall = ToolCall;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { MULTI_SELECT_ADDITIONAL_OPTION } from "../../events/Events";
|
|
2
|
+
import { type TDoctorDetails } from "../../messages/types";
|
|
1
3
|
import type { ResourceResponse } from "../types";
|
|
2
4
|
export type TDoctorToolResponse = ResourceResponse & {
|
|
3
5
|
name: string;
|
|
@@ -23,5 +25,56 @@ export type TAvailableSlotsToolResponse = ResourceResponse & {
|
|
|
23
25
|
export type TAvailabilityDatesToolResponse = ResourceResponse & {
|
|
24
26
|
available_dates: string[];
|
|
25
27
|
};
|
|
26
|
-
export
|
|
28
|
+
export declare enum SYNAPSE_TOOL_NAME {
|
|
29
|
+
MOBILE_VERIFICATION = "mobile_verification",
|
|
30
|
+
AVAILABILITY_DATES = "availability_dates",
|
|
31
|
+
AVAILABILITY_SLOTS = "availability_slots",
|
|
32
|
+
DOCTOR_DETAILS = "doctor_details",
|
|
33
|
+
GET_LOCATION = "get_location"
|
|
34
|
+
}
|
|
35
|
+
export declare const SYNAPSE_COMPONENTS: {
|
|
36
|
+
readonly MOBILE_VERIFICATION: "mobile_verification";
|
|
37
|
+
readonly PILL: "pills";
|
|
38
|
+
readonly MULTI: "multi";
|
|
39
|
+
readonly DOCTOR_CARD: "doctor_card";
|
|
40
|
+
};
|
|
41
|
+
export type SYNAPSE_COMPONENT_TYPES = (typeof SYNAPSE_COMPONENTS)[keyof typeof SYNAPSE_COMPONENTS];
|
|
42
|
+
export type SYNAPSE_TOOL_TYPES = {
|
|
43
|
+
ELICITATION: "elicitation";
|
|
44
|
+
};
|
|
45
|
+
export type ToolDetails = {
|
|
46
|
+
input: {
|
|
47
|
+
options: {
|
|
48
|
+
id: string;
|
|
49
|
+
label: string;
|
|
50
|
+
value: string;
|
|
51
|
+
}[];
|
|
52
|
+
mobile_number?: string;
|
|
53
|
+
doctor_details?: TDoctorDetails;
|
|
54
|
+
additional_option?: typeof MULTI_SELECT_ADDITIONAL_OPTION;
|
|
55
|
+
text: string;
|
|
56
|
+
};
|
|
57
|
+
component: SYNAPSE_COMPONENT_TYPES;
|
|
58
|
+
_meta: Record<string, unknown> & {
|
|
59
|
+
callbacks?: ToolCallbacks;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export type ToolCallbacks = {
|
|
63
|
+
[key in SYNAPSE_TOOL_CALLBACK_NAME]: {
|
|
64
|
+
tool_name: SYNAPSE_TOOL_NAME;
|
|
65
|
+
input_schema: Record<string, unknown>;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export declare enum SYNAPSE_TOOL_CALLBACK_NAME {
|
|
69
|
+
AVAILABILITY_DATES = "tool_callback_availability_dates",
|
|
70
|
+
AVAILABILITY_SLOTS = "tool_callback_availability_slots",
|
|
71
|
+
MOBILE_VERIFICATION = "tool_callback_mobile_verification",
|
|
72
|
+
DOCTOR_DETAILS = "tool_callback_doctor_details"
|
|
73
|
+
}
|
|
74
|
+
export type TGetLocationToolResponse = ResourceResponse & {
|
|
75
|
+
latitude: number;
|
|
76
|
+
longitude: number;
|
|
77
|
+
accuracy?: number;
|
|
78
|
+
};
|
|
79
|
+
export type ToolCallResponse = TDoctorToolResponse | TAvailableSlotsToolResponse | TAvailabilityDatesToolResponse | TGetLocationToolResponse;
|
|
27
80
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resources/toolCall/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,GAAG;IAC9D,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,2BAA2B,GAAG,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/resources/toolCall/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,GAAG;IAC9D,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE;QACL,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACxD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,iBAAiB,CAAC,EAAE,OAAO,8BAA8B,CAAC;QAC1D,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE,uBAAuB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAE/B,SAAS,CAAC,EAAE,aAAa,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;KACzB,GAAG,IAAI,0BAA0B,GAAG;QACnC,SAAS,EAAE,iBAAiB,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC;CACF,CAAC;AAEF,oBAAY,0BAA0B;IACpC,kBAAkB,qCAAqC;IACvD,kBAAkB,qCAAqC;IACvD,mBAAmB,sCAAsC;IACzD,cAAc,iCAAiC;CAChD;AAED,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,2BAA2B,GAAG,8BAA8B,GAAG,wBAAwB,CAAC"}
|
|
@@ -1,2 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SYNAPSE_TOOL_CALLBACK_NAME = exports.SYNAPSE_COMPONENTS = exports.SYNAPSE_TOOL_NAME = void 0;
|
|
4
|
+
var SYNAPSE_TOOL_NAME;
|
|
5
|
+
(function (SYNAPSE_TOOL_NAME) {
|
|
6
|
+
SYNAPSE_TOOL_NAME["MOBILE_VERIFICATION"] = "mobile_verification";
|
|
7
|
+
SYNAPSE_TOOL_NAME["AVAILABILITY_DATES"] = "availability_dates";
|
|
8
|
+
SYNAPSE_TOOL_NAME["AVAILABILITY_SLOTS"] = "availability_slots";
|
|
9
|
+
SYNAPSE_TOOL_NAME["DOCTOR_DETAILS"] = "doctor_details";
|
|
10
|
+
SYNAPSE_TOOL_NAME["GET_LOCATION"] = "get_location";
|
|
11
|
+
})(SYNAPSE_TOOL_NAME || (exports.SYNAPSE_TOOL_NAME = SYNAPSE_TOOL_NAME = {}));
|
|
12
|
+
exports.SYNAPSE_COMPONENTS = {
|
|
13
|
+
MOBILE_VERIFICATION: "mobile_verification",
|
|
14
|
+
PILL: "pills",
|
|
15
|
+
MULTI: "multi",
|
|
16
|
+
DOCTOR_CARD: "doctor_card",
|
|
17
|
+
};
|
|
18
|
+
var SYNAPSE_TOOL_CALLBACK_NAME;
|
|
19
|
+
(function (SYNAPSE_TOOL_CALLBACK_NAME) {
|
|
20
|
+
SYNAPSE_TOOL_CALLBACK_NAME["AVAILABILITY_DATES"] = "tool_callback_availability_dates";
|
|
21
|
+
SYNAPSE_TOOL_CALLBACK_NAME["AVAILABILITY_SLOTS"] = "tool_callback_availability_slots";
|
|
22
|
+
SYNAPSE_TOOL_CALLBACK_NAME["MOBILE_VERIFICATION"] = "tool_callback_mobile_verification";
|
|
23
|
+
SYNAPSE_TOOL_CALLBACK_NAME["DOCTOR_DETAILS"] = "tool_callback_doctor_details";
|
|
24
|
+
})(SYNAPSE_TOOL_CALLBACK_NAME || (exports.SYNAPSE_TOOL_CALLBACK_NAME = SYNAPSE_TOOL_CALLBACK_NAME = {}));
|
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.7",
|
|
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",
|