instantsearch.js 4.86.1 → 4.87.1
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/autocomplete/connectAutocomplete.js +13 -5
- package/cjs/connectors/chat/connectChat.js +92 -20
- package/cjs/connectors/filter-suggestions/connectFilterSuggestions.js +255 -0
- package/cjs/connectors/index.js +7 -0
- package/cjs/connectors/index.umd.js +7 -0
- package/cjs/index.js +2 -2
- package/cjs/lib/ai-lite/abstract-chat.js +823 -0
- package/cjs/lib/ai-lite/index.js +57 -0
- package/cjs/lib/ai-lite/stream-parser.js +138 -0
- package/cjs/lib/ai-lite/transport.js +218 -0
- package/cjs/lib/ai-lite/types.js +1 -0
- package/cjs/lib/ai-lite/utils.js +85 -0
- package/cjs/lib/chat/chat.js +6 -6
- package/cjs/lib/chat/index.js +5 -2
- package/cjs/lib/version.js +1 -1
- package/cjs/widgets/autocomplete/autocomplete.js +15 -6
- package/cjs/widgets/chat/chat.js +32 -3
- package/cjs/widgets/filter-suggestions/filter-suggestions.js +131 -0
- package/cjs/widgets/index.js +7 -0
- package/cjs/widgets/index.umd.js +7 -0
- package/dist/instantsearch.development.d.ts +2551 -346
- package/dist/instantsearch.development.js +9408 -4314
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +2551 -346
- package/dist/instantsearch.production.min.d.ts +2551 -346
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/connectors/autocomplete/connectAutocomplete.d.ts +10 -0
- package/es/connectors/autocomplete/connectAutocomplete.js +13 -5
- package/es/connectors/chat/connectChat.d.ts +24 -14
- package/es/connectors/chat/connectChat.js +90 -18
- package/es/connectors/filter-suggestions/connectFilterSuggestions.d.ts +95 -0
- package/es/connectors/filter-suggestions/connectFilterSuggestions.js +249 -0
- package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +2 -2
- package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -1
- package/es/connectors/hits/connectHits.d.ts +1 -1
- package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -1
- package/es/connectors/index.d.ts +1 -0
- package/es/connectors/index.js +2 -1
- package/es/connectors/index.umd.d.ts +1 -0
- package/es/connectors/index.umd.js +2 -1
- package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -1
- package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -1
- package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -2
- package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -2
- package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -2
- package/es/lib/ai-lite/abstract-chat.d.ts +89 -0
- package/es/lib/ai-lite/abstract-chat.js +818 -0
- package/es/lib/ai-lite/index.d.ts +11 -0
- package/es/lib/ai-lite/index.js +18 -0
- package/es/lib/ai-lite/stream-parser.d.ts +18 -0
- package/es/lib/ai-lite/stream-parser.js +131 -0
- package/es/lib/ai-lite/transport.d.ts +24 -0
- package/es/lib/ai-lite/transport.js +214 -0
- package/es/lib/ai-lite/types.d.ts +362 -0
- package/es/lib/ai-lite/types.js +1 -0
- package/es/lib/ai-lite/utils.d.ts +12 -0
- package/es/lib/ai-lite/utils.js +76 -0
- package/es/lib/chat/chat.d.ts +3 -3
- package/es/lib/chat/chat.js +4 -4
- package/es/lib/chat/index.d.ts +3 -0
- package/es/lib/chat/index.js +4 -1
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/widgets/autocomplete/autocomplete.d.ts +2 -1
- package/es/widgets/autocomplete/autocomplete.js +15 -6
- package/es/widgets/chat/chat.d.ts +22 -14
- package/es/widgets/chat/chat.js +33 -4
- package/es/widgets/filter-suggestions/filter-suggestions.d.ts +689 -0
- package/es/widgets/filter-suggestions/filter-suggestions.js +124 -0
- package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -3
- package/es/widgets/geo-search/geo-search.d.ts +1 -1
- package/es/widgets/hits/hits.d.ts +1 -1
- package/es/widgets/index.d.ts +1 -0
- package/es/widgets/index.js +2 -1
- package/es/widgets/index.umd.d.ts +1 -0
- package/es/widgets/index.umd.js +2 -1
- package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -1
- package/es/widgets/looking-similar/looking-similar.d.ts +3 -3
- package/es/widgets/related-products/related-products.d.ts +3 -3
- package/es/widgets/trending-items/trending-items.d.ts +3 -3
- package/package.json +6 -7
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
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); }
|
|
2
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
3
|
+
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."); }
|
|
4
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
6
|
+
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; } }
|
|
7
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
+
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); }
|
|
13
|
+
import { checkRendering, createDocumentationMessageGenerator, getAlgoliaAgent, getAppIdAndApiKey, getRefinements, noop } from "../../lib/utils/index.js";
|
|
14
|
+
var withUsage = createDocumentationMessageGenerator({
|
|
15
|
+
name: 'filter-suggestions',
|
|
16
|
+
connector: true
|
|
17
|
+
});
|
|
18
|
+
var connectFilterSuggestions = function connectFilterSuggestions(renderFn) {
|
|
19
|
+
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
|
|
20
|
+
checkRendering(renderFn, withUsage());
|
|
21
|
+
return function (widgetParams) {
|
|
22
|
+
var agentId = widgetParams.agentId,
|
|
23
|
+
attributes = widgetParams.attributes,
|
|
24
|
+
_widgetParams$maxSugg = widgetParams.maxSuggestions,
|
|
25
|
+
maxSuggestions = _widgetParams$maxSugg === void 0 ? 3 : _widgetParams$maxSugg,
|
|
26
|
+
_widgetParams$debounc = widgetParams.debounceMs,
|
|
27
|
+
debounceMs = _widgetParams$debounc === void 0 ? 300 : _widgetParams$debounc,
|
|
28
|
+
_widgetParams$hitsToS = widgetParams.hitsToSample,
|
|
29
|
+
hitsToSample = _widgetParams$hitsToS === void 0 ? 5 : _widgetParams$hitsToS,
|
|
30
|
+
_widgetParams$transfo = widgetParams.transformItems,
|
|
31
|
+
transformItems = _widgetParams$transfo === void 0 ? function (items) {
|
|
32
|
+
return items;
|
|
33
|
+
} : _widgetParams$transfo,
|
|
34
|
+
transport = widgetParams.transport;
|
|
35
|
+
if (!agentId && !transport) {
|
|
36
|
+
throw new Error(withUsage('The `agentId` option is required unless a custom `transport` is provided.'));
|
|
37
|
+
}
|
|
38
|
+
var endpoint;
|
|
39
|
+
var headers;
|
|
40
|
+
var suggestions = [];
|
|
41
|
+
var isLoading = false;
|
|
42
|
+
var debounceTimer;
|
|
43
|
+
var lastStateSignature = null; // null means never fetched
|
|
44
|
+
var refine;
|
|
45
|
+
var searchHelper = null;
|
|
46
|
+
var latestRenderOptions = null;
|
|
47
|
+
|
|
48
|
+
// Create a signature of the current search state (query + refinements)
|
|
49
|
+
var getStateSignature = function getStateSignature(results) {
|
|
50
|
+
var query = results.query || '';
|
|
51
|
+
var refinements = searchHelper ? JSON.stringify(searchHelper.state.facetsRefinements) + JSON.stringify(searchHelper.state.disjunctiveFacetsRefinements) + JSON.stringify(searchHelper.state.hierarchicalFacetsRefinements) : '';
|
|
52
|
+
return "".concat(query, "|").concat(refinements);
|
|
53
|
+
};
|
|
54
|
+
var _getWidgetRenderState = function getWidgetRenderState(renderOptions) {
|
|
55
|
+
var results = 'results' in renderOptions ? renderOptions.results : undefined;
|
|
56
|
+
var transformedSuggestions = transformItems(suggestions, {
|
|
57
|
+
results: results
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
suggestions: transformedSuggestions,
|
|
61
|
+
isLoading: isLoading,
|
|
62
|
+
refine: refine,
|
|
63
|
+
widgetParams: widgetParams
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// Minimum duration to show skeleton to avoid flash when results are cached
|
|
68
|
+
var MIN_SKELETON_DURATION_MS = 300;
|
|
69
|
+
var fetchSuggestions = function fetchSuggestions(results, renderOptions) {
|
|
70
|
+
var _results$hits, _rawResults$;
|
|
71
|
+
if (!(results !== null && results !== void 0 && (_results$hits = results.hits) !== null && _results$hits !== void 0 && _results$hits.length)) {
|
|
72
|
+
suggestions = [];
|
|
73
|
+
isLoading = false;
|
|
74
|
+
renderFn(_objectSpread(_objectSpread({}, _getWidgetRenderState(renderOptions)), {}, {
|
|
75
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
76
|
+
}), false);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
var loadingStartTime = Date.now();
|
|
80
|
+
isLoading = true;
|
|
81
|
+
renderFn(_objectSpread(_objectSpread({}, _getWidgetRenderState(renderOptions)), {}, {
|
|
82
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
83
|
+
}), false);
|
|
84
|
+
|
|
85
|
+
// Get facets from raw results (results.facets is processed differently)
|
|
86
|
+
var rawResults = results._rawResults;
|
|
87
|
+
var rawFacets = (rawResults === null || rawResults === void 0 ? void 0 : (_rawResults$ = rawResults[0]) === null || _rawResults$ === void 0 ? void 0 : _rawResults$.facets) || {};
|
|
88
|
+
var facetsToSend = attributes ? Object.fromEntries(Object.entries(rawFacets).filter(function (_ref) {
|
|
89
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
90
|
+
key = _ref2[0];
|
|
91
|
+
return attributes.includes(key);
|
|
92
|
+
})) : rawFacets;
|
|
93
|
+
|
|
94
|
+
// Collect current refinements to exclude from suggestions
|
|
95
|
+
var currentRefinements = searchHelper ? getRefinements(results, searchHelper.state).map(function (refinement) {
|
|
96
|
+
return {
|
|
97
|
+
attribute: refinement.attribute,
|
|
98
|
+
value: refinement.name
|
|
99
|
+
};
|
|
100
|
+
}) : [];
|
|
101
|
+
var messageText = JSON.stringify({
|
|
102
|
+
query: results.query,
|
|
103
|
+
facets: facetsToSend,
|
|
104
|
+
hitsSample: results.hits.slice(0, hitsToSample),
|
|
105
|
+
currentRefinements: currentRefinements,
|
|
106
|
+
maxSuggestions: maxSuggestions
|
|
107
|
+
});
|
|
108
|
+
var payload = {
|
|
109
|
+
messages: [{
|
|
110
|
+
id: "sr-".concat(Date.now()),
|
|
111
|
+
createdAt: new Date().toISOString(),
|
|
112
|
+
role: 'user',
|
|
113
|
+
parts: [{
|
|
114
|
+
type: 'text',
|
|
115
|
+
text: messageText
|
|
116
|
+
}]
|
|
117
|
+
}]
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
// Apply custom body transformation if provided
|
|
121
|
+
var finalPayload = transport !== null && transport !== void 0 && transport.prepareSendMessagesRequest ? transport.prepareSendMessagesRequest(payload).body : payload;
|
|
122
|
+
fetch(endpoint, {
|
|
123
|
+
method: 'POST',
|
|
124
|
+
headers: _objectSpread(_objectSpread({}, headers), {}, {
|
|
125
|
+
'Content-Type': 'application/json'
|
|
126
|
+
}),
|
|
127
|
+
body: JSON.stringify(finalPayload)
|
|
128
|
+
}).then(function (response) {
|
|
129
|
+
if (!response.ok) {
|
|
130
|
+
throw new Error("HTTP error ".concat(response.status));
|
|
131
|
+
}
|
|
132
|
+
return response.json();
|
|
133
|
+
}).then(function (data) {
|
|
134
|
+
var parsedSuggestions = JSON.parse(data.parts[1].text);
|
|
135
|
+
var validSuggestions = (Array.isArray(parsedSuggestions) ? parsedSuggestions : []).filter(function (suggestion) {
|
|
136
|
+
if (!(suggestion !== null && suggestion !== void 0 && suggestion.attribute) || !(suggestion !== null && suggestion !== void 0 && suggestion.value) || !(suggestion !== null && suggestion !== void 0 && suggestion.label)) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
// If attributes filter is specified, only allow suggestions for those attributes
|
|
140
|
+
if (attributes && !attributes.includes(suggestion.attribute)) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
return true;
|
|
144
|
+
}).slice(0, maxSuggestions);
|
|
145
|
+
suggestions = validSuggestions;
|
|
146
|
+
}).catch(function () {
|
|
147
|
+
suggestions = [];
|
|
148
|
+
}).finally(function () {
|
|
149
|
+
var elapsed = Date.now() - loadingStartTime;
|
|
150
|
+
var remainingDelay = Math.max(0, MIN_SKELETON_DURATION_MS - elapsed);
|
|
151
|
+
var finishLoading = function finishLoading() {
|
|
152
|
+
isLoading = false;
|
|
153
|
+
renderFn(_objectSpread(_objectSpread({}, _getWidgetRenderState(renderOptions)), {}, {
|
|
154
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
155
|
+
}), false);
|
|
156
|
+
};
|
|
157
|
+
if (remainingDelay > 0) {
|
|
158
|
+
setTimeout(finishLoading, remainingDelay);
|
|
159
|
+
} else {
|
|
160
|
+
finishLoading();
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
return {
|
|
165
|
+
$$type: 'ais.filterSuggestions',
|
|
166
|
+
init: function init(initOptions) {
|
|
167
|
+
var instantSearchInstance = initOptions.instantSearchInstance,
|
|
168
|
+
helper = initOptions.helper;
|
|
169
|
+
searchHelper = helper;
|
|
170
|
+
if (transport) {
|
|
171
|
+
// Use custom transport configuration
|
|
172
|
+
endpoint = transport.api;
|
|
173
|
+
headers = transport.headers || {};
|
|
174
|
+
} else {
|
|
175
|
+
// Use default Algolia agent endpoint
|
|
176
|
+
var _getAppIdAndApiKey = getAppIdAndApiKey(instantSearchInstance.client),
|
|
177
|
+
_getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
|
|
178
|
+
appId = _getAppIdAndApiKey2[0],
|
|
179
|
+
apiKey = _getAppIdAndApiKey2[1];
|
|
180
|
+
if (!appId || !apiKey) {
|
|
181
|
+
throw new Error(withUsage('Could not extract Algolia credentials from the search client.'));
|
|
182
|
+
}
|
|
183
|
+
endpoint = "https://".concat(appId, ".algolia.net/agent-studio/1/agents/").concat(agentId, "/completions?compatibilityMode=ai-sdk-5&stream=false");
|
|
184
|
+
headers = {
|
|
185
|
+
'x-algolia-application-id': appId,
|
|
186
|
+
'x-algolia-api-key': apiKey,
|
|
187
|
+
'x-algolia-agent': getAlgoliaAgent(instantSearchInstance.client)
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
refine = function refine(attribute, value) {
|
|
191
|
+
var _helper$state$hierarc;
|
|
192
|
+
// Check if the attribute belongs to a hierarchical facet
|
|
193
|
+
// by finding a hierarchical facet that includes this attribute
|
|
194
|
+
var attr = ((_helper$state$hierarc = helper.state.hierarchicalFacets.find(function (facet) {
|
|
195
|
+
return facet.attributes.includes(attribute);
|
|
196
|
+
})) === null || _helper$state$hierarc === void 0 ? void 0 : _helper$state$hierarc.name) || attribute;
|
|
197
|
+
helper.toggleFacetRefinement(attr, value);
|
|
198
|
+
helper.search();
|
|
199
|
+
};
|
|
200
|
+
renderFn(_objectSpread(_objectSpread({}, _getWidgetRenderState(initOptions)), {}, {
|
|
201
|
+
instantSearchInstance: instantSearchInstance
|
|
202
|
+
}), true);
|
|
203
|
+
},
|
|
204
|
+
render: function render(renderOptions) {
|
|
205
|
+
var results = renderOptions.results,
|
|
206
|
+
instantSearchInstance = renderOptions.instantSearchInstance;
|
|
207
|
+
|
|
208
|
+
// Always store the latest render options
|
|
209
|
+
latestRenderOptions = renderOptions;
|
|
210
|
+
if (!results) {
|
|
211
|
+
renderFn(_objectSpread(_objectSpread({}, _getWidgetRenderState(renderOptions)), {}, {
|
|
212
|
+
instantSearchInstance: instantSearchInstance
|
|
213
|
+
}), false);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Debounce: only fetch if search state changed (query or refinements) and after delay
|
|
218
|
+
var stateSignature = getStateSignature(results);
|
|
219
|
+
if (stateSignature !== lastStateSignature) {
|
|
220
|
+
lastStateSignature = stateSignature;
|
|
221
|
+
clearTimeout(debounceTimer);
|
|
222
|
+
debounceTimer = setTimeout(function () {
|
|
223
|
+
var _latestRenderOptions;
|
|
224
|
+
// Use the latest render options when the timeout fires
|
|
225
|
+
if ((_latestRenderOptions = latestRenderOptions) !== null && _latestRenderOptions !== void 0 && _latestRenderOptions.results) {
|
|
226
|
+
fetchSuggestions(latestRenderOptions.results, latestRenderOptions);
|
|
227
|
+
}
|
|
228
|
+
}, debounceMs);
|
|
229
|
+
}
|
|
230
|
+
renderFn(_objectSpread(_objectSpread({}, _getWidgetRenderState(renderOptions)), {}, {
|
|
231
|
+
instantSearchInstance: instantSearchInstance
|
|
232
|
+
}), false);
|
|
233
|
+
},
|
|
234
|
+
dispose: function dispose() {
|
|
235
|
+
clearTimeout(debounceTimer);
|
|
236
|
+
unmountFn();
|
|
237
|
+
},
|
|
238
|
+
getRenderState: function getRenderState(renderState, renderOptions) {
|
|
239
|
+
return _objectSpread(_objectSpread({}, renderState), {}, {
|
|
240
|
+
filterSuggestions: this.getWidgetRenderState(renderOptions)
|
|
241
|
+
});
|
|
242
|
+
},
|
|
243
|
+
getWidgetRenderState: function getWidgetRenderState(renderOptions) {
|
|
244
|
+
return _getWidgetRenderState(renderOptions);
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
};
|
|
249
|
+
export default connectFilterSuggestions;
|
|
@@ -61,7 +61,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
61
61
|
breadcrumb?: {
|
|
62
62
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
63
63
|
} | undefined;
|
|
64
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
64
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
65
65
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
66
66
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
67
67
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -106,7 +106,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
106
106
|
breadcrumb?: {
|
|
107
107
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
108
108
|
} | undefined;
|
|
109
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
109
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
110
110
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
111
111
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
112
112
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -137,7 +137,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
137
137
|
breadcrumb?: {
|
|
138
138
|
[rootAttribute: string]: WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
139
139
|
} | undefined;
|
|
140
|
-
chat?: WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
140
|
+
chat?: WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
141
141
|
clearRefinements?: WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
142
142
|
configure?: WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
143
143
|
currentRefinements?: WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -58,7 +58,7 @@ declare const _default: <TWidgetParams>(renderFn: Renderer<HitsRenderState, TWid
|
|
|
58
58
|
breadcrumb?: {
|
|
59
59
|
[rootAttribute: string]: WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
60
60
|
} | undefined;
|
|
61
|
-
chat?: WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
61
|
+
chat?: WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
62
62
|
clearRefinements?: WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
63
63
|
configure?: WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
64
64
|
currentRefinements?: WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -9,7 +9,7 @@ declare const connectHitsWithInsights: <TWidgetParams>(renderFn: import("../../t
|
|
|
9
9
|
breadcrumb?: {
|
|
10
10
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
11
11
|
} | undefined;
|
|
12
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
12
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
13
13
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
14
14
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
15
15
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
package/es/connectors/index.d.ts
CHANGED
|
@@ -37,3 +37,4 @@ export { default as connectRelevantSort } from './relevant-sort/connectRelevantS
|
|
|
37
37
|
export { default as connectFrequentlyBoughtTogether } from './frequently-bought-together/connectFrequentlyBoughtTogether';
|
|
38
38
|
export { default as connectLookingSimilar } from './looking-similar/connectLookingSimilar';
|
|
39
39
|
export { default as connectChat } from './chat/connectChat';
|
|
40
|
+
export { default as connectFilterSuggestions } from './filter-suggestions/connectFilterSuggestions';
|
package/es/connectors/index.js
CHANGED
|
@@ -42,4 +42,5 @@ export { default as connectVoiceSearch } from "./voice-search/connectVoiceSearch
|
|
|
42
42
|
export { default as connectRelevantSort } from "./relevant-sort/connectRelevantSort.js";
|
|
43
43
|
export { default as connectFrequentlyBoughtTogether } from "./frequently-bought-together/connectFrequentlyBoughtTogether.js";
|
|
44
44
|
export { default as connectLookingSimilar } from "./looking-similar/connectLookingSimilar.js";
|
|
45
|
-
export { default as connectChat } from "./chat/connectChat.js";
|
|
45
|
+
export { default as connectChat } from "./chat/connectChat.js";
|
|
46
|
+
export { default as connectFilterSuggestions } from "./filter-suggestions/connectFilterSuggestions.js";
|
|
@@ -37,3 +37,4 @@ export { default as connectRelevantSort } from './relevant-sort/connectRelevantS
|
|
|
37
37
|
export { default as connectFrequentlyBoughtTogether } from './frequently-bought-together/connectFrequentlyBoughtTogether';
|
|
38
38
|
export { default as connectLookingSimilar } from './looking-similar/connectLookingSimilar';
|
|
39
39
|
export declare const connectChat: () => never;
|
|
40
|
+
export { default as connectFilterSuggestions } from './filter-suggestions/connectFilterSuggestions';
|
|
@@ -44,4 +44,5 @@ export { default as connectFrequentlyBoughtTogether } from "./frequently-bought-
|
|
|
44
44
|
export { default as connectLookingSimilar } from "./looking-similar/connectLookingSimilar.js";
|
|
45
45
|
export var connectChat = function connectChat() {
|
|
46
46
|
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");
|
|
47
|
-
};
|
|
47
|
+
};
|
|
48
|
+
export { default as connectFilterSuggestions } from "./filter-suggestions/connectFilterSuggestions.js";
|
|
@@ -108,7 +108,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
108
108
|
breadcrumb?: {
|
|
109
109
|
[rootAttribute: string]: WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
110
110
|
} | undefined;
|
|
111
|
-
chat?: WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
111
|
+
chat?: WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
112
112
|
clearRefinements?: WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
113
113
|
configure?: WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
114
114
|
currentRefinements?: WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -9,7 +9,7 @@ declare const connectInfiniteHitsWithInsights: <TWidgetParams extends import("..
|
|
|
9
9
|
breadcrumb?: {
|
|
10
10
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
11
11
|
} | undefined;
|
|
12
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
12
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
13
13
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
14
14
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
15
15
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -61,7 +61,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
61
61
|
breadcrumb?: {
|
|
62
62
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
63
63
|
} | undefined;
|
|
64
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
64
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
65
65
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
66
66
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
67
67
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -106,7 +106,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
106
106
|
breadcrumb?: {
|
|
107
107
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
108
108
|
} | undefined;
|
|
109
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
109
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
110
110
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
111
111
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
112
112
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -61,7 +61,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
61
61
|
breadcrumb?: {
|
|
62
62
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
63
63
|
} | undefined;
|
|
64
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
64
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
65
65
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
66
66
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
67
67
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -106,7 +106,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
106
106
|
breadcrumb?: {
|
|
107
107
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
108
108
|
} | undefined;
|
|
109
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
109
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
110
110
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
111
111
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
112
112
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -69,7 +69,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
69
69
|
breadcrumb?: {
|
|
70
70
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
71
71
|
} | undefined;
|
|
72
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
72
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
73
73
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
74
74
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
75
75
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -114,7 +114,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
|
|
|
114
114
|
breadcrumb?: {
|
|
115
115
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
116
116
|
} | undefined;
|
|
117
|
-
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
|
|
117
|
+
chat?: import("../../types").WidgetRenderState<import("../chat/connectChat").ChatRenderState<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, import("../chat/connectChat").ChatConnectorParams<import("../../lib/ai-lite").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
118
118
|
clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
119
119
|
configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
120
120
|
currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { ChatInit, ChatRequestOptions, ChatState, ChatStatus, CreateUIMessage, FileUIPart, IdGenerator, InferUIMessageMetadata, InferUIMessageTools, UIMessage } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Abstract base class for chat implementations.
|
|
4
|
+
*/
|
|
5
|
+
export declare abstract class AbstractChat<TUIMessage extends UIMessage> {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly generateId: IdGenerator;
|
|
8
|
+
protected state: ChatState<TUIMessage>;
|
|
9
|
+
private readonly transport?;
|
|
10
|
+
private onError?;
|
|
11
|
+
private onToolCall?;
|
|
12
|
+
private onFinish?;
|
|
13
|
+
private onData?;
|
|
14
|
+
private sendAutomaticallyWhen?;
|
|
15
|
+
private activeResponse;
|
|
16
|
+
private jobExecutor;
|
|
17
|
+
constructor({ generateId, id, transport, state, onError, onToolCall, onFinish, onData, sendAutomaticallyWhen, }: Omit<ChatInit<TUIMessage>, 'messages'> & {
|
|
18
|
+
state: ChatState<TUIMessage>;
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Hook status:
|
|
22
|
+
*
|
|
23
|
+
* - `submitted`: The message has been sent to the API and we're awaiting the start of the response stream.
|
|
24
|
+
* - `streaming`: The response is actively streaming in from the API, receiving chunks of data.
|
|
25
|
+
* - `ready`: The full response has been received and processed; a new user message can be submitted.
|
|
26
|
+
* - `error`: An error occurred during the API request, preventing successful completion.
|
|
27
|
+
*/
|
|
28
|
+
get status(): ChatStatus;
|
|
29
|
+
protected setStatus({ status, error, }: {
|
|
30
|
+
status: ChatStatus;
|
|
31
|
+
error?: Error;
|
|
32
|
+
}): void;
|
|
33
|
+
get error(): Error | undefined;
|
|
34
|
+
get messages(): TUIMessage[];
|
|
35
|
+
set messages(messages: TUIMessage[]);
|
|
36
|
+
get lastMessage(): TUIMessage | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Appends or replaces a user message to the chat list. This triggers the API call to fetch
|
|
39
|
+
* the assistant's response.
|
|
40
|
+
*/
|
|
41
|
+
sendMessage: (message?: (CreateUIMessage<TUIMessage> & {
|
|
42
|
+
text?: never;
|
|
43
|
+
files?: never;
|
|
44
|
+
messageId?: string;
|
|
45
|
+
}) | {
|
|
46
|
+
text: string;
|
|
47
|
+
files?: FileList | FileUIPart[];
|
|
48
|
+
metadata?: InferUIMessageMetadata<TUIMessage>;
|
|
49
|
+
parts?: never;
|
|
50
|
+
messageId?: string;
|
|
51
|
+
} | {
|
|
52
|
+
files: FileList | FileUIPart[];
|
|
53
|
+
metadata?: InferUIMessageMetadata<TUIMessage>;
|
|
54
|
+
parts?: never;
|
|
55
|
+
messageId?: string;
|
|
56
|
+
}, options?: ChatRequestOptions) => Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Regenerate the assistant message with the provided message id.
|
|
59
|
+
* If no message id is provided, the last assistant message will be regenerated.
|
|
60
|
+
*/
|
|
61
|
+
regenerate: ({ messageId, ...options }?: {
|
|
62
|
+
messageId?: string;
|
|
63
|
+
} & ChatRequestOptions) => Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Attempt to resume an ongoing streaming response.
|
|
66
|
+
*/
|
|
67
|
+
resumeStream: (options?: ChatRequestOptions) => Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Clear the error state and set the status to ready if the chat is in an error state.
|
|
70
|
+
*/
|
|
71
|
+
clearError: () => void;
|
|
72
|
+
/**
|
|
73
|
+
* Add a tool result for a tool call.
|
|
74
|
+
*/
|
|
75
|
+
addToolResult: <TTool extends keyof InferUIMessageTools<TUIMessage>>({ tool, toolCallId, output, }: {
|
|
76
|
+
tool: TTool;
|
|
77
|
+
toolCallId: string;
|
|
78
|
+
output: InferUIMessageTools<TUIMessage>[TTool]["output"];
|
|
79
|
+
}) => Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Abort the current request immediately, keep the generated tokens if any.
|
|
82
|
+
*/
|
|
83
|
+
stop: () => Promise<void>;
|
|
84
|
+
private makeRequest;
|
|
85
|
+
private processStreamWithCallbacks;
|
|
86
|
+
private handleError;
|
|
87
|
+
private convertFilesToParts;
|
|
88
|
+
private fileToDataUrl;
|
|
89
|
+
}
|