@assistant-ui/react 0.0.16 → 0.0.18
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/dist/index.d.mts +78 -9
- package/dist/index.d.ts +78 -9
- package/dist/index.js +403 -123
- package/dist/index.mjs +411 -136
- package/package.json +2 -1
package/dist/index.d.mts
CHANGED
@@ -3,6 +3,7 @@ import { FC, ReactNode, PropsWithChildren, ComponentType } from 'react';
|
|
3
3
|
import { TextareaAutosizeProps } from 'react-textarea-autosize';
|
4
4
|
import { UseChatHelpers, UseAssistantHelpers } from 'ai/react';
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
6
|
+
import { LanguageModel, Message } from 'ai';
|
6
7
|
import { UseBoundStore, StoreApi } from 'zustand';
|
7
8
|
|
8
9
|
declare const ThreadRoot: react.ForwardRefExoticComponent<Pick<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
@@ -132,7 +133,7 @@ type ToolCallContentPart = {
|
|
132
133
|
result?: object;
|
133
134
|
};
|
134
135
|
type UserContentPart = TextContentPart | ImageContentPart | UIContentPart;
|
135
|
-
type AssistantContentPart = TextContentPart |
|
136
|
+
type AssistantContentPart = TextContentPart | UIContentPart | ToolCallContentPart;
|
136
137
|
type AppendContentPart = TextContentPart | ImageContentPart;
|
137
138
|
type BaseMessage = {
|
138
139
|
id: string;
|
@@ -145,6 +146,7 @@ type UserMessage = BaseMessage & {
|
|
145
146
|
type AssistantMessage = BaseMessage & {
|
146
147
|
role: "assistant";
|
147
148
|
content: AssistantContentPart[];
|
149
|
+
status: "in_progress" | "done" | "error";
|
148
150
|
};
|
149
151
|
type AppendMessage = {
|
150
152
|
parentId: string | null;
|
@@ -199,14 +201,14 @@ type MessageContentProps = {
|
|
199
201
|
};
|
200
202
|
declare const MessageContent: FC<MessageContentProps>;
|
201
203
|
|
202
|
-
declare const
|
204
|
+
declare const MessageInProgress: react.ForwardRefExoticComponent<Pick<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
203
205
|
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
204
206
|
} & {
|
205
207
|
asChild?: boolean;
|
206
208
|
}, "key" | keyof react.HTMLAttributes<HTMLDivElement> | "asChild"> & react.RefAttributes<HTMLDivElement>>;
|
207
209
|
|
208
210
|
declare namespace index$3 {
|
209
|
-
export { MessageContent as Content, MessageIf as If,
|
211
|
+
export { MessageContent as Content, MessageIf as If, MessageInProgress as InProgress, MessageProvider as Provider, MessageRoot as Root };
|
210
212
|
}
|
211
213
|
|
212
214
|
declare const BranchPickerNext: react.ForwardRefExoticComponent<Pick<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
@@ -274,14 +276,14 @@ declare namespace index$1 {
|
|
274
276
|
|
275
277
|
type ContentPartProviderProps = PropsWithChildren<{
|
276
278
|
part: ThreadMessage["content"][number];
|
277
|
-
|
279
|
+
status: "in_progress" | "done" | "error";
|
278
280
|
}>;
|
279
281
|
declare const ContentPartProvider: FC<ContentPartProviderProps>;
|
280
282
|
|
281
|
-
declare const
|
283
|
+
declare const ContentPartInProgressIndicator: FC;
|
282
284
|
|
283
285
|
declare namespace index {
|
284
|
-
export {
|
286
|
+
export { ContentPartInProgressIndicator as InProgressIndicator, ContentPartProvider as Provider };
|
285
287
|
}
|
286
288
|
|
287
289
|
type VercelAIAssistantProviderProps = PropsWithChildren<{
|
@@ -310,13 +312,80 @@ type RSCMessageConverter<T> = {
|
|
310
312
|
type VercelRSCAssistantProviderProps<T = VercelRSCMessage> = VercelRSCAssistantProviderBaseProps<T> & (T extends VercelRSCMessage ? object : RSCMessageConverter<T>);
|
311
313
|
declare const VercelRSCAssistantProvider: <T extends WeakKey = VercelRSCMessage>({ children, convertMessage, messages: vercelMessages, append: appendCallback, edit, reload, }: VercelRSCAssistantProviderProps<T>) => react_jsx_runtime.JSX.Element;
|
312
314
|
|
315
|
+
type MessageUpdateCallback = (parentId: string | null, message: ThreadMessage) => void;
|
316
|
+
type StatusUpdateCallback = (isRunning: boolean) => void;
|
317
|
+
type Unsubscribe = () => void;
|
318
|
+
type ThreadRuntime = {
|
319
|
+
append(message: AppendMessage): Promise<{
|
320
|
+
parentId: string;
|
321
|
+
id: string;
|
322
|
+
}>;
|
323
|
+
startRun(parentId: string | null): Promise<{
|
324
|
+
id: string;
|
325
|
+
}>;
|
326
|
+
cancelRun(): void;
|
327
|
+
subscribeToMessageUpdates(callback: MessageUpdateCallback): Unsubscribe;
|
328
|
+
subscribeToStatusUpdates(callback: StatusUpdateCallback): Unsubscribe;
|
329
|
+
};
|
330
|
+
|
331
|
+
type AssistantProviderProps = {
|
332
|
+
runtime: ThreadRuntime;
|
333
|
+
};
|
334
|
+
declare const AssistantProvider: FC<PropsWithChildren<AssistantProviderProps>>;
|
335
|
+
|
336
|
+
type ChatModelRunResult = {
|
337
|
+
content: AssistantContentPart[];
|
338
|
+
};
|
339
|
+
type ChatModelRunOptions = {
|
340
|
+
messages: ThreadMessage[];
|
341
|
+
abortSignal: AbortSignal;
|
342
|
+
onUpdate: (result: ChatModelRunResult) => void;
|
343
|
+
};
|
344
|
+
type ChatModelAdapter = {
|
345
|
+
run: (options: ChatModelRunOptions) => Promise<ChatModelRunResult>;
|
346
|
+
};
|
347
|
+
|
348
|
+
declare class LocalRuntime implements ThreadRuntime {
|
349
|
+
adapter: ChatModelAdapter;
|
350
|
+
private _messageUpdateCallbacks;
|
351
|
+
private _statusUpdateCallbacks;
|
352
|
+
private abortController;
|
353
|
+
private repository;
|
354
|
+
constructor(adapter: ChatModelAdapter);
|
355
|
+
append(message: AppendMessage): Promise<{
|
356
|
+
parentId: string;
|
357
|
+
id: string;
|
358
|
+
}>;
|
359
|
+
startRun(parentId: string | null): Promise<{
|
360
|
+
id: string;
|
361
|
+
}>;
|
362
|
+
private addOrUpdateMessage;
|
363
|
+
private run;
|
364
|
+
cancelRun(): void;
|
365
|
+
subscribeToMessageUpdates(callback: MessageUpdateCallback): Unsubscribe;
|
366
|
+
subscribeToStatusUpdates(callback: StatusUpdateCallback): Unsubscribe;
|
367
|
+
}
|
368
|
+
|
369
|
+
declare const useLocalRuntime: (adapter: ChatModelAdapter) => LocalRuntime;
|
370
|
+
|
371
|
+
declare class VercelModelAdapter implements ChatModelAdapter {
|
372
|
+
private readonly model;
|
373
|
+
constructor(model: LanguageModel);
|
374
|
+
run({ messages, abortSignal, onUpdate }: ChatModelRunOptions): Promise<{
|
375
|
+
content: AssistantContentPart[];
|
376
|
+
}>;
|
377
|
+
}
|
378
|
+
|
379
|
+
declare const getVercelMessage: (message: ThreadMessage) => Message | undefined;
|
380
|
+
declare const getVercelRSCMessage: <T>(message: ThreadMessage) => T | undefined;
|
381
|
+
|
313
382
|
type MessageState = {
|
314
383
|
message: ThreadMessage;
|
315
384
|
parentId: string | null;
|
316
385
|
branches: string[];
|
317
386
|
isLast: boolean;
|
318
|
-
|
319
|
-
|
387
|
+
inProgressIndicator: ReactNode | null;
|
388
|
+
setInProgressIndicator: (value: ReactNode | null) => void;
|
320
389
|
isCopied: boolean;
|
321
390
|
setIsCopied: (value: boolean) => void;
|
322
391
|
isHovering: boolean;
|
@@ -341,4 +410,4 @@ declare const useGoToNextBranch: () => (() => void) | null;
|
|
341
410
|
|
342
411
|
declare const useGoToPreviousBranch: () => (() => void) | null;
|
343
412
|
|
344
|
-
export { index$1 as ActionBarPrimitive, type AppendContentPart, type AppendMessage, index$2 as BranchPickerPrimitive, index$4 as ComposerPrimitive, index as ContentPartPrimitive, type ImageContentPart, index$3 as MessagePrimitive, type VercelRSCMessage as RSCMessage, type TextContentPart, index$5 as ThreadPrimitive, VercelAIAssistantProvider, type VercelAIAssistantProviderProps, VercelRSCAssistantProvider, type VercelRSCAssistantProviderProps, useMessageContext as unstable_useMessageContext, useBeginMessageEdit, useCopyMessage, useGoToNextBranch, useGoToPreviousBranch, useReloadMessage };
|
413
|
+
export { index$1 as ActionBarPrimitive, type AppendContentPart, type AppendMessage, index$2 as BranchPickerPrimitive, index$4 as ComposerPrimitive, index as ContentPartPrimitive, type ImageContentPart, index$3 as MessagePrimitive, type VercelRSCMessage as RSCMessage, type TextContentPart, index$5 as ThreadPrimitive, VercelAIAssistantProvider, type VercelAIAssistantProviderProps, VercelRSCAssistantProvider, type VercelRSCAssistantProviderProps, AssistantProvider as unstable_AssistantProvider, type ChatModelAdapter as unstable_ChatModelAdapter, type ChatModelRunOptions as unstable_ChatModelRunOptions, VercelModelAdapter as unstable_VercelModelAdapter, getVercelMessage as unstable_getVercelMessage, getVercelRSCMessage as unstable_getVercelRSCMessage, useLocalRuntime as unstable_useLocalRuntime, useMessageContext as unstable_useMessageContext, useBeginMessageEdit, useCopyMessage, useGoToNextBranch, useGoToPreviousBranch, useReloadMessage };
|
package/dist/index.d.ts
CHANGED
@@ -3,6 +3,7 @@ import { FC, ReactNode, PropsWithChildren, ComponentType } from 'react';
|
|
3
3
|
import { TextareaAutosizeProps } from 'react-textarea-autosize';
|
4
4
|
import { UseChatHelpers, UseAssistantHelpers } from 'ai/react';
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
6
|
+
import { LanguageModel, Message } from 'ai';
|
6
7
|
import { UseBoundStore, StoreApi } from 'zustand';
|
7
8
|
|
8
9
|
declare const ThreadRoot: react.ForwardRefExoticComponent<Pick<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
@@ -132,7 +133,7 @@ type ToolCallContentPart = {
|
|
132
133
|
result?: object;
|
133
134
|
};
|
134
135
|
type UserContentPart = TextContentPart | ImageContentPart | UIContentPart;
|
135
|
-
type AssistantContentPart = TextContentPart |
|
136
|
+
type AssistantContentPart = TextContentPart | UIContentPart | ToolCallContentPart;
|
136
137
|
type AppendContentPart = TextContentPart | ImageContentPart;
|
137
138
|
type BaseMessage = {
|
138
139
|
id: string;
|
@@ -145,6 +146,7 @@ type UserMessage = BaseMessage & {
|
|
145
146
|
type AssistantMessage = BaseMessage & {
|
146
147
|
role: "assistant";
|
147
148
|
content: AssistantContentPart[];
|
149
|
+
status: "in_progress" | "done" | "error";
|
148
150
|
};
|
149
151
|
type AppendMessage = {
|
150
152
|
parentId: string | null;
|
@@ -199,14 +201,14 @@ type MessageContentProps = {
|
|
199
201
|
};
|
200
202
|
declare const MessageContent: FC<MessageContentProps>;
|
201
203
|
|
202
|
-
declare const
|
204
|
+
declare const MessageInProgress: react.ForwardRefExoticComponent<Pick<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
203
205
|
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
204
206
|
} & {
|
205
207
|
asChild?: boolean;
|
206
208
|
}, "key" | keyof react.HTMLAttributes<HTMLDivElement> | "asChild"> & react.RefAttributes<HTMLDivElement>>;
|
207
209
|
|
208
210
|
declare namespace index$3 {
|
209
|
-
export { MessageContent as Content, MessageIf as If,
|
211
|
+
export { MessageContent as Content, MessageIf as If, MessageInProgress as InProgress, MessageProvider as Provider, MessageRoot as Root };
|
210
212
|
}
|
211
213
|
|
212
214
|
declare const BranchPickerNext: react.ForwardRefExoticComponent<Pick<Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
@@ -274,14 +276,14 @@ declare namespace index$1 {
|
|
274
276
|
|
275
277
|
type ContentPartProviderProps = PropsWithChildren<{
|
276
278
|
part: ThreadMessage["content"][number];
|
277
|
-
|
279
|
+
status: "in_progress" | "done" | "error";
|
278
280
|
}>;
|
279
281
|
declare const ContentPartProvider: FC<ContentPartProviderProps>;
|
280
282
|
|
281
|
-
declare const
|
283
|
+
declare const ContentPartInProgressIndicator: FC;
|
282
284
|
|
283
285
|
declare namespace index {
|
284
|
-
export {
|
286
|
+
export { ContentPartInProgressIndicator as InProgressIndicator, ContentPartProvider as Provider };
|
285
287
|
}
|
286
288
|
|
287
289
|
type VercelAIAssistantProviderProps = PropsWithChildren<{
|
@@ -310,13 +312,80 @@ type RSCMessageConverter<T> = {
|
|
310
312
|
type VercelRSCAssistantProviderProps<T = VercelRSCMessage> = VercelRSCAssistantProviderBaseProps<T> & (T extends VercelRSCMessage ? object : RSCMessageConverter<T>);
|
311
313
|
declare const VercelRSCAssistantProvider: <T extends WeakKey = VercelRSCMessage>({ children, convertMessage, messages: vercelMessages, append: appendCallback, edit, reload, }: VercelRSCAssistantProviderProps<T>) => react_jsx_runtime.JSX.Element;
|
312
314
|
|
315
|
+
type MessageUpdateCallback = (parentId: string | null, message: ThreadMessage) => void;
|
316
|
+
type StatusUpdateCallback = (isRunning: boolean) => void;
|
317
|
+
type Unsubscribe = () => void;
|
318
|
+
type ThreadRuntime = {
|
319
|
+
append(message: AppendMessage): Promise<{
|
320
|
+
parentId: string;
|
321
|
+
id: string;
|
322
|
+
}>;
|
323
|
+
startRun(parentId: string | null): Promise<{
|
324
|
+
id: string;
|
325
|
+
}>;
|
326
|
+
cancelRun(): void;
|
327
|
+
subscribeToMessageUpdates(callback: MessageUpdateCallback): Unsubscribe;
|
328
|
+
subscribeToStatusUpdates(callback: StatusUpdateCallback): Unsubscribe;
|
329
|
+
};
|
330
|
+
|
331
|
+
type AssistantProviderProps = {
|
332
|
+
runtime: ThreadRuntime;
|
333
|
+
};
|
334
|
+
declare const AssistantProvider: FC<PropsWithChildren<AssistantProviderProps>>;
|
335
|
+
|
336
|
+
type ChatModelRunResult = {
|
337
|
+
content: AssistantContentPart[];
|
338
|
+
};
|
339
|
+
type ChatModelRunOptions = {
|
340
|
+
messages: ThreadMessage[];
|
341
|
+
abortSignal: AbortSignal;
|
342
|
+
onUpdate: (result: ChatModelRunResult) => void;
|
343
|
+
};
|
344
|
+
type ChatModelAdapter = {
|
345
|
+
run: (options: ChatModelRunOptions) => Promise<ChatModelRunResult>;
|
346
|
+
};
|
347
|
+
|
348
|
+
declare class LocalRuntime implements ThreadRuntime {
|
349
|
+
adapter: ChatModelAdapter;
|
350
|
+
private _messageUpdateCallbacks;
|
351
|
+
private _statusUpdateCallbacks;
|
352
|
+
private abortController;
|
353
|
+
private repository;
|
354
|
+
constructor(adapter: ChatModelAdapter);
|
355
|
+
append(message: AppendMessage): Promise<{
|
356
|
+
parentId: string;
|
357
|
+
id: string;
|
358
|
+
}>;
|
359
|
+
startRun(parentId: string | null): Promise<{
|
360
|
+
id: string;
|
361
|
+
}>;
|
362
|
+
private addOrUpdateMessage;
|
363
|
+
private run;
|
364
|
+
cancelRun(): void;
|
365
|
+
subscribeToMessageUpdates(callback: MessageUpdateCallback): Unsubscribe;
|
366
|
+
subscribeToStatusUpdates(callback: StatusUpdateCallback): Unsubscribe;
|
367
|
+
}
|
368
|
+
|
369
|
+
declare const useLocalRuntime: (adapter: ChatModelAdapter) => LocalRuntime;
|
370
|
+
|
371
|
+
declare class VercelModelAdapter implements ChatModelAdapter {
|
372
|
+
private readonly model;
|
373
|
+
constructor(model: LanguageModel);
|
374
|
+
run({ messages, abortSignal, onUpdate }: ChatModelRunOptions): Promise<{
|
375
|
+
content: AssistantContentPart[];
|
376
|
+
}>;
|
377
|
+
}
|
378
|
+
|
379
|
+
declare const getVercelMessage: (message: ThreadMessage) => Message | undefined;
|
380
|
+
declare const getVercelRSCMessage: <T>(message: ThreadMessage) => T | undefined;
|
381
|
+
|
313
382
|
type MessageState = {
|
314
383
|
message: ThreadMessage;
|
315
384
|
parentId: string | null;
|
316
385
|
branches: string[];
|
317
386
|
isLast: boolean;
|
318
|
-
|
319
|
-
|
387
|
+
inProgressIndicator: ReactNode | null;
|
388
|
+
setInProgressIndicator: (value: ReactNode | null) => void;
|
320
389
|
isCopied: boolean;
|
321
390
|
setIsCopied: (value: boolean) => void;
|
322
391
|
isHovering: boolean;
|
@@ -341,4 +410,4 @@ declare const useGoToNextBranch: () => (() => void) | null;
|
|
341
410
|
|
342
411
|
declare const useGoToPreviousBranch: () => (() => void) | null;
|
343
412
|
|
344
|
-
export { index$1 as ActionBarPrimitive, type AppendContentPart, type AppendMessage, index$2 as BranchPickerPrimitive, index$4 as ComposerPrimitive, index as ContentPartPrimitive, type ImageContentPart, index$3 as MessagePrimitive, type VercelRSCMessage as RSCMessage, type TextContentPart, index$5 as ThreadPrimitive, VercelAIAssistantProvider, type VercelAIAssistantProviderProps, VercelRSCAssistantProvider, type VercelRSCAssistantProviderProps, useMessageContext as unstable_useMessageContext, useBeginMessageEdit, useCopyMessage, useGoToNextBranch, useGoToPreviousBranch, useReloadMessage };
|
413
|
+
export { index$1 as ActionBarPrimitive, type AppendContentPart, type AppendMessage, index$2 as BranchPickerPrimitive, index$4 as ComposerPrimitive, index as ContentPartPrimitive, type ImageContentPart, index$3 as MessagePrimitive, type VercelRSCMessage as RSCMessage, type TextContentPart, index$5 as ThreadPrimitive, VercelAIAssistantProvider, type VercelAIAssistantProviderProps, VercelRSCAssistantProvider, type VercelRSCAssistantProviderProps, AssistantProvider as unstable_AssistantProvider, type ChatModelAdapter as unstable_ChatModelAdapter, type ChatModelRunOptions as unstable_ChatModelRunOptions, VercelModelAdapter as unstable_VercelModelAdapter, getVercelMessage as unstable_getVercelMessage, getVercelRSCMessage as unstable_getVercelRSCMessage, useLocalRuntime as unstable_useLocalRuntime, useMessageContext as unstable_useMessageContext, useBeginMessageEdit, useCopyMessage, useGoToNextBranch, useGoToPreviousBranch, useReloadMessage };
|