@aws-amplify/ui-react-ai 1.2.1 → 1.3.0
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 +3 -1
- package/dist/esm/hooks/useAIConversation.mjs +1 -1
- package/dist/esm/version.mjs +1 -1
- package/dist/index.js +5 -3
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +6 -6
|
@@ -126,7 +126,9 @@ 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) =>
|
|
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
|
+
} },
|
|
130
132
|
React__default.createElement(HeaderContainer, null,
|
|
131
133
|
React__default.createElement(AvatarControl, null),
|
|
132
134
|
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(undefined);
|
|
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,7 +812,9 @@ 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) =>
|
|
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
|
+
} },
|
|
816
818
|
React__namespace["default"].createElement(HeaderContainer, null,
|
|
817
819
|
React__namespace["default"].createElement(AvatarControl, null),
|
|
818
820
|
React__namespace["default"].createElement(Timestamp, null, getMessageTimestampText(new Date(message.createdAt)))),
|
|
@@ -1090,7 +1092,7 @@ const PromptList = ({ setInput, suggestedPrompts = [], }) => {
|
|
|
1090
1092
|
})));
|
|
1091
1093
|
};
|
|
1092
1094
|
|
|
1093
|
-
const VERSION = '1.
|
|
1095
|
+
const VERSION = '1.3.0';
|
|
1094
1096
|
|
|
1095
1097
|
function AIConversationBase({ avatars, controls, ...rest }) {
|
|
1096
1098
|
uiReactCore.useSetUserAgent({
|
|
@@ -1232,7 +1234,7 @@ function createUseAIConversation(client) {
|
|
|
1232
1234
|
const clientRoute = client.conversations[routeName];
|
|
1233
1235
|
// We need to keep track of the stream events as the come in
|
|
1234
1236
|
// for an assistant message, but don't need to keep them in state
|
|
1235
|
-
const contentBlocksRef = React__namespace["default"].useRef();
|
|
1237
|
+
const contentBlocksRef = React__namespace["default"].useRef(undefined);
|
|
1236
1238
|
// Using this hook without an existing conversation id means
|
|
1237
1239
|
// it will create a new conversation when it is executed
|
|
1238
1240
|
// 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>) => JSX.Element;
|
|
6
|
+
export declare const AttachmentProvider: ({ children, allowAttachments, maxAttachmentSize, maxAttachments, }: React.PropsWithChildren<AttachmentContextProps>) => React.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
|
-
}) => JSX.Element;
|
|
24
|
+
}) => React.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
|
-
}) => JSX.Element;
|
|
15
|
+
}) => React.JSX.Element;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { ConversationDisplayText } from '../displayText';
|
|
3
2
|
export declare const ConversationDisplayTextContext: import("react").Context<Required<ConversationDisplayText>>, ConversationDisplayTextProvider: import("react").ComponentType<import("react").PropsWithChildren<Required<ConversationDisplayText>>>, useConversationDisplayText: (params?: {
|
|
4
3
|
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
|
-
}) => JSX.Element;
|
|
7
|
+
}) => React.JSX.Element;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { MessageRenderer } from '../types';
|
|
3
2
|
export declare const MessageRendererContext: import("react").Context<MessageRenderer>, MessageRendererProvider: import("react").ComponentType<import("react").PropsWithChildren<MessageRenderer>>, useMessageRenderer: (params?: {
|
|
4
3
|
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
|
-
}) => JSX.Element;
|
|
9
|
+
}) => React.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
|
-
}) => JSX.Element;
|
|
10
|
+
}) => React.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
|
-
}) => JSX.Element;
|
|
7
|
+
}) => React.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
|
-
}) => JSX.Element;
|
|
8
|
+
}) => React.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
|
-
}) => JSX.Element;
|
|
7
|
+
}) => React.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): JSX.Element;
|
|
38
|
-
DefaultMessage: () => JSX.Element | undefined;
|
|
39
|
-
Messages: () => JSX.Element;
|
|
40
|
-
Form: () => JSX.Element;
|
|
37
|
+
(props: PropsType): React.JSX.Element;
|
|
38
|
+
DefaultMessage: () => React.JSX.Element | undefined;
|
|
39
|
+
Messages: () => React.JSX.Element;
|
|
40
|
+
Form: () => React.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
|
+
import React from '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
|
-
}): JSX.Element;
|
|
7
|
+
}): React.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
|
-
}): JSX.Element;
|
|
16
|
+
}): React.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
|
-
}): JSX.Element;
|
|
27
|
+
}): React.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
|
-
(): JSX.Element;
|
|
35
|
+
(): React.JSX.Element;
|
|
36
36
|
List: T['UnorderedList'];
|
|
37
37
|
Item: AttachmentControl<T>;
|
|
38
38
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const DefaultMessageControl: () => JSX.Element | undefined;
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const DefaultMessageControl: () => React.JSX.Element | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from '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
|
-
}): JSX.Element;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
11
|
}
|
|
12
12
|
export declare const MessagesControl: MessagesControl;
|
|
13
13
|
export interface MessagesControl {
|
|
14
|
-
(): JSX.Element;
|
|
14
|
+
(): React.JSX.Element;
|
|
15
15
|
ActionsBar: ActionsBarControl;
|
|
16
16
|
Avatar: AvatarControl;
|
|
17
17
|
Container: AIConversationElements['View'];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from '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
|
-
}) => JSX.Element | null;
|
|
6
|
+
}) => React.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.
|
|
1
|
+
export declare const VERSION = "1.3.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/ui-react-ai",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
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
|
|
48
|
-
"react-dom": "^16.14
|
|
47
|
+
"react": "^16.14 || ^17 || ^18 || ^19",
|
|
48
|
+
"react-dom": "^16.14 || ^17 || ^18 || ^19"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@aws-amplify/ui": "^6.
|
|
52
|
-
"@aws-amplify/ui-react": "^6.
|
|
53
|
-
"@aws-amplify/ui-react-core": "^3.
|
|
51
|
+
"@aws-amplify/ui": "^6.8.0",
|
|
52
|
+
"@aws-amplify/ui-react": "^6.9.0",
|
|
53
|
+
"@aws-amplify/ui-react-core": "^3.3.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/jest-when": "^3.5.0",
|