@cimulate/copilot-sdk 1.0.0
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/.babelrc +3 -0
- package/README.md +104 -0
- package/dist/bundle.cimulate.copilot-sdk.0bb38412.esm.js +2 -0
- package/dist/bundle.cimulate.copilot-sdk.0bb38412.esm.js.map +1 -0
- package/dist/bundle.cimulate.copilot-sdk.a100b7fd.umd.js +2 -0
- package/dist/bundle.cimulate.copilot-sdk.a100b7fd.umd.js.map +1 -0
- package/dist/bundle.cimulate.copilot-sdk.f5a7df44.cjs.js +2 -0
- package/dist/bundle.cimulate.copilot-sdk.f5a7df44.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.esm.js +1 -0
- package/dist/index.umd.js +1 -0
- package/package.json +39 -0
- package/rollup.config.js +68 -0
- package/src/copilot.js +116 -0
- package/src/index.js +2 -0
package/.babelrc
ADDED
package/README.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Copilot Client SDK
|
|
2
|
+
|
|
3
|
+
## Install
|
|
4
|
+
* To install from NPM registry
|
|
5
|
+
```sh
|
|
6
|
+
npm install @cimulate/copilot-sdk
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Configuration Options
|
|
10
|
+
|
|
11
|
+
| Option | Type | Default Value | Description |
|
|
12
|
+
|--------------------|-----------|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
13
|
+
| `apiKey` | `string` | **Required** | The API key used for authentication. |
|
|
14
|
+
| `baseUrl` | `string` | **Required** | The base URL of the Copilot API server. |
|
|
15
|
+
| `namespace` | `string` | `'/copilot'` | The Socket.IO namespace for the connection. |
|
|
16
|
+
| `socketioPath` | `string` | `'/api/v1/socket.io'` | The path for the Socket.IO server. |
|
|
17
|
+
| `transports` | `array` | `['polling', 'websocket']` | The transport methods used by Socket.IO. By default, <br/>it will establish connection using HTTP Long Polling <br/>and upgrade the connection to use Web Sockets. |
|
|
18
|
+
| `upgradeTransport` | `boolean` | `true` | Whether to upgrade transport methods dynamically. |
|
|
19
|
+
| `timeout` | `number` | `10000` (10 seconds) | Connection timeout in milliseconds. |
|
|
20
|
+
|
|
21
|
+
## Connection Modes
|
|
22
|
+
### Default Mode
|
|
23
|
+
```javascript
|
|
24
|
+
const client = new CimulateCopilot({
|
|
25
|
+
apiKey: "your-api-key",
|
|
26
|
+
baseUrl: "https://your.copilot.url",
|
|
27
|
+
namespace: "/copilot",
|
|
28
|
+
socketioPath: "/api/v1/socket.io",
|
|
29
|
+
transports: ["polling", "websocket"],
|
|
30
|
+
upgradeTransport: true,
|
|
31
|
+
timeout: 10000
|
|
32
|
+
});
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### HTTP Long Polling Only Mode (No Websockets)
|
|
36
|
+
```javascript
|
|
37
|
+
const client = new CimulateCopilot({
|
|
38
|
+
apiKey: "your-api-key",
|
|
39
|
+
baseUrl: "https://your.copilot.url",
|
|
40
|
+
namespace: "/copilot",
|
|
41
|
+
socketioPath: "/api/v1/socket.io",
|
|
42
|
+
transports: ["polling"],
|
|
43
|
+
upgradeTransport: false,
|
|
44
|
+
timeout: 10000
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Example Usage
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
import { CimulateCopilot } from 'cimulate-copilot';
|
|
53
|
+
|
|
54
|
+
// Establish Connection
|
|
55
|
+
const client = new CimulateCopilot({
|
|
56
|
+
apiKey: "your-api-key",
|
|
57
|
+
baseUrl: "https://your.copilot.url",
|
|
58
|
+
namespace: "/copilot",
|
|
59
|
+
socketioPath: "/api/v1/socket.io",
|
|
60
|
+
transports: ["polling", "websocket"],
|
|
61
|
+
upgradeTransport: true,
|
|
62
|
+
timeout: 10000
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Handle connection acknowledgment
|
|
66
|
+
client.onConnectAck((data) => {
|
|
67
|
+
console.log("Connected:", data);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// Handle errors
|
|
71
|
+
client.onError((err) => {
|
|
72
|
+
console.error("Error:", err);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// Perform a search request and print search acknowledgment
|
|
76
|
+
client.search(
|
|
77
|
+
{ userPrompt: "What specifications should I consider for a budget gaming laptop?", searchParams: {"query": "gaming laptops"} },
|
|
78
|
+
(response) => {
|
|
79
|
+
console.log("Search response:", response);
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
// Handler for listening to an event
|
|
84
|
+
const handleEvent = ({ eventReceived }) => {
|
|
85
|
+
console.log("Event Received:", eventReceived);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// Follow-up Example for listening to an event response
|
|
89
|
+
client.onFollowUp(handleEvent)
|
|
90
|
+
|
|
91
|
+
// Client side disconnect
|
|
92
|
+
client.disconnect();
|
|
93
|
+
|
|
94
|
+
// Handle disconnect event
|
|
95
|
+
client.onDisconnect((reason) => {
|
|
96
|
+
console.log("Disconnected:", reason);
|
|
97
|
+
});
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Notes
|
|
101
|
+
- The `apiKey` is required to authenticate and establish the connection.
|
|
102
|
+
- Ensure the `baseUrl` matches the appropriate Copilot API environment.
|
|
103
|
+
- Set `upgradeTransport: false` if you want to restrict transport to the defined methods.
|
|
104
|
+
- Adjust the `timeout` based on your network conditions.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import t from"socket.io-client";class e{constructor({apiKey:e,baseUrl:o,namespace:s="/copilot",socketioPath:i="/api/v1/socket.io",transports:c=["polling","websocket"],upgradeTransport:n=!0,timeout:a=1e4}){this.apiKey=e,this.baseUrl=o,this.timeout=a;const r=`${o}${s}`;this.socket=t(r,{path:i,withCredentials:!0,transports:c,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}},upgrade:n})}search({userPrompt:t,searchParams:e},o=null){const s={user_prompt:t,search_params:e};o?this.socket.emit("copilot_search",s,o):this.socket.emit("copilot_search",s)}facetedNavigation({searchParams:t},e=null){const o={search_params:t};e?this.socket.emit("faceted_navigation",o,e):this.socket.emit("faceted_navigation",o)}cancelRequest({eventId:t,reason:e},o=null){const s={event_id:t,reason:e};o?this.socket.emit("cancel",s,o):this.socket.emit("cancel",s)}requestSessionData(t){this.socket.emit("session_info",t)}onConnectAck(t){this.socket.on("connect_ack",t)}onSearchAck(t){this.socket.on("search_ack",t)}onRefinedSearch(t){this.socket.on("refined_search",t)}onFollowUp(t){this.socket.on("follow_up",t)}onInquiry(t){this.socket.on("inquiry",t)}onPartialInquiry(t){this.socket.on("partial_inquiry",t)}onDisplayProducts(t){this.socket.on("display_products",t)}onDone(t){this.socket.on("done",t)}onError(t){this.socket.on("error",t)}disconnect(){this.socket.disconnect()}onDisconnect(t){this.socket.on("disconnect",t)}}export{e as CimulateCopilot};
|
|
2
|
+
//# sourceMappingURL=bundle.cimulate.copilot-sdk.0bb38412.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.cimulate.copilot-sdk.0bb38412.esm.js","sources":["../src/copilot.js"],"sourcesContent":["import io from 'socket.io-client';\n\nclass CimulateCopilot {\n constructor({\n apiKey,\n baseUrl,\n namespace = '/copilot',\n socketioPath = '/api/v1/socket.io',\n transports = ['polling', 'websocket'],\n upgradeTransport = true,\n timeout = 10000\n }){\n this.apiKey = apiKey;\n this.baseUrl = baseUrl;\n this.timeout = timeout;\n const socketioEndpoint = `${baseUrl}${namespace}`;\n this.socket = io(socketioEndpoint, { \n path: socketioPath,\n withCredentials: true, // enables cookies\n transports: transports,\n transportOptions: {\n polling: {\n extraHeaders: {\n 'x-cimulate-api-key': apiKey,\n },\n },\n },\n upgrade: upgradeTransport\n });\n }\n\n search({ userPrompt, searchParams }, callback = null){\n const payload = {\n user_prompt: userPrompt,\n search_params: searchParams,\n }\n if (callback){\n this.socket.emit('copilot_search', payload, callback);\n return;\n }\n this.socket.emit('copilot_search', payload);\n }\n\n facetedNavigation({ searchParams }, callback = null){\n const payload = {\n search_params: searchParams,\n }\n if (callback){\n this.socket.emit('faceted_navigation', payload, callback);\n return;\n }\n this.socket.emit('faceted_navigation', payload);\n }\n\n cancelRequest({ eventId, reason }, callback = null){\n const payload = {\n event_id: eventId,\n reason,\n }\n if (callback){\n this.socket.emit('cancel', payload, callback);\n return;\n }\n this.socket.emit('cancel', payload);\n }\n\n requestSessionData(callback){\n this.socket.emit('session_info', callback);\n }\n\n onConnectAck(callback){\n this.socket.on('connect_ack', callback);\n }\n\n onSearchAck(callback){\n this.socket.on('search_ack', callback);\n }\n\n onRefinedSearch(callback){\n this.socket.on('refined_search', callback);\n }\n\n onFollowUp(callback){\n this.socket.on('follow_up', callback);\n }\n\n onInquiry(callback){\n this.socket.on('inquiry', callback);\n }\n\n onPartialInquiry(callback){\n this.socket.on('partial_inquiry', callback);\n }\n\n onDisplayProducts(callback){\n this.socket.on('display_products', callback);\n }\n\n onDone(callback){\n this.socket.on('done', callback);\n }\n\n onError(callback){\n this.socket.on('error', callback);\n }\n\n disconnect(){\n this.socket.disconnect();\n }\n\n onDisconnect(callback){\n this.socket.on('disconnect', callback);\n }\n}\n\nexport default CimulateCopilot;\n"],"names":["CimulateCopilot","constructor","apiKey","baseUrl","namespace","socketioPath","transports","upgradeTransport","timeout","this","socketioEndpoint","socket","io","path","withCredentials","transportOptions","polling","extraHeaders","upgrade","search","userPrompt","searchParams","callback","payload","user_prompt","search_params","emit","facetedNavigation","cancelRequest","eventId","reason","event_id","requestSessionData","onConnectAck","on","onSearchAck","onRefinedSearch","onFollowUp","onInquiry","onPartialInquiry","onDisplayProducts","onDone","onError","disconnect","onDisconnect"],"mappings":"gCAEA,MAAMA,EACF,WAAAC,EAAYC,OACRA,EAAMC,QACNA,EAAOC,UACPA,EAAY,WAAUC,aACtBA,EAAe,oBAAmBC,WAClCA,EAAa,CAAC,UAAW,aAAYC,iBACrCA,GAAmB,EAAIC,QACvBA,EAAU,MAEVC,KAAKP,OAASA,EACdO,KAAKN,QAAUA,EACfM,KAAKD,QAAUA,EACf,MAAME,EAAmB,GAAGP,IAAUC,IACtCK,KAAKE,OAASC,EAAGF,EAAkB,CAC/BG,KAAMR,EACNS,iBAAiB,EACjBR,WAAYA,EACZS,iBAAkB,CACdC,QAAS,CACLC,aAAc,CACV,qBAAsBf,KAIlCgB,QAASX,GAEhB,CAED,MAAAY,EAAOC,WAAEA,EAAUC,aAAEA,GAAgBC,EAAW,MAC5C,MAAMC,EAAU,CACZC,YAAaJ,EACbK,cAAeJ,GAEfC,EACAb,KAAKE,OAAOe,KAAK,iBAAkBH,EAASD,GAGhDb,KAAKE,OAAOe,KAAK,iBAAkBH,EACtC,CAED,iBAAAI,EAAkBN,aAAEA,GAAgBC,EAAW,MAC3C,MAAMC,EAAU,CACZE,cAAeJ,GAEfC,EACAb,KAAKE,OAAOe,KAAK,qBAAsBH,EAASD,GAGpDb,KAAKE,OAAOe,KAAK,qBAAsBH,EAC1C,CAED,aAAAK,EAAcC,QAAEA,EAAOC,OAAEA,GAAUR,EAAW,MAC1C,MAAMC,EAAU,CACZQ,SAAUF,EACVC,UAEAR,EACAb,KAAKE,OAAOe,KAAK,SAAUH,EAASD,GAGxCb,KAAKE,OAAOe,KAAK,SAAUH,EAC9B,CAED,kBAAAS,CAAmBV,GACfb,KAAKE,OAAOe,KAAK,eAAgBJ,EACpC,CAED,YAAAW,CAAaX,GACTb,KAAKE,OAAOuB,GAAG,cAAeZ,EACjC,CAED,WAAAa,CAAYb,GACRb,KAAKE,OAAOuB,GAAG,aAAcZ,EAChC,CAED,eAAAc,CAAgBd,GACZb,KAAKE,OAAOuB,GAAG,iBAAkBZ,EACpC,CAED,UAAAe,CAAWf,GACPb,KAAKE,OAAOuB,GAAG,YAAaZ,EAC/B,CAED,SAAAgB,CAAUhB,GACNb,KAAKE,OAAOuB,GAAG,UAAWZ,EAC7B,CAED,gBAAAiB,CAAiBjB,GACbb,KAAKE,OAAOuB,GAAG,kBAAmBZ,EACrC,CAED,iBAAAkB,CAAkBlB,GACdb,KAAKE,OAAOuB,GAAG,mBAAoBZ,EACtC,CAED,MAAAmB,CAAOnB,GACHb,KAAKE,OAAOuB,GAAG,OAAQZ,EAC1B,CAED,OAAAoB,CAAQpB,GACJb,KAAKE,OAAOuB,GAAG,QAASZ,EAC3B,CAED,UAAAqB,GACIlC,KAAKE,OAAOgC,YACf,CAED,YAAAC,CAAatB,GACTb,KAAKE,OAAOuB,GAAG,aAAcZ,EAChC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("socket.io-client")):"function"==typeof define&&define.amd?define(["exports","socket.io-client"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CimulateCopilot={},e.io)}(this,(function(e,t){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(t);e.CimulateCopilot=class{constructor({apiKey:e,baseUrl:t,namespace:o="/copilot",socketioPath:i="/api/v1/socket.io",transports:n=["polling","websocket"],upgradeTransport:c=!0,timeout:a=1e4}){this.apiKey=e,this.baseUrl=t,this.timeout=a;const r=`${t}${o}`;this.socket=s.default(r,{path:i,withCredentials:!0,transports:n,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}},upgrade:c})}search({userPrompt:e,searchParams:t},o=null){const s={user_prompt:e,search_params:t};o?this.socket.emit("copilot_search",s,o):this.socket.emit("copilot_search",s)}facetedNavigation({searchParams:e},t=null){const o={search_params:e};t?this.socket.emit("faceted_navigation",o,t):this.socket.emit("faceted_navigation",o)}cancelRequest({eventId:e,reason:t},o=null){const s={event_id:e,reason:t};o?this.socket.emit("cancel",s,o):this.socket.emit("cancel",s)}requestSessionData(e){this.socket.emit("session_info",e)}onConnectAck(e){this.socket.on("connect_ack",e)}onSearchAck(e){this.socket.on("search_ack",e)}onRefinedSearch(e){this.socket.on("refined_search",e)}onFollowUp(e){this.socket.on("follow_up",e)}onInquiry(e){this.socket.on("inquiry",e)}onPartialInquiry(e){this.socket.on("partial_inquiry",e)}onDisplayProducts(e){this.socket.on("display_products",e)}onDone(e){this.socket.on("done",e)}onError(e){this.socket.on("error",e)}disconnect(){this.socket.disconnect()}onDisconnect(e){this.socket.on("disconnect",e)}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=bundle.cimulate.copilot-sdk.a100b7fd.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.cimulate.copilot-sdk.a100b7fd.umd.js","sources":["../src/copilot.js"],"sourcesContent":["import io from 'socket.io-client';\n\nclass CimulateCopilot {\n constructor({\n apiKey,\n baseUrl,\n namespace = '/copilot',\n socketioPath = '/api/v1/socket.io',\n transports = ['polling', 'websocket'],\n upgradeTransport = true,\n timeout = 10000\n }){\n this.apiKey = apiKey;\n this.baseUrl = baseUrl;\n this.timeout = timeout;\n const socketioEndpoint = `${baseUrl}${namespace}`;\n this.socket = io(socketioEndpoint, { \n path: socketioPath,\n withCredentials: true, // enables cookies\n transports: transports,\n transportOptions: {\n polling: {\n extraHeaders: {\n 'x-cimulate-api-key': apiKey,\n },\n },\n },\n upgrade: upgradeTransport\n });\n }\n\n search({ userPrompt, searchParams }, callback = null){\n const payload = {\n user_prompt: userPrompt,\n search_params: searchParams,\n }\n if (callback){\n this.socket.emit('copilot_search', payload, callback);\n return;\n }\n this.socket.emit('copilot_search', payload);\n }\n\n facetedNavigation({ searchParams }, callback = null){\n const payload = {\n search_params: searchParams,\n }\n if (callback){\n this.socket.emit('faceted_navigation', payload, callback);\n return;\n }\n this.socket.emit('faceted_navigation', payload);\n }\n\n cancelRequest({ eventId, reason }, callback = null){\n const payload = {\n event_id: eventId,\n reason,\n }\n if (callback){\n this.socket.emit('cancel', payload, callback);\n return;\n }\n this.socket.emit('cancel', payload);\n }\n\n requestSessionData(callback){\n this.socket.emit('session_info', callback);\n }\n\n onConnectAck(callback){\n this.socket.on('connect_ack', callback);\n }\n\n onSearchAck(callback){\n this.socket.on('search_ack', callback);\n }\n\n onRefinedSearch(callback){\n this.socket.on('refined_search', callback);\n }\n\n onFollowUp(callback){\n this.socket.on('follow_up', callback);\n }\n\n onInquiry(callback){\n this.socket.on('inquiry', callback);\n }\n\n onPartialInquiry(callback){\n this.socket.on('partial_inquiry', callback);\n }\n\n onDisplayProducts(callback){\n this.socket.on('display_products', callback);\n }\n\n onDone(callback){\n this.socket.on('done', callback);\n }\n\n onError(callback){\n this.socket.on('error', callback);\n }\n\n disconnect(){\n this.socket.disconnect();\n }\n\n onDisconnect(callback){\n this.socket.on('disconnect', callback);\n }\n}\n\nexport default CimulateCopilot;\n"],"names":["constructor","apiKey","baseUrl","namespace","socketioPath","transports","upgradeTransport","timeout","this","socketioEndpoint","socket","io","path","withCredentials","transportOptions","polling","extraHeaders","upgrade","search","userPrompt","searchParams","callback","payload","user_prompt","search_params","emit","facetedNavigation","cancelRequest","eventId","reason","event_id","requestSessionData","onConnectAck","on","onSearchAck","onRefinedSearch","onFollowUp","onInquiry","onPartialInquiry","onDisplayProducts","onDone","onError","disconnect","onDisconnect"],"mappings":"kZAEA,MACI,WAAAA,EAAYC,OACRA,EAAMC,QACNA,EAAOC,UACPA,EAAY,WAAUC,aACtBA,EAAe,oBAAmBC,WAClCA,EAAa,CAAC,UAAW,aAAYC,iBACrCA,GAAmB,EAAIC,QACvBA,EAAU,MAEVC,KAAKP,OAASA,EACdO,KAAKN,QAAUA,EACfM,KAAKD,QAAUA,EACf,MAAME,EAAmB,GAAGP,IAAUC,IACtCK,KAAKE,OAASC,EAAE,QAACF,EAAkB,CAC/BG,KAAMR,EACNS,iBAAiB,EACjBR,WAAYA,EACZS,iBAAkB,CACdC,QAAS,CACLC,aAAc,CACV,qBAAsBf,KAIlCgB,QAASX,GAEhB,CAED,MAAAY,EAAOC,WAAEA,EAAUC,aAAEA,GAAgBC,EAAW,MAC5C,MAAMC,EAAU,CACZC,YAAaJ,EACbK,cAAeJ,GAEfC,EACAb,KAAKE,OAAOe,KAAK,iBAAkBH,EAASD,GAGhDb,KAAKE,OAAOe,KAAK,iBAAkBH,EACtC,CAED,iBAAAI,EAAkBN,aAAEA,GAAgBC,EAAW,MAC3C,MAAMC,EAAU,CACZE,cAAeJ,GAEfC,EACAb,KAAKE,OAAOe,KAAK,qBAAsBH,EAASD,GAGpDb,KAAKE,OAAOe,KAAK,qBAAsBH,EAC1C,CAED,aAAAK,EAAcC,QAAEA,EAAOC,OAAEA,GAAUR,EAAW,MAC1C,MAAMC,EAAU,CACZQ,SAAUF,EACVC,UAEAR,EACAb,KAAKE,OAAOe,KAAK,SAAUH,EAASD,GAGxCb,KAAKE,OAAOe,KAAK,SAAUH,EAC9B,CAED,kBAAAS,CAAmBV,GACfb,KAAKE,OAAOe,KAAK,eAAgBJ,EACpC,CAED,YAAAW,CAAaX,GACTb,KAAKE,OAAOuB,GAAG,cAAeZ,EACjC,CAED,WAAAa,CAAYb,GACRb,KAAKE,OAAOuB,GAAG,aAAcZ,EAChC,CAED,eAAAc,CAAgBd,GACZb,KAAKE,OAAOuB,GAAG,iBAAkBZ,EACpC,CAED,UAAAe,CAAWf,GACPb,KAAKE,OAAOuB,GAAG,YAAaZ,EAC/B,CAED,SAAAgB,CAAUhB,GACNb,KAAKE,OAAOuB,GAAG,UAAWZ,EAC7B,CAED,gBAAAiB,CAAiBjB,GACbb,KAAKE,OAAOuB,GAAG,kBAAmBZ,EACrC,CAED,iBAAAkB,CAAkBlB,GACdb,KAAKE,OAAOuB,GAAG,mBAAoBZ,EACtC,CAED,MAAAmB,CAAOnB,GACHb,KAAKE,OAAOuB,GAAG,OAAQZ,EAC1B,CAED,OAAAoB,CAAQpB,GACJb,KAAKE,OAAOuB,GAAG,QAASZ,EAC3B,CAED,UAAAqB,GACIlC,KAAKE,OAAOgC,YACf,CAED,YAAAC,CAAatB,GACTb,KAAKE,OAAOuB,GAAG,aAAcZ,EAChC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("socket.io-client"));exports.CimulateCopilot=class{constructor({apiKey:t,baseUrl:o,namespace:s="/copilot",socketioPath:i="/api/v1/socket.io",transports:n=["polling","websocket"],upgradeTransport:c=!0,timeout:a=1e4}){this.apiKey=t,this.baseUrl=o,this.timeout=a;const r=`${o}${s}`;this.socket=e.default(r,{path:i,withCredentials:!0,transports:n,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":t}}},upgrade:c})}search({userPrompt:t,searchParams:e},o=null){const s={user_prompt:t,search_params:e};o?this.socket.emit("copilot_search",s,o):this.socket.emit("copilot_search",s)}facetedNavigation({searchParams:t},e=null){const o={search_params:t};e?this.socket.emit("faceted_navigation",o,e):this.socket.emit("faceted_navigation",o)}cancelRequest({eventId:t,reason:e},o=null){const s={event_id:t,reason:e};o?this.socket.emit("cancel",s,o):this.socket.emit("cancel",s)}requestSessionData(t){this.socket.emit("session_info",t)}onConnectAck(t){this.socket.on("connect_ack",t)}onSearchAck(t){this.socket.on("search_ack",t)}onRefinedSearch(t){this.socket.on("refined_search",t)}onFollowUp(t){this.socket.on("follow_up",t)}onInquiry(t){this.socket.on("inquiry",t)}onPartialInquiry(t){this.socket.on("partial_inquiry",t)}onDisplayProducts(t){this.socket.on("display_products",t)}onDone(t){this.socket.on("done",t)}onError(t){this.socket.on("error",t)}disconnect(){this.socket.disconnect()}onDisconnect(t){this.socket.on("disconnect",t)}};
|
|
2
|
+
//# sourceMappingURL=bundle.cimulate.copilot-sdk.f5a7df44.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.cimulate.copilot-sdk.f5a7df44.cjs.js","sources":["../src/copilot.js"],"sourcesContent":["import io from 'socket.io-client';\n\nclass CimulateCopilot {\n constructor({\n apiKey,\n baseUrl,\n namespace = '/copilot',\n socketioPath = '/api/v1/socket.io',\n transports = ['polling', 'websocket'],\n upgradeTransport = true,\n timeout = 10000\n }){\n this.apiKey = apiKey;\n this.baseUrl = baseUrl;\n this.timeout = timeout;\n const socketioEndpoint = `${baseUrl}${namespace}`;\n this.socket = io(socketioEndpoint, { \n path: socketioPath,\n withCredentials: true, // enables cookies\n transports: transports,\n transportOptions: {\n polling: {\n extraHeaders: {\n 'x-cimulate-api-key': apiKey,\n },\n },\n },\n upgrade: upgradeTransport\n });\n }\n\n search({ userPrompt, searchParams }, callback = null){\n const payload = {\n user_prompt: userPrompt,\n search_params: searchParams,\n }\n if (callback){\n this.socket.emit('copilot_search', payload, callback);\n return;\n }\n this.socket.emit('copilot_search', payload);\n }\n\n facetedNavigation({ searchParams }, callback = null){\n const payload = {\n search_params: searchParams,\n }\n if (callback){\n this.socket.emit('faceted_navigation', payload, callback);\n return;\n }\n this.socket.emit('faceted_navigation', payload);\n }\n\n cancelRequest({ eventId, reason }, callback = null){\n const payload = {\n event_id: eventId,\n reason,\n }\n if (callback){\n this.socket.emit('cancel', payload, callback);\n return;\n }\n this.socket.emit('cancel', payload);\n }\n\n requestSessionData(callback){\n this.socket.emit('session_info', callback);\n }\n\n onConnectAck(callback){\n this.socket.on('connect_ack', callback);\n }\n\n onSearchAck(callback){\n this.socket.on('search_ack', callback);\n }\n\n onRefinedSearch(callback){\n this.socket.on('refined_search', callback);\n }\n\n onFollowUp(callback){\n this.socket.on('follow_up', callback);\n }\n\n onInquiry(callback){\n this.socket.on('inquiry', callback);\n }\n\n onPartialInquiry(callback){\n this.socket.on('partial_inquiry', callback);\n }\n\n onDisplayProducts(callback){\n this.socket.on('display_products', callback);\n }\n\n onDone(callback){\n this.socket.on('done', callback);\n }\n\n onError(callback){\n this.socket.on('error', callback);\n }\n\n disconnect(){\n this.socket.disconnect();\n }\n\n onDisconnect(callback){\n this.socket.on('disconnect', callback);\n }\n}\n\nexport default CimulateCopilot;\n"],"names":["constructor","apiKey","baseUrl","namespace","socketioPath","transports","upgradeTransport","timeout","this","socketioEndpoint","socket","io","path","withCredentials","transportOptions","polling","extraHeaders","upgrade","search","userPrompt","searchParams","callback","payload","user_prompt","search_params","emit","facetedNavigation","cancelRequest","eventId","reason","event_id","requestSessionData","onConnectAck","on","onSearchAck","onRefinedSearch","onFollowUp","onInquiry","onPartialInquiry","onDisplayProducts","onDone","onError","disconnect","onDisconnect"],"mappings":"yMAEA,MACI,WAAAA,EAAYC,OACRA,EAAMC,QACNA,EAAOC,UACPA,EAAY,WAAUC,aACtBA,EAAe,oBAAmBC,WAClCA,EAAa,CAAC,UAAW,aAAYC,iBACrCA,GAAmB,EAAIC,QACvBA,EAAU,MAEVC,KAAKP,OAASA,EACdO,KAAKN,QAAUA,EACfM,KAAKD,QAAUA,EACf,MAAME,EAAmB,GAAGP,IAAUC,IACtCK,KAAKE,OAASC,EAAE,QAACF,EAAkB,CAC/BG,KAAMR,EACNS,iBAAiB,EACjBR,WAAYA,EACZS,iBAAkB,CACdC,QAAS,CACLC,aAAc,CACV,qBAAsBf,KAIlCgB,QAASX,GAEhB,CAED,MAAAY,EAAOC,WAAEA,EAAUC,aAAEA,GAAgBC,EAAW,MAC5C,MAAMC,EAAU,CACZC,YAAaJ,EACbK,cAAeJ,GAEfC,EACAb,KAAKE,OAAOe,KAAK,iBAAkBH,EAASD,GAGhDb,KAAKE,OAAOe,KAAK,iBAAkBH,EACtC,CAED,iBAAAI,EAAkBN,aAAEA,GAAgBC,EAAW,MAC3C,MAAMC,EAAU,CACZE,cAAeJ,GAEfC,EACAb,KAAKE,OAAOe,KAAK,qBAAsBH,EAASD,GAGpDb,KAAKE,OAAOe,KAAK,qBAAsBH,EAC1C,CAED,aAAAK,EAAcC,QAAEA,EAAOC,OAAEA,GAAUR,EAAW,MAC1C,MAAMC,EAAU,CACZQ,SAAUF,EACVC,UAEAR,EACAb,KAAKE,OAAOe,KAAK,SAAUH,EAASD,GAGxCb,KAAKE,OAAOe,KAAK,SAAUH,EAC9B,CAED,kBAAAS,CAAmBV,GACfb,KAAKE,OAAOe,KAAK,eAAgBJ,EACpC,CAED,YAAAW,CAAaX,GACTb,KAAKE,OAAOuB,GAAG,cAAeZ,EACjC,CAED,WAAAa,CAAYb,GACRb,KAAKE,OAAOuB,GAAG,aAAcZ,EAChC,CAED,eAAAc,CAAgBd,GACZb,KAAKE,OAAOuB,GAAG,iBAAkBZ,EACpC,CAED,UAAAe,CAAWf,GACPb,KAAKE,OAAOuB,GAAG,YAAaZ,EAC/B,CAED,SAAAgB,CAAUhB,GACNb,KAAKE,OAAOuB,GAAG,UAAWZ,EAC7B,CAED,gBAAAiB,CAAiBjB,GACbb,KAAKE,OAAOuB,GAAG,kBAAmBZ,EACrC,CAED,iBAAAkB,CAAkBlB,GACdb,KAAKE,OAAOuB,GAAG,mBAAoBZ,EACtC,CAED,MAAAmB,CAAOnB,GACHb,KAAKE,OAAOuB,GAAG,OAAQZ,EAC1B,CAED,OAAAoB,CAAQpB,GACJb,KAAKE,OAAOuB,GAAG,QAASZ,EAC3B,CAED,UAAAqB,GACIlC,KAAKE,OAAOgC,YACf,CAED,YAAAC,CAAatB,GACTb,KAAKE,OAAOuB,GAAG,aAAcZ,EAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("socket.io-client"));exports.CimulateCopilot=class{constructor({apiKey:t,baseUrl:o,namespace:s="/copilot",socketioPath:i="/api/v1/socket.io",transports:n=["polling","websocket"],upgradeTransport:c=!0,timeout:a=1e4}){this.apiKey=t,this.baseUrl=o,this.timeout=a;const r=`${o}${s}`;this.socket=e.default(r,{path:i,withCredentials:!0,transports:n,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":t}}},upgrade:c})}search({userPrompt:t,searchParams:e},o=null){const s={user_prompt:t,search_params:e};o?this.socket.emit("copilot_search",s,o):this.socket.emit("copilot_search",s)}facetedNavigation({searchParams:t},e=null){const o={search_params:t};e?this.socket.emit("faceted_navigation",o,e):this.socket.emit("faceted_navigation",o)}cancelRequest({eventId:t,reason:e},o=null){const s={event_id:t,reason:e};o?this.socket.emit("cancel",s,o):this.socket.emit("cancel",s)}requestSessionData(t){this.socket.emit("session_info",t)}onConnectAck(t){this.socket.on("connect_ack",t)}onSearchAck(t){this.socket.on("search_ack",t)}onRefinedSearch(t){this.socket.on("refined_search",t)}onFollowUp(t){this.socket.on("follow_up",t)}onInquiry(t){this.socket.on("inquiry",t)}onPartialInquiry(t){this.socket.on("partial_inquiry",t)}onDisplayProducts(t){this.socket.on("display_products",t)}onDone(t){this.socket.on("done",t)}onError(t){this.socket.on("error",t)}disconnect(){this.socket.disconnect()}onDisconnect(t){this.socket.on("disconnect",t)}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t from"socket.io-client";class e{constructor({apiKey:e,baseUrl:o,namespace:s="/copilot",socketioPath:i="/api/v1/socket.io",transports:c=["polling","websocket"],upgradeTransport:n=!0,timeout:a=1e4}){this.apiKey=e,this.baseUrl=o,this.timeout=a;const r=`${o}${s}`;this.socket=t(r,{path:i,withCredentials:!0,transports:c,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}},upgrade:n})}search({userPrompt:t,searchParams:e},o=null){const s={user_prompt:t,search_params:e};o?this.socket.emit("copilot_search",s,o):this.socket.emit("copilot_search",s)}facetedNavigation({searchParams:t},e=null){const o={search_params:t};e?this.socket.emit("faceted_navigation",o,e):this.socket.emit("faceted_navigation",o)}cancelRequest({eventId:t,reason:e},o=null){const s={event_id:t,reason:e};o?this.socket.emit("cancel",s,o):this.socket.emit("cancel",s)}requestSessionData(t){this.socket.emit("session_info",t)}onConnectAck(t){this.socket.on("connect_ack",t)}onSearchAck(t){this.socket.on("search_ack",t)}onRefinedSearch(t){this.socket.on("refined_search",t)}onFollowUp(t){this.socket.on("follow_up",t)}onInquiry(t){this.socket.on("inquiry",t)}onPartialInquiry(t){this.socket.on("partial_inquiry",t)}onDisplayProducts(t){this.socket.on("display_products",t)}onDone(t){this.socket.on("done",t)}onError(t){this.socket.on("error",t)}disconnect(){this.socket.disconnect()}onDisconnect(t){this.socket.on("disconnect",t)}}export{e as CimulateCopilot};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("socket.io-client")):"function"==typeof define&&define.amd?define(["exports","socket.io-client"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CimulateCopilot={},e.io)}(this,(function(e,t){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(t);e.CimulateCopilot=class{constructor({apiKey:e,baseUrl:t,namespace:o="/copilot",socketioPath:i="/api/v1/socket.io",transports:n=["polling","websocket"],upgradeTransport:c=!0,timeout:a=1e4}){this.apiKey=e,this.baseUrl=t,this.timeout=a;const r=`${t}${o}`;this.socket=s.default(r,{path:i,withCredentials:!0,transports:n,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}},upgrade:c})}search({userPrompt:e,searchParams:t},o=null){const s={user_prompt:e,search_params:t};o?this.socket.emit("copilot_search",s,o):this.socket.emit("copilot_search",s)}facetedNavigation({searchParams:e},t=null){const o={search_params:e};t?this.socket.emit("faceted_navigation",o,t):this.socket.emit("faceted_navigation",o)}cancelRequest({eventId:e,reason:t},o=null){const s={event_id:e,reason:t};o?this.socket.emit("cancel",s,o):this.socket.emit("cancel",s)}requestSessionData(e){this.socket.emit("session_info",e)}onConnectAck(e){this.socket.on("connect_ack",e)}onSearchAck(e){this.socket.on("search_ack",e)}onRefinedSearch(e){this.socket.on("refined_search",e)}onFollowUp(e){this.socket.on("follow_up",e)}onInquiry(e){this.socket.on("inquiry",e)}onPartialInquiry(e){this.socket.on("partial_inquiry",e)}onDisplayProducts(e){this.socket.on("display_products",e)}onDone(e){this.socket.on("done",e)}onError(e){this.socket.on("error",e)}disconnect(){this.socket.disconnect()}onDisconnect(e){this.socket.on("disconnect",e)}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cimulate/copilot-sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A lightweight API client SDK for Cimulate Copilot",
|
|
5
|
+
"main": "dist/index.cjs.js",
|
|
6
|
+
"module": "dist/index.esm.js",
|
|
7
|
+
"browser": "dist/index.umd.js",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "rollup -c"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [],
|
|
12
|
+
"author": "support@cimulate.ai",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"socket.io-client": "^4.7.5"
|
|
16
|
+
},
|
|
17
|
+
"peerDependencies": {
|
|
18
|
+
"react": "^18.2.0",
|
|
19
|
+
"react-dom": "^18.2.0"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@babel/cli": "^7.26.4",
|
|
23
|
+
"@babel/core": "^7.26.7",
|
|
24
|
+
"@babel/preset-env": "^7.26.7",
|
|
25
|
+
"@babel/preset-react": "^7.26.3",
|
|
26
|
+
"@rollup/plugin-commonjs": "^21.0.0",
|
|
27
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
28
|
+
"@rollup/plugin-node-resolve": "^13.0.0",
|
|
29
|
+
"babel-loader": "^9.2.1",
|
|
30
|
+
"rollup": "^2.42.0",
|
|
31
|
+
"rollup-plugin-hash": "^1.3.0",
|
|
32
|
+
"rollup-plugin-output": "^1.0.1",
|
|
33
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
34
|
+
"source-map-explorer": "^2.5.3",
|
|
35
|
+
"webpack": "^5.97.1",
|
|
36
|
+
"webpack-cli": "^6.0.1",
|
|
37
|
+
"webpack-node-externals": "^3.0.0"
|
|
38
|
+
}
|
|
39
|
+
}
|
package/rollup.config.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { defineConfig } from 'rollup';
|
|
2
|
+
import resolve from '@rollup/plugin-node-resolve';
|
|
3
|
+
import commonjs from '@rollup/plugin-commonjs';
|
|
4
|
+
import json from '@rollup/plugin-json';
|
|
5
|
+
import outputHash from 'rollup-plugin-output';
|
|
6
|
+
import { terser } from 'rollup-plugin-terser';
|
|
7
|
+
// import polyfillNode from 'rollup-plugin-polyfill-node';
|
|
8
|
+
|
|
9
|
+
export default defineConfig({
|
|
10
|
+
input: 'src/index.js',
|
|
11
|
+
output: [
|
|
12
|
+
{
|
|
13
|
+
dir: 'dist',
|
|
14
|
+
entryFileNames: `bundle.cimulate.copilot-sdk.[hash].esm.js`,
|
|
15
|
+
format: 'esm',
|
|
16
|
+
sourcemap: true,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
dir: 'dist',
|
|
20
|
+
entryFileNames: `bundle.cimulate.copilot-sdk.[hash].cjs.js`,
|
|
21
|
+
format: 'cjs',
|
|
22
|
+
sourcemap: true,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
dir: 'dist',
|
|
26
|
+
entryFileNames: `bundle.cimulate.copilot-sdk.[hash].umd.js`,
|
|
27
|
+
format: 'umd',
|
|
28
|
+
name: 'CimulateCopilot',
|
|
29
|
+
sourcemap: true,
|
|
30
|
+
globals: {
|
|
31
|
+
'socket.io-client': 'io',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
dir: 'dist',
|
|
36
|
+
entryFileNames: `index.esm.js`,
|
|
37
|
+
format: 'esm',
|
|
38
|
+
sourcemap: false,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
dir: 'dist',
|
|
42
|
+
entryFileNames: `index.cjs.js`,
|
|
43
|
+
format: 'cjs',
|
|
44
|
+
sourcemap: false,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
dir: 'dist',
|
|
48
|
+
entryFileNames: `index.umd.js`,
|
|
49
|
+
format: 'umd',
|
|
50
|
+
name: 'CimulateCopilot',
|
|
51
|
+
sourcemap: false,
|
|
52
|
+
globals: {
|
|
53
|
+
'socket.io-client': 'io',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
plugins: [
|
|
58
|
+
resolve(),
|
|
59
|
+
commonjs(),
|
|
60
|
+
json(),
|
|
61
|
+
terser(),
|
|
62
|
+
outputHash({
|
|
63
|
+
hashLength: 8,
|
|
64
|
+
include: ['**/*.js'],
|
|
65
|
+
}),
|
|
66
|
+
],
|
|
67
|
+
external: ['socket.io-client'],
|
|
68
|
+
});
|
package/src/copilot.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import io from 'socket.io-client';
|
|
2
|
+
|
|
3
|
+
class CimulateCopilot {
|
|
4
|
+
constructor({
|
|
5
|
+
apiKey,
|
|
6
|
+
baseUrl,
|
|
7
|
+
namespace = '/copilot',
|
|
8
|
+
socketioPath = '/api/v1/socket.io',
|
|
9
|
+
transports = ['polling', 'websocket'],
|
|
10
|
+
upgradeTransport = true,
|
|
11
|
+
timeout = 10000
|
|
12
|
+
}){
|
|
13
|
+
this.apiKey = apiKey;
|
|
14
|
+
this.baseUrl = baseUrl;
|
|
15
|
+
this.timeout = timeout;
|
|
16
|
+
const socketioEndpoint = `${baseUrl}${namespace}`;
|
|
17
|
+
this.socket = io(socketioEndpoint, {
|
|
18
|
+
path: socketioPath,
|
|
19
|
+
withCredentials: true, // enables cookies
|
|
20
|
+
transports: transports,
|
|
21
|
+
transportOptions: {
|
|
22
|
+
polling: {
|
|
23
|
+
extraHeaders: {
|
|
24
|
+
'x-cimulate-api-key': apiKey,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
upgrade: upgradeTransport
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
search({ userPrompt, searchParams }, callback = null){
|
|
33
|
+
const payload = {
|
|
34
|
+
user_prompt: userPrompt,
|
|
35
|
+
search_params: searchParams,
|
|
36
|
+
}
|
|
37
|
+
if (callback){
|
|
38
|
+
this.socket.emit('copilot_search', payload, callback);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.socket.emit('copilot_search', payload);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
facetedNavigation({ searchParams }, callback = null){
|
|
45
|
+
const payload = {
|
|
46
|
+
search_params: searchParams,
|
|
47
|
+
}
|
|
48
|
+
if (callback){
|
|
49
|
+
this.socket.emit('faceted_navigation', payload, callback);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.socket.emit('faceted_navigation', payload);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
cancelRequest({ eventId, reason }, callback = null){
|
|
56
|
+
const payload = {
|
|
57
|
+
event_id: eventId,
|
|
58
|
+
reason,
|
|
59
|
+
}
|
|
60
|
+
if (callback){
|
|
61
|
+
this.socket.emit('cancel', payload, callback);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this.socket.emit('cancel', payload);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
requestSessionData(callback){
|
|
68
|
+
this.socket.emit('session_info', callback);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
onConnectAck(callback){
|
|
72
|
+
this.socket.on('connect_ack', callback);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
onSearchAck(callback){
|
|
76
|
+
this.socket.on('search_ack', callback);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
onRefinedSearch(callback){
|
|
80
|
+
this.socket.on('refined_search', callback);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
onFollowUp(callback){
|
|
84
|
+
this.socket.on('follow_up', callback);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
onInquiry(callback){
|
|
88
|
+
this.socket.on('inquiry', callback);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
onPartialInquiry(callback){
|
|
92
|
+
this.socket.on('partial_inquiry', callback);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
onDisplayProducts(callback){
|
|
96
|
+
this.socket.on('display_products', callback);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
onDone(callback){
|
|
100
|
+
this.socket.on('done', callback);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
onError(callback){
|
|
104
|
+
this.socket.on('error', callback);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
disconnect(){
|
|
108
|
+
this.socket.disconnect();
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
onDisconnect(callback){
|
|
112
|
+
this.socket.on('disconnect', callback);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export default CimulateCopilot;
|
package/src/index.js
ADDED