instantsearch.js 4.80.0 → 4.81.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/cjs/connectors/chat/connectChat.js +200 -0
- package/cjs/connectors/index.js +7 -0
- package/cjs/connectors/index.umd.js +239 -0
- package/cjs/index.js +2 -2
- package/cjs/lib/chat/chat.js +177 -0
- package/cjs/lib/chat/index.js +27 -0
- package/cjs/lib/useStickToBottom.js +20 -0
- package/cjs/lib/version.js +1 -1
- package/cjs/templates/carousel/carousel.js +31 -4
- package/cjs/widgets/chat/chat.js +615 -0
- package/cjs/widgets/index/index.js +6 -1
- package/cjs/widgets/index.js +7 -0
- package/cjs/widgets/index.umd.js +267 -0
- package/dist/instantsearch.development.d.ts +75 -11
- package/dist/instantsearch.development.js +111 -57
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +75 -11
- package/dist/instantsearch.production.min.d.ts +75 -11
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/connectors/chat/connectChat.d.ts +413 -0
- package/es/connectors/chat/connectChat.js +194 -0
- package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +2 -0
- package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -0
- package/es/connectors/hits/connectHits.d.ts +1 -0
- package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -0
- package/es/connectors/index.d.ts +1 -0
- package/es/connectors/index.js +2 -1
- package/es/connectors/index.umd.d.ts +39 -0
- package/es/connectors/index.umd.js +47 -0
- package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -0
- package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -0
- package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -0
- package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -0
- package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -0
- package/es/lib/chat/chat.d.ts +40 -0
- package/es/lib/chat/chat.js +166 -0
- package/es/lib/chat/index.d.ts +7 -0
- package/es/lib/chat/index.js +5 -0
- package/es/lib/useStickToBottom.d.ts +1 -0
- package/es/lib/useStickToBottom.js +14 -0
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/templates/carousel/carousel.d.ts +10 -3
- package/es/templates/carousel/carousel.js +32 -5
- package/es/types/render-state.d.ts +2 -1
- package/es/types/templates.d.ts +1 -1
- package/es/types/widget.d.ts +2 -2
- package/es/widgets/chat/chat.d.ts +555 -0
- package/es/widgets/chat/chat.js +597 -0
- package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -1
- package/es/widgets/geo-search/geo-search.d.ts +1 -0
- package/es/widgets/hits/hits.d.ts +1 -0
- package/es/widgets/index/index.js +6 -1
- package/es/widgets/index.d.ts +1 -0
- package/es/widgets/index.js +2 -1
- package/es/widgets/index.umd.d.ts +44 -0
- package/es/widgets/index.umd.js +51 -0
- package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -0
- package/es/widgets/looking-similar/looking-similar.d.ts +3 -1
- package/es/widgets/related-products/related-products.d.ts +3 -1
- package/es/widgets/trending-items/trending-items.d.ts +3 -1
- package/package.json +11 -7
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _ai = require("ai");
|
|
9
|
+
var _chat = require("../../lib/chat");
|
|
10
|
+
var _utils = require("../../lib/utils");
|
|
11
|
+
var _excluded = ["resume", "tools"];
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
16
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
20
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
21
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
22
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
23
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
24
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
25
|
+
var withUsage = (0, _utils.createDocumentationMessageGenerator)({
|
|
26
|
+
name: 'chat',
|
|
27
|
+
connector: true
|
|
28
|
+
});
|
|
29
|
+
var connectChat = exports.default = function connectChat(renderFn) {
|
|
30
|
+
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _utils.noop;
|
|
31
|
+
(0, _utils.checkRendering)(renderFn, withUsage());
|
|
32
|
+
return function (widgetParams) {
|
|
33
|
+
process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, 'Chat is not yet stable and will change in the future.') : void 0;
|
|
34
|
+
var _ref = widgetParams || {},
|
|
35
|
+
_ref$resume = _ref.resume,
|
|
36
|
+
resume = _ref$resume === void 0 ? false : _ref$resume,
|
|
37
|
+
_ref$tools = _ref.tools,
|
|
38
|
+
tools = _ref$tools === void 0 ? {} : _ref$tools,
|
|
39
|
+
options = _objectWithoutProperties(_ref, _excluded);
|
|
40
|
+
var _chatInstance;
|
|
41
|
+
var input = '';
|
|
42
|
+
var open = false;
|
|
43
|
+
var sendEvent;
|
|
44
|
+
var setInput;
|
|
45
|
+
var setOpen;
|
|
46
|
+
var setMessages = function setMessages(messagesParam) {
|
|
47
|
+
if (typeof messagesParam === 'function') {
|
|
48
|
+
messagesParam = messagesParam(_chatInstance.messages);
|
|
49
|
+
}
|
|
50
|
+
_chatInstance.messages = messagesParam;
|
|
51
|
+
};
|
|
52
|
+
var makeChatInstance = function makeChatInstance(instantSearchInstance) {
|
|
53
|
+
var transport;
|
|
54
|
+
var _getAppIdAndApiKey = (0, _utils.getAppIdAndApiKey)(instantSearchInstance.client),
|
|
55
|
+
_getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
|
|
56
|
+
appId = _getAppIdAndApiKey2[0],
|
|
57
|
+
apiKey = _getAppIdAndApiKey2[1];
|
|
58
|
+
if ('transport' in options && options.transport) {
|
|
59
|
+
transport = new _ai.DefaultChatTransport(options.transport);
|
|
60
|
+
}
|
|
61
|
+
if ('agentId' in options && options.agentId) {
|
|
62
|
+
var agentId = options.agentId;
|
|
63
|
+
if (!appId || !apiKey) {
|
|
64
|
+
throw new Error(withUsage('Could not extract Algolia credentials from the search client.'));
|
|
65
|
+
}
|
|
66
|
+
transport = new _ai.DefaultChatTransport({
|
|
67
|
+
api: "https://".concat(appId, ".algolia.net/agent-studio/1/agents/").concat(agentId, "/completions?compatibilityMode=ai-sdk-5"),
|
|
68
|
+
headers: {
|
|
69
|
+
'x-algolia-application-id': appId,
|
|
70
|
+
'x-algolia-api-Key': apiKey
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (!transport) {
|
|
75
|
+
throw new Error(withUsage('You need to provide either an `agentId` or a `transport`.'));
|
|
76
|
+
}
|
|
77
|
+
if ('chat' in options) {
|
|
78
|
+
return options.chat;
|
|
79
|
+
}
|
|
80
|
+
return new _chat.Chat(_objectSpread(_objectSpread({}, options), {}, {
|
|
81
|
+
transport: transport,
|
|
82
|
+
sendAutomaticallyWhen: _ai.lastAssistantMessageIsCompleteWithToolCalls,
|
|
83
|
+
onToolCall: function onToolCall(_ref2) {
|
|
84
|
+
var toolCall = _ref2.toolCall;
|
|
85
|
+
var tool = tools[toolCall.toolName];
|
|
86
|
+
if (!tool) {
|
|
87
|
+
if (process.env.NODE_ENV === 'development') {
|
|
88
|
+
throw new Error("No tool implementation found for \"".concat(toolCall.toolName, "\". Please provide a tool implementation in the `tools` prop."));
|
|
89
|
+
}
|
|
90
|
+
return _chatInstance.addToolResult({
|
|
91
|
+
output: "No tool implemented for \"".concat(toolCall.toolName, "\"."),
|
|
92
|
+
tool: toolCall.toolName,
|
|
93
|
+
toolCallId: toolCall.toolCallId
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
if (tool.onToolCall) {
|
|
97
|
+
var addToolResult = function addToolResult(_ref3) {
|
|
98
|
+
var output = _ref3.output;
|
|
99
|
+
return _chatInstance.addToolResult({
|
|
100
|
+
output: output,
|
|
101
|
+
tool: toolCall.toolName,
|
|
102
|
+
toolCallId: toolCall.toolCallId
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
return tool.onToolCall(_objectSpread(_objectSpread({}, toolCall), {}, {
|
|
106
|
+
addToolResult: addToolResult
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
return Promise.resolve();
|
|
110
|
+
}
|
|
111
|
+
}));
|
|
112
|
+
};
|
|
113
|
+
return {
|
|
114
|
+
$$type: 'ais.chat',
|
|
115
|
+
init: function init(initOptions) {
|
|
116
|
+
var _this = this;
|
|
117
|
+
var instantSearchInstance = initOptions.instantSearchInstance;
|
|
118
|
+
_chatInstance = makeChatInstance(instantSearchInstance);
|
|
119
|
+
var render = function render() {
|
|
120
|
+
renderFn(_objectSpread(_objectSpread({}, _this.getWidgetRenderState(initOptions)), {}, {
|
|
121
|
+
instantSearchInstance: initOptions.instantSearchInstance
|
|
122
|
+
}), false);
|
|
123
|
+
};
|
|
124
|
+
setOpen = function setOpen(o) {
|
|
125
|
+
open = o;
|
|
126
|
+
render();
|
|
127
|
+
};
|
|
128
|
+
setInput = function setInput(i) {
|
|
129
|
+
input = i;
|
|
130
|
+
render();
|
|
131
|
+
};
|
|
132
|
+
_chatInstance['~registerErrorCallback'](render);
|
|
133
|
+
_chatInstance['~registerMessagesCallback'](render);
|
|
134
|
+
_chatInstance['~registerStatusCallback'](render);
|
|
135
|
+
if (resume) {
|
|
136
|
+
_chatInstance.resumeStream();
|
|
137
|
+
}
|
|
138
|
+
renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {
|
|
139
|
+
instantSearchInstance: instantSearchInstance
|
|
140
|
+
}), true);
|
|
141
|
+
},
|
|
142
|
+
render: function render(renderOptions) {
|
|
143
|
+
renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(renderOptions)), {}, {
|
|
144
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
145
|
+
}), false);
|
|
146
|
+
},
|
|
147
|
+
getRenderState: function getRenderState(renderState) {
|
|
148
|
+
return renderState;
|
|
149
|
+
},
|
|
150
|
+
getWidgetRenderState: function getWidgetRenderState(renderState) {
|
|
151
|
+
var instantSearchInstance = renderState.instantSearchInstance,
|
|
152
|
+
parent = renderState.parent;
|
|
153
|
+
if (!_chatInstance) {
|
|
154
|
+
this.init(_objectSpread(_objectSpread({}, renderState), {}, {
|
|
155
|
+
uiState: {},
|
|
156
|
+
results: undefined
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
if (!sendEvent) {
|
|
160
|
+
sendEvent = (0, _utils.createSendEventForHits)({
|
|
161
|
+
instantSearchInstance: renderState.instantSearchInstance,
|
|
162
|
+
helper: renderState.helper,
|
|
163
|
+
widgetType: this.$$type
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
indexUiState: instantSearchInstance.getUiState()[parent.getIndexId()],
|
|
168
|
+
input: input,
|
|
169
|
+
open: open,
|
|
170
|
+
sendEvent: sendEvent,
|
|
171
|
+
setIndexUiState: parent.setIndexUiState.bind(parent),
|
|
172
|
+
setInput: setInput,
|
|
173
|
+
setOpen: setOpen,
|
|
174
|
+
setMessages: setMessages,
|
|
175
|
+
widgetParams: widgetParams,
|
|
176
|
+
// Chat instance render state
|
|
177
|
+
addToolResult: _chatInstance.addToolResult,
|
|
178
|
+
clearError: _chatInstance.clearError,
|
|
179
|
+
error: _chatInstance.error,
|
|
180
|
+
id: _chatInstance.id,
|
|
181
|
+
messages: _chatInstance.messages,
|
|
182
|
+
regenerate: _chatInstance.regenerate,
|
|
183
|
+
resumeStream: _chatInstance.resumeStream,
|
|
184
|
+
sendMessage: _chatInstance.sendMessage,
|
|
185
|
+
status: _chatInstance.status,
|
|
186
|
+
stop: _chatInstance.stop
|
|
187
|
+
};
|
|
188
|
+
},
|
|
189
|
+
dispose: function dispose() {
|
|
190
|
+
unmountFn();
|
|
191
|
+
},
|
|
192
|
+
shouldRender: function shouldRender() {
|
|
193
|
+
return true;
|
|
194
|
+
},
|
|
195
|
+
get chatInstance() {
|
|
196
|
+
return _chatInstance;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
};
|
package/cjs/connectors/index.js
CHANGED
|
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "connectBreadcrumb", {
|
|
|
16
16
|
return _connectBreadcrumb.default;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
+
Object.defineProperty(exports, "connectChat", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _connectChat.default;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
19
25
|
Object.defineProperty(exports, "connectClearRefinements", {
|
|
20
26
|
enumerable: true,
|
|
21
27
|
get: function get() {
|
|
@@ -224,6 +230,7 @@ var _connectVoiceSearch = _interopRequireDefault(require("./voice-search/connect
|
|
|
224
230
|
var _connectRelevantSort = _interopRequireDefault(require("./relevant-sort/connectRelevantSort"));
|
|
225
231
|
var _connectFrequentlyBoughtTogether = _interopRequireDefault(require("./frequently-bought-together/connectFrequentlyBoughtTogether"));
|
|
226
232
|
var _connectLookingSimilar = _interopRequireDefault(require("./looking-similar/connectLookingSimilar"));
|
|
233
|
+
var _connectChat = _interopRequireDefault(require("./chat/connectChat"));
|
|
227
234
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
228
235
|
/** @deprecated answers is no longer supported */
|
|
229
236
|
var EXPERIMENTAL_connectAnswers = exports.EXPERIMENTAL_connectAnswers = (0, _utils.deprecate)(_connectAnswers.default, 'answers is no longer supported');
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EXPERIMENTAL_connectDynamicWidgets = exports.EXPERIMENTAL_connectConfigureRelatedItems = exports.EXPERIMENTAL_connectAnswers = void 0;
|
|
7
|
+
Object.defineProperty(exports, "connectAutocomplete", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _connectAutocomplete.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "connectBreadcrumb", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _connectBreadcrumb.default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
exports.connectChat = void 0;
|
|
20
|
+
Object.defineProperty(exports, "connectClearRefinements", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _connectClearRefinements.default;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(exports, "connectConfigure", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function get() {
|
|
29
|
+
return _connectConfigure.default;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "connectCurrentRefinements", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _connectCurrentRefinements.default;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
Object.defineProperty(exports, "connectDynamicWidgets", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
get: function get() {
|
|
41
|
+
return _connectDynamicWidgets.default;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
Object.defineProperty(exports, "connectFrequentlyBoughtTogether", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function get() {
|
|
47
|
+
return _connectFrequentlyBoughtTogether.default;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
Object.defineProperty(exports, "connectGeoSearch", {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
get: function get() {
|
|
53
|
+
return _connectGeoSearch.default;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(exports, "connectHierarchicalMenu", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function get() {
|
|
59
|
+
return _connectHierarchicalMenu.default;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(exports, "connectHits", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
get: function get() {
|
|
65
|
+
return _connectHits.default;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
Object.defineProperty(exports, "connectHitsPerPage", {
|
|
69
|
+
enumerable: true,
|
|
70
|
+
get: function get() {
|
|
71
|
+
return _connectHitsPerPage.default;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
Object.defineProperty(exports, "connectHitsWithInsights", {
|
|
75
|
+
enumerable: true,
|
|
76
|
+
get: function get() {
|
|
77
|
+
return _connectHitsWithInsights.default;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(exports, "connectInfiniteHits", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function get() {
|
|
83
|
+
return _connectInfiniteHits.default;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
Object.defineProperty(exports, "connectInfiniteHitsWithInsights", {
|
|
87
|
+
enumerable: true,
|
|
88
|
+
get: function get() {
|
|
89
|
+
return _connectInfiniteHitsWithInsights.default;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
Object.defineProperty(exports, "connectLookingSimilar", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function get() {
|
|
95
|
+
return _connectLookingSimilar.default;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(exports, "connectMenu", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function get() {
|
|
101
|
+
return _connectMenu.default;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(exports, "connectNumericMenu", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: function get() {
|
|
107
|
+
return _connectNumericMenu.default;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(exports, "connectPagination", {
|
|
111
|
+
enumerable: true,
|
|
112
|
+
get: function get() {
|
|
113
|
+
return _connectPagination.default;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
Object.defineProperty(exports, "connectPoweredBy", {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function get() {
|
|
119
|
+
return _connectPoweredBy.default;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
Object.defineProperty(exports, "connectQueryRules", {
|
|
123
|
+
enumerable: true,
|
|
124
|
+
get: function get() {
|
|
125
|
+
return _connectQueryRules.default;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(exports, "connectRange", {
|
|
129
|
+
enumerable: true,
|
|
130
|
+
get: function get() {
|
|
131
|
+
return _connectRange.default;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
Object.defineProperty(exports, "connectRatingMenu", {
|
|
135
|
+
enumerable: true,
|
|
136
|
+
get: function get() {
|
|
137
|
+
return _connectRatingMenu.default;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
Object.defineProperty(exports, "connectRefinementList", {
|
|
141
|
+
enumerable: true,
|
|
142
|
+
get: function get() {
|
|
143
|
+
return _connectRefinementList.default;
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
Object.defineProperty(exports, "connectRelatedProducts", {
|
|
147
|
+
enumerable: true,
|
|
148
|
+
get: function get() {
|
|
149
|
+
return _connectRelatedProducts.default;
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
Object.defineProperty(exports, "connectRelevantSort", {
|
|
153
|
+
enumerable: true,
|
|
154
|
+
get: function get() {
|
|
155
|
+
return _connectRelevantSort.default;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
Object.defineProperty(exports, "connectSearchBox", {
|
|
159
|
+
enumerable: true,
|
|
160
|
+
get: function get() {
|
|
161
|
+
return _connectSearchBox.default;
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
Object.defineProperty(exports, "connectSortBy", {
|
|
165
|
+
enumerable: true,
|
|
166
|
+
get: function get() {
|
|
167
|
+
return _connectSortBy.default;
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
Object.defineProperty(exports, "connectStats", {
|
|
171
|
+
enumerable: true,
|
|
172
|
+
get: function get() {
|
|
173
|
+
return _connectStats.default;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
Object.defineProperty(exports, "connectToggleRefinement", {
|
|
177
|
+
enumerable: true,
|
|
178
|
+
get: function get() {
|
|
179
|
+
return _connectToggleRefinement.default;
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
Object.defineProperty(exports, "connectTrendingItems", {
|
|
183
|
+
enumerable: true,
|
|
184
|
+
get: function get() {
|
|
185
|
+
return _connectTrendingItems.default;
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
Object.defineProperty(exports, "connectVoiceSearch", {
|
|
189
|
+
enumerable: true,
|
|
190
|
+
get: function get() {
|
|
191
|
+
return _connectVoiceSearch.default;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
var _utils = require("../lib/utils");
|
|
195
|
+
var _connectAnswers = _interopRequireDefault(require("./answers/connectAnswers"));
|
|
196
|
+
var _connectConfigureRelatedItems = _interopRequireDefault(require("./configure-related-items/connectConfigureRelatedItems"));
|
|
197
|
+
var _connectDynamicWidgets = _interopRequireDefault(require("./dynamic-widgets/connectDynamicWidgets"));
|
|
198
|
+
var _connectClearRefinements = _interopRequireDefault(require("./clear-refinements/connectClearRefinements"));
|
|
199
|
+
var _connectCurrentRefinements = _interopRequireDefault(require("./current-refinements/connectCurrentRefinements"));
|
|
200
|
+
var _connectHierarchicalMenu = _interopRequireDefault(require("./hierarchical-menu/connectHierarchicalMenu"));
|
|
201
|
+
var _connectHits = _interopRequireDefault(require("./hits/connectHits"));
|
|
202
|
+
var _connectHitsWithInsights = _interopRequireDefault(require("./hits/connectHitsWithInsights"));
|
|
203
|
+
var _connectHitsPerPage = _interopRequireDefault(require("./hits-per-page/connectHitsPerPage"));
|
|
204
|
+
var _connectInfiniteHits = _interopRequireDefault(require("./infinite-hits/connectInfiniteHits"));
|
|
205
|
+
var _connectInfiniteHitsWithInsights = _interopRequireDefault(require("./infinite-hits/connectInfiniteHitsWithInsights"));
|
|
206
|
+
var _connectMenu = _interopRequireDefault(require("./menu/connectMenu"));
|
|
207
|
+
var _connectNumericMenu = _interopRequireDefault(require("./numeric-menu/connectNumericMenu"));
|
|
208
|
+
var _connectPagination = _interopRequireDefault(require("./pagination/connectPagination"));
|
|
209
|
+
var _connectRange = _interopRequireDefault(require("./range/connectRange"));
|
|
210
|
+
var _connectRefinementList = _interopRequireDefault(require("./refinement-list/connectRefinementList"));
|
|
211
|
+
var _connectRelatedProducts = _interopRequireDefault(require("./related-products/connectRelatedProducts"));
|
|
212
|
+
var _connectSearchBox = _interopRequireDefault(require("./search-box/connectSearchBox"));
|
|
213
|
+
var _connectSortBy = _interopRequireDefault(require("./sort-by/connectSortBy"));
|
|
214
|
+
var _connectRatingMenu = _interopRequireDefault(require("./rating-menu/connectRatingMenu"));
|
|
215
|
+
var _connectStats = _interopRequireDefault(require("./stats/connectStats"));
|
|
216
|
+
var _connectToggleRefinement = _interopRequireDefault(require("./toggle-refinement/connectToggleRefinement"));
|
|
217
|
+
var _connectTrendingItems = _interopRequireDefault(require("./trending-items/connectTrendingItems"));
|
|
218
|
+
var _connectBreadcrumb = _interopRequireDefault(require("./breadcrumb/connectBreadcrumb"));
|
|
219
|
+
var _connectGeoSearch = _interopRequireDefault(require("./geo-search/connectGeoSearch"));
|
|
220
|
+
var _connectPoweredBy = _interopRequireDefault(require("./powered-by/connectPoweredBy"));
|
|
221
|
+
var _connectConfigure = _interopRequireDefault(require("./configure/connectConfigure"));
|
|
222
|
+
var _connectAutocomplete = _interopRequireDefault(require("./autocomplete/connectAutocomplete"));
|
|
223
|
+
var _connectQueryRules = _interopRequireDefault(require("./query-rules/connectQueryRules"));
|
|
224
|
+
var _connectVoiceSearch = _interopRequireDefault(require("./voice-search/connectVoiceSearch"));
|
|
225
|
+
var _connectRelevantSort = _interopRequireDefault(require("./relevant-sort/connectRelevantSort"));
|
|
226
|
+
var _connectFrequentlyBoughtTogether = _interopRequireDefault(require("./frequently-bought-together/connectFrequentlyBoughtTogether"));
|
|
227
|
+
var _connectLookingSimilar = _interopRequireDefault(require("./looking-similar/connectLookingSimilar"));
|
|
228
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
229
|
+
/** @deprecated answers is no longer supported */
|
|
230
|
+
var EXPERIMENTAL_connectAnswers = exports.EXPERIMENTAL_connectAnswers = (0, _utils.deprecate)(_connectAnswers.default, 'answers is no longer supported');
|
|
231
|
+
|
|
232
|
+
/** @deprecated use connectRelatedItems instead */
|
|
233
|
+
var EXPERIMENTAL_connectConfigureRelatedItems = exports.EXPERIMENTAL_connectConfigureRelatedItems = (0, _utils.deprecate)(_connectConfigureRelatedItems.default, 'EXPERIMENTAL_connectConfigureRelatedItems is deprecated and will be removed in a next minor version of InstantSearch. Please use connectRelatedItems instead.');
|
|
234
|
+
|
|
235
|
+
/** @deprecated use connectDynamicWidgets */
|
|
236
|
+
var EXPERIMENTAL_connectDynamicWidgets = exports.EXPERIMENTAL_connectDynamicWidgets = (0, _utils.deprecate)(_connectDynamicWidgets.default, 'use connectDynamicWidgets');
|
|
237
|
+
var connectChat = exports.connectChat = function connectChat() {
|
|
238
|
+
throw new Error("\"connectChat\" is not available from the UMD build.\n\nPlease use InstantSearch.js with a packaging system:\nhttps://www.algolia.com/doc/guides/building-search-ui/installation/js/#with-a-packaging-system");
|
|
239
|
+
};
|
package/cjs/index.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var connectors = _interopRequireWildcard(require("./connectors/index"));
|
|
8
|
+
var connectors = _interopRequireWildcard(require("./connectors/index.umd"));
|
|
9
9
|
var helpers = _interopRequireWildcard(require("./helpers/index"));
|
|
10
10
|
var _index3 = require("./lib/infiniteHitsCache/index");
|
|
11
11
|
var _InstantSearch = _interopRequireDefault(require("./lib/InstantSearch"));
|
|
@@ -14,7 +14,7 @@ var stateMappings = _interopRequireWildcard(require("./lib/stateMappings/index")
|
|
|
14
14
|
var _version = _interopRequireDefault(require("./lib/version"));
|
|
15
15
|
var middlewares = _interopRequireWildcard(require("./middlewares/index"));
|
|
16
16
|
var templates = _interopRequireWildcard(require("./templates/index"));
|
|
17
|
-
var widgets = _interopRequireWildcard(require("./widgets/index"));
|
|
17
|
+
var widgets = _interopRequireWildcard(require("./widgets/index.umd"));
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "AbstractChat", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _ai.AbstractChat;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.ChatState = exports.Chat = exports.CACHE_KEY = void 0;
|
|
13
|
+
var _ai = require("ai");
|
|
14
|
+
var _excluded = ["messages", "agentId"];
|
|
15
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
19
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
20
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
21
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
22
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
23
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
24
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
25
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
26
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
27
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
28
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
29
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
30
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
31
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
32
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
33
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
34
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
35
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
36
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
37
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
38
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
39
|
+
var CACHE_KEY = exports.CACHE_KEY = 'instantsearch-chat-initial-messages-';
|
|
40
|
+
function getDefaultInitialMessages(id) {
|
|
41
|
+
var initialMessages = sessionStorage.getItem(CACHE_KEY + id);
|
|
42
|
+
return initialMessages ? JSON.parse(initialMessages) : [];
|
|
43
|
+
}
|
|
44
|
+
var ChatState = exports.ChatState = /*#__PURE__*/function () {
|
|
45
|
+
function ChatState() {
|
|
46
|
+
var _this = this;
|
|
47
|
+
var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
|
|
48
|
+
var initialMessages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getDefaultInitialMessages(id);
|
|
49
|
+
_classCallCheck(this, ChatState);
|
|
50
|
+
_defineProperty(this, "_messages", void 0);
|
|
51
|
+
_defineProperty(this, "_status", 'ready');
|
|
52
|
+
_defineProperty(this, "_error", undefined);
|
|
53
|
+
_defineProperty(this, "_messagesCallbacks", new Set());
|
|
54
|
+
_defineProperty(this, "_statusCallbacks", new Set());
|
|
55
|
+
_defineProperty(this, "_errorCallbacks", new Set());
|
|
56
|
+
_defineProperty(this, "pushMessage", function (message) {
|
|
57
|
+
_this._messages = _this._messages.concat(message);
|
|
58
|
+
_this._callMessagesCallbacks();
|
|
59
|
+
});
|
|
60
|
+
_defineProperty(this, "popMessage", function () {
|
|
61
|
+
_this._messages = _this._messages.slice(0, -1);
|
|
62
|
+
_this._callMessagesCallbacks();
|
|
63
|
+
});
|
|
64
|
+
_defineProperty(this, "replaceMessage", function (index, message) {
|
|
65
|
+
_this._messages = [].concat(_toConsumableArray(_this._messages.slice(0, index)), [
|
|
66
|
+
// We deep clone the message here to ensure the new React Compiler (currently in RC) detects deeply nested parts/metadata changes:
|
|
67
|
+
_this.snapshot(message)], _toConsumableArray(_this._messages.slice(index + 1)));
|
|
68
|
+
_this._callMessagesCallbacks();
|
|
69
|
+
});
|
|
70
|
+
_defineProperty(this, "snapshot", function (thing) {
|
|
71
|
+
return JSON.parse(JSON.stringify(thing));
|
|
72
|
+
});
|
|
73
|
+
_defineProperty(this, '~registerMessagesCallback', function (onChange) {
|
|
74
|
+
var callback = onChange;
|
|
75
|
+
_this._messagesCallbacks.add(callback);
|
|
76
|
+
return function () {
|
|
77
|
+
_this._messagesCallbacks.delete(callback);
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
_defineProperty(this, '~registerStatusCallback', function (onChange) {
|
|
81
|
+
_this._statusCallbacks.add(onChange);
|
|
82
|
+
return function () {
|
|
83
|
+
_this._statusCallbacks.delete(onChange);
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
_defineProperty(this, '~registerErrorCallback', function (onChange) {
|
|
87
|
+
_this._errorCallbacks.add(onChange);
|
|
88
|
+
return function () {
|
|
89
|
+
_this._errorCallbacks.delete(onChange);
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
_defineProperty(this, "_callMessagesCallbacks", function () {
|
|
93
|
+
_this._messagesCallbacks.forEach(function (callback) {
|
|
94
|
+
return callback();
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
_defineProperty(this, "_callStatusCallbacks", function () {
|
|
98
|
+
_this._statusCallbacks.forEach(function (callback) {
|
|
99
|
+
return callback();
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
_defineProperty(this, "_callErrorCallbacks", function () {
|
|
103
|
+
_this._errorCallbacks.forEach(function (callback) {
|
|
104
|
+
return callback();
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
this._messages = initialMessages;
|
|
108
|
+
var saveMessagesInLocalStorage = function saveMessagesInLocalStorage() {
|
|
109
|
+
if (_this.status === 'ready') {
|
|
110
|
+
try {
|
|
111
|
+
sessionStorage.setItem(CACHE_KEY + id, JSON.stringify(_this.messages));
|
|
112
|
+
} catch (e) {
|
|
113
|
+
// Do nothing if sessionStorage is not available or full
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
this['~registerMessagesCallback'](saveMessagesInLocalStorage);
|
|
118
|
+
this['~registerStatusCallback'](saveMessagesInLocalStorage);
|
|
119
|
+
}
|
|
120
|
+
_createClass(ChatState, [{
|
|
121
|
+
key: "status",
|
|
122
|
+
get: function get() {
|
|
123
|
+
return this._status;
|
|
124
|
+
},
|
|
125
|
+
set: function set(newStatus) {
|
|
126
|
+
this._status = newStatus;
|
|
127
|
+
this._callStatusCallbacks();
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
130
|
+
key: "error",
|
|
131
|
+
get: function get() {
|
|
132
|
+
return this._error;
|
|
133
|
+
},
|
|
134
|
+
set: function set(newError) {
|
|
135
|
+
this._error = newError;
|
|
136
|
+
this._callErrorCallbacks();
|
|
137
|
+
}
|
|
138
|
+
}, {
|
|
139
|
+
key: "messages",
|
|
140
|
+
get: function get() {
|
|
141
|
+
return this._messages;
|
|
142
|
+
},
|
|
143
|
+
set: function set(newMessages) {
|
|
144
|
+
this._messages = _toConsumableArray(newMessages);
|
|
145
|
+
this._callMessagesCallbacks();
|
|
146
|
+
}
|
|
147
|
+
}]);
|
|
148
|
+
return ChatState;
|
|
149
|
+
}();
|
|
150
|
+
var Chat = exports.Chat = /*#__PURE__*/function (_AbstractChat) {
|
|
151
|
+
_inherits(Chat, _AbstractChat);
|
|
152
|
+
var _super = _createSuper(Chat);
|
|
153
|
+
function Chat(_ref) {
|
|
154
|
+
var _this2;
|
|
155
|
+
var messages = _ref.messages,
|
|
156
|
+
agentId = _ref.agentId,
|
|
157
|
+
init = _objectWithoutProperties(_ref, _excluded);
|
|
158
|
+
_classCallCheck(this, Chat);
|
|
159
|
+
var state = new ChatState(agentId, messages);
|
|
160
|
+
_this2 = _super.call(this, _objectSpread(_objectSpread({}, init), {}, {
|
|
161
|
+
state: state
|
|
162
|
+
}));
|
|
163
|
+
_defineProperty(_assertThisInitialized(_this2), "_state", void 0);
|
|
164
|
+
_defineProperty(_assertThisInitialized(_this2), '~registerMessagesCallback', function (onChange) {
|
|
165
|
+
return _this2._state['~registerMessagesCallback'](onChange);
|
|
166
|
+
});
|
|
167
|
+
_defineProperty(_assertThisInitialized(_this2), '~registerStatusCallback', function (onChange) {
|
|
168
|
+
return _this2._state['~registerStatusCallback'](onChange);
|
|
169
|
+
});
|
|
170
|
+
_defineProperty(_assertThisInitialized(_this2), '~registerErrorCallback', function (onChange) {
|
|
171
|
+
return _this2._state['~registerErrorCallback'](onChange);
|
|
172
|
+
});
|
|
173
|
+
_this2._state = state;
|
|
174
|
+
return _this2;
|
|
175
|
+
}
|
|
176
|
+
return _createClass(Chat);
|
|
177
|
+
}(_ai.AbstractChat);
|