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
|
@@ -197,6 +197,13 @@ export type ChatTemplates<THit extends NonNullable<object> = BaseHit> = Partial<
|
|
|
197
197
|
actions: ChatMessageActionProps[];
|
|
198
198
|
message: ChatMessageBase;
|
|
199
199
|
}>;
|
|
200
|
+
/**
|
|
201
|
+
* Template to use for prompt suggestions.
|
|
202
|
+
*/
|
|
203
|
+
suggestions: Template<{
|
|
204
|
+
suggestions: string[];
|
|
205
|
+
onSuggestionClick: (suggestion: string) => void;
|
|
206
|
+
}>;
|
|
200
207
|
}>;
|
|
201
208
|
type ChatWidgetParams<THit extends RecordWithObjectID = RecordWithObjectID> = {
|
|
202
209
|
/**
|
|
@@ -237,7 +244,7 @@ declare const _default: <THit extends RecordWithObjectID = RecordWithObjectID>(w
|
|
|
237
244
|
breadcrumb?: {
|
|
238
245
|
[rootAttribute: string]: import("../../types").WidgetRenderState<import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
|
|
239
246
|
} | undefined;
|
|
240
|
-
chat?: import("../../types").WidgetRenderState<ChatRenderState<import("
|
|
247
|
+
chat?: import("../../types").WidgetRenderState<ChatRenderState<import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, ChatConnectorParams<import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
|
|
241
248
|
clearRefinements?: import("../../types").WidgetRenderState<import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
|
|
242
249
|
configure?: import("../../types").WidgetRenderState<import("../../connectors/configure/connectConfigure").ConfigureRenderState, import("../../connectors/configure/connectConfigure").ConfigureConnectorParams> | undefined;
|
|
243
250
|
currentRefinements?: import("../../types").WidgetRenderState<import("../../connectors/current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../../connectors/current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
|
|
@@ -505,26 +512,27 @@ declare const _default: <THit extends RecordWithObjectID = RecordWithObjectID>(w
|
|
|
505
512
|
}>)) => void;
|
|
506
513
|
setInput: (input: string) => void;
|
|
507
514
|
setOpen: (open: boolean) => void;
|
|
508
|
-
setMessages: (messagesParam: import("
|
|
515
|
+
setMessages: (messagesParam: import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>[] | ((m: import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>[]) => import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>[])) => void;
|
|
516
|
+
suggestions: string[] | undefined;
|
|
509
517
|
isClearing: boolean;
|
|
510
518
|
clearMessages: () => void;
|
|
511
519
|
onClearTransitionEnd: () => void;
|
|
512
520
|
tools: ClientSideTools;
|
|
513
|
-
widgetParams: Partial<ChatWidgetParams<RecordWithObjectID>> & ChatConnectorParams<import("
|
|
514
|
-
addToolResult: <
|
|
515
|
-
tool:
|
|
521
|
+
widgetParams: Partial<ChatWidgetParams<RecordWithObjectID>> & ChatConnectorParams<import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>;
|
|
522
|
+
addToolResult: <TTool extends string>({ tool, toolCallId, output, }: {
|
|
523
|
+
tool: TTool;
|
|
516
524
|
toolCallId: string;
|
|
517
525
|
output: unknown;
|
|
518
526
|
}) => Promise<void>;
|
|
519
527
|
clearError: () => void;
|
|
520
528
|
error: Error | undefined;
|
|
521
529
|
id: string;
|
|
522
|
-
messages: import("
|
|
530
|
+
messages: import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>[];
|
|
523
531
|
regenerate: ({ messageId, ...options }?: {
|
|
524
532
|
messageId?: string;
|
|
525
|
-
} & import("ai").ChatRequestOptions) => Promise<void>;
|
|
526
|
-
resumeStream: (options?: import("ai").ChatRequestOptions) => Promise<void>;
|
|
527
|
-
sendMessage: (message?: (Omit<import("
|
|
533
|
+
} & import("../../lib/ai-lite").ChatRequestOptions) => Promise<void>;
|
|
534
|
+
resumeStream: (options?: import("../../lib/ai-lite").ChatRequestOptions) => Promise<void>;
|
|
535
|
+
sendMessage: (message?: (Omit<import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>, "id" | "role"> & {
|
|
528
536
|
id?: string | undefined;
|
|
529
537
|
role?: "system" | "user" | "assistant" | undefined;
|
|
530
538
|
} & {
|
|
@@ -533,21 +541,21 @@ declare const _default: <THit extends RecordWithObjectID = RecordWithObjectID>(w
|
|
|
533
541
|
messageId?: string;
|
|
534
542
|
}) | {
|
|
535
543
|
text: string;
|
|
536
|
-
files?: FileList | import("ai").FileUIPart[];
|
|
544
|
+
files?: FileList | import("../../lib/ai-lite").FileUIPart[];
|
|
537
545
|
metadata?: unknown;
|
|
538
546
|
parts?: never;
|
|
539
547
|
messageId?: string;
|
|
540
548
|
} | {
|
|
541
|
-
files: FileList | import("ai").FileUIPart[];
|
|
549
|
+
files: FileList | import("../../lib/ai-lite").FileUIPart[];
|
|
542
550
|
metadata?: unknown;
|
|
543
551
|
parts?: never;
|
|
544
552
|
messageId?: string;
|
|
545
|
-
} | undefined, options?: import("ai").ChatRequestOptions) => Promise<void>;
|
|
546
|
-
status: import("ai").ChatStatus;
|
|
553
|
+
} | undefined, options?: import("../../lib/ai-lite").ChatRequestOptions) => Promise<void>;
|
|
554
|
+
status: import("../../lib/ai-lite").ChatStatus;
|
|
547
555
|
stop: () => Promise<void>;
|
|
548
556
|
};
|
|
549
557
|
dispose(): void;
|
|
550
558
|
shouldRender(): true;
|
|
551
|
-
chatInstance: import("../../lib/chat").Chat<import("
|
|
559
|
+
chatInstance: import("../../lib/chat").Chat<import("../../lib/chat").UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>;
|
|
552
560
|
};
|
|
553
561
|
export default _default;
|
package/es/widgets/chat/chat.js
CHANGED
|
@@ -19,7 +19,7 @@ import { Fragment, h, render } from 'preact';
|
|
|
19
19
|
import { useMemo } from 'preact/hooks';
|
|
20
20
|
import TemplateComponent from "../../components/Template/Template.js";
|
|
21
21
|
import connectChat from "../../connectors/chat/connectChat.js";
|
|
22
|
-
import { SearchIndexToolType, RecommendToolType } from "../../lib/chat/index.js";
|
|
22
|
+
import { SearchIndexToolType, RecommendToolType, MemorizeToolType, MemorySearchToolType, PonderToolType } from "../../lib/chat/index.js";
|
|
23
23
|
import { prepareTemplateProps } from "../../lib/templating/index.js";
|
|
24
24
|
import { useStickToBottom } from "../../lib/useStickToBottom.js";
|
|
25
25
|
import { getContainerNode, createDocumentationMessageGenerator } from "../../lib/utils/index.js";
|
|
@@ -161,7 +161,13 @@ function createCarouselTool(showViewAll, templates, getSearchPageURL) {
|
|
|
161
161
|
}
|
|
162
162
|
function createDefaultTools(templates, getSearchPageURL) {
|
|
163
163
|
var _ref9;
|
|
164
|
-
return _ref9 = {}, _defineProperty(_ref9, SearchIndexToolType, createCarouselTool(true, templates, getSearchPageURL)), _defineProperty(_ref9, RecommendToolType, createCarouselTool(false, templates, getSearchPageURL)), _ref9
|
|
164
|
+
return _ref9 = {}, _defineProperty(_ref9, SearchIndexToolType, createCarouselTool(true, templates, getSearchPageURL)), _defineProperty(_ref9, RecommendToolType, createCarouselTool(false, templates, getSearchPageURL)), _defineProperty(_ref9, MemorizeToolType, {
|
|
165
|
+
templates: {}
|
|
166
|
+
}), _defineProperty(_ref9, MemorySearchToolType, {
|
|
167
|
+
templates: {}
|
|
168
|
+
}), _defineProperty(_ref9, PonderToolType, {
|
|
169
|
+
templates: {}
|
|
170
|
+
}), _ref9;
|
|
165
171
|
}
|
|
166
172
|
function ChatWrapper(_ref0) {
|
|
167
173
|
var cssClasses = _ref0.cssClasses,
|
|
@@ -184,6 +190,7 @@ function ChatWrapper(_ref0) {
|
|
|
184
190
|
headerProps = _ref0.headerProps,
|
|
185
191
|
messagesProps = _ref0.messagesProps,
|
|
186
192
|
promptProps = _ref0.promptProps,
|
|
193
|
+
suggestionsProps = _ref0.suggestionsProps,
|
|
187
194
|
state = _ref0.state;
|
|
188
195
|
var _useStickToBottom = useStickToBottom({
|
|
189
196
|
initial: 'smooth',
|
|
@@ -212,6 +219,7 @@ function ChatWrapper(_ref0) {
|
|
|
212
219
|
},
|
|
213
220
|
headerComponent: headerProps.layoutComponent,
|
|
214
221
|
promptComponent: promptProps.layoutComponent,
|
|
222
|
+
suggestionsComponent: suggestionsProps.suggestionsComponent,
|
|
215
223
|
headerProps: {
|
|
216
224
|
onClose: function onClose() {
|
|
217
225
|
return setChatOpen(false);
|
|
@@ -275,6 +283,10 @@ function ChatWrapper(_ref0) {
|
|
|
275
283
|
headerComponent: promptProps.headerComponent,
|
|
276
284
|
footerComponent: promptProps.footerComponent,
|
|
277
285
|
translations: promptProps.translations
|
|
286
|
+
},
|
|
287
|
+
suggestionsProps: {
|
|
288
|
+
onSuggestionClick: suggestionsProps.onSuggestionClick,
|
|
289
|
+
suggestions: suggestionsProps.suggestions
|
|
278
290
|
}
|
|
279
291
|
});
|
|
280
292
|
}
|
|
@@ -308,7 +320,8 @@ var createRenderer = function createRenderer(_ref1) {
|
|
|
308
320
|
isClearing = props.isClearing,
|
|
309
321
|
clearMessages = props.clearMessages,
|
|
310
322
|
onClearTransitionEnd = props.onClearTransitionEnd,
|
|
311
|
-
toolsFromConnector = props.tools
|
|
323
|
+
toolsFromConnector = props.tools,
|
|
324
|
+
suggestions = props.suggestions;
|
|
312
325
|
if (process.env.NODE_ENV === 'development' && error) {
|
|
313
326
|
throw error;
|
|
314
327
|
}
|
|
@@ -509,6 +522,13 @@ var createRenderer = function createRenderer(_ref1) {
|
|
|
509
522
|
}
|
|
510
523
|
}));
|
|
511
524
|
} : undefined;
|
|
525
|
+
var suggestionsComponent = templates.suggestions ? function (suggestionsProps) {
|
|
526
|
+
return h(TemplateComponent, _extends({}, renderState.templateProps, {
|
|
527
|
+
templateKey: "suggestions",
|
|
528
|
+
rootTagName: "fragment",
|
|
529
|
+
data: suggestionsProps
|
|
530
|
+
}));
|
|
531
|
+
} : undefined;
|
|
512
532
|
state.subscribe(rerender);
|
|
513
533
|
function rerender() {
|
|
514
534
|
render(h(ChatWrapper, {
|
|
@@ -562,7 +582,16 @@ var createRenderer = function createRenderer(_ref1) {
|
|
|
562
582
|
translations: promptTranslations,
|
|
563
583
|
promptRef: promptRef
|
|
564
584
|
},
|
|
565
|
-
state: state
|
|
585
|
+
state: state,
|
|
586
|
+
suggestionsProps: {
|
|
587
|
+
suggestions: suggestions,
|
|
588
|
+
onSuggestionClick: function onSuggestionClick(message) {
|
|
589
|
+
sendMessage({
|
|
590
|
+
text: message
|
|
591
|
+
});
|
|
592
|
+
},
|
|
593
|
+
suggestionsComponent: suggestionsComponent
|
|
594
|
+
}
|
|
566
595
|
}), containerNode);
|
|
567
596
|
}
|
|
568
597
|
rerender();
|