instantsearch.js 4.87.0 → 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.
Files changed (54) hide show
  1. package/cjs/connectors/chat/connectChat.js +4 -4
  2. package/cjs/index.js +2 -2
  3. package/cjs/lib/ai-lite/abstract-chat.js +823 -0
  4. package/cjs/lib/ai-lite/index.js +57 -0
  5. package/cjs/lib/ai-lite/stream-parser.js +138 -0
  6. package/cjs/lib/ai-lite/transport.js +218 -0
  7. package/cjs/lib/ai-lite/types.js +1 -0
  8. package/cjs/lib/ai-lite/utils.js +85 -0
  9. package/cjs/lib/chat/chat.js +3 -3
  10. package/cjs/lib/version.js +1 -1
  11. package/dist/instantsearch.development.d.ts +1561 -169
  12. package/dist/instantsearch.development.js +9110 -4563
  13. package/dist/instantsearch.development.js.map +1 -1
  14. package/dist/instantsearch.production.d.ts +1561 -169
  15. package/dist/instantsearch.production.min.d.ts +1561 -169
  16. package/dist/instantsearch.production.min.js +2 -2
  17. package/dist/instantsearch.production.min.js.map +1 -1
  18. package/es/connectors/chat/connectChat.d.ts +14 -14
  19. package/es/connectors/chat/connectChat.js +1 -1
  20. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +2 -2
  21. package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -1
  22. package/es/connectors/hits/connectHits.d.ts +1 -1
  23. package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -1
  24. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -1
  25. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -1
  26. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -2
  27. package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -2
  28. package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -2
  29. package/es/lib/ai-lite/abstract-chat.d.ts +89 -0
  30. package/es/lib/ai-lite/abstract-chat.js +818 -0
  31. package/es/lib/ai-lite/index.d.ts +11 -0
  32. package/es/lib/ai-lite/index.js +18 -0
  33. package/es/lib/ai-lite/stream-parser.d.ts +18 -0
  34. package/es/lib/ai-lite/stream-parser.js +131 -0
  35. package/es/lib/ai-lite/transport.d.ts +24 -0
  36. package/es/lib/ai-lite/transport.js +214 -0
  37. package/es/lib/ai-lite/types.d.ts +362 -0
  38. package/es/lib/ai-lite/types.js +1 -0
  39. package/es/lib/ai-lite/utils.d.ts +12 -0
  40. package/es/lib/ai-lite/utils.js +76 -0
  41. package/es/lib/chat/chat.d.ts +2 -2
  42. package/es/lib/chat/chat.js +1 -1
  43. package/es/lib/version.d.ts +1 -1
  44. package/es/lib/version.js +1 -1
  45. package/es/widgets/chat/chat.d.ts +14 -14
  46. package/es/widgets/filter-suggestions/filter-suggestions.d.ts +5 -5
  47. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -3
  48. package/es/widgets/geo-search/geo-search.d.ts +1 -1
  49. package/es/widgets/hits/hits.d.ts +1 -1
  50. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -1
  51. package/es/widgets/looking-similar/looking-similar.d.ts +3 -3
  52. package/es/widgets/related-products/related-products.d.ts +3 -3
  53. package/es/widgets/trending-items/trending-items.d.ts +3 -3
  54. package/package.json +6 -7
@@ -1,4 +1,4 @@
1
- import { DefaultChatTransport } from 'ai';
1
+ import { DefaultChatTransport } from '../../lib/ai-lite';
2
2
  import { Chat } from '../../lib/chat';
3
3
  import type { AbstractChat, ChatInit as ChatInitAi, UIMessage } from '../../lib/chat';
4
4
  import type { SendEventForHits } from '../../lib/utils';
@@ -73,7 +73,7 @@ export type ChatWidgetDescription<TUiMessage extends UIMessage = UIMessage> = {
73
73
  };
74
74
  };
75
75
  export type ChatConnector<TUiMessage extends UIMessage = UIMessage> = Connector<ChatWidgetDescription<TUiMessage>, ChatConnectorParams<TUiMessage>>;
