@aws-amplify/ui-react-ai 1.2.0 → 1.2.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/dist/esm/components/AIConversation/views/Controls/MessagesControl.mjs +1 -3
- package/dist/esm/hooks/useAIConversation.mjs +1 -1
- package/dist/esm/version.mjs +1 -1
- package/dist/index.js +3 -5
- package/dist/types/components/AIConversation/context/AIContextContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/ActionsContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/AttachmentContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/AvatarsContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/ControlsContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/ConversationInputContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/DisplayTextContext.d.ts +1 -0
- package/dist/types/components/AIConversation/context/FallbackComponentContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/LoadingContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/MessageRenderContext.d.ts +1 -0
- package/dist/types/components/AIConversation/context/MessageVariantContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/MessagesContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/ResponseComponentsContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/SendMessageContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/SuggestedPromptsContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/WelcomeMessageContext.d.ts +1 -1
- package/dist/types/components/AIConversation/context/elements/definitions.d.ts +1 -0
- package/dist/types/components/AIConversation/types.d.ts +4 -4
- package/dist/types/components/AIConversation/views/Controls/AttachmentListControl.d.ts +5 -5
- package/dist/types/components/AIConversation/views/Controls/DefaultMessageControl.d.ts +2 -2
- package/dist/types/components/AIConversation/views/Controls/MessagesControl.d.ts +3 -3
- package/dist/types/components/AIConversation/views/default/Attachments.d.ts +2 -2
- package/dist/types/types.d.ts +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +5 -5
|
@@ -126,9 +126,7 @@ const MessagesControl = () => {
|
|
|
126
126
|
content.toolUse?.name.startsWith(RESPONSE_COMPONENT_PREFIX))) ?? [];
|
|
127
127
|
return (React__default.createElement(Layout, null, messagesWithRenderableContent?.map((message, index) => {
|
|
128
128
|
return (React__default.createElement(RoleContext.Provider, { value: message.role, key: `message-${index}` },
|
|
129
|
-
React__default.createElement(MessageContainer, { "data-testid": `message`, key: `message-${index}`, tabIndex: focusedItemIndex === index ? 0 : -1, onFocus: () => handleFocus(index), onKeyDown: (event) => onKeyDown(index, event), ref: (el) =>
|
|
130
|
-
messagesRef.current[index] = el;
|
|
131
|
-
} },
|
|
129
|
+
React__default.createElement(MessageContainer, { "data-testid": `message`, key: `message-${index}`, tabIndex: focusedItemIndex === index ? 0 : -1, onFocus: () => handleFocus(index), onKeyDown: (event) => onKeyDown(index, event), ref: (el) => (messagesRef.current[index] = el) },
|
|
132
130
|
React__default.createElement(HeaderContainer, null,
|
|
133
131
|
React__default.createElement(AvatarControl, null),
|
|
134
132
|
React__default.createElement(Timestamp, null, getMessageTimestampText(new Date(message.createdAt)))),
|
|
@@ -22,7 +22,7 @@ function createUseAIConversation(client) {
|
|
|
22
22
|
const clientRoute = client.conversations[routeName];
|
|
23
23
|
// We need to keep track of the stream events as the come in
|
|
24
24
|
// for an assistant message, but don't need to keep them in state
|
|
25
|
-
const contentBlocksRef = React__default.useRef(
|
|
25
|
+
const contentBlocksRef = React__default.useRef();
|
|
26
26
|
// Using this hook without an existing conversation id means
|
|
27
27
|
// it will create a new conversation when it is executed
|
|
28
28
|
// we don't want to create 2 conversations
|
package/dist/esm/version.mjs
CHANGED
package/dist/index.js
CHANGED
|
@@ -812,9 +812,7 @@ const MessagesControl = () => {
|
|
|
812
812
|
content.toolUse?.name.startsWith(RESPONSE_COMPONENT_PREFIX))) ?? [];
|
|
813
813
|
return (React__namespace["default"].createElement(Layout, null, messagesWithRenderableContent?.map((message, index) => {
|
|
814
814
|
return (React__namespace["default"].createElement(RoleContext.Provider, { value: message.role, key: `message-${index}` },
|
|
815
|
-
React__namespace["default"].createElement(MessageContainer, { "data-testid": `message`, key: `message-${index}`, tabIndex: focusedItemIndex === index ? 0 : -1, onFocus: () => handleFocus(index), onKeyDown: (event) => onKeyDown(index, event), ref: (el) =>
|
|
816
|
-
messagesRef.current[index] = el;
|
|
817
|
-
} },
|
|
815
|
+
React__namespace["default"].createElement(MessageContainer, { "data-testid": `message`, key: `message-${index}`, tabIndex: focusedItemIndex === index ? 0 : -1, onFocus: () => handleFocus(index), onKeyDown: (event) => onKeyDown(index, event), ref: (el) => (messagesRef.current[index] = el) },
|
|
818
816
|
React__namespace["default"].createElement(HeaderContainer, null,
|
|
819
817
|
React__namespace["default"].createElement(AvatarControl, null),
|
|
820
818
|
React__namespace["default"].createElement(Timestamp, null, getMessageTimestampText(new Date(message.createdAt)))),
|
|
@@ -1092,7 +1090,7 @@ const PromptList = ({ setInput, suggestedPrompts = [], }) => {
|
|
|
1092
1090
|
})));
|
|
1093
1091
|
};
|
|
1094
1092
|
|
|
1095
|
-
const VERSION = '1.2.
|
|
1093
|
+
const VERSION = '1.2.1';
|
|
1096
1094
|
|
|
1097
1095
|
function AIConversationBase({ avatars, controls, ...rest }) {
|
|
1098
1096
|
uiReactCore.useSetUserAgent({
|
|
@@ -1234,7 +1232,7 @@ function createUseAIConversation(client) {
|
|
|
1234
1232
|
const clientRoute = client.conversations[routeName];
|
|
1235
1233
|
// We need to keep track of the stream events as the come in
|
|
1236
1234
|
// for an assistant message, but don't need to keep them in state
|
|
1237
|
-
const contentBlocksRef = React__namespace["default"].useRef(
|
|
1235
|
+
const contentBlocksRef = React__namespace["default"].useRef();
|
|
1238
1236
|
// Using this hook without an existing conversation id means
|
|
1239
1237
|
// it will create a new conversation when it is executed
|
|
1240
1238
|
// we don't want to create 2 conversations
|
|
@@ -3,4 +3,4 @@ import { AIConversationInput } from '../types';
|
|
|
3
3
|
export interface AttachmentContextProps extends Pick<AIConversationInput, 'allowAttachments' | 'maxAttachments' | 'maxAttachmentSize'> {
|
|
4
4
|
}
|
|
5
5
|
export declare const AttachmentContext: React.Context<Required<AttachmentContextProps>>;
|
|
6
|
-
export declare const AttachmentProvider: ({ children, allowAttachments, maxAttachmentSize, maxAttachments, }: React.PropsWithChildren<AttachmentContextProps>) =>
|
|
6
|
+
export declare const AttachmentProvider: ({ children, allowAttachments, maxAttachmentSize, maxAttachments, }: React.PropsWithChildren<AttachmentContextProps>) => JSX.Element;
|
|
@@ -21,4 +21,4 @@ export declare const ControlsContext: React.Context<ControlsContextProps | undef
|
|
|
21
21
|
export declare const ControlsProvider: ({ children, controls, }: {
|
|
22
22
|
children?: React.ReactNode;
|
|
23
23
|
controls?: ControlsContextProps | undefined;
|
|
24
|
-
}) =>
|
|
24
|
+
}) => JSX.Element;
|
|
@@ -12,4 +12,4 @@ export interface ConversationInputContextProps {
|
|
|
12
12
|
export declare const ConversationInputContext: React.Context<ConversationInputContextProps>;
|
|
13
13
|
export declare const ConversationInputContextProvider: ({ children, }: {
|
|
14
14
|
children?: React.ReactNode;
|
|
15
|
-
}) =>
|
|
15
|
+
}) => JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { ConversationDisplayText } from '../displayText';
|
|
2
3
|
export declare const ConversationDisplayTextContext: import("react").Context<Required<ConversationDisplayText>>, ConversationDisplayTextProvider: import("react").ComponentType<import("react").PropsWithChildren<Required<ConversationDisplayText>>>, useConversationDisplayText: (params?: {
|
|
3
4
|
errorMessage?: string | undefined;
|
|
@@ -4,4 +4,4 @@ export declare const FallbackComponentContext: React.Context<React.ComponentType
|
|
|
4
4
|
export declare const FallbackComponentProvider: ({ children, FallbackComponent, }: {
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
FallbackComponent?: AIConversationInput['FallbackResponseComponent'];
|
|
7
|
-
}) =>
|
|
7
|
+
}) => JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { MessageRenderer } from '../types';
|
|
2
3
|
export declare const MessageRendererContext: import("react").Context<MessageRenderer>, MessageRendererProvider: import("react").ComponentType<import("react").PropsWithChildren<MessageRenderer>>, useMessageRenderer: (params?: {
|
|
3
4
|
errorMessage?: string | undefined;
|
|
@@ -6,5 +6,5 @@ export declare const RoleContext: React.Context<"user" | "assistant" | undefined
|
|
|
6
6
|
export declare const MessagesProvider: ({ children, messages, }: {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
messages: ConversationMessage[];
|
|
9
|
-
}) =>
|
|
9
|
+
}) => JSX.Element;
|
|
10
10
|
export {};
|
|
@@ -7,6 +7,6 @@ export declare const prependResponseComponents: (responseComponents?: ResponseCo
|
|
|
7
7
|
export declare const ResponseComponentsProvider: ({ children, responseComponents, }: {
|
|
8
8
|
children?: React.ReactNode;
|
|
9
9
|
responseComponents?: ResponseComponents | undefined;
|
|
10
|
-
}) =>
|
|
10
|
+
}) => JSX.Element;
|
|
11
11
|
export declare const convertResponseComponentsToToolConfiguration: (responseComponents?: ResponseComponents) => ToolConfiguration | undefined;
|
|
12
12
|
export {};
|
|
@@ -4,4 +4,4 @@ export declare const SendMessageContext: React.Context<SendMessage | undefined>;
|
|
|
4
4
|
export declare const SendMessageContextProvider: ({ children, handleSendMessage, }: {
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
handleSendMessage: SendMessage;
|
|
7
|
-
}) =>
|
|
7
|
+
}) => JSX.Element;
|
|
@@ -5,5 +5,5 @@ export declare const SuggestedPromptsContext: React.Context<SuggestedPromptsCont
|
|
|
5
5
|
export declare const SuggestedPromptProvider: ({ children, suggestedPrompts, }: {
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
suggestedPrompts?: SuggestedPrompt[] | undefined;
|
|
8
|
-
}) =>
|
|
8
|
+
}) => JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -4,5 +4,5 @@ export declare const WelcomeMessageContext: React.Context<WelcomeMessageContextP
|
|
|
4
4
|
export declare const WelcomeMessageProvider: ({ children, welcomeMessage, }: {
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
welcomeMessage?: React.ReactNode;
|
|
7
|
-
}) =>
|
|
7
|
+
}) => JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -34,10 +34,10 @@ export interface AIConversationProps {
|
|
|
34
34
|
aiContext?: () => object;
|
|
35
35
|
}
|
|
36
36
|
export interface AIConversation<PropsType extends AIConversationProps = AIConversationProps> {
|
|
37
|
-
(props: PropsType):
|
|
38
|
-
DefaultMessage: () =>
|
|
39
|
-
Messages: () =>
|
|
40
|
-
Form: () =>
|
|
37
|
+
(props: PropsType): JSX.Element;
|
|
38
|
+
DefaultMessage: () => JSX.Element | undefined;
|
|
39
|
+
Messages: () => JSX.Element;
|
|
40
|
+
Form: () => JSX.Element;
|
|
41
41
|
Provider: (props: AIConversationProviderProps) => React.JSX.Element;
|
|
42
42
|
}
|
|
43
43
|
export type MessageVariant = 'bubble' | 'default';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { AIConversationElements } from '../../context/elements';
|
|
3
3
|
export declare const RemoveButtonControl: RemoveButtonControl;
|
|
4
4
|
interface RemoveButtonControl<T extends Partial<AIConversationElements> = AIConversationElements> {
|
|
5
5
|
(props: {
|
|
6
6
|
onRemove: () => void;
|
|
7
|
-
}):
|
|
7
|
+
}): JSX.Element;
|
|
8
8
|
Button: T['Button'];
|
|
9
9
|
Icon: T['Icon'];
|
|
10
10
|
}
|
|
@@ -13,7 +13,7 @@ interface TextControl<T extends Partial<AIConversationElements> = AIConversation
|
|
|
13
13
|
(props: {
|
|
14
14
|
fileName: string;
|
|
15
15
|
fileSize: number;
|
|
16
|
-
}):
|
|
16
|
+
}): JSX.Element;
|
|
17
17
|
Container: T['View'];
|
|
18
18
|
FileName: T['Text'];
|
|
19
19
|
FileSize: T['Text'];
|
|
@@ -24,7 +24,7 @@ interface AttachmentControl<T extends Partial<AIConversationElements> = AIConver
|
|
|
24
24
|
(props: {
|
|
25
25
|
image: File;
|
|
26
26
|
onRemove: () => void;
|
|
27
|
-
}):
|
|
27
|
+
}): JSX.Element;
|
|
28
28
|
Container: T['ListItem'];
|
|
29
29
|
ImageIcon: T['Icon'];
|
|
30
30
|
RemoveButton: RemoveButtonControl<T>;
|
|
@@ -32,7 +32,7 @@ interface AttachmentControl<T extends Partial<AIConversationElements> = AIConver
|
|
|
32
32
|
}
|
|
33
33
|
export declare const AttachmentListControl: AttachmentListControl;
|
|
34
34
|
export interface AttachmentListControl<T extends Partial<AIConversationElements> = AIConversationElements> {
|
|
35
|
-
():
|
|
35
|
+
(): JSX.Element;
|
|
36
36
|
List: T['UnorderedList'];
|
|
37
37
|
Item: AttachmentControl<T>;
|
|
38
38
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const DefaultMessageControl: () =>
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const DefaultMessageControl: () => JSX.Element | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { AIConversationElements } from '../../context/elements';
|
|
3
3
|
import { ActionsBarControl } from './ActionsBarControl';
|
|
4
4
|
import { AvatarControl } from './AvatarControl';
|
|
@@ -7,11 +7,11 @@ export declare const MessageControl: MessageControl;
|
|
|
7
7
|
interface MessageControl {
|
|
8
8
|
(props: {
|
|
9
9
|
message: ConversationMessage;
|
|
10
|
-
}):
|
|
10
|
+
}): JSX.Element;
|
|
11
11
|
}
|
|
12
12
|
export declare const MessagesControl: MessagesControl;
|
|
13
13
|
export interface MessagesControl {
|
|
14
|
-
():
|
|
14
|
+
(): JSX.Element;
|
|
15
15
|
ActionsBar: ActionsBarControl;
|
|
16
16
|
Avatar: AvatarControl;
|
|
17
17
|
Container: AIConversationElements['View'];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { ConversationInputContextProps } from '../../context';
|
|
3
3
|
export declare const Attachments: ({ files, setInput, }: {
|
|
4
4
|
files?: File[] | undefined;
|
|
5
5
|
setInput: ConversationInputContextProps['setInput'];
|
|
6
|
-
}) =>
|
|
6
|
+
}) => JSX.Element | null;
|
package/dist/types/types.d.ts
CHANGED
package/dist/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "1.2.
|
|
1
|
+
export declare const VERSION = "1.2.1";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/ui-react-ai",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/esm/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -44,13 +44,13 @@
|
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@aws-amplify/api-graphql": "unstable",
|
|
46
46
|
"aws-amplify": "^6.9.0",
|
|
47
|
-
"react": "^16.14 || ^17 || ^18
|
|
48
|
-
"react-dom": "^16.14 || ^17 || ^18
|
|
47
|
+
"react": "^16.14.0 || ^17.0 || ^18.0",
|
|
48
|
+
"react-dom": "^16.14.0 || ^17.0 || ^18.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@aws-amplify/ui": "^6.7.1",
|
|
52
|
-
"@aws-amplify/ui-react": "^6.8.
|
|
53
|
-
"@aws-amplify/ui-react-core": "^3.2.
|
|
52
|
+
"@aws-amplify/ui-react": "^6.8.1",
|
|
53
|
+
"@aws-amplify/ui-react-core": "^3.2.1"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/jest-when": "^3.5.0",
|