@assistant-ui/react 0.0.17 → 0.0.19
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.mts +75 -11
- package/dist/index.d.ts +75 -11
- package/dist/index.js +354 -81
- package/dist/index.mjs +338 -63
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
@@ -3,7 +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 { Message } from 'ai';
|
6
|
+
import { LanguageModel, Message } from 'ai';
|
7
7
|
import { UseBoundStore, StoreApi } from 'zustand';
|
8
8
|
|
9
9
|
declare const ThreadRoot: react.ForwardRefExoticComponent<Pick<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
@@ -103,16 +103,16 @@ declare namespace index$4 {
|
|
103
103
|
export { ComposerCancel as Cancel, ComposerIf as If, ComposerInput as Input, ComposerRoot as Root, ComposerSend as Send };
|
104
104
|
}
|
105
105
|
|
106
|
-
type BaseComposerState = {
|
106
|
+
type BaseComposerState = Readonly<{
|
107
107
|
value: string;
|
108
108
|
setValue: (value: string) => void;
|
109
|
-
}
|
110
|
-
type MessageComposerState = BaseComposerState & {
|
109
|
+
}>;
|
110
|
+
type MessageComposerState = BaseComposerState & Readonly<{
|
111
111
|
isEditing: boolean;
|
112
112
|
edit: () => void;
|
113
113
|
send: () => void;
|
114
114
|
cancel: () => boolean;
|
115
|
-
}
|
115
|
+
}>;
|
116
116
|
|
117
117
|
type TextContentPart = {
|
118
118
|
type: "text";
|
@@ -133,7 +133,7 @@ type ToolCallContentPart = {
|
|
133
133
|
result?: object;
|
134
134
|
};
|
135
135
|
type UserContentPart = TextContentPart | ImageContentPart | UIContentPart;
|
136
|
-
type AssistantContentPart = TextContentPart |
|
136
|
+
type AssistantContentPart = TextContentPart | UIContentPart | ToolCallContentPart;
|
137
137
|
type AppendContentPart = TextContentPart | ImageContentPart;
|
138
138
|
type BaseMessage = {
|
139
139
|
id: string;
|
@@ -312,13 +312,77 @@ type RSCMessageConverter<T> = {
|
|
312
312
|
type VercelRSCAssistantProviderProps<T = VercelRSCMessage> = VercelRSCAssistantProviderBaseProps<T> & (T extends VercelRSCMessage ? object : RSCMessageConverter<T>);
|
313
313
|
declare const VercelRSCAssistantProvider: <T extends WeakKey = VercelRSCMessage>({ children, convertMessage, messages: vercelMessages, append: appendCallback, edit, reload, }: VercelRSCAssistantProviderProps<T>) => react_jsx_runtime.JSX.Element;
|
314
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
|
+
|
315
379
|
declare const getVercelMessage: (message: ThreadMessage) => Message | undefined;
|
316
380
|
declare const getVercelRSCMessage: <T>(message: ThreadMessage) => T | undefined;
|
317
381
|
|
318
|
-
type MessageState = {
|
319
|
-
message: ThreadMessage
|
382
|
+
type MessageState = Readonly<{
|
383
|
+
message: Readonly<ThreadMessage>;
|
320
384
|
parentId: string | null;
|
321
|
-
branches: string[];
|
385
|
+
branches: readonly string[];
|
322
386
|
isLast: boolean;
|
323
387
|
inProgressIndicator: ReactNode | null;
|
324
388
|
setInProgressIndicator: (value: ReactNode | null) => void;
|
@@ -326,7 +390,7 @@ type MessageState = {
|
|
326
390
|
setIsCopied: (value: boolean) => void;
|
327
391
|
isHovering: boolean;
|
328
392
|
setIsHovering: (value: boolean) => void;
|
329
|
-
}
|
393
|
+
}>;
|
330
394
|
type MessageStore = {
|
331
395
|
useMessage: UseBoundStore<StoreApi<MessageState>>;
|
332
396
|
useComposer: UseBoundStore<StoreApi<MessageComposerState>>;
|
@@ -346,4 +410,4 @@ declare const useGoToNextBranch: () => (() => void) | null;
|
|
346
410
|
|
347
411
|
declare const useGoToPreviousBranch: () => (() => void) | null;
|
348
412
|
|
349
|
-
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, getVercelMessage as unstable_getVercelMessage, getVercelRSCMessage as unstable_getVercelRSCMessage, 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,7 +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 { Message } from 'ai';
|
6
|
+
import { LanguageModel, Message } from 'ai';
|
7
7
|
import { UseBoundStore, StoreApi } from 'zustand';
|
8
8
|
|
9
9
|
declare const ThreadRoot: react.ForwardRefExoticComponent<Pick<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
@@ -103,16 +103,16 @@ declare namespace index$4 {
|
|
103
103
|
export { ComposerCancel as Cancel, ComposerIf as If, ComposerInput as Input, ComposerRoot as Root, ComposerSend as Send };
|
104
104
|
}
|
105
105
|
|
106
|
-
type BaseComposerState = {
|
106
|
+
type BaseComposerState = Readonly<{
|
107
107
|
value: string;
|
108
108
|
setValue: (value: string) => void;
|
109
|
-
}
|
110
|
-
type MessageComposerState = BaseComposerState & {
|
109
|
+
}>;
|
110
|
+
type MessageComposerState = BaseComposerState & Readonly<{
|
111
111
|
isEditing: boolean;
|
112
112
|
edit: () => void;
|
113
113
|
send: () => void;
|
114
114
|
cancel: () => boolean;
|
115
|
-
}
|
115
|
+
}>;
|
116
116
|
|
117
117
|
type TextContentPart = {
|
118
118
|
type: "text";
|
@@ -133,7 +133,7 @@ type ToolCallContentPart = {
|
|
133
133
|
result?: object;
|
134
134
|
};
|
135
135
|
type UserContentPart = TextContentPart | ImageContentPart | UIContentPart;
|
136
|
-
type AssistantContentPart = TextContentPart |
|
136
|
+
type AssistantContentPart = TextContentPart | UIContentPart | ToolCallContentPart;
|
137
137
|
type AppendContentPart = TextContentPart | ImageContentPart;
|
138
138
|
type BaseMessage = {
|
139
139
|
id: string;
|
@@ -312,13 +312,77 @@ type RSCMessageConverter<T> = {
|
|
312
312
|
type VercelRSCAssistantProviderProps<T = VercelRSCMessage> = VercelRSCAssistantProviderBaseProps<T> & (T extends VercelRSCMessage ? object : RSCMessageConverter<T>);
|
313
313
|
declare const VercelRSCAssistantProvider: <T extends WeakKey = VercelRSCMessage>({ children, convertMessage, messages: vercelMessages, append: appendCallback, edit, reload, }: VercelRSCAssistantProviderProps<T>) => react_jsx_runtime.JSX.Element;
|
314
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
|
+
|
315
379
|
declare const getVercelMessage: (message: ThreadMessage) => Message | undefined;
|
316
380
|
declare const getVercelRSCMessage: <T>(message: ThreadMessage) => T | undefined;
|
317
381
|
|
318
|
-
type MessageState = {
|
319
|
-
message: ThreadMessage
|
382
|
+
type MessageState = Readonly<{
|
383
|
+
message: Readonly<ThreadMessage>;
|
320
384
|
parentId: string | null;
|
321
|
-
branches: string[];
|
385
|
+
branches: readonly string[];
|
322
386
|
isLast: boolean;
|
323
387
|
inProgressIndicator: ReactNode | null;
|
324
388
|
setInProgressIndicator: (value: ReactNode | null) => void;
|
@@ -326,7 +390,7 @@ type MessageState = {
|
|
326
390
|
setIsCopied: (value: boolean) => void;
|
327
391
|
isHovering: boolean;
|
328
392
|
setIsHovering: (value: boolean) => void;
|
329
|
-
}
|
393
|
+
}>;
|
330
394
|
type MessageStore = {
|
331
395
|
useMessage: UseBoundStore<StoreApi<MessageState>>;
|
332
396
|
useComposer: UseBoundStore<StoreApi<MessageComposerState>>;
|
@@ -346,4 +410,4 @@ declare const useGoToNextBranch: () => (() => void) | null;
|
|
346
410
|
|
347
411
|
declare const useGoToPreviousBranch: () => (() => void) | null;
|
348
412
|
|
349
|
-
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, getVercelMessage as unstable_getVercelMessage, getVercelRSCMessage as unstable_getVercelRSCMessage, 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 };
|