76
- declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Renderer<ChatRenderState, TWidgetParams & ChatConnectorParams>, unmountFn?: Unmounter) => <TUiMessage extends UIMessage = UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>(widgetParams: TWidgetParams & ChatConnectorParams<TUiMessage>) => {
76
+ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Renderer<ChatRenderState, TWidgetParams & ChatConnectorParams>, unmountFn?: Unmounter) => <TUiMessage extends UIMessage = UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>(widgetParams: TWidgetParams & ChatConnectorParams<TUiMessage>) => {
77
77
  $$type: "ais.chat";
78
78
  init(initOptions: import("../../types").InitOptions): void;
79
79
  render(renderOptions: import("../../types").RenderOptions): void;
@@ -83,7 +83,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
83
83
  breadcrumb?: {
84
84
  [rootAttribute: string]: WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
85
85
  } | undefined;
86
- chat?: WidgetRenderState<ChatRenderState<UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>, ChatConnectorParams<UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>> | undefined;
86
+ chat?: WidgetRenderState<ChatRenderState<UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>, ChatConnectorParams<UIMessage<unknown, import("../../lib/ai-lite").UIDataTypes, import("../../lib/ai-lite").UITools>>> | undefined;
87
87
  clearRefinements?: WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
88
88
  configure?: WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
89
89
  currentRefinements?: WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
@@ -358,10 +358,10 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
358
358
  onClearTransitionEnd: () => void;
359
359
  tools: ClientSideTools;
360
360
  widgetParams: TWidgetParams & ChatConnectorParams<TUiMessage>;
361
- addToolResult: <TOOL extends keyof (TUiMessage extends UIMessage<unknown, import("ai").UIDataTypes, infer TOOLS extends import("ai").UITools> ? TOOLS : import("ai").UITools)>({ tool, toolCallId, output, }: {
362
- tool: TOOL;
361
+ addToolResult: <TTool extends keyof import("../../lib/ai-lite").InferUIMessageTools<TUiMessage>>({ tool, toolCallId, output, }: {
362
+ tool: TTool;
363
363
  toolCallId: string;
364
- output: (TUiMessage extends UIMessage<unknown, import("ai").UIDataTypes, infer TOOLS extends import("ai").UITools> ? TOOLS : import("ai").UITools)[TOOL]["output"];
364
+ output: import("../../lib/ai-lite").InferUIMessageTools<TUiMessage>[TTool]["output"];
365
365
  }) => Promise<void>;
366
366
  clearError: () => void;
367
367
  error: Error | undefined;
@@ -369,8 +369,8 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
369
369
  messages: TUiMessage[];
370
370
  regenerate: ({ messageId, ...options }?: {
371
371
  messageId?: string;
372
- } & import("ai").ChatRequestOptions) => Promise<void>;
373
- resumeStream: (options?: import("ai").ChatRequestOptions) => Promise<void>;
372
+ } & import("../../lib/ai-lite").ChatRequestOptions) => Promise<void>;
373
+ resumeStream: (options?: import("../../lib/ai-lite").ChatRequestOptions) => Promise<void>;
374
374
  sendMessage: (message?: (Omit<TUiMessage, "id" | "role"> & {
375
375
  id?: TUiMessage["id"] | undefined;
376
376
  role?: TUiMessage["role"] | undefined;
@@ -380,17 +380,17 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
380
380
  messageId?: string;
381
381
  }) | {
382
382
  text: string;
383
- files?: FileList | import("ai").FileUIPart[];
384
- metadata?: (TUiMessage extends UIMessage<infer METADATA, import("ai").UIDataTypes, import("ai").UITools> ? METADATA : unknown) | undefined;
383
+ files?: FileList | import("../../lib/ai-lite").FileUIPart[];
384
+ metadata?: import("../../lib/ai-lite").InferUIMessageMetadata<TUiMessage> | undefined;
385
385
  parts?: never;
386
386
  messageId?: string;
387
387
  } | {
388
- files: FileList | import("ai").FileUIPart[];
389
- metadata?: (TUiMessage extends UIMessage<infer METADATA, import("ai").UIDataTypes, import("ai").UITools> ? METADATA : unknown) | undefined;
388
+ files: FileList | import("../../lib/ai-lite").FileUIPart[];
389
+ metadata?: import("../../lib/ai-lite").InferUIMessageMetadata<TUiMessage> | undefined;
390
390
  parts?: never;
391
391
  messageId?: string;
392
- } | undefined, options?: import("ai").ChatRequestOptions) => Promise<void>;
393
- status: import("ai").ChatStatus;
392
+ } | undefined, options?: import("../../lib/ai-lite").ChatRequestOptions) => Promise<void>;
393
+ status: import("../../lib/ai-lite").ChatStatus;
394
394
  stop: () => Promise<void>;
395
395
  };
396
396
  dispose(): void;
@@ -18,7 +18,7 @@ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(
18
18
  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; }
19
19
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
20
20
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
21
- import { DefaultChatTransport, lastAssistantMessageIsCompleteWithToolCalls } from 'ai';
21
+ import { DefaultChatTransport, lastAssistantMessageIsCompleteWithToolCalls } from "../../lib/ai-lite/index.js";
22
22
  import { Chat } from "../../lib/chat/index.js";
23
23
  import { checkRendering, createDocumentationMessageGenerator, createSendEventForHits, getAlgoliaAgent, getAppIdAndApiKey, noop, warning } from "../../lib/utils/index.js";
24
24
  var withUsage = createDocumentationMessageGenerator({
@@ -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;
@@ -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
+ }