@cimulate/copilot-sdk 1.0.0 → 1.1.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.
Files changed (96) hide show
  1. package/README.md +60 -27
  2. package/dist/bundle.cimulate.copilot-sdk.65f7195a.esm.js +2 -0
  3. package/dist/bundle.cimulate.copilot-sdk.65f7195a.esm.js.map +1 -0
  4. package/dist/bundle.cimulate.copilot-sdk.a2e829d8.cjs.js +2 -0
  5. package/dist/bundle.cimulate.copilot-sdk.a2e829d8.cjs.js.map +1 -0
  6. package/dist/bundle.cimulate.copilot-sdk.c68ae11d.umd.js +2 -0
  7. package/dist/bundle.cimulate.copilot-sdk.c68ae11d.umd.js.map +1 -0
  8. package/dist/index.cjs.js +2 -1
  9. package/dist/index.cjs.js.map +1 -0
  10. package/dist/index.esm.js +2 -1
  11. package/dist/index.esm.js.map +1 -0
  12. package/dist/index.umd.js +2 -1
  13. package/dist/index.umd.js.map +1 -0
  14. package/dist/types/copilot.d.ts +44 -0
  15. package/dist/types/index.d.ts +2 -0
  16. package/dist/types/model/Cancel.d.ts +5 -0
  17. package/dist/types/model/CommonEventFields.d.ts +5 -0
  18. package/dist/types/model/CommonFields.d.ts +9 -0
  19. package/dist/types/model/CommonRequiredFields.d.ts +7 -0
  20. package/dist/types/model/ConnectAck.d.ts +11 -0
  21. package/dist/types/model/ConnectAckMetadata.d.ts +5 -0
  22. package/dist/types/model/ConnectionAcknowledgmentMessageFields.d.ts +7 -0
  23. package/dist/types/model/CopilotSearch.d.ts +6 -0
  24. package/dist/types/model/DisplayProducts.d.ts +10 -0
  25. package/dist/types/model/DisplayProductsMessageFields.d.ts +4 -0
  26. package/dist/types/model/Done.d.ts +9 -0
  27. package/dist/types/model/Error.d.ts +11 -0
  28. package/dist/types/model/ErrorMessageFields.d.ts +5 -0
  29. package/dist/types/model/EventAck.d.ts +12 -0
  30. package/dist/types/model/EventAcknowledgmentMessageFields.d.ts +6 -0
  31. package/dist/types/model/Facet.d.ts +7 -0
  32. package/dist/types/model/FacetValue.d.ts +5 -0
  33. package/dist/types/model/FacetedNavigation.d.ts +5 -0
  34. package/dist/types/model/FollowMinusUpMessageFields.d.ts +5 -0
  35. package/dist/types/model/FollowUp.d.ts +11 -0
  36. package/dist/types/model/Inquiry.d.ts +9 -0
  37. package/dist/types/model/PartialInquiry.d.ts +11 -0
  38. package/dist/types/model/PartialInquiryMessageFields.d.ts +5 -0
  39. package/dist/types/model/RefinedSearch.d.ts +15 -0
  40. package/dist/types/model/RefinedSearchMessageFields.d.ts +9 -0
  41. package/dist/types/model/ReservedEvent.d.ts +10 -0
  42. package/dist/types/model/Root.d.ts +54 -0
  43. package/dist/types/model/SearchParameters.d.ts +5 -0
  44. package/dist/types/model/SessionData.d.ts +6 -0
  45. package/dist/types/model/SessionEventInformationReply.d.ts +5 -0
  46. package/dist/types/model/SessionEventStatusReply.d.ts +5 -0
  47. package/dist/types/model/SessionInformation.d.ts +10 -0
  48. package/dist/types/model/Suggestion.d.ts +6 -0
  49. package/dist/types/model/index.d.ts +33 -0
  50. package/package.json +10 -2
  51. package/rollup.config.js +7 -5
  52. package/src/copilot.ts +154 -0
  53. package/src/index.ts +2 -0
  54. package/src/model/Cancel.ts +6 -0
  55. package/src/model/CommonEventFields.ts +6 -0
  56. package/src/model/CommonFields.ts +10 -0
  57. package/src/model/CommonRequiredFields.ts +8 -0
  58. package/src/model/ConnectAck.ts +11 -0
  59. package/src/model/ConnectAckMetadata.ts +6 -0
  60. package/src/model/ConnectionAcknowledgmentMessageFields.ts +7 -0
  61. package/src/model/CopilotSearch.ts +6 -0
  62. package/src/model/DisplayProducts.ts +11 -0
  63. package/src/model/DisplayProductsMessageFields.ts +5 -0
  64. package/src/model/Done.ts +10 -0
  65. package/src/model/Error.ts +12 -0
  66. package/src/model/ErrorMessageFields.ts +6 -0
  67. package/src/model/EventAck.ts +12 -0
  68. package/src/model/EventAcknowledgmentMessageFields.ts +6 -0
  69. package/src/model/Facet.ts +7 -0
  70. package/src/model/FacetValue.ts +6 -0
  71. package/src/model/FacetedNavigation.ts +5 -0
  72. package/src/model/FollowMinusUpMessageFields.ts +5 -0
  73. package/src/model/FollowUp.ts +11 -0
  74. package/src/model/Inquiry.ts +10 -0
  75. package/src/model/PartialInquiry.ts +12 -0
  76. package/src/model/PartialInquiryMessageFields.ts +6 -0
  77. package/src/model/RefinedSearch.ts +15 -0
  78. package/src/model/RefinedSearchMessageFields.ts +9 -0
  79. package/src/model/ReservedEvent.ts +11 -0
  80. package/src/model/Root.ts +54 -0
  81. package/src/model/SearchParameters.ts +6 -0
  82. package/src/model/SessionData.ts +6 -0
  83. package/src/model/SessionEventInformationReply.ts +6 -0
  84. package/src/model/SessionEventStatusReply.ts +6 -0
  85. package/src/model/SessionInformation.ts +10 -0
  86. package/src/model/Suggestion.ts +7 -0
  87. package/src/model/index.ts +33 -0
  88. package/tsconfig.json +18 -0
  89. package/dist/bundle.cimulate.copilot-sdk.0bb38412.esm.js +0 -2
  90. package/dist/bundle.cimulate.copilot-sdk.0bb38412.esm.js.map +0 -1
  91. package/dist/bundle.cimulate.copilot-sdk.a100b7fd.umd.js +0 -2
  92. package/dist/bundle.cimulate.copilot-sdk.a100b7fd.umd.js.map +0 -1
  93. package/dist/bundle.cimulate.copilot-sdk.f5a7df44.cjs.js +0 -2
  94. package/dist/bundle.cimulate.copilot-sdk.f5a7df44.cjs.js.map +0 -1
  95. package/src/copilot.js +0 -116
  96. package/src/index.js +0 -2
package/README.md CHANGED
@@ -8,27 +8,19 @@ npm install @cimulate/copilot-sdk
8
8
 
9
9
  ## Configuration Options
10
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. |
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
+ | `socketOptions` | `object` | `{path: "/api/v1/socket.io", autoConnect: false, transports: ["polling", "websocket"], upgrade: true, timeout: 10000,}` | Additional SocketIO supported options can be passed in the configuration object. <br/>For more information, refer to the [SocketIO documentation](https://socket.io/docs/v4/client-options/). |
20
17
 
21
18
  ## Connection Modes
22
19
  ### Default Mode
23
20
  ```javascript
24
21
  const client = new CimulateCopilot({
25
22
  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
23
+ baseUrl: "https://cimulate.copilot.url",
32
24
  });
33
25
  ```
34
26
 
@@ -36,32 +28,33 @@ const client = new CimulateCopilot({
36
28
  ```javascript
37
29
  const client = new CimulateCopilot({
38
30
  apiKey: "your-api-key",
39
- baseUrl: "https://your.copilot.url",
31
+ baseUrl: "https://cimulate.copilot.url",
40
32
  namespace: "/copilot",
41
- socketioPath: "/api/v1/socket.io",
42
- transports: ["polling"],
43
- upgradeTransport: false,
44
- timeout: 10000
33
+ socketOptions: {
34
+ path: "/api/v1/socket.io",
35
+ transports: ["polling"],
36
+ upgrade: false,
37
+ timeout: 10000,
38
+ },
45
39
  });
46
40
  ```
47
41
 
48
42
 
49
43
  ## Example Usage
50
44
 
45
+ ### Default Usage
51
46
  ```javascript
52
- import { CimulateCopilot } from 'cimulate-copilot';
47
+ import { CimulateCopilot } from '@cimulate/copilot-sdk';
53
48
 
54
49
  // Establish Connection
55
50
  const client = new CimulateCopilot({
56
51
  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
52
+ baseUrl: "https://cimulate.copilot.url",
63
53
  });
64
54
 
55
+ // Connect to the Copilot server
56
+ client.connect();
57
+
65
58
  // Handle connection acknowledgment
66
59
  client.onConnectAck((data) => {
67
60
  console.log("Connected:", data);
@@ -97,6 +90,46 @@ client.onDisconnect((reason) => {
97
90
  });
98
91
  ```
99
92
 
93
+ ### Establishing Connection Automatically
94
+ ```javascript
95
+ import { CimulateCopilot } from '@cimulate/copilot-sdk';
96
+
97
+ // Establish Connection with autoConnect set to false
98
+ const client = new CimulateCopilot({
99
+ apiKey: "your-api-key",
100
+ baseUrl: "https://cimulate.copilot.url",
101
+ socketOptions: {
102
+ autoConnect: true,
103
+ },
104
+ });
105
+
106
+ // Handle connection acknowledgment
107
+ client.onConnectAck((data) => {
108
+ console.log("Connected:", data);
109
+ });
110
+ ```
111
+
112
+ ### Reconnecting to a Disconnected Session
113
+ ```javascript
114
+ import { CimulateCopilot } from '@cimulate/copilot-sdk';
115
+
116
+ // Establish Connection to an existing session
117
+ // Note: If session does not exists, a new session will be created.
118
+ const client = new CimulateCopilot({
119
+ apiKey: "your-api-key",
120
+ baseUrl: "https://cimulate.copilot.url",
121
+ socketOptions: {
122
+ transportOptions: {
123
+ polling: {
124
+ extraHeaders: {
125
+ "x-cimulate-copilot-session-id": "session-123",
126
+ },
127
+ },
128
+ },
129
+ });
130
+
131
+ ```
132
+
100
133
  ## Notes
101
134
  - The `apiKey` is required to authenticate and establish the connection.
102
135
  - Ensure the `baseUrl` matches the appropriate Copilot API environment.
@@ -0,0 +1,2 @@
1
+ import t from"socket.io-client";const e=t=>{if("object"==typeof t&&null!==t){if("function"==typeof Object.getPrototypeOf){const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}return"[object Object]"===Object.prototype.toString.call(t)}return!1},o=(...t)=>t.reduce(((t,s)=>{if(Array.isArray(s))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(s).forEach((n=>{["__proto__","constructor","prototype"].includes(n)||(Array.isArray(t[n])&&Array.isArray(s[n])?t[n]=o.options.mergeArrays?o.options.uniqueArrayItems?Array.from(new Set(t[n].concat(s[n]))):[...t[n],...s[n]]:s[n]:e(t[n])&&e(s[n])?t[n]=o(t[n],s[n]):t[n]=void 0===s[n]?o.options.allowUndefinedOverrides?s[n]:t[n]:s[n])})),t}),{}),s={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};o.options=s,o.withOptions=(t,...e)=>{o.options=Object.assign(Object.assign({},s),t);const n=o(...e);return o.options=s,n};const n={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};class r{constructor({apiKey:e,baseUrl:s,namespace:r="/copilot",socketOptions:c={}}){const i=`${s}${r}`;this.socket=t(i,o(n,c,{withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}}}))}connect(){this.socket.connect()}search({userPrompt:t,searchParams:e},o){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){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){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{r as CimulateCopilot};
2
+ //# sourceMappingURL=bundle.cimulate.copilot-sdk.65f7195a.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.cimulate.copilot-sdk.65f7195a.esm.js","sources":["../node_modules/ts-deepmerge/esm/index.js","../src/copilot.ts"],"sourcesContent":["// istanbul ignore next\nconst isObject = (obj) => {\n if (typeof obj === \"object\" && obj !== null) {\n if (typeof Object.getPrototypeOf === \"function\") {\n const prototype = Object.getPrototypeOf(obj);\n return prototype === Object.prototype || prototype === null;\n }\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n }\n return false;\n};\nexport const merge = (...objects) => objects.reduce((result, current) => {\n if (Array.isArray(current)) {\n throw new TypeError(\"Arguments provided to ts-deepmerge must be objects, not arrays.\");\n }\n Object.keys(current).forEach((key) => {\n if ([\"__proto__\", \"constructor\", \"prototype\"].includes(key)) {\n return;\n }\n if (Array.isArray(result[key]) && Array.isArray(current[key])) {\n result[key] = merge.options.mergeArrays\n ? merge.options.uniqueArrayItems\n ? Array.from(new Set(result[key].concat(current[key])))\n : [...result[key], ...current[key]]\n : current[key];\n }\n else if (isObject(result[key]) && isObject(current[key])) {\n result[key] = merge(result[key], current[key]);\n }\n else {\n result[key] =\n current[key] === undefined\n ? merge.options.allowUndefinedOverrides\n ? current[key]\n : result[key]\n : current[key];\n }\n });\n return result;\n}, {});\nconst defaultOptions = {\n allowUndefinedOverrides: true,\n mergeArrays: true,\n uniqueArrayItems: true,\n};\nmerge.options = defaultOptions;\nmerge.withOptions = (options, ...objects) => {\n merge.options = Object.assign(Object.assign({}, defaultOptions), options);\n const result = merge(...objects);\n merge.options = defaultOptions;\n return result;\n};\n",null],"names":["isObject","obj","Object","getPrototypeOf","prototype","toString","call","merge","objects","reduce","result","current","Array","isArray","TypeError","keys","forEach","key","includes","options","mergeArrays","uniqueArrayItems","from","Set","concat","undefined","allowUndefinedOverrides","defaultOptions","withOptions","assign","socketDefaults","path","autoConnect","transports","upgrade","timeout","CimulateCopilot","constructor","apiKey","baseUrl","namespace","socketOptions","socketioEndpoint","this","socket","io","withCredentials","transportOptions","polling","extraHeaders","connect","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":"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"}
@@ -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"));const o=t=>{if("object"==typeof t&&null!==t){if("function"==typeof Object.getPrototypeOf){const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}return"[object Object]"===Object.prototype.toString.call(t)}return!1},s=(...t)=>t.reduce(((t,e)=>{if(Array.isArray(e))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(e).forEach((r=>{["__proto__","constructor","prototype"].includes(r)||(Array.isArray(t[r])&&Array.isArray(e[r])?t[r]=s.options.mergeArrays?s.options.uniqueArrayItems?Array.from(new Set(t[r].concat(e[r]))):[...t[r],...e[r]]:e[r]:o(t[r])&&o(e[r])?t[r]=s(t[r],e[r]):t[r]=void 0===e[r]?s.options.allowUndefinedOverrides?e[r]:t[r]:e[r])})),t}),{}),r={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};s.options=r,s.withOptions=(t,...e)=>{s.options=Object.assign(Object.assign({},r),t);const o=s(...e);return s.options=r,o};const n={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};exports.CimulateCopilot=class{constructor({apiKey:t,baseUrl:o,namespace:r="/copilot",socketOptions:c={}}){const i=`${o}${r}`;this.socket=e.default(i,s(n,c,{withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":t}}}}))}connect(){this.socket.connect()}search({userPrompt:t,searchParams:e},o){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){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){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.a2e829d8.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.cimulate.copilot-sdk.a2e829d8.cjs.js","sources":["../node_modules/ts-deepmerge/esm/index.js","../src/copilot.ts"],"sourcesContent":["// istanbul ignore next\nconst isObject = (obj) => {\n if (typeof obj === \"object\" && obj !== null) {\n if (typeof Object.getPrototypeOf === \"function\") {\n const prototype = Object.getPrototypeOf(obj);\n return prototype === Object.prototype || prototype === null;\n }\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n }\n return false;\n};\nexport const merge = (...objects) => objects.reduce((result, current) => {\n if (Array.isArray(current)) {\n throw new TypeError(\"Arguments provided to ts-deepmerge must be objects, not arrays.\");\n }\n Object.keys(current).forEach((key) => {\n if ([\"__proto__\", \"constructor\", \"prototype\"].includes(key)) {\n return;\n }\n if (Array.isArray(result[key]) && Array.isArray(current[key])) {\n result[key] = merge.options.mergeArrays\n ? merge.options.uniqueArrayItems\n ? Array.from(new Set(result[key].concat(current[key])))\n : [...result[key], ...current[key]]\n : current[key];\n }\n else if (isObject(result[key]) && isObject(current[key])) {\n result[key] = merge(result[key], current[key]);\n }\n else {\n result[key] =\n current[key] === undefined\n ? merge.options.allowUndefinedOverrides\n ? current[key]\n : result[key]\n : current[key];\n }\n });\n return result;\n}, {});\nconst defaultOptions = {\n allowUndefinedOverrides: true,\n mergeArrays: true,\n uniqueArrayItems: true,\n};\nmerge.options = defaultOptions;\nmerge.withOptions = (options, ...objects) => {\n merge.options = Object.assign(Object.assign({}, defaultOptions), options);\n const result = merge(...objects);\n merge.options = defaultOptions;\n return result;\n};\n",null],"names":["isObject","obj","Object","getPrototypeOf","prototype","toString","call","merge","objects","reduce","result","current","Array","isArray","TypeError","keys","forEach","key","includes","options","mergeArrays","uniqueArrayItems","from","Set","concat","undefined","allowUndefinedOverrides","defaultOptions","withOptions","assign","socketDefaults","path","autoConnect","transports","upgrade","timeout","constructor","apiKey","baseUrl","namespace","socketOptions","socketioEndpoint","this","socket","io","withCredentials","transportOptions","polling","extraHeaders","connect","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":"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"}
@@ -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);const n=e=>{if("object"==typeof e&&null!==e){if("function"==typeof Object.getPrototypeOf){const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}return"[object Object]"===Object.prototype.toString.call(e)}return!1},i=(...e)=>e.reduce(((e,t)=>{if(Array.isArray(t))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(t).forEach((o=>{["__proto__","constructor","prototype"].includes(o)||(Array.isArray(e[o])&&Array.isArray(t[o])?e[o]=i.options.mergeArrays?i.options.uniqueArrayItems?Array.from(new Set(e[o].concat(t[o]))):[...e[o],...t[o]]:t[o]:n(e[o])&&n(t[o])?e[o]=i(e[o],t[o]):e[o]=void 0===t[o]?i.options.allowUndefinedOverrides?t[o]:e[o]:t[o])})),e}),{}),r={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};i.options=r,i.withOptions=(e,...t)=>{i.options=Object.assign(Object.assign({},r),e);const o=i(...t);return i.options=r,o};const c={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};e.CimulateCopilot=class{constructor({apiKey:e,baseUrl:t,namespace:o="/copilot",socketOptions:n={}}){const r=`${t}${o}`;this.socket=s.default(r,i(c,n,{withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}}}))}connect(){this.socket.connect()}search({userPrompt:e,searchParams:t},o){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){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){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.c68ae11d.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.cimulate.copilot-sdk.c68ae11d.umd.js","sources":["../node_modules/ts-deepmerge/esm/index.js","../src/copilot.ts"],"sourcesContent":["// istanbul ignore next\nconst isObject = (obj) => {\n if (typeof obj === \"object\" && obj !== null) {\n if (typeof Object.getPrototypeOf === \"function\") {\n const prototype = Object.getPrototypeOf(obj);\n return prototype === Object.prototype || prototype === null;\n }\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n }\n return false;\n};\nexport const merge = (...objects) => objects.reduce((result, current) => {\n if (Array.isArray(current)) {\n throw new TypeError(\"Arguments provided to ts-deepmerge must be objects, not arrays.\");\n }\n Object.keys(current).forEach((key) => {\n if ([\"__proto__\", \"constructor\", \"prototype\"].includes(key)) {\n return;\n }\n if (Array.isArray(result[key]) && Array.isArray(current[key])) {\n result[key] = merge.options.mergeArrays\n ? merge.options.uniqueArrayItems\n ? Array.from(new Set(result[key].concat(current[key])))\n : [...result[key], ...current[key]]\n : current[key];\n }\n else if (isObject(result[key]) && isObject(current[key])) {\n result[key] = merge(result[key], current[key]);\n }\n else {\n result[key] =\n current[key] === undefined\n ? merge.options.allowUndefinedOverrides\n ? current[key]\n : result[key]\n : current[key];\n }\n });\n return result;\n}, {});\nconst defaultOptions = {\n allowUndefinedOverrides: true,\n mergeArrays: true,\n uniqueArrayItems: true,\n};\nmerge.options = defaultOptions;\nmerge.withOptions = (options, ...objects) => {\n merge.options = Object.assign(Object.assign({}, defaultOptions), options);\n const result = merge(...objects);\n merge.options = defaultOptions;\n return result;\n};\n",null],"names":["isObject","obj","Object","getPrototypeOf","prototype","toString","call","merge","objects","reduce","result","current","Array","isArray","TypeError","keys","forEach","key","includes","options","mergeArrays","uniqueArrayItems","from","Set","concat","undefined","allowUndefinedOverrides","defaultOptions","withOptions","assign","socketDefaults","path","autoConnect","transports","upgrade","timeout","constructor","apiKey","baseUrl","namespace","socketOptions","socketioEndpoint","this","socket","io","withCredentials","transportOptions","polling","extraHeaders","connect","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":"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"}
package/dist/index.cjs.js CHANGED
@@ -1 +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)}};
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"));const o=t=>{if("object"==typeof t&&null!==t){if("function"==typeof Object.getPrototypeOf){const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}return"[object Object]"===Object.prototype.toString.call(t)}return!1},s=(...t)=>t.reduce(((t,e)=>{if(Array.isArray(e))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(e).forEach((r=>{["__proto__","constructor","prototype"].includes(r)||(Array.isArray(t[r])&&Array.isArray(e[r])?t[r]=s.options.mergeArrays?s.options.uniqueArrayItems?Array.from(new Set(t[r].concat(e[r]))):[...t[r],...e[r]]:e[r]:o(t[r])&&o(e[r])?t[r]=s(t[r],e[r]):t[r]=void 0===e[r]?s.options.allowUndefinedOverrides?e[r]:t[r]:e[r])})),t}),{}),r={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};s.options=r,s.withOptions=(t,...e)=>{s.options=Object.assign(Object.assign({},r),t);const o=s(...e);return s.options=r,o};const n={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};exports.CimulateCopilot=class{constructor({apiKey:t,baseUrl:o,namespace:r="/copilot",socketOptions:c={}}){const i=`${o}${r}`;this.socket=e.default(i,s(n,c,{withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":t}}}}))}connect(){this.socket.connect()}search({userPrompt:t,searchParams:e},o){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){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){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=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../node_modules/ts-deepmerge/esm/index.js","../src/copilot.ts"],"sourcesContent":["// istanbul ignore next\nconst isObject = (obj) => {\n if (typeof obj === \"object\" && obj !== null) {\n if (typeof Object.getPrototypeOf === \"function\") {\n const prototype = Object.getPrototypeOf(obj);\n return prototype === Object.prototype || prototype === null;\n }\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n }\n return false;\n};\nexport const merge = (...objects) => objects.reduce((result, current) => {\n if (Array.isArray(current)) {\n throw new TypeError(\"Arguments provided to ts-deepmerge must be objects, not arrays.\");\n }\n Object.keys(current).forEach((key) => {\n if ([\"__proto__\", \"constructor\", \"prototype\"].includes(key)) {\n return;\n }\n if (Array.isArray(result[key]) && Array.isArray(current[key])) {\n result[key] = merge.options.mergeArrays\n ? merge.options.uniqueArrayItems\n ? Array.from(new Set(result[key].concat(current[key])))\n : [...result[key], ...current[key]]\n : current[key];\n }\n else if (isObject(result[key]) && isObject(current[key])) {\n result[key] = merge(result[key], current[key]);\n }\n else {\n result[key] =\n current[key] === undefined\n ? merge.options.allowUndefinedOverrides\n ? current[key]\n : result[key]\n : current[key];\n }\n });\n return result;\n}, {});\nconst defaultOptions = {\n allowUndefinedOverrides: true,\n mergeArrays: true,\n uniqueArrayItems: true,\n};\nmerge.options = defaultOptions;\nmerge.withOptions = (options, ...objects) => {\n merge.options = Object.assign(Object.assign({}, defaultOptions), options);\n const result = merge(...objects);\n merge.options = defaultOptions;\n return result;\n};\n",null],"names":["isObject","obj","Object","getPrototypeOf","prototype","toString","call","merge","objects","reduce","result","current","Array","isArray","TypeError","keys","forEach","key","includes","options","mergeArrays","uniqueArrayItems","from","Set","concat","undefined","allowUndefinedOverrides","defaultOptions","withOptions","assign","socketDefaults","path","autoConnect","transports","upgrade","timeout","constructor","apiKey","baseUrl","namespace","socketOptions","socketioEndpoint","this","socket","io","withCredentials","transportOptions","polling","extraHeaders","connect","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":"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"}
package/dist/index.esm.js CHANGED
@@ -1 +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};
1
+ import t from"socket.io-client";const e=t=>{if("object"==typeof t&&null!==t){if("function"==typeof Object.getPrototypeOf){const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}return"[object Object]"===Object.prototype.toString.call(t)}return!1},o=(...t)=>t.reduce(((t,s)=>{if(Array.isArray(s))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(s).forEach((n=>{["__proto__","constructor","prototype"].includes(n)||(Array.isArray(t[n])&&Array.isArray(s[n])?t[n]=o.options.mergeArrays?o.options.uniqueArrayItems?Array.from(new Set(t[n].concat(s[n]))):[...t[n],...s[n]]:s[n]:e(t[n])&&e(s[n])?t[n]=o(t[n],s[n]):t[n]=void 0===s[n]?o.options.allowUndefinedOverrides?s[n]:t[n]:s[n])})),t}),{}),s={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};o.options=s,o.withOptions=(t,...e)=>{o.options=Object.assign(Object.assign({},s),t);const n=o(...e);return o.options=s,n};const n={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};class r{constructor({apiKey:e,baseUrl:s,namespace:r="/copilot",socketOptions:c={}}){const i=`${s}${r}`;this.socket=t(i,o(n,c,{withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}}}))}connect(){this.socket.connect()}search({userPrompt:t,searchParams:e},o){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){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){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{r as CimulateCopilot};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/ts-deepmerge/esm/index.js","../src/copilot.ts"],"sourcesContent":["// istanbul ignore next\nconst isObject = (obj) => {\n if (typeof obj === \"object\" && obj !== null) {\n if (typeof Object.getPrototypeOf === \"function\") {\n const prototype = Object.getPrototypeOf(obj);\n return prototype === Object.prototype || prototype === null;\n }\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n }\n return false;\n};\nexport const merge = (...objects) => objects.reduce((result, current) => {\n if (Array.isArray(current)) {\n throw new TypeError(\"Arguments provided to ts-deepmerge must be objects, not arrays.\");\n }\n Object.keys(current).forEach((key) => {\n if ([\"__proto__\", \"constructor\", \"prototype\"].includes(key)) {\n return;\n }\n if (Array.isArray(result[key]) && Array.isArray(current[key])) {\n result[key] = merge.options.mergeArrays\n ? merge.options.uniqueArrayItems\n ? Array.from(new Set(result[key].concat(current[key])))\n : [...result[key], ...current[key]]\n : current[key];\n }\n else if (isObject(result[key]) && isObject(current[key])) {\n result[key] = merge(result[key], current[key]);\n }\n else {\n result[key] =\n current[key] === undefined\n ? merge.options.allowUndefinedOverrides\n ? current[key]\n : result[key]\n : current[key];\n }\n });\n return result;\n}, {});\nconst defaultOptions = {\n allowUndefinedOverrides: true,\n mergeArrays: true,\n uniqueArrayItems: true,\n};\nmerge.options = defaultOptions;\nmerge.withOptions = (options, ...objects) => {\n merge.options = Object.assign(Object.assign({}, defaultOptions), options);\n const result = merge(...objects);\n merge.options = defaultOptions;\n return result;\n};\n",null],"names":["isObject","obj","Object","getPrototypeOf","prototype","toString","call","merge","objects","reduce","result","current","Array","isArray","TypeError","keys","forEach","key","includes","options","mergeArrays","uniqueArrayItems","from","Set","concat","undefined","allowUndefinedOverrides","defaultOptions","withOptions","assign","socketDefaults","path","autoConnect","transports","upgrade","timeout","CimulateCopilot","constructor","apiKey","baseUrl","namespace","socketOptions","socketioEndpoint","this","socket","io","withCredentials","transportOptions","polling","extraHeaders","connect","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":"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"}
package/dist/index.umd.js CHANGED
@@ -1 +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})}));
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);const n=e=>{if("object"==typeof e&&null!==e){if("function"==typeof Object.getPrototypeOf){const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}return"[object Object]"===Object.prototype.toString.call(e)}return!1},i=(...e)=>e.reduce(((e,t)=>{if(Array.isArray(t))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(t).forEach((o=>{["__proto__","constructor","prototype"].includes(o)||(Array.isArray(e[o])&&Array.isArray(t[o])?e[o]=i.options.mergeArrays?i.options.uniqueArrayItems?Array.from(new Set(e[o].concat(t[o]))):[...e[o],...t[o]]:t[o]:n(e[o])&&n(t[o])?e[o]=i(e[o],t[o]):e[o]=void 0===t[o]?i.options.allowUndefinedOverrides?t[o]:e[o]:t[o])})),e}),{}),r={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};i.options=r,i.withOptions=(e,...t)=>{i.options=Object.assign(Object.assign({},r),e);const o=i(...t);return i.options=r,o};const c={path:"/api/v1/socket.io",autoConnect:!1,transports:["polling","websocket"],upgrade:!0,timeout:1e4};e.CimulateCopilot=class{constructor({apiKey:e,baseUrl:t,namespace:o="/copilot",socketOptions:n={}}){const r=`${t}${o}`;this.socket=s.default(r,i(c,n,{withCredentials:!0,transportOptions:{polling:{extraHeaders:{"x-cimulate-api-key":e}}}}))}connect(){this.socket.connect()}search({userPrompt:e,searchParams:t},o){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){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){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=index.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../node_modules/ts-deepmerge/esm/index.js","../src/copilot.ts"],"sourcesContent":["// istanbul ignore next\nconst isObject = (obj) => {\n if (typeof obj === \"object\" && obj !== null) {\n if (typeof Object.getPrototypeOf === \"function\") {\n const prototype = Object.getPrototypeOf(obj);\n return prototype === Object.prototype || prototype === null;\n }\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n }\n return false;\n};\nexport const merge = (...objects) => objects.reduce((result, current) => {\n if (Array.isArray(current)) {\n throw new TypeError(\"Arguments provided to ts-deepmerge must be objects, not arrays.\");\n }\n Object.keys(current).forEach((key) => {\n if ([\"__proto__\", \"constructor\", \"prototype\"].includes(key)) {\n return;\n }\n if (Array.isArray(result[key]) && Array.isArray(current[key])) {\n result[key] = merge.options.mergeArrays\n ? merge.options.uniqueArrayItems\n ? Array.from(new Set(result[key].concat(current[key])))\n : [...result[key], ...current[key]]\n : current[key];\n }\n else if (isObject(result[key]) && isObject(current[key])) {\n result[key] = merge(result[key], current[key]);\n }\n else {\n result[key] =\n current[key] === undefined\n ? merge.options.allowUndefinedOverrides\n ? current[key]\n : result[key]\n : current[key];\n }\n });\n return result;\n}, {});\nconst defaultOptions = {\n allowUndefinedOverrides: true,\n mergeArrays: true,\n uniqueArrayItems: true,\n};\nmerge.options = defaultOptions;\nmerge.withOptions = (options, ...objects) => {\n merge.options = Object.assign(Object.assign({}, defaultOptions), options);\n const result = merge(...objects);\n merge.options = defaultOptions;\n return result;\n};\n",null],"names":["isObject","obj","Object","getPrototypeOf","prototype","toString","call","merge","objects","reduce","result","current","Array","isArray","TypeError","keys","forEach","key","includes","options","mergeArrays","uniqueArrayItems","from","Set","concat","undefined","allowUndefinedOverrides","defaultOptions","withOptions","assign","socketDefaults","path","autoConnect","transports","upgrade","timeout","constructor","apiKey","baseUrl","namespace","socketOptions","socketioEndpoint","this","socket","io","withCredentials","transportOptions","polling","extraHeaders","connect","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":"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"}
@@ -0,0 +1,44 @@
1
+ import { ManagerOptions, SocketOptions } from "socket.io-client";
2
+ import type * as Event from "./model/index";
3
+ type SocketIOOptions = Partial<ManagerOptions & SocketOptions>;
4
+ interface CimulateCopilotOptions {
5
+ apiKey: string;
6
+ baseUrl: string;
7
+ namespace?: string;
8
+ socketOptions?: Omit<SocketIOOptions, "withCredentials">;
9
+ }
10
+ interface SearchParams {
11
+ query: string;
12
+ facet_filters?: Record<string, string[]>;
13
+ page_size?: bigint;
14
+ page?: bigint;
15
+ }
16
+ declare class CimulateCopilot {
17
+ private socket;
18
+ constructor({ apiKey, baseUrl, namespace, socketOptions, }: CimulateCopilotOptions);
19
+ connect(): void;
20
+ search({ userPrompt, searchParams }: {
21
+ userPrompt: string;
22
+ searchParams: SearchParams;
23
+ }, callback?: (searchAck: Event.EventAck) => void): void;
24
+ facetedNavigation({ searchParams }: {
25
+ searchParams: SearchParams;
26
+ }, callback?: (facetedNavigation: Event.FacetedNavigation) => void): void;
27
+ cancelRequest({ eventId, reason }: {
28
+ eventId: string;
29
+ reason: string;
30
+ }, callback?: (cancelAck: Event.EventAck) => void): void;
31
+ requestSessionData(callback: (sessionData: Event.SessionData) => void): void;
32
+ onConnectAck(callback: (connectAck: Event.ConnectAck) => void): void;
33
+ onSearchAck(callback: (searchAck: Event.EventAck) => void): void;
34
+ onRefinedSearch(callback: (refinedSearch: Event.RefinedSearch) => void): void;
35
+ onFollowUp(callback: (followUp: Event.FollowUp) => void): void;
36
+ onInquiry(callback: (inquiry: Event.Inquiry) => void): void;
37
+ onPartialInquiry(callback: (partialInquiry: Event.PartialInquiry) => void): void;
38
+ onDisplayProducts(callback: (displayProducts: Event.DisplayProducts) => void): void;
39
+ onDone(callback: (done: Event.Done) => void): void;
40
+ onError(callback: (error: Event.Error) => void): void;
41
+ disconnect(): void;
42
+ onDisconnect(callback: (reason: string) => void): void;
43
+ }
44
+ export default CimulateCopilot;
@@ -0,0 +1,2 @@
1
+ import CimulateCopilot from './copilot';
2
+ export { CimulateCopilot };
@@ -0,0 +1,5 @@
1
+ interface Cancel {
2
+ eventId: string;
3
+ reason?: string;
4
+ }
5
+ export { Cancel };
@@ -0,0 +1,5 @@
1
+ interface CommonEventFields {
2
+ eventSourceId: string;
3
+ message: string;
4
+ }
5
+ export { CommonEventFields };
@@ -0,0 +1,9 @@
1
+ interface CommonFields {
2
+ sessionId: string;
3
+ eventId: string;
4
+ eventName: string;
5
+ timestamp: string;
6
+ eventSourceId: string;
7
+ message: string;
8
+ }
9
+ export { CommonFields };
@@ -0,0 +1,7 @@
1
+ interface CommonRequiredFields {
2
+ sessionId: string;
3
+ eventId: string;
4
+ eventName: string;
5
+ timestamp: string;
6
+ }
7
+ export { CommonRequiredFields };
@@ -0,0 +1,11 @@
1
+ import { ConnectAckMetadata } from './ConnectAckMetadata';
2
+ interface ConnectAck {
3
+ sessionId: string;
4
+ eventId: string;
5
+ eventName: string;
6
+ timestamp: string;
7
+ reservedStatus: number;
8
+ message: string;
9
+ metadata: ConnectAckMetadata;
10
+ }
11
+ export { ConnectAck };
@@ -0,0 +1,5 @@
1
+ interface ConnectAckMetadata {
2
+ version: string;
3
+ server: string;
4
+ }
5
+ export { ConnectAckMetadata };
@@ -0,0 +1,7 @@
1
+ import { ConnectAckMetadata } from './ConnectAckMetadata';
2
+ interface ConnectionAcknowledgmentMessageFields {
3
+ reservedStatus: number;
4
+ message: string;
5
+ metadata: ConnectAckMetadata;
6
+ }
7
+ export { ConnectionAcknowledgmentMessageFields };
@@ -0,0 +1,6 @@
1
+ import { SearchParameters } from './SearchParameters';
2
+ interface CopilotSearch {
3
+ searchParams: SearchParameters;
4
+ userPrompt?: string;
5
+ }
6
+ export { CopilotSearch };
@@ -0,0 +1,10 @@
1
+ interface DisplayProducts {
2
+ sessionId: string;
3
+ eventId: string;
4
+ eventName: string;
5
+ timestamp: string;
6
+ eventSourceId: string;
7
+ message: string;
8
+ products: Map<string, any>[];
9
+ }
10
+ export { DisplayProducts };
@@ -0,0 +1,4 @@
1
+ interface DisplayProductsMessageFields {
2
+ products: Map<string, any>[];
3
+ }
4
+ export { DisplayProductsMessageFields };
@@ -0,0 +1,9 @@
1
+ interface Done {
2
+ sessionId: string;
3
+ eventId: string;
4
+ eventName: string;
5
+ timestamp: string;
6
+ eventSourceId: string;
7
+ message: string;
8
+ }
9
+ export { Done };
@@ -0,0 +1,11 @@
1
+ interface Error {
2
+ sessionId: string;
3
+ eventId: string;
4
+ eventName: string;
5
+ timestamp: string;
6
+ eventSourceId: string;
7
+ message: string;
8
+ reservedStatus: number;
9
+ error: string;
10
+ }
11
+ export { Error };
@@ -0,0 +1,5 @@
1
+ interface ErrorMessageFields {
2
+ reservedStatus: number;
3
+ error: string;
4
+ }
5
+ export { ErrorMessageFields };
@@ -0,0 +1,12 @@
1
+ import { CopilotSearch } from './CopilotSearch';
2
+ interface EventAck {
3
+ sessionId: string;
4
+ eventId: string;
5
+ eventName: string;
6
+ timestamp: string;
7
+ eventSourceId: string;
8
+ message: string;
9
+ reservedStatus: string;
10
+ request: CopilotSearch;
11
+ }
12
+ export { EventAck };
@@ -0,0 +1,6 @@
1
+ import { CopilotSearch } from './CopilotSearch';
2
+ interface EventAcknowledgmentMessageFields {
3
+ reservedStatus: string;
4
+ request: CopilotSearch;
5
+ }
6
+ export { EventAcknowledgmentMessageFields };
@@ -0,0 +1,7 @@
1
+ import { FacetValue } from './FacetValue';
2
+ interface Facet {
3
+ field?: string;
4
+ label?: string;
5
+ values?: FacetValue[];
6
+ }
7
+ export { Facet };
@@ -0,0 +1,5 @@
1
+ interface FacetValue {
2
+ reservedName?: string;
3
+ count?: number;
4
+ }
5
+ export { FacetValue };
@@ -0,0 +1,5 @@
1
+ import { SearchParameters } from './SearchParameters';
2
+ interface FacetedNavigation {
3
+ searchParams: SearchParameters;
4
+ }
5
+ export { FacetedNavigation };
@@ -0,0 +1,5 @@
1
+ import { Suggestion } from './Suggestion';
2
+ interface FollowMinusUpMessageFields {
3
+ suggestions: Suggestion[];
4
+ }
5
+ export { FollowMinusUpMessageFields };
@@ -0,0 +1,11 @@
1
+ import { Suggestion } from './Suggestion';
2
+ interface FollowUp {
3
+ sessionId: string;
4
+ eventId: string;
5
+ eventName: string;
6
+ timestamp: string;
7
+ eventSourceId: string;
8
+ message: string;
9
+ suggestions: Suggestion[];
10
+ }
11
+ export { FollowUp };
@@ -0,0 +1,9 @@
1
+ interface Inquiry {
2
+ sessionId: string;
3
+ eventId: string;
4
+ eventName: string;
5
+ timestamp: string;
6
+ eventSourceId: string;
7
+ message: string;
8
+ }
9
+ export { Inquiry };
@@ -0,0 +1,11 @@
1
+ interface PartialInquiry {
2
+ sessionId: string;
3
+ eventId: string;
4
+ eventName: string;
5
+ timestamp: string;
6
+ eventSourceId: string;
7
+ message: string;
8
+ inquiryEventId: string;
9
+ index: number;
10
+ }
11
+ export { PartialInquiry };
@@ -0,0 +1,5 @@
1
+ interface PartialInquiryMessageFields {
2
+ inquiryEventId: string;
3
+ index: number;
4
+ }
5
+ export { PartialInquiryMessageFields };
@@ -0,0 +1,15 @@
1
+ import { SearchParameters } from './SearchParameters';
2
+ import { Facet } from './Facet';
3
+ interface RefinedSearch {
4
+ sessionId: string;
5
+ eventId: string;
6
+ eventName: string;
7
+ timestamp: string;
8
+ eventSourceId: string;
9
+ message: string;
10
+ searchParams: SearchParameters;
11
+ hits?: Map<string, any>[];
12
+ totalHits?: number;
13
+ facets?: Facet[];
14
+ }
15
+ export { RefinedSearch };
@@ -0,0 +1,9 @@
1
+ import { SearchParameters } from './SearchParameters';
2
+ import { Facet } from './Facet';
3
+ interface RefinedSearchMessageFields {
4
+ searchParams: SearchParameters;
5
+ hits?: Map<string, any>[];
6
+ totalHits?: number;
7
+ facets?: Facet[];
8
+ }
9
+ export { RefinedSearchMessageFields };
@@ -0,0 +1,10 @@
1
+ interface ReservedEvent {
2
+ id?: string;
3
+ sessionId?: string;
4
+ reservedName?: string;
5
+ eventSourceId?: string;
6
+ data?: any;
7
+ createdAt?: string;
8
+ metadata?: Map<string, any>;
9
+ }
10
+ export { ReservedEvent };