diff --git a/clients/client-qconnect/README.md b/clients/client-qconnect/README.md index 3aecd3ae1d0f..68e059157f3d 100644 --- a/clients/client-qconnect/README.md +++ b/clients/client-qconnect/README.md @@ -6,6 +6,20 @@ AWS SDK for JavaScript QConnect Client for Node.js, Browser and React Native. +

Powered by Amazon Bedrock: Amazon Web Services implements automated abuse @@ -222,6 +236,38 @@ see LICENSE for more information. ## Client Commands (Operations List) +

+ +CreateAIAgent + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateAIAgentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateAIAgentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateAIAgentCommandOutput/) + +
+
+ +CreateAIAgentVersion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateAIAgentVersionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateAIAgentVersionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateAIAgentVersionCommandOutput/) + +
+
+ +CreateAIPrompt + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateAIPromptCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateAIPromptCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateAIPromptCommandOutput/) + +
+
+ +CreateAIPromptVersion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateAIPromptVersionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateAIPromptVersionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateAIPromptVersionCommandOutput/) + +
CreateAssistant @@ -277,6 +323,38 @@ CreateSession [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/CreateSessionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateSessionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/CreateSessionCommandOutput/) +
+
+ +DeleteAIAgent + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeleteAIAgentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteAIAgentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteAIAgentCommandOutput/) + +
+
+ +DeleteAIAgentVersion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeleteAIAgentVersionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteAIAgentVersionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteAIAgentVersionCommandOutput/) + +
+
+ +DeleteAIPrompt + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeleteAIPromptCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteAIPromptCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteAIPromptCommandOutput/) + +
+
+ +DeleteAIPromptVersion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeleteAIPromptVersionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteAIPromptVersionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteAIPromptVersionCommandOutput/) +
@@ -333,6 +411,22 @@ DeleteQuickResponse [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/DeleteQuickResponseCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteQuickResponseCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/DeleteQuickResponseCommandOutput/) +
+
+ +GetAIAgent + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/GetAIAgentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetAIAgentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetAIAgentCommandOutput/) + +
+
+ +GetAIPrompt + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/GetAIPromptCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetAIPromptCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetAIPromptCommandOutput/) +
@@ -413,6 +507,38 @@ GetSession [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/GetSessionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetSessionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/GetSessionCommandOutput/) +
+
+ +ListAIAgents + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/ListAIAgentsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListAIAgentsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListAIAgentsCommandOutput/) + +
+
+ +ListAIAgentVersions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/ListAIAgentVersionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListAIAgentVersionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListAIAgentVersionsCommandOutput/) + +
+
+ +ListAIPrompts + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/ListAIPromptsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListAIPromptsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListAIPromptsCommandOutput/) + +
+
+ +ListAIPromptVersions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/ListAIPromptVersionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListAIPromptVersionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/ListAIPromptVersionsCommandOutput/) +
@@ -501,6 +627,14 @@ QueryAssistant [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/QueryAssistantCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/QueryAssistantCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/QueryAssistantCommandOutput/) +
+
+ +RemoveAssistantAIAgent + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/RemoveAssistantAIAgentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/RemoveAssistantAIAgentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/RemoveAssistantAIAgentCommandOutput/) +
@@ -565,6 +699,30 @@ UntagResource [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UntagResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UntagResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UntagResourceCommandOutput/) +
+
+ +UpdateAIAgent + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UpdateAIAgentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateAIAgentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateAIAgentCommandOutput/) + +
+
+ +UpdateAIPrompt + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UpdateAIPromptCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateAIPromptCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateAIPromptCommandOutput/) + +
+
+ +UpdateAssistantAIAgent + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UpdateAssistantAIAgentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateAssistantAIAgentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateAssistantAIAgentCommandOutput/) +
@@ -598,3 +756,11 @@ UpdateSession [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UpdateSessionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateSessionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateSessionCommandOutput/)
+
+ +UpdateSessionData + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/qconnect/command/UpdateSessionDataCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateSessionDataCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-qconnect/Interface/UpdateSessionDataCommandOutput/) + +
diff --git a/clients/client-qconnect/src/QConnect.ts b/clients/client-qconnect/src/QConnect.ts index ee9367c1bbfe..d9e8fa49a579 100644 --- a/clients/client-qconnect/src/QConnect.ts +++ b/clients/client-qconnect/src/QConnect.ts @@ -2,6 +2,26 @@ import { createAggregatedClient } from "@smithy/smithy-client"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types"; +import { + CreateAIAgentCommand, + CreateAIAgentCommandInput, + CreateAIAgentCommandOutput, +} from "./commands/CreateAIAgentCommand"; +import { + CreateAIAgentVersionCommand, + CreateAIAgentVersionCommandInput, + CreateAIAgentVersionCommandOutput, +} from "./commands/CreateAIAgentVersionCommand"; +import { + CreateAIPromptCommand, + CreateAIPromptCommandInput, + CreateAIPromptCommandOutput, +} from "./commands/CreateAIPromptCommand"; +import { + CreateAIPromptVersionCommand, + CreateAIPromptVersionCommandInput, + CreateAIPromptVersionCommandOutput, +} from "./commands/CreateAIPromptVersionCommand"; import { CreateAssistantAssociationCommand, CreateAssistantAssociationCommandInput, @@ -37,6 +57,26 @@ import { CreateSessionCommandInput, CreateSessionCommandOutput, } from "./commands/CreateSessionCommand"; +import { + DeleteAIAgentCommand, + DeleteAIAgentCommandInput, + DeleteAIAgentCommandOutput, +} from "./commands/DeleteAIAgentCommand"; +import { + DeleteAIAgentVersionCommand, + DeleteAIAgentVersionCommandInput, + DeleteAIAgentVersionCommandOutput, +} from "./commands/DeleteAIAgentVersionCommand"; +import { + DeleteAIPromptCommand, + DeleteAIPromptCommandInput, + DeleteAIPromptCommandOutput, +} from "./commands/DeleteAIPromptCommand"; +import { + DeleteAIPromptVersionCommand, + DeleteAIPromptVersionCommandInput, + DeleteAIPromptVersionCommandOutput, +} from "./commands/DeleteAIPromptVersionCommand"; import { DeleteAssistantAssociationCommand, DeleteAssistantAssociationCommandInput, @@ -72,6 +112,8 @@ import { DeleteQuickResponseCommandInput, DeleteQuickResponseCommandOutput, } from "./commands/DeleteQuickResponseCommand"; +import { GetAIAgentCommand, GetAIAgentCommandInput, GetAIAgentCommandOutput } from "./commands/GetAIAgentCommand"; +import { GetAIPromptCommand, GetAIPromptCommandInput, GetAIPromptCommandOutput } from "./commands/GetAIPromptCommand"; import { GetAssistantAssociationCommand, GetAssistantAssociationCommandInput, @@ -114,6 +156,26 @@ import { GetRecommendationsCommandOutput, } from "./commands/GetRecommendationsCommand"; import { GetSessionCommand, GetSessionCommandInput, GetSessionCommandOutput } from "./commands/GetSessionCommand"; +import { + ListAIAgentsCommand, + ListAIAgentsCommandInput, + ListAIAgentsCommandOutput, +} from "./commands/ListAIAgentsCommand"; +import { + ListAIAgentVersionsCommand, + ListAIAgentVersionsCommandInput, + ListAIAgentVersionsCommandOutput, +} from "./commands/ListAIAgentVersionsCommand"; +import { + ListAIPromptsCommand, + ListAIPromptsCommandInput, + ListAIPromptsCommandOutput, +} from "./commands/ListAIPromptsCommand"; +import { + ListAIPromptVersionsCommand, + ListAIPromptVersionsCommandInput, + ListAIPromptVersionsCommandOutput, +} from "./commands/ListAIPromptVersionsCommand"; import { ListAssistantAssociationsCommand, ListAssistantAssociationsCommandInput, @@ -165,6 +227,11 @@ import { QueryAssistantCommandInput, QueryAssistantCommandOutput, } from "./commands/QueryAssistantCommand"; +import { + RemoveAssistantAIAgentCommand, + RemoveAssistantAIAgentCommandInput, + RemoveAssistantAIAgentCommandOutput, +} from "./commands/RemoveAssistantAIAgentCommand"; import { RemoveKnowledgeBaseTemplateUriCommand, RemoveKnowledgeBaseTemplateUriCommandInput, @@ -201,6 +268,21 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput, } from "./commands/UntagResourceCommand"; +import { + UpdateAIAgentCommand, + UpdateAIAgentCommandInput, + UpdateAIAgentCommandOutput, +} from "./commands/UpdateAIAgentCommand"; +import { + UpdateAIPromptCommand, + UpdateAIPromptCommandInput, + UpdateAIPromptCommandOutput, +} from "./commands/UpdateAIPromptCommand"; +import { + UpdateAssistantAIAgentCommand, + UpdateAssistantAIAgentCommandInput, + UpdateAssistantAIAgentCommandOutput, +} from "./commands/UpdateAssistantAIAgentCommand"; import { UpdateContentCommand, UpdateContentCommandInput, @@ -221,9 +303,18 @@ import { UpdateSessionCommandInput, UpdateSessionCommandOutput, } from "./commands/UpdateSessionCommand"; +import { + UpdateSessionDataCommand, + UpdateSessionDataCommandInput, + UpdateSessionDataCommandOutput, +} from "./commands/UpdateSessionDataCommand"; import { QConnectClient, QConnectClientConfig } from "./QConnectClient"; const commands = { + CreateAIAgentCommand, + CreateAIAgentVersionCommand, + CreateAIPromptCommand, + CreateAIPromptVersionCommand, CreateAssistantCommand, CreateAssistantAssociationCommand, CreateContentCommand, @@ -231,6 +322,10 @@ const commands = { CreateKnowledgeBaseCommand, CreateQuickResponseCommand, CreateSessionCommand, + DeleteAIAgentCommand, + DeleteAIAgentVersionCommand, + DeleteAIPromptCommand, + DeleteAIPromptVersionCommand, DeleteAssistantCommand, DeleteAssistantAssociationCommand, DeleteContentCommand, @@ -238,6 +333,8 @@ const commands = { DeleteImportJobCommand, DeleteKnowledgeBaseCommand, DeleteQuickResponseCommand, + GetAIAgentCommand, + GetAIPromptCommand, GetAssistantCommand, GetAssistantAssociationCommand, GetContentCommand, @@ -248,6 +345,10 @@ const commands = { GetQuickResponseCommand, GetRecommendationsCommand, GetSessionCommand, + ListAIAgentsCommand, + ListAIAgentVersionsCommand, + ListAIPromptsCommand, + ListAIPromptVersionsCommand, ListAssistantAssociationsCommand, ListAssistantsCommand, ListContentAssociationsCommand, @@ -259,6 +360,7 @@ const commands = { NotifyRecommendationsReceivedCommand, PutFeedbackCommand, QueryAssistantCommand, + RemoveAssistantAIAgentCommand, RemoveKnowledgeBaseTemplateUriCommand, SearchContentCommand, SearchQuickResponsesCommand, @@ -267,13 +369,76 @@ const commands = { StartImportJobCommand, TagResourceCommand, UntagResourceCommand, + UpdateAIAgentCommand, + UpdateAIPromptCommand, + UpdateAssistantAIAgentCommand, UpdateContentCommand, UpdateKnowledgeBaseTemplateUriCommand, UpdateQuickResponseCommand, UpdateSessionCommand, + UpdateSessionDataCommand, }; export interface QConnect { + /** + * @see {@link CreateAIAgentCommand} + */ + createAIAgent(args: CreateAIAgentCommandInput, options?: __HttpHandlerOptions): Promise; + createAIAgent(args: CreateAIAgentCommandInput, cb: (err: any, data?: CreateAIAgentCommandOutput) => void): void; + createAIAgent( + args: CreateAIAgentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAIAgentCommandOutput) => void + ): void; + + /** + * @see {@link CreateAIAgentVersionCommand} + */ + createAIAgentVersion( + args: CreateAIAgentVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createAIAgentVersion( + args: CreateAIAgentVersionCommandInput, + cb: (err: any, data?: CreateAIAgentVersionCommandOutput) => void + ): void; + createAIAgentVersion( + args: CreateAIAgentVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAIAgentVersionCommandOutput) => void + ): void; + + /** + * @see {@link CreateAIPromptCommand} + */ + createAIPrompt( + args: CreateAIPromptCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createAIPrompt(args: CreateAIPromptCommandInput, cb: (err: any, data?: CreateAIPromptCommandOutput) => void): void; + createAIPrompt( + args: CreateAIPromptCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAIPromptCommandOutput) => void + ): void; + + /** + * @see {@link CreateAIPromptVersionCommand} + */ + createAIPromptVersion( + args: CreateAIPromptVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createAIPromptVersion( + args: CreateAIPromptVersionCommandInput, + cb: (err: any, data?: CreateAIPromptVersionCommandOutput) => void + ): void; + createAIPromptVersion( + args: CreateAIPromptVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAIPromptVersionCommandOutput) => void + ): void; + /** * @see {@link CreateAssistantCommand} */ @@ -378,6 +543,65 @@ export interface QConnect { cb: (err: any, data?: CreateSessionCommandOutput) => void ): void; + /** + * @see {@link DeleteAIAgentCommand} + */ + deleteAIAgent(args: DeleteAIAgentCommandInput, options?: __HttpHandlerOptions): Promise; + deleteAIAgent(args: DeleteAIAgentCommandInput, cb: (err: any, data?: DeleteAIAgentCommandOutput) => void): void; + deleteAIAgent( + args: DeleteAIAgentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAIAgentCommandOutput) => void + ): void; + + /** + * @see {@link DeleteAIAgentVersionCommand} + */ + deleteAIAgentVersion( + args: DeleteAIAgentVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteAIAgentVersion( + args: DeleteAIAgentVersionCommandInput, + cb: (err: any, data?: DeleteAIAgentVersionCommandOutput) => void + ): void; + deleteAIAgentVersion( + args: DeleteAIAgentVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAIAgentVersionCommandOutput) => void + ): void; + + /** + * @see {@link DeleteAIPromptCommand} + */ + deleteAIPrompt( + args: DeleteAIPromptCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteAIPrompt(args: DeleteAIPromptCommandInput, cb: (err: any, data?: DeleteAIPromptCommandOutput) => void): void; + deleteAIPrompt( + args: DeleteAIPromptCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAIPromptCommandOutput) => void + ): void; + + /** + * @see {@link DeleteAIPromptVersionCommand} + */ + deleteAIPromptVersion( + args: DeleteAIPromptVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteAIPromptVersion( + args: DeleteAIPromptVersionCommandInput, + cb: (err: any, data?: DeleteAIPromptVersionCommandOutput) => void + ): void; + deleteAIPromptVersion( + args: DeleteAIPromptVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAIPromptVersionCommandOutput) => void + ): void; + /** * @see {@link DeleteAssistantCommand} */ @@ -485,6 +709,28 @@ export interface QConnect { cb: (err: any, data?: DeleteQuickResponseCommandOutput) => void ): void; + /** + * @see {@link GetAIAgentCommand} + */ + getAIAgent(args: GetAIAgentCommandInput, options?: __HttpHandlerOptions): Promise; + getAIAgent(args: GetAIAgentCommandInput, cb: (err: any, data?: GetAIAgentCommandOutput) => void): void; + getAIAgent( + args: GetAIAgentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAIAgentCommandOutput) => void + ): void; + + /** + * @see {@link GetAIPromptCommand} + */ + getAIPrompt(args: GetAIPromptCommandInput, options?: __HttpHandlerOptions): Promise; + getAIPrompt(args: GetAIPromptCommandInput, cb: (err: any, data?: GetAIPromptCommandOutput) => void): void; + getAIPrompt( + args: GetAIPromptCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetAIPromptCommandOutput) => void + ): void; + /** * @see {@link GetAssistantCommand} */ @@ -631,6 +877,62 @@ export interface QConnect { cb: (err: any, data?: GetSessionCommandOutput) => void ): void; + /** + * @see {@link ListAIAgentsCommand} + */ + listAIAgents(args: ListAIAgentsCommandInput, options?: __HttpHandlerOptions): Promise; + listAIAgents(args: ListAIAgentsCommandInput, cb: (err: any, data?: ListAIAgentsCommandOutput) => void): void; + listAIAgents( + args: ListAIAgentsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAIAgentsCommandOutput) => void + ): void; + + /** + * @see {@link ListAIAgentVersionsCommand} + */ + listAIAgentVersions( + args: ListAIAgentVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listAIAgentVersions( + args: ListAIAgentVersionsCommandInput, + cb: (err: any, data?: ListAIAgentVersionsCommandOutput) => void + ): void; + listAIAgentVersions( + args: ListAIAgentVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAIAgentVersionsCommandOutput) => void + ): void; + + /** + * @see {@link ListAIPromptsCommand} + */ + listAIPrompts(args: ListAIPromptsCommandInput, options?: __HttpHandlerOptions): Promise; + listAIPrompts(args: ListAIPromptsCommandInput, cb: (err: any, data?: ListAIPromptsCommandOutput) => void): void; + listAIPrompts( + args: ListAIPromptsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAIPromptsCommandOutput) => void + ): void; + + /** + * @see {@link ListAIPromptVersionsCommand} + */ + listAIPromptVersions( + args: ListAIPromptVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listAIPromptVersions( + args: ListAIPromptVersionsCommandInput, + cb: (err: any, data?: ListAIPromptVersionsCommandOutput) => void + ): void; + listAIPromptVersions( + args: ListAIPromptVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAIPromptVersionsCommandOutput) => void + ): void; + /** * @see {@link ListAssistantAssociationsCommand} */ @@ -799,6 +1101,23 @@ export interface QConnect { cb: (err: any, data?: QueryAssistantCommandOutput) => void ): void; + /** + * @see {@link RemoveAssistantAIAgentCommand} + */ + removeAssistantAIAgent( + args: RemoveAssistantAIAgentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + removeAssistantAIAgent( + args: RemoveAssistantAIAgentCommandInput, + cb: (err: any, data?: RemoveAssistantAIAgentCommandOutput) => void + ): void; + removeAssistantAIAgent( + args: RemoveAssistantAIAgentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RemoveAssistantAIAgentCommandOutput) => void + ): void; + /** * @see {@link RemoveKnowledgeBaseTemplateUriCommand} */ @@ -911,6 +1230,48 @@ export interface QConnect { cb: (err: any, data?: UntagResourceCommandOutput) => void ): void; + /** + * @see {@link UpdateAIAgentCommand} + */ + updateAIAgent(args: UpdateAIAgentCommandInput, options?: __HttpHandlerOptions): Promise; + updateAIAgent(args: UpdateAIAgentCommandInput, cb: (err: any, data?: UpdateAIAgentCommandOutput) => void): void; + updateAIAgent( + args: UpdateAIAgentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAIAgentCommandOutput) => void + ): void; + + /** + * @see {@link UpdateAIPromptCommand} + */ + updateAIPrompt( + args: UpdateAIPromptCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateAIPrompt(args: UpdateAIPromptCommandInput, cb: (err: any, data?: UpdateAIPromptCommandOutput) => void): void; + updateAIPrompt( + args: UpdateAIPromptCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAIPromptCommandOutput) => void + ): void; + + /** + * @see {@link UpdateAssistantAIAgentCommand} + */ + updateAssistantAIAgent( + args: UpdateAssistantAIAgentCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateAssistantAIAgent( + args: UpdateAssistantAIAgentCommandInput, + cb: (err: any, data?: UpdateAssistantAIAgentCommandOutput) => void + ): void; + updateAssistantAIAgent( + args: UpdateAssistantAIAgentCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAssistantAIAgentCommandOutput) => void + ): void; + /** * @see {@link UpdateContentCommand} */ @@ -966,10 +1327,41 @@ export interface QConnect { options: __HttpHandlerOptions, cb: (err: any, data?: UpdateSessionCommandOutput) => void ): void; + + /** + * @see {@link UpdateSessionDataCommand} + */ + updateSessionData( + args: UpdateSessionDataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateSessionData( + args: UpdateSessionDataCommandInput, + cb: (err: any, data?: UpdateSessionDataCommandOutput) => void + ): void; + updateSessionData( + args: UpdateSessionDataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateSessionDataCommandOutput) => void + ): void; } /** - * + *
+ * *

* Powered by Amazon Bedrock: Amazon Web Services implements automated abuse * detection. Because Amazon Q in Connect is built on Amazon Bedrock, users can take full advantage of diff --git a/clients/client-qconnect/src/QConnectClient.ts b/clients/client-qconnect/src/QConnectClient.ts index 746a6afd1c84..43856e45530a 100644 --- a/clients/client-qconnect/src/QConnectClient.ts +++ b/clients/client-qconnect/src/QConnectClient.ts @@ -53,6 +53,16 @@ import { HttpAuthSchemeResolvedConfig, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; +import { CreateAIAgentCommandInput, CreateAIAgentCommandOutput } from "./commands/CreateAIAgentCommand"; +import { + CreateAIAgentVersionCommandInput, + CreateAIAgentVersionCommandOutput, +} from "./commands/CreateAIAgentVersionCommand"; +import { CreateAIPromptCommandInput, CreateAIPromptCommandOutput } from "./commands/CreateAIPromptCommand"; +import { + CreateAIPromptVersionCommandInput, + CreateAIPromptVersionCommandOutput, +} from "./commands/CreateAIPromptVersionCommand"; import { CreateAssistantAssociationCommandInput, CreateAssistantAssociationCommandOutput, @@ -72,6 +82,16 @@ import { CreateQuickResponseCommandOutput, } from "./commands/CreateQuickResponseCommand"; import { CreateSessionCommandInput, CreateSessionCommandOutput } from "./commands/CreateSessionCommand"; +import { DeleteAIAgentCommandInput, DeleteAIAgentCommandOutput } from "./commands/DeleteAIAgentCommand"; +import { + DeleteAIAgentVersionCommandInput, + DeleteAIAgentVersionCommandOutput, +} from "./commands/DeleteAIAgentVersionCommand"; +import { DeleteAIPromptCommandInput, DeleteAIPromptCommandOutput } from "./commands/DeleteAIPromptCommand"; +import { + DeleteAIPromptVersionCommandInput, + DeleteAIPromptVersionCommandOutput, +} from "./commands/DeleteAIPromptVersionCommand"; import { DeleteAssistantAssociationCommandInput, DeleteAssistantAssociationCommandOutput, @@ -91,6 +111,8 @@ import { DeleteQuickResponseCommandInput, DeleteQuickResponseCommandOutput, } from "./commands/DeleteQuickResponseCommand"; +import { GetAIAgentCommandInput, GetAIAgentCommandOutput } from "./commands/GetAIAgentCommand"; +import { GetAIPromptCommandInput, GetAIPromptCommandOutput } from "./commands/GetAIPromptCommand"; import { GetAssistantAssociationCommandInput, GetAssistantAssociationCommandOutput, @@ -107,6 +129,16 @@ import { GetKnowledgeBaseCommandInput, GetKnowledgeBaseCommandOutput } from "./c import { GetQuickResponseCommandInput, GetQuickResponseCommandOutput } from "./commands/GetQuickResponseCommand"; import { GetRecommendationsCommandInput, GetRecommendationsCommandOutput } from "./commands/GetRecommendationsCommand"; import { GetSessionCommandInput, GetSessionCommandOutput } from "./commands/GetSessionCommand"; +import { ListAIAgentsCommandInput, ListAIAgentsCommandOutput } from "./commands/ListAIAgentsCommand"; +import { + ListAIAgentVersionsCommandInput, + ListAIAgentVersionsCommandOutput, +} from "./commands/ListAIAgentVersionsCommand"; +import { ListAIPromptsCommandInput, ListAIPromptsCommandOutput } from "./commands/ListAIPromptsCommand"; +import { + ListAIPromptVersionsCommandInput, + ListAIPromptVersionsCommandOutput, +} from "./commands/ListAIPromptVersionsCommand"; import { ListAssistantAssociationsCommandInput, ListAssistantAssociationsCommandOutput, @@ -130,6 +162,10 @@ import { } from "./commands/NotifyRecommendationsReceivedCommand"; import { PutFeedbackCommandInput, PutFeedbackCommandOutput } from "./commands/PutFeedbackCommand"; import { QueryAssistantCommandInput, QueryAssistantCommandOutput } from "./commands/QueryAssistantCommand"; +import { + RemoveAssistantAIAgentCommandInput, + RemoveAssistantAIAgentCommandOutput, +} from "./commands/RemoveAssistantAIAgentCommand"; import { RemoveKnowledgeBaseTemplateUriCommandInput, RemoveKnowledgeBaseTemplateUriCommandOutput, @@ -144,6 +180,12 @@ import { StartContentUploadCommandInput, StartContentUploadCommandOutput } from import { StartImportJobCommandInput, StartImportJobCommandOutput } from "./commands/StartImportJobCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { UpdateAIAgentCommandInput, UpdateAIAgentCommandOutput } from "./commands/UpdateAIAgentCommand"; +import { UpdateAIPromptCommandInput, UpdateAIPromptCommandOutput } from "./commands/UpdateAIPromptCommand"; +import { + UpdateAssistantAIAgentCommandInput, + UpdateAssistantAIAgentCommandOutput, +} from "./commands/UpdateAssistantAIAgentCommand"; import { UpdateContentCommandInput, UpdateContentCommandOutput } from "./commands/UpdateContentCommand"; import { UpdateKnowledgeBaseTemplateUriCommandInput, @@ -154,6 +196,7 @@ import { UpdateQuickResponseCommandOutput, } from "./commands/UpdateQuickResponseCommand"; import { UpdateSessionCommandInput, UpdateSessionCommandOutput } from "./commands/UpdateSessionCommand"; +import { UpdateSessionDataCommandInput, UpdateSessionDataCommandOutput } from "./commands/UpdateSessionDataCommand"; import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, @@ -169,6 +212,10 @@ export { __Client }; * @public */ export type ServiceInputTypes = + | CreateAIAgentCommandInput + | CreateAIAgentVersionCommandInput + | CreateAIPromptCommandInput + | CreateAIPromptVersionCommandInput | CreateAssistantAssociationCommandInput | CreateAssistantCommandInput | CreateContentAssociationCommandInput @@ -176,6 +223,10 @@ export type ServiceInputTypes = | CreateKnowledgeBaseCommandInput | CreateQuickResponseCommandInput | CreateSessionCommandInput + | DeleteAIAgentCommandInput + | DeleteAIAgentVersionCommandInput + | DeleteAIPromptCommandInput + | DeleteAIPromptVersionCommandInput | DeleteAssistantAssociationCommandInput | DeleteAssistantCommandInput | DeleteContentAssociationCommandInput @@ -183,6 +234,8 @@ export type ServiceInputTypes = | DeleteImportJobCommandInput | DeleteKnowledgeBaseCommandInput | DeleteQuickResponseCommandInput + | GetAIAgentCommandInput + | GetAIPromptCommandInput | GetAssistantAssociationCommandInput | GetAssistantCommandInput | GetContentAssociationCommandInput @@ -193,6 +246,10 @@ export type ServiceInputTypes = | GetQuickResponseCommandInput | GetRecommendationsCommandInput | GetSessionCommandInput + | ListAIAgentVersionsCommandInput + | ListAIAgentsCommandInput + | ListAIPromptVersionsCommandInput + | ListAIPromptsCommandInput | ListAssistantAssociationsCommandInput | ListAssistantsCommandInput | ListContentAssociationsCommandInput @@ -204,6 +261,7 @@ export type ServiceInputTypes = | NotifyRecommendationsReceivedCommandInput | PutFeedbackCommandInput | QueryAssistantCommandInput + | RemoveAssistantAIAgentCommandInput | RemoveKnowledgeBaseTemplateUriCommandInput | SearchContentCommandInput | SearchQuickResponsesCommandInput @@ -212,15 +270,23 @@ export type ServiceInputTypes = | StartImportJobCommandInput | TagResourceCommandInput | UntagResourceCommandInput + | UpdateAIAgentCommandInput + | UpdateAIPromptCommandInput + | UpdateAssistantAIAgentCommandInput | UpdateContentCommandInput | UpdateKnowledgeBaseTemplateUriCommandInput | UpdateQuickResponseCommandInput - | UpdateSessionCommandInput; + | UpdateSessionCommandInput + | UpdateSessionDataCommandInput; /** * @public */ export type ServiceOutputTypes = + | CreateAIAgentCommandOutput + | CreateAIAgentVersionCommandOutput + | CreateAIPromptCommandOutput + | CreateAIPromptVersionCommandOutput | CreateAssistantAssociationCommandOutput | CreateAssistantCommandOutput | CreateContentAssociationCommandOutput @@ -228,6 +294,10 @@ export type ServiceOutputTypes = | CreateKnowledgeBaseCommandOutput | CreateQuickResponseCommandOutput | CreateSessionCommandOutput + | DeleteAIAgentCommandOutput + | DeleteAIAgentVersionCommandOutput + | DeleteAIPromptCommandOutput + | DeleteAIPromptVersionCommandOutput | DeleteAssistantAssociationCommandOutput | DeleteAssistantCommandOutput | DeleteContentAssociationCommandOutput @@ -235,6 +305,8 @@ export type ServiceOutputTypes = | DeleteImportJobCommandOutput | DeleteKnowledgeBaseCommandOutput | DeleteQuickResponseCommandOutput + | GetAIAgentCommandOutput + | GetAIPromptCommandOutput | GetAssistantAssociationCommandOutput | GetAssistantCommandOutput | GetContentAssociationCommandOutput @@ -245,6 +317,10 @@ export type ServiceOutputTypes = | GetQuickResponseCommandOutput | GetRecommendationsCommandOutput | GetSessionCommandOutput + | ListAIAgentVersionsCommandOutput + | ListAIAgentsCommandOutput + | ListAIPromptVersionsCommandOutput + | ListAIPromptsCommandOutput | ListAssistantAssociationsCommandOutput | ListAssistantsCommandOutput | ListContentAssociationsCommandOutput @@ -256,6 +332,7 @@ export type ServiceOutputTypes = | NotifyRecommendationsReceivedCommandOutput | PutFeedbackCommandOutput | QueryAssistantCommandOutput + | RemoveAssistantAIAgentCommandOutput | RemoveKnowledgeBaseTemplateUriCommandOutput | SearchContentCommandOutput | SearchQuickResponsesCommandOutput @@ -264,10 +341,14 @@ export type ServiceOutputTypes = | StartImportJobCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput + | UpdateAIAgentCommandOutput + | UpdateAIPromptCommandOutput + | UpdateAssistantAIAgentCommandOutput | UpdateContentCommandOutput | UpdateKnowledgeBaseTemplateUriCommandOutput | UpdateQuickResponseCommandOutput - | UpdateSessionCommandOutput; + | UpdateSessionCommandOutput + | UpdateSessionDataCommandOutput; /** * @public @@ -441,7 +522,21 @@ export type QConnectClientResolvedConfigType = __SmithyResolvedConfiguration<__H export interface QConnectClientResolvedConfig extends QConnectClientResolvedConfigType {} /** - * + *

+ * *

* Powered by Amazon Bedrock: Amazon Web Services implements automated abuse * detection. Because Amazon Q in Connect is built on Amazon Bedrock, users can take full advantage of diff --git a/clients/client-qconnect/src/commands/CreateAIAgentCommand.ts b/clients/client-qconnect/src/commands/CreateAIAgentCommand.ts new file mode 100644 index 000000000000..d1f0bec89a06 --- /dev/null +++ b/clients/client-qconnect/src/commands/CreateAIAgentCommand.ts @@ -0,0 +1,273 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateAIAgentRequest, CreateAIAgentResponse } from "../models/models_0"; +import { de_CreateAIAgentCommand, se_CreateAIAgentCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateAIAgentCommand}. + */ +export interface CreateAIAgentCommandInput extends CreateAIAgentRequest {} +/** + * @public + * + * The output of {@link CreateAIAgentCommand}. + */ +export interface CreateAIAgentCommandOutput extends CreateAIAgentResponse, __MetadataBearer {} + +/** + *

Creates an Amazon Q in Connect AI Agent.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, CreateAIAgentCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, CreateAIAgentCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // CreateAIAgentRequest + * clientToken: "STRING_VALUE", + * assistantId: "STRING_VALUE", // required + * name: "STRING_VALUE", // required + * type: "STRING_VALUE", // required + * configuration: { // AIAgentConfiguration Union: only one key present + * manualSearchAIAgentConfiguration: { // ManualSearchAIAgentConfiguration + * answerGenerationAIPromptId: "STRING_VALUE", + * associationConfigurations: [ // AssociationConfigurationList + * { // AssociationConfiguration + * associationId: "STRING_VALUE", + * associationType: "STRING_VALUE", + * associationConfigurationData: { // AssociationConfigurationData Union: only one key present + * knowledgeBaseAssociationConfigurationData: { // KnowledgeBaseAssociationConfigurationData + * contentTagFilter: { // TagFilter Union: only one key present + * tagCondition: { // TagCondition + * key: "STRING_VALUE", // required + * value: "STRING_VALUE", + * }, + * andConditions: [ // AndConditions + * { + * key: "STRING_VALUE", // required + * value: "STRING_VALUE", + * }, + * ], + * orConditions: [ // OrConditions + * { // OrCondition Union: only one key present + * andConditions: [ + * "", + * ], + * tagCondition: "", + * }, + * ], + * }, + * maxResults: Number("int"), + * overrideKnowledgeBaseSearchType: "STRING_VALUE", + * }, + * }, + * }, + * ], + * }, + * answerRecommendationAIAgentConfiguration: { // AnswerRecommendationAIAgentConfiguration + * intentLabelingGenerationAIPromptId: "STRING_VALUE", + * queryReformulationAIPromptId: "STRING_VALUE", + * answerGenerationAIPromptId: "STRING_VALUE", + * associationConfigurations: [ + * { + * associationId: "STRING_VALUE", + * associationType: "STRING_VALUE", + * associationConfigurationData: {// Union: only one key present + * knowledgeBaseAssociationConfigurationData: { + * contentTagFilter: {// Union: only one key present + * tagCondition: "", + * andConditions: [ + * "", + * ], + * orConditions: [ + * {// Union: only one key present + * andConditions: [ + * "", + * ], + * tagCondition: "", + * }, + * ], + * }, + * maxResults: Number("int"), + * overrideKnowledgeBaseSearchType: "STRING_VALUE", + * }, + * }, + * }, + * ], + * }, + * }, + * visibilityStatus: "STRING_VALUE", // required + * tags: { // Tags + * "": "STRING_VALUE", + * }, + * description: "STRING_VALUE", + * }; + * const command = new CreateAIAgentCommand(input); + * const response = await client.send(command); + * // { // CreateAIAgentResponse + * // aiAgent: { // AIAgentData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiAgentId: "STRING_VALUE", // required + * // aiAgentArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // configuration: { // AIAgentConfiguration Union: only one key present + * // manualSearchAIAgentConfiguration: { // ManualSearchAIAgentConfiguration + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ // AssociationConfigurationList + * // { // AssociationConfiguration + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: { // AssociationConfigurationData Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { // KnowledgeBaseAssociationConfigurationData + * // contentTagFilter: { // TagFilter Union: only one key present + * // tagCondition: { // TagCondition + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // andConditions: [ // AndConditions + * // { + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // orConditions: [ // OrConditions + * // { // OrCondition Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // answerRecommendationAIAgentConfiguration: { // AnswerRecommendationAIAgentConfiguration + * // intentLabelingGenerationAIPromptId: "STRING_VALUE", + * // queryReformulationAIPromptId: "STRING_VALUE", + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ + * // { + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: {// Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { + * // contentTagFilter: {// Union: only one key present + * // tagCondition: "", + * // andConditions: [ + * // "", + * // ], + * // orConditions: [ + * // {// Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // }, + * // modifiedTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // visibilityStatus: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // origin: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param CreateAIAgentCommandInput - {@link CreateAIAgentCommandInput} + * @returns {@link CreateAIAgentCommandOutput} + * @see {@link CreateAIAgentCommandInput} for command's `input` shape. + * @see {@link CreateAIAgentCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource does not exist.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

You've exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use service quotas to request a service quota increase.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class CreateAIAgentCommand extends $Command + .classBuilder< + CreateAIAgentCommandInput, + CreateAIAgentCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "CreateAIAgent", {}) + .n("QConnectClient", "CreateAIAgentCommand") + .f(void 0, void 0) + .ser(se_CreateAIAgentCommand) + .de(de_CreateAIAgentCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateAIAgentRequest; + output: CreateAIAgentResponse; + }; + sdk: { + input: CreateAIAgentCommandInput; + output: CreateAIAgentCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/CreateAIAgentVersionCommand.ts b/clients/client-qconnect/src/commands/CreateAIAgentVersionCommand.ts new file mode 100644 index 000000000000..56ffb0bea3e4 --- /dev/null +++ b/clients/client-qconnect/src/commands/CreateAIAgentVersionCommand.ts @@ -0,0 +1,201 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateAIAgentVersionRequest, CreateAIAgentVersionResponse } from "../models/models_0"; +import { de_CreateAIAgentVersionCommand, se_CreateAIAgentVersionCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateAIAgentVersionCommand}. + */ +export interface CreateAIAgentVersionCommandInput extends CreateAIAgentVersionRequest {} +/** + * @public + * + * The output of {@link CreateAIAgentVersionCommand}. + */ +export interface CreateAIAgentVersionCommandOutput extends CreateAIAgentVersionResponse, __MetadataBearer {} + +/** + *

Creates and Amazon Q in Connect AI Agent version.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, CreateAIAgentVersionCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, CreateAIAgentVersionCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // CreateAIAgentVersionRequest + * assistantId: "STRING_VALUE", // required + * aiAgentId: "STRING_VALUE", // required + * modifiedTime: new Date("TIMESTAMP"), + * clientToken: "STRING_VALUE", + * }; + * const command = new CreateAIAgentVersionCommand(input); + * const response = await client.send(command); + * // { // CreateAIAgentVersionResponse + * // aiAgent: { // AIAgentData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiAgentId: "STRING_VALUE", // required + * // aiAgentArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // configuration: { // AIAgentConfiguration Union: only one key present + * // manualSearchAIAgentConfiguration: { // ManualSearchAIAgentConfiguration + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ // AssociationConfigurationList + * // { // AssociationConfiguration + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: { // AssociationConfigurationData Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { // KnowledgeBaseAssociationConfigurationData + * // contentTagFilter: { // TagFilter Union: only one key present + * // tagCondition: { // TagCondition + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // andConditions: [ // AndConditions + * // { + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // orConditions: [ // OrConditions + * // { // OrCondition Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // answerRecommendationAIAgentConfiguration: { // AnswerRecommendationAIAgentConfiguration + * // intentLabelingGenerationAIPromptId: "STRING_VALUE", + * // queryReformulationAIPromptId: "STRING_VALUE", + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ + * // { + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: {// Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { + * // contentTagFilter: {// Union: only one key present + * // tagCondition: "", + * // andConditions: [ + * // "", + * // ], + * // orConditions: [ + * // {// Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // }, + * // modifiedTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // visibilityStatus: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // origin: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // versionNumber: Number("long"), + * // }; + * + * ``` + * + * @param CreateAIAgentVersionCommandInput - {@link CreateAIAgentVersionCommandInput} + * @returns {@link CreateAIAgentVersionCommandOutput} + * @see {@link CreateAIAgentVersionCommandInput} for command's `input` shape. + * @see {@link CreateAIAgentVersionCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource does not exist.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

You've exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use service quotas to request a service quota increase.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class CreateAIAgentVersionCommand extends $Command + .classBuilder< + CreateAIAgentVersionCommandInput, + CreateAIAgentVersionCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "CreateAIAgentVersion", {}) + .n("QConnectClient", "CreateAIAgentVersionCommand") + .f(void 0, void 0) + .ser(se_CreateAIAgentVersionCommand) + .de(de_CreateAIAgentVersionCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateAIAgentVersionRequest; + output: CreateAIAgentVersionResponse; + }; + sdk: { + input: CreateAIAgentVersionCommandInput; + output: CreateAIAgentVersionCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/CreateAIPromptCommand.ts b/clients/client-qconnect/src/commands/CreateAIPromptCommand.ts new file mode 100644 index 000000000000..85a7ed8d89b3 --- /dev/null +++ b/clients/client-qconnect/src/commands/CreateAIPromptCommand.ts @@ -0,0 +1,158 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateAIPromptRequest, + CreateAIPromptRequestFilterSensitiveLog, + CreateAIPromptResponse, + CreateAIPromptResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_CreateAIPromptCommand, se_CreateAIPromptCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateAIPromptCommand}. + */ +export interface CreateAIPromptCommandInput extends CreateAIPromptRequest {} +/** + * @public + * + * The output of {@link CreateAIPromptCommand}. + */ +export interface CreateAIPromptCommandOutput extends CreateAIPromptResponse, __MetadataBearer {} + +/** + *

Creates an Amazon Q in Connect AI Prompt.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, CreateAIPromptCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, CreateAIPromptCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // CreateAIPromptRequest + * clientToken: "STRING_VALUE", + * assistantId: "STRING_VALUE", // required + * name: "STRING_VALUE", // required + * type: "STRING_VALUE", // required + * templateConfiguration: { // AIPromptTemplateConfiguration Union: only one key present + * textFullAIPromptEditTemplateConfiguration: { // TextFullAIPromptEditTemplateConfiguration + * text: "STRING_VALUE", // required + * }, + * }, + * visibilityStatus: "STRING_VALUE", // required + * templateType: "STRING_VALUE", // required + * modelId: "STRING_VALUE", // required + * apiFormat: "STRING_VALUE", // required + * tags: { // Tags + * "": "STRING_VALUE", + * }, + * description: "STRING_VALUE", + * }; + * const command = new CreateAIPromptCommand(input); + * const response = await client.send(command); + * // { // CreateAIPromptResponse + * // aiPrompt: { // AIPromptData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiPromptId: "STRING_VALUE", // required + * // aiPromptArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // templateType: "STRING_VALUE", // required + * // modelId: "STRING_VALUE", // required + * // apiFormat: "STRING_VALUE", // required + * // templateConfiguration: { // AIPromptTemplateConfiguration Union: only one key present + * // textFullAIPromptEditTemplateConfiguration: { // TextFullAIPromptEditTemplateConfiguration + * // text: "STRING_VALUE", // required + * // }, + * // }, + * // modifiedTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // visibilityStatus: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // origin: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param CreateAIPromptCommandInput - {@link CreateAIPromptCommandInput} + * @returns {@link CreateAIPromptCommandOutput} + * @see {@link CreateAIPromptCommandInput} for command's `input` shape. + * @see {@link CreateAIPromptCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource does not exist.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

You've exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use service quotas to request a service quota increase.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class CreateAIPromptCommand extends $Command + .classBuilder< + CreateAIPromptCommandInput, + CreateAIPromptCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "CreateAIPrompt", {}) + .n("QConnectClient", "CreateAIPromptCommand") + .f(CreateAIPromptRequestFilterSensitiveLog, CreateAIPromptResponseFilterSensitiveLog) + .ser(se_CreateAIPromptCommand) + .de(de_CreateAIPromptCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateAIPromptRequest; + output: CreateAIPromptResponse; + }; + sdk: { + input: CreateAIPromptCommandInput; + output: CreateAIPromptCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/CreateAIPromptVersionCommand.ts b/clients/client-qconnect/src/commands/CreateAIPromptVersionCommand.ts new file mode 100644 index 000000000000..71b883e753bb --- /dev/null +++ b/clients/client-qconnect/src/commands/CreateAIPromptVersionCommand.ts @@ -0,0 +1,145 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateAIPromptVersionRequest, + CreateAIPromptVersionResponse, + CreateAIPromptVersionResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_CreateAIPromptVersionCommand, se_CreateAIPromptVersionCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateAIPromptVersionCommand}. + */ +export interface CreateAIPromptVersionCommandInput extends CreateAIPromptVersionRequest {} +/** + * @public + * + * The output of {@link CreateAIPromptVersionCommand}. + */ +export interface CreateAIPromptVersionCommandOutput extends CreateAIPromptVersionResponse, __MetadataBearer {} + +/** + *

Creates an Amazon Q in Connect AI Prompt version.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, CreateAIPromptVersionCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, CreateAIPromptVersionCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // CreateAIPromptVersionRequest + * assistantId: "STRING_VALUE", // required + * aiPromptId: "STRING_VALUE", // required + * modifiedTime: new Date("TIMESTAMP"), + * clientToken: "STRING_VALUE", + * }; + * const command = new CreateAIPromptVersionCommand(input); + * const response = await client.send(command); + * // { // CreateAIPromptVersionResponse + * // aiPrompt: { // AIPromptData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiPromptId: "STRING_VALUE", // required + * // aiPromptArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // templateType: "STRING_VALUE", // required + * // modelId: "STRING_VALUE", // required + * // apiFormat: "STRING_VALUE", // required + * // templateConfiguration: { // AIPromptTemplateConfiguration Union: only one key present + * // textFullAIPromptEditTemplateConfiguration: { // TextFullAIPromptEditTemplateConfiguration + * // text: "STRING_VALUE", // required + * // }, + * // }, + * // modifiedTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // visibilityStatus: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // origin: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // versionNumber: Number("long"), + * // }; + * + * ``` + * + * @param CreateAIPromptVersionCommandInput - {@link CreateAIPromptVersionCommandInput} + * @returns {@link CreateAIPromptVersionCommandOutput} + * @see {@link CreateAIPromptVersionCommandInput} for command's `input` shape. + * @see {@link CreateAIPromptVersionCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The specified resource does not exist.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

You've exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use service quotas to request a service quota increase.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The throttling limit has been exceeded.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by a service.

+ * + * @throws {@link QConnectServiceException} + *

Base exception class for all service exceptions from QConnect service.

+ * + * @public + */ +export class CreateAIPromptVersionCommand extends $Command + .classBuilder< + CreateAIPromptVersionCommandInput, + CreateAIPromptVersionCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "CreateAIPromptVersion", {}) + .n("QConnectClient", "CreateAIPromptVersionCommand") + .f(void 0, CreateAIPromptVersionResponseFilterSensitiveLog) + .ser(se_CreateAIPromptVersionCommand) + .de(de_CreateAIPromptVersionCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateAIPromptVersionRequest; + output: CreateAIPromptVersionResponse; + }; + sdk: { + input: CreateAIPromptVersionCommandInput; + output: CreateAIPromptVersionCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/CreateAssistantCommand.ts b/clients/client-qconnect/src/commands/CreateAssistantCommand.ts index deb205c6679b..8b2dfa0c8b11 100644 --- a/clients/client-qconnect/src/commands/CreateAssistantCommand.ts +++ b/clients/client-qconnect/src/commands/CreateAssistantCommand.ts @@ -69,6 +69,11 @@ export interface CreateAssistantCommandOutput extends CreateAssistantResponse, _ * // capabilityConfiguration: { // AssistantCapabilityConfiguration * // type: "STRING_VALUE", * // }, + * // aiAgentConfiguration: { // AIAgentConfigurationMap + * // "": { // AIAgentConfigurationData + * // aiAgentId: "STRING_VALUE", // required + * // }, + * // }, * // }, * // }; * diff --git a/clients/client-qconnect/src/commands/CreateContentAssociationCommand.ts b/clients/client-qconnect/src/commands/CreateContentAssociationCommand.ts index aac0450143f2..194a4a82e03e 100644 --- a/clients/client-qconnect/src/commands/CreateContentAssociationCommand.ts +++ b/clients/client-qconnect/src/commands/CreateContentAssociationCommand.ts @@ -28,18 +28,17 @@ export interface CreateContentAssociationCommandInput extends CreateContentAssoc export interface CreateContentAssociationCommandOutput extends CreateContentAssociationResponse, __MetadataBearer {} /** - *

Creates an association between a content resource in a knowledge base and step-by-step - * guides. Step-by-step guides offer instructions to agents for resolving common - * customer issues. You create a content association to integrate Amazon Q in Connect and step-by-step - * guides.

+ *

Creates an association between a content resource in a knowledge base and step-by-step guides. Step-by-step guides offer instructions to agents for resolving + * common customer issues. You create a content association to integrate Amazon Q in Connect and + * step-by-step guides.

*

After you integrate Amazon Q and step-by-step guides, when Amazon Q provides a * recommendation to an agent based on the intent that it's detected, it also provides them with * the option to start the step-by-step guide that you have associated with the content.

*

Note the following limitations:

*
    *
  • - *

    You can create only one content association for each - * content resource in a knowledge base.

    + *

    You can create only one content association for each content resource in a knowledge + * base.

    *
  • *
  • *

    You can associate a step-by-step guide with multiple content resources.

    diff --git a/clients/client-qconnect/src/commands/CreateKnowledgeBaseCommand.ts b/clients/client-qconnect/src/commands/CreateKnowledgeBaseCommand.ts index 256c14886f7c..8768afd4af59 100644 --- a/clients/client-qconnect/src/commands/CreateKnowledgeBaseCommand.ts +++ b/clients/client-qconnect/src/commands/CreateKnowledgeBaseCommand.ts @@ -5,7 +5,12 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateKnowledgeBaseRequest, CreateKnowledgeBaseResponse } from "../models/models_0"; +import { + CreateKnowledgeBaseRequest, + CreateKnowledgeBaseRequestFilterSensitiveLog, + CreateKnowledgeBaseResponse, + CreateKnowledgeBaseResponseFilterSensitiveLog, +} from "../models/models_0"; import { de_CreateKnowledgeBaseCommand, se_CreateKnowledgeBaseCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; @@ -69,10 +74,62 @@ export interface CreateKnowledgeBaseCommandOutput extends CreateKnowledgeBaseRes * "STRING_VALUE", * ], * }, + * managedSourceConfiguration: { // ManagedSourceConfiguration Union: only one key present + * webCrawlerConfiguration: { // WebCrawlerConfiguration + * urlConfiguration: { // UrlConfiguration + * seedUrls: [ // SeedUrls + * { // SeedUrl + * url: "STRING_VALUE", + * }, + * ], + * }, + * crawlerLimits: { // WebCrawlerLimits + * rateLimit: Number("int"), + * }, + * inclusionFilters: [ // UrlFilterList + * "STRING_VALUE", + * ], + * exclusionFilters: [ + * "STRING_VALUE", + * ], + * scope: "STRING_VALUE", + * }, + * }, * }, * renderingConfiguration: { // RenderingConfiguration * templateUri: "STRING_VALUE", * }, + * vectorIngestionConfiguration: { // VectorIngestionConfiguration + * chunkingConfiguration: { // ChunkingConfiguration + * chunkingStrategy: "STRING_VALUE", // required + * fixedSizeChunkingConfiguration: { // FixedSizeChunkingConfiguration + * maxTokens: Number("int"), // required + * overlapPercentage: Number("int"), // required + * }, + * hierarchicalChunkingConfiguration: { // HierarchicalChunkingConfiguration + * levelConfigurations: [ // HierarchicalChunkingLevelConfigurations // required + * { // HierarchicalChunkingLevelConfiguration + * maxTokens: Number("int"), // required + * }, + * ], + * overlapTokens: Number("int"), // required + * }, + * semanticChunkingConfiguration: { // SemanticChunkingConfiguration + * maxTokens: Number("int"), // required + * bufferSize: Number("int"), // required + * breakpointPercentileThreshold: Number("int"), // required + * }, + * }, + * parsingConfiguration: { // ParsingConfiguration + * parsingStrategy: "STRING_VALUE", // required + * bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfigurationForParsing + * modelArn: "STRING_VALUE", // required + * parsingPrompt: { // ParsingPrompt + * parsingPromptText: "STRING_VALUE", // required + * }, + * }, + * }, + * }, * serverSideEncryptionConfiguration: { // ServerSideEncryptionConfiguration * kmsKeyId: "STRING_VALUE", * }, @@ -91,6 +148,37 @@ export interface CreateKnowledgeBaseCommandOutput extends CreateKnowledgeBaseRes * // knowledgeBaseType: "STRING_VALUE", // required * // status: "STRING_VALUE", // required * // lastContentModificationTime: new Date("TIMESTAMP"), + * // vectorIngestionConfiguration: { // VectorIngestionConfiguration + * // chunkingConfiguration: { // ChunkingConfiguration + * // chunkingStrategy: "STRING_VALUE", // required + * // fixedSizeChunkingConfiguration: { // FixedSizeChunkingConfiguration + * // maxTokens: Number("int"), // required + * // overlapPercentage: Number("int"), // required + * // }, + * // hierarchicalChunkingConfiguration: { // HierarchicalChunkingConfiguration + * // levelConfigurations: [ // HierarchicalChunkingLevelConfigurations // required + * // { // HierarchicalChunkingLevelConfiguration + * // maxTokens: Number("int"), // required + * // }, + * // ], + * // overlapTokens: Number("int"), // required + * // }, + * // semanticChunkingConfiguration: { // SemanticChunkingConfiguration + * // maxTokens: Number("int"), // required + * // bufferSize: Number("int"), // required + * // breakpointPercentileThreshold: Number("int"), // required + * // }, + * // }, + * // parsingConfiguration: { // ParsingConfiguration + * // parsingStrategy: "STRING_VALUE", // required + * // bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfigurationForParsing + * // modelArn: "STRING_VALUE", // required + * // parsingPrompt: { // ParsingPrompt + * // parsingPromptText: "STRING_VALUE", // required + * // }, + * // }, + * // }, + * // }, * // sourceConfiguration: { // SourceConfiguration Union: only one key present * // appIntegrations: { // AppIntegrationsConfiguration * // appIntegrationArn: "STRING_VALUE", // required @@ -98,6 +186,27 @@ export interface CreateKnowledgeBaseCommandOutput extends CreateKnowledgeBaseRes * // "STRING_VALUE", * // ], * // }, + * // managedSourceConfiguration: { // ManagedSourceConfiguration Union: only one key present + * // webCrawlerConfiguration: { // WebCrawlerConfiguration + * // urlConfiguration: { // UrlConfiguration + * // seedUrls: [ // SeedUrls + * // { // SeedUrl + * // url: "STRING_VALUE", + * // }, + * // ], + * // }, + * // crawlerLimits: { // WebCrawlerLimits + * // rateLimit: Number("int"), + * // }, + * // inclusionFilters: [ // UrlFilterList + * // "STRING_VALUE", + * // ], + * // exclusionFilters: [ + * // "STRING_VALUE", + * // ], + * // scope: "STRING_VALUE", + * // }, + * // }, * // }, * // renderingConfiguration: { // RenderingConfiguration * // templateUri: "STRING_VALUE", @@ -109,6 +218,10 @@ export interface CreateKnowledgeBaseCommandOutput extends CreateKnowledgeBaseRes * // tags: { // Tags * // "": "STRING_VALUE", * // }, + * // ingestionStatus: "STRING_VALUE", + * // ingestionFailureReasons: [ // FailureReason + * // "STRING_VALUE", + * // ], * // }, * // }; * @@ -158,7 +271,7 @@ export class CreateKnowledgeBaseCommand extends $Command }) .s("WisdomService", "CreateKnowledgeBase", {}) .n("QConnectClient", "CreateKnowledgeBaseCommand") - .f(void 0, void 0) + .f(CreateKnowledgeBaseRequestFilterSensitiveLog, CreateKnowledgeBaseResponseFilterSensitiveLog) .ser(se_CreateKnowledgeBaseCommand) .de(de_CreateKnowledgeBaseCommand) .build() { diff --git a/clients/client-qconnect/src/commands/CreateSessionCommand.ts b/clients/client-qconnect/src/commands/CreateSessionCommand.ts index bb1065fe6176..b1a2d671c6b2 100644 --- a/clients/client-qconnect/src/commands/CreateSessionCommand.ts +++ b/clients/client-qconnect/src/commands/CreateSessionCommand.ts @@ -65,6 +65,11 @@ export interface CreateSessionCommandOutput extends CreateSessionResponse, __Met * }, * ], * }, + * aiAgentConfiguration: { // AIAgentConfigurationMap + * "": { // AIAgentConfigurationData + * aiAgentId: "STRING_VALUE", // required + * }, + * }, * }; * const command = new CreateSessionCommand(input); * const response = await client.send(command); @@ -100,6 +105,11 @@ export interface CreateSessionCommandOutput extends CreateSessionResponse, __Met * // }, * // ], * // }, + * // aiAgentConfiguration: { // AIAgentConfigurationMap + * // "": { // AIAgentConfigurationData + * // aiAgentId: "STRING_VALUE", // required + * // }, + * // }, * // }, * // }; * diff --git a/clients/client-qconnect/src/commands/DeleteAIAgentCommand.ts b/clients/client-qconnect/src/commands/DeleteAIAgentCommand.ts new file mode 100644 index 000000000000..dc34c81dbdfc --- /dev/null +++ b/clients/client-qconnect/src/commands/DeleteAIAgentCommand.ts @@ -0,0 +1,103 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteAIAgentRequest, DeleteAIAgentResponse } from "../models/models_0"; +import { de_DeleteAIAgentCommand, se_DeleteAIAgentCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteAIAgentCommand}. + */ +export interface DeleteAIAgentCommandInput extends DeleteAIAgentRequest {} +/** + * @public + * + * The output of {@link DeleteAIAgentCommand}. + */ +export interface DeleteAIAgentCommandOutput extends DeleteAIAgentResponse, __MetadataBearer {} + +/** + *

    Deletes an Amazon Q in Connect AI Agent.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, DeleteAIAgentCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, DeleteAIAgentCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // DeleteAIAgentRequest + * assistantId: "STRING_VALUE", // required + * aiAgentId: "STRING_VALUE", // required + * }; + * const command = new DeleteAIAgentCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteAIAgentCommandInput - {@link DeleteAIAgentCommandInput} + * @returns {@link DeleteAIAgentCommandOutput} + * @see {@link DeleteAIAgentCommandInput} for command's `input` shape. + * @see {@link DeleteAIAgentCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class DeleteAIAgentCommand extends $Command + .classBuilder< + DeleteAIAgentCommandInput, + DeleteAIAgentCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "DeleteAIAgent", {}) + .n("QConnectClient", "DeleteAIAgentCommand") + .f(void 0, void 0) + .ser(se_DeleteAIAgentCommand) + .de(de_DeleteAIAgentCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteAIAgentRequest; + output: {}; + }; + sdk: { + input: DeleteAIAgentCommandInput; + output: DeleteAIAgentCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/DeleteAIAgentVersionCommand.ts b/clients/client-qconnect/src/commands/DeleteAIAgentVersionCommand.ts new file mode 100644 index 000000000000..2996e9fabb57 --- /dev/null +++ b/clients/client-qconnect/src/commands/DeleteAIAgentVersionCommand.ts @@ -0,0 +1,110 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteAIAgentVersionRequest, DeleteAIAgentVersionResponse } from "../models/models_0"; +import { de_DeleteAIAgentVersionCommand, se_DeleteAIAgentVersionCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteAIAgentVersionCommand}. + */ +export interface DeleteAIAgentVersionCommandInput extends DeleteAIAgentVersionRequest {} +/** + * @public + * + * The output of {@link DeleteAIAgentVersionCommand}. + */ +export interface DeleteAIAgentVersionCommandOutput extends DeleteAIAgentVersionResponse, __MetadataBearer {} + +/** + *

    Deletes an Amazon Q in Connect AI Agent Version.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, DeleteAIAgentVersionCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, DeleteAIAgentVersionCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // DeleteAIAgentVersionRequest + * assistantId: "STRING_VALUE", // required + * aiAgentId: "STRING_VALUE", // required + * versionNumber: Number("long"), // required + * }; + * const command = new DeleteAIAgentVersionCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteAIAgentVersionCommandInput - {@link DeleteAIAgentVersionCommandInput} + * @returns {@link DeleteAIAgentVersionCommandOutput} + * @see {@link DeleteAIAgentVersionCommandInput} for command's `input` shape. + * @see {@link DeleteAIAgentVersionCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ConflictException} (client fault) + *

    The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class DeleteAIAgentVersionCommand extends $Command + .classBuilder< + DeleteAIAgentVersionCommandInput, + DeleteAIAgentVersionCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "DeleteAIAgentVersion", {}) + .n("QConnectClient", "DeleteAIAgentVersionCommand") + .f(void 0, void 0) + .ser(se_DeleteAIAgentVersionCommand) + .de(de_DeleteAIAgentVersionCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteAIAgentVersionRequest; + output: {}; + }; + sdk: { + input: DeleteAIAgentVersionCommandInput; + output: DeleteAIAgentVersionCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/DeleteAIPromptCommand.ts b/clients/client-qconnect/src/commands/DeleteAIPromptCommand.ts new file mode 100644 index 000000000000..28ab62176d56 --- /dev/null +++ b/clients/client-qconnect/src/commands/DeleteAIPromptCommand.ts @@ -0,0 +1,103 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteAIPromptRequest, DeleteAIPromptResponse } from "../models/models_0"; +import { de_DeleteAIPromptCommand, se_DeleteAIPromptCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteAIPromptCommand}. + */ +export interface DeleteAIPromptCommandInput extends DeleteAIPromptRequest {} +/** + * @public + * + * The output of {@link DeleteAIPromptCommand}. + */ +export interface DeleteAIPromptCommandOutput extends DeleteAIPromptResponse, __MetadataBearer {} + +/** + *

    Deletes an Amazon Q in Connect AI Prompt.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, DeleteAIPromptCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, DeleteAIPromptCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // DeleteAIPromptRequest + * assistantId: "STRING_VALUE", // required + * aiPromptId: "STRING_VALUE", // required + * }; + * const command = new DeleteAIPromptCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteAIPromptCommandInput - {@link DeleteAIPromptCommandInput} + * @returns {@link DeleteAIPromptCommandOutput} + * @see {@link DeleteAIPromptCommandInput} for command's `input` shape. + * @see {@link DeleteAIPromptCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class DeleteAIPromptCommand extends $Command + .classBuilder< + DeleteAIPromptCommandInput, + DeleteAIPromptCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "DeleteAIPrompt", {}) + .n("QConnectClient", "DeleteAIPromptCommand") + .f(void 0, void 0) + .ser(se_DeleteAIPromptCommand) + .de(de_DeleteAIPromptCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteAIPromptRequest; + output: {}; + }; + sdk: { + input: DeleteAIPromptCommandInput; + output: DeleteAIPromptCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/DeleteAIPromptVersionCommand.ts b/clients/client-qconnect/src/commands/DeleteAIPromptVersionCommand.ts new file mode 100644 index 000000000000..757690b32e2d --- /dev/null +++ b/clients/client-qconnect/src/commands/DeleteAIPromptVersionCommand.ts @@ -0,0 +1,110 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteAIPromptVersionRequest, DeleteAIPromptVersionResponse } from "../models/models_0"; +import { de_DeleteAIPromptVersionCommand, se_DeleteAIPromptVersionCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteAIPromptVersionCommand}. + */ +export interface DeleteAIPromptVersionCommandInput extends DeleteAIPromptVersionRequest {} +/** + * @public + * + * The output of {@link DeleteAIPromptVersionCommand}. + */ +export interface DeleteAIPromptVersionCommandOutput extends DeleteAIPromptVersionResponse, __MetadataBearer {} + +/** + *

    Delete and Amazon Q in Connect AI Prompt version.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, DeleteAIPromptVersionCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, DeleteAIPromptVersionCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // DeleteAIPromptVersionRequest + * assistantId: "STRING_VALUE", // required + * aiPromptId: "STRING_VALUE", // required + * versionNumber: Number("long"), // required + * }; + * const command = new DeleteAIPromptVersionCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteAIPromptVersionCommandInput - {@link DeleteAIPromptVersionCommandInput} + * @returns {@link DeleteAIPromptVersionCommandOutput} + * @see {@link DeleteAIPromptVersionCommandInput} for command's `input` shape. + * @see {@link DeleteAIPromptVersionCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ConflictException} (client fault) + *

    The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class DeleteAIPromptVersionCommand extends $Command + .classBuilder< + DeleteAIPromptVersionCommandInput, + DeleteAIPromptVersionCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "DeleteAIPromptVersion", {}) + .n("QConnectClient", "DeleteAIPromptVersionCommand") + .f(void 0, void 0) + .ser(se_DeleteAIPromptVersionCommand) + .de(de_DeleteAIPromptVersionCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteAIPromptVersionRequest; + output: {}; + }; + sdk: { + input: DeleteAIPromptVersionCommandInput; + output: DeleteAIPromptVersionCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/GetAIAgentCommand.ts b/clients/client-qconnect/src/commands/GetAIAgentCommand.ts new file mode 100644 index 000000000000..f2d5311591a2 --- /dev/null +++ b/clients/client-qconnect/src/commands/GetAIAgentCommand.ts @@ -0,0 +1,189 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetAIAgentRequest, GetAIAgentResponse } from "../models/models_0"; +import { de_GetAIAgentCommand, se_GetAIAgentCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetAIAgentCommand}. + */ +export interface GetAIAgentCommandInput extends GetAIAgentRequest {} +/** + * @public + * + * The output of {@link GetAIAgentCommand}. + */ +export interface GetAIAgentCommandOutput extends GetAIAgentResponse, __MetadataBearer {} + +/** + *

    Gets an Amazon Q in Connect AI Agent.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, GetAIAgentCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, GetAIAgentCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // GetAIAgentRequest + * assistantId: "STRING_VALUE", // required + * aiAgentId: "STRING_VALUE", // required + * }; + * const command = new GetAIAgentCommand(input); + * const response = await client.send(command); + * // { // GetAIAgentResponse + * // aiAgent: { // AIAgentData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiAgentId: "STRING_VALUE", // required + * // aiAgentArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // configuration: { // AIAgentConfiguration Union: only one key present + * // manualSearchAIAgentConfiguration: { // ManualSearchAIAgentConfiguration + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ // AssociationConfigurationList + * // { // AssociationConfiguration + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: { // AssociationConfigurationData Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { // KnowledgeBaseAssociationConfigurationData + * // contentTagFilter: { // TagFilter Union: only one key present + * // tagCondition: { // TagCondition + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // andConditions: [ // AndConditions + * // { + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // orConditions: [ // OrConditions + * // { // OrCondition Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // answerRecommendationAIAgentConfiguration: { // AnswerRecommendationAIAgentConfiguration + * // intentLabelingGenerationAIPromptId: "STRING_VALUE", + * // queryReformulationAIPromptId: "STRING_VALUE", + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ + * // { + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: {// Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { + * // contentTagFilter: {// Union: only one key present + * // tagCondition: "", + * // andConditions: [ + * // "", + * // ], + * // orConditions: [ + * // {// Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // }, + * // modifiedTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // visibilityStatus: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // origin: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // versionNumber: Number("long"), + * // }; + * + * ``` + * + * @param GetAIAgentCommandInput - {@link GetAIAgentCommandInput} + * @returns {@link GetAIAgentCommandOutput} + * @see {@link GetAIAgentCommandInput} for command's `input` shape. + * @see {@link GetAIAgentCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class GetAIAgentCommand extends $Command + .classBuilder< + GetAIAgentCommandInput, + GetAIAgentCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "GetAIAgent", {}) + .n("QConnectClient", "GetAIAgentCommand") + .f(void 0, void 0) + .ser(se_GetAIAgentCommand) + .de(de_GetAIAgentCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetAIAgentRequest; + output: GetAIAgentResponse; + }; + sdk: { + input: GetAIAgentCommandInput; + output: GetAIAgentCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/GetAIPromptCommand.ts b/clients/client-qconnect/src/commands/GetAIPromptCommand.ts new file mode 100644 index 000000000000..c837d1f54e6f --- /dev/null +++ b/clients/client-qconnect/src/commands/GetAIPromptCommand.ts @@ -0,0 +1,129 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetAIPromptRequest, GetAIPromptResponse, GetAIPromptResponseFilterSensitiveLog } from "../models/models_0"; +import { de_GetAIPromptCommand, se_GetAIPromptCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetAIPromptCommand}. + */ +export interface GetAIPromptCommandInput extends GetAIPromptRequest {} +/** + * @public + * + * The output of {@link GetAIPromptCommand}. + */ +export interface GetAIPromptCommandOutput extends GetAIPromptResponse, __MetadataBearer {} + +/** + *

    Gets and Amazon Q in Connect AI Prompt.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, GetAIPromptCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, GetAIPromptCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // GetAIPromptRequest + * assistantId: "STRING_VALUE", // required + * aiPromptId: "STRING_VALUE", // required + * }; + * const command = new GetAIPromptCommand(input); + * const response = await client.send(command); + * // { // GetAIPromptResponse + * // aiPrompt: { // AIPromptData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiPromptId: "STRING_VALUE", // required + * // aiPromptArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // templateType: "STRING_VALUE", // required + * // modelId: "STRING_VALUE", // required + * // apiFormat: "STRING_VALUE", // required + * // templateConfiguration: { // AIPromptTemplateConfiguration Union: only one key present + * // textFullAIPromptEditTemplateConfiguration: { // TextFullAIPromptEditTemplateConfiguration + * // text: "STRING_VALUE", // required + * // }, + * // }, + * // modifiedTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // visibilityStatus: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // origin: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // versionNumber: Number("long"), + * // }; + * + * ``` + * + * @param GetAIPromptCommandInput - {@link GetAIPromptCommandInput} + * @returns {@link GetAIPromptCommandOutput} + * @see {@link GetAIPromptCommandInput} for command's `input` shape. + * @see {@link GetAIPromptCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class GetAIPromptCommand extends $Command + .classBuilder< + GetAIPromptCommandInput, + GetAIPromptCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "GetAIPrompt", {}) + .n("QConnectClient", "GetAIPromptCommand") + .f(void 0, GetAIPromptResponseFilterSensitiveLog) + .ser(se_GetAIPromptCommand) + .de(de_GetAIPromptCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetAIPromptRequest; + output: GetAIPromptResponse; + }; + sdk: { + input: GetAIPromptCommandInput; + output: GetAIPromptCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/GetAssistantCommand.ts b/clients/client-qconnect/src/commands/GetAssistantCommand.ts index 4220a757b8b8..430ae0d0757f 100644 --- a/clients/client-qconnect/src/commands/GetAssistantCommand.ts +++ b/clients/client-qconnect/src/commands/GetAssistantCommand.ts @@ -60,6 +60,11 @@ export interface GetAssistantCommandOutput extends GetAssistantResponse, __Metad * // capabilityConfiguration: { // AssistantCapabilityConfiguration * // type: "STRING_VALUE", * // }, + * // aiAgentConfiguration: { // AIAgentConfigurationMap + * // "": { // AIAgentConfigurationData + * // aiAgentId: "STRING_VALUE", // required + * // }, + * // }, * // }, * // }; * diff --git a/clients/client-qconnect/src/commands/GetKnowledgeBaseCommand.ts b/clients/client-qconnect/src/commands/GetKnowledgeBaseCommand.ts index e011eb8a0534..3fefbd5152cc 100644 --- a/clients/client-qconnect/src/commands/GetKnowledgeBaseCommand.ts +++ b/clients/client-qconnect/src/commands/GetKnowledgeBaseCommand.ts @@ -5,7 +5,11 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetKnowledgeBaseRequest, GetKnowledgeBaseResponse } from "../models/models_0"; +import { + GetKnowledgeBaseRequest, + GetKnowledgeBaseResponse, + GetKnowledgeBaseResponseFilterSensitiveLog, +} from "../models/models_0"; import { de_GetKnowledgeBaseCommand, se_GetKnowledgeBaseCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; @@ -48,6 +52,37 @@ export interface GetKnowledgeBaseCommandOutput extends GetKnowledgeBaseResponse, * // knowledgeBaseType: "STRING_VALUE", // required * // status: "STRING_VALUE", // required * // lastContentModificationTime: new Date("TIMESTAMP"), + * // vectorIngestionConfiguration: { // VectorIngestionConfiguration + * // chunkingConfiguration: { // ChunkingConfiguration + * // chunkingStrategy: "STRING_VALUE", // required + * // fixedSizeChunkingConfiguration: { // FixedSizeChunkingConfiguration + * // maxTokens: Number("int"), // required + * // overlapPercentage: Number("int"), // required + * // }, + * // hierarchicalChunkingConfiguration: { // HierarchicalChunkingConfiguration + * // levelConfigurations: [ // HierarchicalChunkingLevelConfigurations // required + * // { // HierarchicalChunkingLevelConfiguration + * // maxTokens: Number("int"), // required + * // }, + * // ], + * // overlapTokens: Number("int"), // required + * // }, + * // semanticChunkingConfiguration: { // SemanticChunkingConfiguration + * // maxTokens: Number("int"), // required + * // bufferSize: Number("int"), // required + * // breakpointPercentileThreshold: Number("int"), // required + * // }, + * // }, + * // parsingConfiguration: { // ParsingConfiguration + * // parsingStrategy: "STRING_VALUE", // required + * // bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfigurationForParsing + * // modelArn: "STRING_VALUE", // required + * // parsingPrompt: { // ParsingPrompt + * // parsingPromptText: "STRING_VALUE", // required + * // }, + * // }, + * // }, + * // }, * // sourceConfiguration: { // SourceConfiguration Union: only one key present * // appIntegrations: { // AppIntegrationsConfiguration * // appIntegrationArn: "STRING_VALUE", // required @@ -55,6 +90,27 @@ export interface GetKnowledgeBaseCommandOutput extends GetKnowledgeBaseResponse, * // "STRING_VALUE", * // ], * // }, + * // managedSourceConfiguration: { // ManagedSourceConfiguration Union: only one key present + * // webCrawlerConfiguration: { // WebCrawlerConfiguration + * // urlConfiguration: { // UrlConfiguration + * // seedUrls: [ // SeedUrls + * // { // SeedUrl + * // url: "STRING_VALUE", + * // }, + * // ], + * // }, + * // crawlerLimits: { // WebCrawlerLimits + * // rateLimit: Number("int"), + * // }, + * // inclusionFilters: [ // UrlFilterList + * // "STRING_VALUE", + * // ], + * // exclusionFilters: [ + * // "STRING_VALUE", + * // ], + * // scope: "STRING_VALUE", + * // }, + * // }, * // }, * // renderingConfiguration: { // RenderingConfiguration * // templateUri: "STRING_VALUE", @@ -66,6 +122,10 @@ export interface GetKnowledgeBaseCommandOutput extends GetKnowledgeBaseResponse, * // tags: { // Tags * // "": "STRING_VALUE", * // }, + * // ingestionStatus: "STRING_VALUE", + * // ingestionFailureReasons: [ // FailureReason + * // "STRING_VALUE", + * // ], * // }, * // }; * @@ -108,7 +168,7 @@ export class GetKnowledgeBaseCommand extends $Command }) .s("WisdomService", "GetKnowledgeBase", {}) .n("QConnectClient", "GetKnowledgeBaseCommand") - .f(void 0, void 0) + .f(void 0, GetKnowledgeBaseResponseFilterSensitiveLog) .ser(se_GetKnowledgeBaseCommand) .de(de_GetKnowledgeBaseCommand) .build() { diff --git a/clients/client-qconnect/src/commands/GetRecommendationsCommand.ts b/clients/client-qconnect/src/commands/GetRecommendationsCommand.ts index ed053806d743..8cb85fcb0b76 100644 --- a/clients/client-qconnect/src/commands/GetRecommendationsCommand.ts +++ b/clients/client-qconnect/src/commands/GetRecommendationsCommand.ts @@ -68,6 +68,8 @@ export interface GetRecommendationsCommandOutput extends GetRecommendationsRespo * // knowledgeBaseId: "STRING_VALUE", * // contentArn: "STRING_VALUE", * // contentId: "STRING_VALUE", + * // sourceURL: "STRING_VALUE", + * // referenceType: "STRING_VALUE", * // }, * // title: { // DocumentText * // text: "STRING_VALUE", @@ -98,6 +100,8 @@ export interface GetRecommendationsCommandOutput extends GetRecommendationsRespo * // knowledgeBaseId: "STRING_VALUE", * // contentArn: "STRING_VALUE", * // contentId: "STRING_VALUE", + * // sourceURL: "STRING_VALUE", + * // referenceType: "STRING_VALUE", * // }, * // generativeReference: { // GenerativeReference * // modelId: "STRING_VALUE", @@ -163,6 +167,10 @@ export interface GetRecommendationsCommandOutput extends GetRecommendationsRespo * // relevanceLevel: "STRING_VALUE", * // }, * // }, + * // intentDetectedData: { // IntentDetectedDataDetails + * // intent: "STRING_VALUE", // required + * // intentId: "STRING_VALUE", // required + * // }, * // sourceContentData: { // SourceContentDataDetails * // id: "STRING_VALUE", // required * // type: "STRING_VALUE", // required @@ -174,6 +182,10 @@ export interface GetRecommendationsCommandOutput extends GetRecommendationsRespo * // relevanceScore: Number("double"), * // relevanceLevel: "STRING_VALUE", * // }, + * // citationSpan: { // CitationSpan + * // beginOffsetInclusive: Number("int"), + * // endOffsetExclusive: Number("int"), + * // }, * // }, * // }, * // }, @@ -183,6 +195,10 @@ export interface GetRecommendationsCommandOutput extends GetRecommendationsRespo * // relevanceLevel: "STRING_VALUE", * // }, * // }, + * // intentDetectedData: { + * // intent: "STRING_VALUE", // required + * // intentId: "STRING_VALUE", // required + * // }, * // sourceContentData: { * // id: "STRING_VALUE", // required * // type: "STRING_VALUE", // required @@ -191,6 +207,10 @@ export interface GetRecommendationsCommandOutput extends GetRecommendationsRespo * // excerpt: "", * // }, * // rankingData: "", // required + * // citationSpan: { + * // beginOffsetInclusive: Number("int"), + * // endOffsetExclusive: Number("int"), + * // }, * // }, * // }, * // }, diff --git a/clients/client-qconnect/src/commands/GetSessionCommand.ts b/clients/client-qconnect/src/commands/GetSessionCommand.ts index 3064e9a27bbb..1e15972c7c02 100644 --- a/clients/client-qconnect/src/commands/GetSessionCommand.ts +++ b/clients/client-qconnect/src/commands/GetSessionCommand.ts @@ -73,6 +73,11 @@ export interface GetSessionCommandOutput extends GetSessionResponse, __MetadataB * // }, * // ], * // }, + * // aiAgentConfiguration: { // AIAgentConfigurationMap + * // "": { // AIAgentConfigurationData + * // aiAgentId: "STRING_VALUE", // required + * // }, + * // }, * // }, * // }; * diff --git a/clients/client-qconnect/src/commands/ListAIAgentVersionsCommand.ts b/clients/client-qconnect/src/commands/ListAIAgentVersionsCommand.ts new file mode 100644 index 000000000000..1c5364272ad3 --- /dev/null +++ b/clients/client-qconnect/src/commands/ListAIAgentVersionsCommand.ts @@ -0,0 +1,197 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListAIAgentVersionsRequest, ListAIAgentVersionsResponse } from "../models/models_0"; +import { de_ListAIAgentVersionsCommand, se_ListAIAgentVersionsCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListAIAgentVersionsCommand}. + */ +export interface ListAIAgentVersionsCommandInput extends ListAIAgentVersionsRequest {} +/** + * @public + * + * The output of {@link ListAIAgentVersionsCommand}. + */ +export interface ListAIAgentVersionsCommandOutput extends ListAIAgentVersionsResponse, __MetadataBearer {} + +/** + *

    List AI Agent versions.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, ListAIAgentVersionsCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, ListAIAgentVersionsCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // ListAIAgentVersionsRequest + * assistantId: "STRING_VALUE", // required + * aiAgentId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * origin: "STRING_VALUE", + * }; + * const command = new ListAIAgentVersionsCommand(input); + * const response = await client.send(command); + * // { // ListAIAgentVersionsResponse + * // aiAgentVersionSummaries: [ // AIAgentVersionSummariesList // required + * // { // AIAgentVersionSummary + * // aiAgentSummary: { // AIAgentSummary + * // name: "STRING_VALUE", // required + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiAgentId: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // aiAgentArn: "STRING_VALUE", // required + * // modifiedTime: new Date("TIMESTAMP"), + * // visibilityStatus: "STRING_VALUE", // required + * // configuration: { // AIAgentConfiguration Union: only one key present + * // manualSearchAIAgentConfiguration: { // ManualSearchAIAgentConfiguration + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ // AssociationConfigurationList + * // { // AssociationConfiguration + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: { // AssociationConfigurationData Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { // KnowledgeBaseAssociationConfigurationData + * // contentTagFilter: { // TagFilter Union: only one key present + * // tagCondition: { // TagCondition + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // andConditions: [ // AndConditions + * // { + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // orConditions: [ // OrConditions + * // { // OrCondition Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // answerRecommendationAIAgentConfiguration: { // AnswerRecommendationAIAgentConfiguration + * // intentLabelingGenerationAIPromptId: "STRING_VALUE", + * // queryReformulationAIPromptId: "STRING_VALUE", + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ + * // { + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: {// Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { + * // contentTagFilter: {// Union: only one key present + * // tagCondition: "", + * // andConditions: [ + * // "", + * // ], + * // orConditions: [ + * // {// Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // }, + * // origin: "STRING_VALUE", + * // description: "STRING_VALUE", + * // status: "STRING_VALUE", + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // versionNumber: Number("long"), + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListAIAgentVersionsCommandInput - {@link ListAIAgentVersionsCommandInput} + * @returns {@link ListAIAgentVersionsCommandOutput} + * @see {@link ListAIAgentVersionsCommandInput} for command's `input` shape. + * @see {@link ListAIAgentVersionsCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class ListAIAgentVersionsCommand extends $Command + .classBuilder< + ListAIAgentVersionsCommandInput, + ListAIAgentVersionsCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "ListAIAgentVersions", {}) + .n("QConnectClient", "ListAIAgentVersionsCommand") + .f(void 0, void 0) + .ser(se_ListAIAgentVersionsCommand) + .de(de_ListAIAgentVersionsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListAIAgentVersionsRequest; + output: ListAIAgentVersionsResponse; + }; + sdk: { + input: ListAIAgentVersionsCommandInput; + output: ListAIAgentVersionsCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/ListAIAgentsCommand.ts b/clients/client-qconnect/src/commands/ListAIAgentsCommand.ts new file mode 100644 index 000000000000..26ccf72d8731 --- /dev/null +++ b/clients/client-qconnect/src/commands/ListAIAgentsCommand.ts @@ -0,0 +1,193 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListAIAgentsRequest, ListAIAgentsResponse } from "../models/models_0"; +import { de_ListAIAgentsCommand, se_ListAIAgentsCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListAIAgentsCommand}. + */ +export interface ListAIAgentsCommandInput extends ListAIAgentsRequest {} +/** + * @public + * + * The output of {@link ListAIAgentsCommand}. + */ +export interface ListAIAgentsCommandOutput extends ListAIAgentsResponse, __MetadataBearer {} + +/** + *

    Lists AI Agents.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, ListAIAgentsCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, ListAIAgentsCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // ListAIAgentsRequest + * assistantId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * origin: "STRING_VALUE", + * }; + * const command = new ListAIAgentsCommand(input); + * const response = await client.send(command); + * // { // ListAIAgentsResponse + * // aiAgentSummaries: [ // AIAgentSummaryList // required + * // { // AIAgentSummary + * // name: "STRING_VALUE", // required + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiAgentId: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // aiAgentArn: "STRING_VALUE", // required + * // modifiedTime: new Date("TIMESTAMP"), + * // visibilityStatus: "STRING_VALUE", // required + * // configuration: { // AIAgentConfiguration Union: only one key present + * // manualSearchAIAgentConfiguration: { // ManualSearchAIAgentConfiguration + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ // AssociationConfigurationList + * // { // AssociationConfiguration + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: { // AssociationConfigurationData Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { // KnowledgeBaseAssociationConfigurationData + * // contentTagFilter: { // TagFilter Union: only one key present + * // tagCondition: { // TagCondition + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // andConditions: [ // AndConditions + * // { + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // orConditions: [ // OrConditions + * // { // OrCondition Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // answerRecommendationAIAgentConfiguration: { // AnswerRecommendationAIAgentConfiguration + * // intentLabelingGenerationAIPromptId: "STRING_VALUE", + * // queryReformulationAIPromptId: "STRING_VALUE", + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ + * // { + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: {// Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { + * // contentTagFilter: {// Union: only one key present + * // tagCondition: "", + * // andConditions: [ + * // "", + * // ], + * // orConditions: [ + * // {// Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // }, + * // origin: "STRING_VALUE", + * // description: "STRING_VALUE", + * // status: "STRING_VALUE", + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListAIAgentsCommandInput - {@link ListAIAgentsCommandInput} + * @returns {@link ListAIAgentsCommandOutput} + * @see {@link ListAIAgentsCommandInput} for command's `input` shape. + * @see {@link ListAIAgentsCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class ListAIAgentsCommand extends $Command + .classBuilder< + ListAIAgentsCommandInput, + ListAIAgentsCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "ListAIAgents", {}) + .n("QConnectClient", "ListAIAgentsCommand") + .f(void 0, void 0) + .ser(se_ListAIAgentsCommand) + .de(de_ListAIAgentsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListAIAgentsRequest; + output: ListAIAgentsResponse; + }; + sdk: { + input: ListAIAgentsCommandInput; + output: ListAIAgentsCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/ListAIPromptVersionsCommand.ts b/clients/client-qconnect/src/commands/ListAIPromptVersionsCommand.ts new file mode 100644 index 000000000000..125d5bbd3d13 --- /dev/null +++ b/clients/client-qconnect/src/commands/ListAIPromptVersionsCommand.ts @@ -0,0 +1,132 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListAIPromptVersionsRequest, ListAIPromptVersionsResponse } from "../models/models_0"; +import { de_ListAIPromptVersionsCommand, se_ListAIPromptVersionsCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListAIPromptVersionsCommand}. + */ +export interface ListAIPromptVersionsCommandInput extends ListAIPromptVersionsRequest {} +/** + * @public + * + * The output of {@link ListAIPromptVersionsCommand}. + */ +export interface ListAIPromptVersionsCommandOutput extends ListAIPromptVersionsResponse, __MetadataBearer {} + +/** + *

    Lists AI Prompt versions.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, ListAIPromptVersionsCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, ListAIPromptVersionsCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // ListAIPromptVersionsRequest + * assistantId: "STRING_VALUE", // required + * aiPromptId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * origin: "STRING_VALUE", + * }; + * const command = new ListAIPromptVersionsCommand(input); + * const response = await client.send(command); + * // { // ListAIPromptVersionsResponse + * // aiPromptVersionSummaries: [ // AIPromptVersionSummariesList // required + * // { // AIPromptVersionSummary + * // aiPromptSummary: { // AIPromptSummary + * // name: "STRING_VALUE", // required + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiPromptId: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // aiPromptArn: "STRING_VALUE", // required + * // modifiedTime: new Date("TIMESTAMP"), + * // templateType: "STRING_VALUE", // required + * // modelId: "STRING_VALUE", // required + * // apiFormat: "STRING_VALUE", // required + * // visibilityStatus: "STRING_VALUE", // required + * // origin: "STRING_VALUE", + * // description: "STRING_VALUE", + * // status: "STRING_VALUE", + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // versionNumber: Number("long"), + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListAIPromptVersionsCommandInput - {@link ListAIPromptVersionsCommandInput} + * @returns {@link ListAIPromptVersionsCommandOutput} + * @see {@link ListAIPromptVersionsCommandInput} for command's `input` shape. + * @see {@link ListAIPromptVersionsCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class ListAIPromptVersionsCommand extends $Command + .classBuilder< + ListAIPromptVersionsCommandInput, + ListAIPromptVersionsCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "ListAIPromptVersions", {}) + .n("QConnectClient", "ListAIPromptVersionsCommand") + .f(void 0, void 0) + .ser(se_ListAIPromptVersionsCommand) + .de(de_ListAIPromptVersionsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListAIPromptVersionsRequest; + output: ListAIPromptVersionsResponse; + }; + sdk: { + input: ListAIPromptVersionsCommandInput; + output: ListAIPromptVersionsCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/ListAIPromptsCommand.ts b/clients/client-qconnect/src/commands/ListAIPromptsCommand.ts new file mode 100644 index 000000000000..26fc16ac1f4a --- /dev/null +++ b/clients/client-qconnect/src/commands/ListAIPromptsCommand.ts @@ -0,0 +1,128 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListAIPromptsRequest, ListAIPromptsResponse } from "../models/models_0"; +import { de_ListAIPromptsCommand, se_ListAIPromptsCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListAIPromptsCommand}. + */ +export interface ListAIPromptsCommandInput extends ListAIPromptsRequest {} +/** + * @public + * + * The output of {@link ListAIPromptsCommand}. + */ +export interface ListAIPromptsCommandOutput extends ListAIPromptsResponse, __MetadataBearer {} + +/** + *

    Lists the AI Prompts available on the Amazon Q in Connect assistant.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, ListAIPromptsCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, ListAIPromptsCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // ListAIPromptsRequest + * assistantId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * origin: "STRING_VALUE", + * }; + * const command = new ListAIPromptsCommand(input); + * const response = await client.send(command); + * // { // ListAIPromptsResponse + * // aiPromptSummaries: [ // AIPromptSummaryList // required + * // { // AIPromptSummary + * // name: "STRING_VALUE", // required + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiPromptId: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // aiPromptArn: "STRING_VALUE", // required + * // modifiedTime: new Date("TIMESTAMP"), + * // templateType: "STRING_VALUE", // required + * // modelId: "STRING_VALUE", // required + * // apiFormat: "STRING_VALUE", // required + * // visibilityStatus: "STRING_VALUE", // required + * // origin: "STRING_VALUE", + * // description: "STRING_VALUE", + * // status: "STRING_VALUE", + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListAIPromptsCommandInput - {@link ListAIPromptsCommandInput} + * @returns {@link ListAIPromptsCommandOutput} + * @see {@link ListAIPromptsCommandInput} for command's `input` shape. + * @see {@link ListAIPromptsCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class ListAIPromptsCommand extends $Command + .classBuilder< + ListAIPromptsCommandInput, + ListAIPromptsCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "ListAIPrompts", {}) + .n("QConnectClient", "ListAIPromptsCommand") + .f(void 0, void 0) + .ser(se_ListAIPromptsCommand) + .de(de_ListAIPromptsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListAIPromptsRequest; + output: ListAIPromptsResponse; + }; + sdk: { + input: ListAIPromptsCommandInput; + output: ListAIPromptsCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/ListAssistantsCommand.ts b/clients/client-qconnect/src/commands/ListAssistantsCommand.ts index 3add6b16f096..304e9bba62d9 100644 --- a/clients/client-qconnect/src/commands/ListAssistantsCommand.ts +++ b/clients/client-qconnect/src/commands/ListAssistantsCommand.ts @@ -62,6 +62,11 @@ export interface ListAssistantsCommandOutput extends ListAssistantsResponse, __M * // capabilityConfiguration: { // AssistantCapabilityConfiguration * // type: "STRING_VALUE", * // }, + * // aiAgentConfiguration: { // AIAgentConfigurationMap + * // "": { // AIAgentConfigurationData + * // aiAgentId: "STRING_VALUE", // required + * // }, + * // }, * // }, * // ], * // nextToken: "STRING_VALUE", diff --git a/clients/client-qconnect/src/commands/ListKnowledgeBasesCommand.ts b/clients/client-qconnect/src/commands/ListKnowledgeBasesCommand.ts index 0e73684ebfd2..bd2004f1f698 100644 --- a/clients/client-qconnect/src/commands/ListKnowledgeBasesCommand.ts +++ b/clients/client-qconnect/src/commands/ListKnowledgeBasesCommand.ts @@ -5,7 +5,11 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ListKnowledgeBasesRequest, ListKnowledgeBasesResponse } from "../models/models_0"; +import { + ListKnowledgeBasesRequest, + ListKnowledgeBasesResponse, + ListKnowledgeBasesResponseFilterSensitiveLog, +} from "../models/models_0"; import { de_ListKnowledgeBasesCommand, se_ListKnowledgeBasesCommand } from "../protocols/Aws_restJson1"; import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; @@ -56,6 +60,58 @@ export interface ListKnowledgeBasesCommandOutput extends ListKnowledgeBasesRespo * // "STRING_VALUE", * // ], * // }, + * // managedSourceConfiguration: { // ManagedSourceConfiguration Union: only one key present + * // webCrawlerConfiguration: { // WebCrawlerConfiguration + * // urlConfiguration: { // UrlConfiguration + * // seedUrls: [ // SeedUrls + * // { // SeedUrl + * // url: "STRING_VALUE", + * // }, + * // ], + * // }, + * // crawlerLimits: { // WebCrawlerLimits + * // rateLimit: Number("int"), + * // }, + * // inclusionFilters: [ // UrlFilterList + * // "STRING_VALUE", + * // ], + * // exclusionFilters: [ + * // "STRING_VALUE", + * // ], + * // scope: "STRING_VALUE", + * // }, + * // }, + * // }, + * // vectorIngestionConfiguration: { // VectorIngestionConfiguration + * // chunkingConfiguration: { // ChunkingConfiguration + * // chunkingStrategy: "STRING_VALUE", // required + * // fixedSizeChunkingConfiguration: { // FixedSizeChunkingConfiguration + * // maxTokens: Number("int"), // required + * // overlapPercentage: Number("int"), // required + * // }, + * // hierarchicalChunkingConfiguration: { // HierarchicalChunkingConfiguration + * // levelConfigurations: [ // HierarchicalChunkingLevelConfigurations // required + * // { // HierarchicalChunkingLevelConfiguration + * // maxTokens: Number("int"), // required + * // }, + * // ], + * // overlapTokens: Number("int"), // required + * // }, + * // semanticChunkingConfiguration: { // SemanticChunkingConfiguration + * // maxTokens: Number("int"), // required + * // bufferSize: Number("int"), // required + * // breakpointPercentileThreshold: Number("int"), // required + * // }, + * // }, + * // parsingConfiguration: { // ParsingConfiguration + * // parsingStrategy: "STRING_VALUE", // required + * // bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfigurationForParsing + * // modelArn: "STRING_VALUE", // required + * // parsingPrompt: { // ParsingPrompt + * // parsingPromptText: "STRING_VALUE", // required + * // }, + * // }, + * // }, * // }, * // renderingConfiguration: { // RenderingConfiguration * // templateUri: "STRING_VALUE", @@ -108,7 +164,7 @@ export class ListKnowledgeBasesCommand extends $Command }) .s("WisdomService", "ListKnowledgeBases", {}) .n("QConnectClient", "ListKnowledgeBasesCommand") - .f(void 0, void 0) + .f(void 0, ListKnowledgeBasesResponseFilterSensitiveLog) .ser(se_ListKnowledgeBasesCommand) .de(de_ListKnowledgeBasesCommand) .build() { diff --git a/clients/client-qconnect/src/commands/QueryAssistantCommand.ts b/clients/client-qconnect/src/commands/QueryAssistantCommand.ts index 0441348d761a..f0714f0c047c 100644 --- a/clients/client-qconnect/src/commands/QueryAssistantCommand.ts +++ b/clients/client-qconnect/src/commands/QueryAssistantCommand.ts @@ -51,7 +51,7 @@ export interface QueryAssistantCommandOutput extends QueryAssistantResponse, __M * const client = new QConnectClient(config); * const input = { // QueryAssistantRequest * assistantId: "STRING_VALUE", // required - * queryText: "STRING_VALUE", // required + * queryText: "STRING_VALUE", * nextToken: "STRING_VALUE", * maxResults: Number("int"), * sessionId: "STRING_VALUE", @@ -64,6 +64,15 @@ export interface QueryAssistantCommandOutput extends QueryAssistantResponse, __M * }, * }, * ], + * queryInputData: { // QueryInputData Union: only one key present + * queryTextInputData: { // QueryTextInputData + * text: "STRING_VALUE", // required + * }, + * intentInputData: { // IntentInputData + * intentId: "STRING_VALUE", // required + * }, + * }, + * overrideKnowledgeBaseSearchType: "STRING_VALUE", * }; * const command = new QueryAssistantCommand(input); * const response = await client.send(command); @@ -77,6 +86,8 @@ export interface QueryAssistantCommandOutput extends QueryAssistantResponse, __M * // knowledgeBaseId: "STRING_VALUE", * // contentArn: "STRING_VALUE", * // contentId: "STRING_VALUE", + * // sourceURL: "STRING_VALUE", + * // referenceType: "STRING_VALUE", * // }, * // title: { // DocumentText * // text: "STRING_VALUE", @@ -105,6 +116,8 @@ export interface QueryAssistantCommandOutput extends QueryAssistantResponse, __M * // knowledgeBaseId: "STRING_VALUE", * // contentArn: "STRING_VALUE", * // contentId: "STRING_VALUE", + * // sourceURL: "STRING_VALUE", + * // referenceType: "STRING_VALUE", * // }, * // generativeReference: { // GenerativeReference * // modelId: "STRING_VALUE", @@ -170,6 +183,10 @@ export interface QueryAssistantCommandOutput extends QueryAssistantResponse, __M * // relevanceLevel: "STRING_VALUE", * // }, * // }, + * // intentDetectedData: { // IntentDetectedDataDetails + * // intent: "STRING_VALUE", // required + * // intentId: "STRING_VALUE", // required + * // }, * // sourceContentData: { // SourceContentDataDetails * // id: "STRING_VALUE", // required * // type: "STRING_VALUE", // required @@ -181,6 +198,10 @@ export interface QueryAssistantCommandOutput extends QueryAssistantResponse, __M * // relevanceScore: Number("double"), * // relevanceLevel: "STRING_VALUE", * // }, + * // citationSpan: { // CitationSpan + * // beginOffsetInclusive: Number("int"), + * // endOffsetExclusive: Number("int"), + * // }, * // }, * // }, * // }, @@ -190,6 +211,10 @@ export interface QueryAssistantCommandOutput extends QueryAssistantResponse, __M * // relevanceLevel: "STRING_VALUE", * // }, * // }, + * // intentDetectedData: { + * // intent: "STRING_VALUE", // required + * // intentId: "STRING_VALUE", // required + * // }, * // sourceContentData: { * // id: "STRING_VALUE", // required * // type: "STRING_VALUE", // required @@ -198,6 +223,10 @@ export interface QueryAssistantCommandOutput extends QueryAssistantResponse, __M * // excerpt: "", * // }, * // rankingData: "", // required + * // citationSpan: { + * // beginOffsetInclusive: Number("int"), + * // endOffsetExclusive: Number("int"), + * // }, * // }, * // }, * // }, diff --git a/clients/client-qconnect/src/commands/RemoveAssistantAIAgentCommand.ts b/clients/client-qconnect/src/commands/RemoveAssistantAIAgentCommand.ts new file mode 100644 index 000000000000..a7a5e3ad6547 --- /dev/null +++ b/clients/client-qconnect/src/commands/RemoveAssistantAIAgentCommand.ts @@ -0,0 +1,104 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { RemoveAssistantAIAgentRequest, RemoveAssistantAIAgentResponse } from "../models/models_0"; +import { de_RemoveAssistantAIAgentCommand, se_RemoveAssistantAIAgentCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link RemoveAssistantAIAgentCommand}. + */ +export interface RemoveAssistantAIAgentCommandInput extends RemoveAssistantAIAgentRequest {} +/** + * @public + * + * The output of {@link RemoveAssistantAIAgentCommand}. + */ +export interface RemoveAssistantAIAgentCommandOutput extends RemoveAssistantAIAgentResponse, __MetadataBearer {} + +/** + *

    Removes the AI Agent that is set for use by defafult on an Amazon Q in Connect + * Assistant.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, RemoveAssistantAIAgentCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, RemoveAssistantAIAgentCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // RemoveAssistantAIAgentRequest + * assistantId: "STRING_VALUE", // required + * aiAgentType: "STRING_VALUE", // required + * }; + * const command = new RemoveAssistantAIAgentCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param RemoveAssistantAIAgentCommandInput - {@link RemoveAssistantAIAgentCommandInput} + * @returns {@link RemoveAssistantAIAgentCommandOutput} + * @see {@link RemoveAssistantAIAgentCommandInput} for command's `input` shape. + * @see {@link RemoveAssistantAIAgentCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class RemoveAssistantAIAgentCommand extends $Command + .classBuilder< + RemoveAssistantAIAgentCommandInput, + RemoveAssistantAIAgentCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "RemoveAssistantAIAgent", {}) + .n("QConnectClient", "RemoveAssistantAIAgentCommand") + .f(void 0, void 0) + .ser(se_RemoveAssistantAIAgentCommand) + .de(de_RemoveAssistantAIAgentCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: RemoveAssistantAIAgentRequest; + output: {}; + }; + sdk: { + input: RemoveAssistantAIAgentCommandInput; + output: RemoveAssistantAIAgentCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/UpdateAIAgentCommand.ts b/clients/client-qconnect/src/commands/UpdateAIAgentCommand.ts new file mode 100644 index 000000000000..ccecfa075d6d --- /dev/null +++ b/clients/client-qconnect/src/commands/UpdateAIAgentCommand.ts @@ -0,0 +1,265 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateAIAgentRequest, UpdateAIAgentResponse } from "../models/models_0"; +import { de_UpdateAIAgentCommand, se_UpdateAIAgentCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateAIAgentCommand}. + */ +export interface UpdateAIAgentCommandInput extends UpdateAIAgentRequest {} +/** + * @public + * + * The output of {@link UpdateAIAgentCommand}. + */ +export interface UpdateAIAgentCommandOutput extends UpdateAIAgentResponse, __MetadataBearer {} + +/** + *

    Updates an AI Agent.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, UpdateAIAgentCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, UpdateAIAgentCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // UpdateAIAgentRequest + * clientToken: "STRING_VALUE", + * assistantId: "STRING_VALUE", // required + * aiAgentId: "STRING_VALUE", // required + * visibilityStatus: "STRING_VALUE", // required + * configuration: { // AIAgentConfiguration Union: only one key present + * manualSearchAIAgentConfiguration: { // ManualSearchAIAgentConfiguration + * answerGenerationAIPromptId: "STRING_VALUE", + * associationConfigurations: [ // AssociationConfigurationList + * { // AssociationConfiguration + * associationId: "STRING_VALUE", + * associationType: "STRING_VALUE", + * associationConfigurationData: { // AssociationConfigurationData Union: only one key present + * knowledgeBaseAssociationConfigurationData: { // KnowledgeBaseAssociationConfigurationData + * contentTagFilter: { // TagFilter Union: only one key present + * tagCondition: { // TagCondition + * key: "STRING_VALUE", // required + * value: "STRING_VALUE", + * }, + * andConditions: [ // AndConditions + * { + * key: "STRING_VALUE", // required + * value: "STRING_VALUE", + * }, + * ], + * orConditions: [ // OrConditions + * { // OrCondition Union: only one key present + * andConditions: [ + * "", + * ], + * tagCondition: "", + * }, + * ], + * }, + * maxResults: Number("int"), + * overrideKnowledgeBaseSearchType: "STRING_VALUE", + * }, + * }, + * }, + * ], + * }, + * answerRecommendationAIAgentConfiguration: { // AnswerRecommendationAIAgentConfiguration + * intentLabelingGenerationAIPromptId: "STRING_VALUE", + * queryReformulationAIPromptId: "STRING_VALUE", + * answerGenerationAIPromptId: "STRING_VALUE", + * associationConfigurations: [ + * { + * associationId: "STRING_VALUE", + * associationType: "STRING_VALUE", + * associationConfigurationData: {// Union: only one key present + * knowledgeBaseAssociationConfigurationData: { + * contentTagFilter: {// Union: only one key present + * tagCondition: "", + * andConditions: [ + * "", + * ], + * orConditions: [ + * {// Union: only one key present + * andConditions: [ + * "", + * ], + * tagCondition: "", + * }, + * ], + * }, + * maxResults: Number("int"), + * overrideKnowledgeBaseSearchType: "STRING_VALUE", + * }, + * }, + * }, + * ], + * }, + * }, + * description: "STRING_VALUE", + * }; + * const command = new UpdateAIAgentCommand(input); + * const response = await client.send(command); + * // { // UpdateAIAgentResponse + * // aiAgent: { // AIAgentData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiAgentId: "STRING_VALUE", // required + * // aiAgentArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // configuration: { // AIAgentConfiguration Union: only one key present + * // manualSearchAIAgentConfiguration: { // ManualSearchAIAgentConfiguration + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ // AssociationConfigurationList + * // { // AssociationConfiguration + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: { // AssociationConfigurationData Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { // KnowledgeBaseAssociationConfigurationData + * // contentTagFilter: { // TagFilter Union: only one key present + * // tagCondition: { // TagCondition + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // andConditions: [ // AndConditions + * // { + * // key: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // orConditions: [ // OrConditions + * // { // OrCondition Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // answerRecommendationAIAgentConfiguration: { // AnswerRecommendationAIAgentConfiguration + * // intentLabelingGenerationAIPromptId: "STRING_VALUE", + * // queryReformulationAIPromptId: "STRING_VALUE", + * // answerGenerationAIPromptId: "STRING_VALUE", + * // associationConfigurations: [ + * // { + * // associationId: "STRING_VALUE", + * // associationType: "STRING_VALUE", + * // associationConfigurationData: {// Union: only one key present + * // knowledgeBaseAssociationConfigurationData: { + * // contentTagFilter: {// Union: only one key present + * // tagCondition: "", + * // andConditions: [ + * // "", + * // ], + * // orConditions: [ + * // {// Union: only one key present + * // andConditions: [ + * // "", + * // ], + * // tagCondition: "", + * // }, + * // ], + * // }, + * // maxResults: Number("int"), + * // overrideKnowledgeBaseSearchType: "STRING_VALUE", + * // }, + * // }, + * // }, + * // ], + * // }, + * // }, + * // modifiedTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // visibilityStatus: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // origin: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param UpdateAIAgentCommandInput - {@link UpdateAIAgentCommandInput} + * @returns {@link UpdateAIAgentCommandOutput} + * @see {@link UpdateAIAgentCommandInput} for command's `input` shape. + * @see {@link UpdateAIAgentCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ConflictException} (client fault) + *

    The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class UpdateAIAgentCommand extends $Command + .classBuilder< + UpdateAIAgentCommandInput, + UpdateAIAgentCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "UpdateAIAgent", {}) + .n("QConnectClient", "UpdateAIAgentCommand") + .f(void 0, void 0) + .ser(se_UpdateAIAgentCommand) + .de(de_UpdateAIAgentCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateAIAgentRequest; + output: UpdateAIAgentResponse; + }; + sdk: { + input: UpdateAIAgentCommandInput; + output: UpdateAIAgentCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/UpdateAIPromptCommand.ts b/clients/client-qconnect/src/commands/UpdateAIPromptCommand.ts new file mode 100644 index 000000000000..e129c2ca4183 --- /dev/null +++ b/clients/client-qconnect/src/commands/UpdateAIPromptCommand.ts @@ -0,0 +1,147 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + UpdateAIPromptRequest, + UpdateAIPromptRequestFilterSensitiveLog, + UpdateAIPromptResponse, + UpdateAIPromptResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_UpdateAIPromptCommand, se_UpdateAIPromptCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateAIPromptCommand}. + */ +export interface UpdateAIPromptCommandInput extends UpdateAIPromptRequest {} +/** + * @public + * + * The output of {@link UpdateAIPromptCommand}. + */ +export interface UpdateAIPromptCommandOutput extends UpdateAIPromptResponse, __MetadataBearer {} + +/** + *

    Updates an AI Prompt.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, UpdateAIPromptCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, UpdateAIPromptCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // UpdateAIPromptRequest + * clientToken: "STRING_VALUE", + * assistantId: "STRING_VALUE", // required + * aiPromptId: "STRING_VALUE", // required + * visibilityStatus: "STRING_VALUE", // required + * templateConfiguration: { // AIPromptTemplateConfiguration Union: only one key present + * textFullAIPromptEditTemplateConfiguration: { // TextFullAIPromptEditTemplateConfiguration + * text: "STRING_VALUE", // required + * }, + * }, + * description: "STRING_VALUE", + * }; + * const command = new UpdateAIPromptCommand(input); + * const response = await client.send(command); + * // { // UpdateAIPromptResponse + * // aiPrompt: { // AIPromptData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // aiPromptId: "STRING_VALUE", // required + * // aiPromptArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // templateType: "STRING_VALUE", // required + * // modelId: "STRING_VALUE", // required + * // apiFormat: "STRING_VALUE", // required + * // templateConfiguration: { // AIPromptTemplateConfiguration Union: only one key present + * // textFullAIPromptEditTemplateConfiguration: { // TextFullAIPromptEditTemplateConfiguration + * // text: "STRING_VALUE", // required + * // }, + * // }, + * // modifiedTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // visibilityStatus: "STRING_VALUE", // required + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // origin: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param UpdateAIPromptCommandInput - {@link UpdateAIPromptCommandInput} + * @returns {@link UpdateAIPromptCommandOutput} + * @see {@link UpdateAIPromptCommandInput} for command's `input` shape. + * @see {@link UpdateAIPromptCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ConflictException} (client fault) + *

    The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class UpdateAIPromptCommand extends $Command + .classBuilder< + UpdateAIPromptCommandInput, + UpdateAIPromptCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "UpdateAIPrompt", {}) + .n("QConnectClient", "UpdateAIPromptCommand") + .f(UpdateAIPromptRequestFilterSensitiveLog, UpdateAIPromptResponseFilterSensitiveLog) + .ser(se_UpdateAIPromptCommand) + .de(de_UpdateAIPromptCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateAIPromptRequest; + output: UpdateAIPromptResponse; + }; + sdk: { + input: UpdateAIPromptCommandInput; + output: UpdateAIPromptCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/UpdateAssistantAIAgentCommand.ts b/clients/client-qconnect/src/commands/UpdateAssistantAIAgentCommand.ts new file mode 100644 index 000000000000..b420d76dd130 --- /dev/null +++ b/clients/client-qconnect/src/commands/UpdateAssistantAIAgentCommand.ts @@ -0,0 +1,133 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateAssistantAIAgentRequest, UpdateAssistantAIAgentResponse } from "../models/models_0"; +import { de_UpdateAssistantAIAgentCommand, se_UpdateAssistantAIAgentCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateAssistantAIAgentCommand}. + */ +export interface UpdateAssistantAIAgentCommandInput extends UpdateAssistantAIAgentRequest {} +/** + * @public + * + * The output of {@link UpdateAssistantAIAgentCommand}. + */ +export interface UpdateAssistantAIAgentCommandOutput extends UpdateAssistantAIAgentResponse, __MetadataBearer {} + +/** + *

    Updates the AI Agent that is set for use by defafult on an Amazon Q in Connect + * Assistant.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, UpdateAssistantAIAgentCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, UpdateAssistantAIAgentCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // UpdateAssistantAIAgentRequest + * assistantId: "STRING_VALUE", // required + * aiAgentType: "STRING_VALUE", // required + * configuration: { // AIAgentConfigurationData + * aiAgentId: "STRING_VALUE", // required + * }, + * }; + * const command = new UpdateAssistantAIAgentCommand(input); + * const response = await client.send(command); + * // { // UpdateAssistantAIAgentResponse + * // assistant: { // AssistantData + * // assistantId: "STRING_VALUE", // required + * // assistantArn: "STRING_VALUE", // required + * // name: "STRING_VALUE", // required + * // type: "STRING_VALUE", // required + * // status: "STRING_VALUE", // required + * // description: "STRING_VALUE", + * // tags: { // Tags + * // "": "STRING_VALUE", + * // }, + * // serverSideEncryptionConfiguration: { // ServerSideEncryptionConfiguration + * // kmsKeyId: "STRING_VALUE", + * // }, + * // integrationConfiguration: { // AssistantIntegrationConfiguration + * // topicIntegrationArn: "STRING_VALUE", + * // }, + * // capabilityConfiguration: { // AssistantCapabilityConfiguration + * // type: "STRING_VALUE", + * // }, + * // aiAgentConfiguration: { // AIAgentConfigurationMap + * // "": { // AIAgentConfigurationData + * // aiAgentId: "STRING_VALUE", // required + * // }, + * // }, + * // }, + * // }; + * + * ``` + * + * @param UpdateAssistantAIAgentCommandInput - {@link UpdateAssistantAIAgentCommandInput} + * @returns {@link UpdateAssistantAIAgentCommandOutput} + * @see {@link UpdateAssistantAIAgentCommandInput} for command's `input` shape. + * @see {@link UpdateAssistantAIAgentCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    The throttling limit has been exceeded.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class UpdateAssistantAIAgentCommand extends $Command + .classBuilder< + UpdateAssistantAIAgentCommandInput, + UpdateAssistantAIAgentCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "UpdateAssistantAIAgent", {}) + .n("QConnectClient", "UpdateAssistantAIAgentCommand") + .f(void 0, void 0) + .ser(se_UpdateAssistantAIAgentCommand) + .de(de_UpdateAssistantAIAgentCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateAssistantAIAgentRequest; + output: UpdateAssistantAIAgentResponse; + }; + sdk: { + input: UpdateAssistantAIAgentCommandInput; + output: UpdateAssistantAIAgentCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/UpdateKnowledgeBaseTemplateUriCommand.ts b/clients/client-qconnect/src/commands/UpdateKnowledgeBaseTemplateUriCommand.ts index 905b8d748ea1..2aebff813565 100644 --- a/clients/client-qconnect/src/commands/UpdateKnowledgeBaseTemplateUriCommand.ts +++ b/clients/client-qconnect/src/commands/UpdateKnowledgeBaseTemplateUriCommand.ts @@ -5,7 +5,11 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateKnowledgeBaseTemplateUriRequest, UpdateKnowledgeBaseTemplateUriResponse } from "../models/models_0"; +import { + UpdateKnowledgeBaseTemplateUriRequest, + UpdateKnowledgeBaseTemplateUriResponse, + UpdateKnowledgeBaseTemplateUriResponseFilterSensitiveLog, +} from "../models/models_0"; import { de_UpdateKnowledgeBaseTemplateUriCommand, se_UpdateKnowledgeBaseTemplateUriCommand, @@ -59,6 +63,37 @@ export interface UpdateKnowledgeBaseTemplateUriCommandOutput * // knowledgeBaseType: "STRING_VALUE", // required * // status: "STRING_VALUE", // required * // lastContentModificationTime: new Date("TIMESTAMP"), + * // vectorIngestionConfiguration: { // VectorIngestionConfiguration + * // chunkingConfiguration: { // ChunkingConfiguration + * // chunkingStrategy: "STRING_VALUE", // required + * // fixedSizeChunkingConfiguration: { // FixedSizeChunkingConfiguration + * // maxTokens: Number("int"), // required + * // overlapPercentage: Number("int"), // required + * // }, + * // hierarchicalChunkingConfiguration: { // HierarchicalChunkingConfiguration + * // levelConfigurations: [ // HierarchicalChunkingLevelConfigurations // required + * // { // HierarchicalChunkingLevelConfiguration + * // maxTokens: Number("int"), // required + * // }, + * // ], + * // overlapTokens: Number("int"), // required + * // }, + * // semanticChunkingConfiguration: { // SemanticChunkingConfiguration + * // maxTokens: Number("int"), // required + * // bufferSize: Number("int"), // required + * // breakpointPercentileThreshold: Number("int"), // required + * // }, + * // }, + * // parsingConfiguration: { // ParsingConfiguration + * // parsingStrategy: "STRING_VALUE", // required + * // bedrockFoundationModelConfiguration: { // BedrockFoundationModelConfigurationForParsing + * // modelArn: "STRING_VALUE", // required + * // parsingPrompt: { // ParsingPrompt + * // parsingPromptText: "STRING_VALUE", // required + * // }, + * // }, + * // }, + * // }, * // sourceConfiguration: { // SourceConfiguration Union: only one key present * // appIntegrations: { // AppIntegrationsConfiguration * // appIntegrationArn: "STRING_VALUE", // required @@ -66,6 +101,27 @@ export interface UpdateKnowledgeBaseTemplateUriCommandOutput * // "STRING_VALUE", * // ], * // }, + * // managedSourceConfiguration: { // ManagedSourceConfiguration Union: only one key present + * // webCrawlerConfiguration: { // WebCrawlerConfiguration + * // urlConfiguration: { // UrlConfiguration + * // seedUrls: [ // SeedUrls + * // { // SeedUrl + * // url: "STRING_VALUE", + * // }, + * // ], + * // }, + * // crawlerLimits: { // WebCrawlerLimits + * // rateLimit: Number("int"), + * // }, + * // inclusionFilters: [ // UrlFilterList + * // "STRING_VALUE", + * // ], + * // exclusionFilters: [ + * // "STRING_VALUE", + * // ], + * // scope: "STRING_VALUE", + * // }, + * // }, * // }, * // renderingConfiguration: { // RenderingConfiguration * // templateUri: "STRING_VALUE", @@ -77,6 +133,10 @@ export interface UpdateKnowledgeBaseTemplateUriCommandOutput * // tags: { // Tags * // "": "STRING_VALUE", * // }, + * // ingestionStatus: "STRING_VALUE", + * // ingestionFailureReasons: [ // FailureReason + * // "STRING_VALUE", + * // ], * // }, * // }; * @@ -119,7 +179,7 @@ export class UpdateKnowledgeBaseTemplateUriCommand extends $Command }) .s("WisdomService", "UpdateKnowledgeBaseTemplateUri", {}) .n("QConnectClient", "UpdateKnowledgeBaseTemplateUriCommand") - .f(void 0, void 0) + .f(void 0, UpdateKnowledgeBaseTemplateUriResponseFilterSensitiveLog) .ser(se_UpdateKnowledgeBaseTemplateUriCommand) .de(de_UpdateKnowledgeBaseTemplateUriCommand) .build() { diff --git a/clients/client-qconnect/src/commands/UpdateSessionCommand.ts b/clients/client-qconnect/src/commands/UpdateSessionCommand.ts index 1cb1ed066886..fd19b647b94b 100644 --- a/clients/client-qconnect/src/commands/UpdateSessionCommand.ts +++ b/clients/client-qconnect/src/commands/UpdateSessionCommand.ts @@ -61,6 +61,11 @@ export interface UpdateSessionCommandOutput extends UpdateSessionResponse, __Met * }, * ], * }, + * aiAgentConfiguration: { // AIAgentConfigurationMap + * "": { // AIAgentConfigurationData + * aiAgentId: "STRING_VALUE", // required + * }, + * }, * }; * const command = new UpdateSessionCommand(input); * const response = await client.send(command); @@ -96,6 +101,11 @@ export interface UpdateSessionCommandOutput extends UpdateSessionResponse, __Met * // }, * // ], * // }, + * // aiAgentConfiguration: { // AIAgentConfigurationMap + * // "": { // AIAgentConfigurationData + * // aiAgentId: "STRING_VALUE", // required + * // }, + * // }, * // }, * // }; * diff --git a/clients/client-qconnect/src/commands/UpdateSessionDataCommand.ts b/clients/client-qconnect/src/commands/UpdateSessionDataCommand.ts new file mode 100644 index 000000000000..4dd90ec97e6a --- /dev/null +++ b/clients/client-qconnect/src/commands/UpdateSessionDataCommand.ts @@ -0,0 +1,126 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + UpdateSessionDataRequest, + UpdateSessionDataRequestFilterSensitiveLog, + UpdateSessionDataResponse, + UpdateSessionDataResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_UpdateSessionDataCommand, se_UpdateSessionDataCommand } from "../protocols/Aws_restJson1"; +import { QConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../QConnectClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateSessionDataCommand}. + */ +export interface UpdateSessionDataCommandInput extends UpdateSessionDataRequest {} +/** + * @public + * + * The output of {@link UpdateSessionDataCommand}. + */ +export interface UpdateSessionDataCommandOutput extends UpdateSessionDataResponse, __MetadataBearer {} + +/** + *

    Updates the data stored on an Amazon Q in Connect Session.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { QConnectClient, UpdateSessionDataCommand } from "@aws-sdk/client-qconnect"; // ES Modules import + * // const { QConnectClient, UpdateSessionDataCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import + * const client = new QConnectClient(config); + * const input = { // UpdateSessionDataRequest + * assistantId: "STRING_VALUE", // required + * sessionId: "STRING_VALUE", // required + * namespace: "STRING_VALUE", + * data: [ // RuntimeSessionDataList // required + * { // RuntimeSessionData + * key: "STRING_VALUE", // required + * value: { // RuntimeSessionDataValue Union: only one key present + * stringValue: "STRING_VALUE", + * }, + * }, + * ], + * }; + * const command = new UpdateSessionDataCommand(input); + * const response = await client.send(command); + * // { // UpdateSessionDataResponse + * // sessionArn: "STRING_VALUE", // required + * // sessionId: "STRING_VALUE", // required + * // namespace: "STRING_VALUE", // required + * // data: [ // RuntimeSessionDataList // required + * // { // RuntimeSessionData + * // key: "STRING_VALUE", // required + * // value: { // RuntimeSessionDataValue Union: only one key present + * // stringValue: "STRING_VALUE", + * // }, + * // }, + * // ], + * // }; + * + * ``` + * + * @param UpdateSessionDataCommandInput - {@link UpdateSessionDataCommandInput} + * @returns {@link UpdateSessionDataCommandOutput} + * @see {@link UpdateSessionDataCommandInput} for command's `input` shape. + * @see {@link UpdateSessionDataCommandOutput} for command's `response` shape. + * @see {@link QConnectClientResolvedConfig | config} for QConnectClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    You do not have sufficient access to perform this action.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    The specified resource does not exist.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by a service.

    + * + * @throws {@link QConnectServiceException} + *

    Base exception class for all service exceptions from QConnect service.

    + * + * @public + */ +export class UpdateSessionDataCommand extends $Command + .classBuilder< + UpdateSessionDataCommandInput, + UpdateSessionDataCommandOutput, + QConnectClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: QConnectClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WisdomService", "UpdateSessionData", {}) + .n("QConnectClient", "UpdateSessionDataCommand") + .f(UpdateSessionDataRequestFilterSensitiveLog, UpdateSessionDataResponseFilterSensitiveLog) + .ser(se_UpdateSessionDataCommand) + .de(de_UpdateSessionDataCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateSessionDataRequest; + output: UpdateSessionDataResponse; + }; + sdk: { + input: UpdateSessionDataCommandInput; + output: UpdateSessionDataCommandOutput; + }; + }; +} diff --git a/clients/client-qconnect/src/commands/index.ts b/clients/client-qconnect/src/commands/index.ts index dbcdab39842e..ed086e356d6a 100644 --- a/clients/client-qconnect/src/commands/index.ts +++ b/clients/client-qconnect/src/commands/index.ts @@ -1,11 +1,19 @@ -export * from "./CreateAssistantAssociationCommand"; // smithy-typescript generated code +export * from "./CreateAIAgentCommand"; +export * from "./CreateAIAgentVersionCommand"; +export * from "./CreateAIPromptCommand"; +export * from "./CreateAIPromptVersionCommand"; +export * from "./CreateAssistantAssociationCommand"; export * from "./CreateAssistantCommand"; export * from "./CreateContentAssociationCommand"; export * from "./CreateContentCommand"; export * from "./CreateKnowledgeBaseCommand"; export * from "./CreateQuickResponseCommand"; export * from "./CreateSessionCommand"; +export * from "./DeleteAIAgentCommand"; +export * from "./DeleteAIAgentVersionCommand"; +export * from "./DeleteAIPromptCommand"; +export * from "./DeleteAIPromptVersionCommand"; export * from "./DeleteAssistantAssociationCommand"; export * from "./DeleteAssistantCommand"; export * from "./DeleteContentAssociationCommand"; @@ -13,6 +21,8 @@ export * from "./DeleteContentCommand"; export * from "./DeleteImportJobCommand"; export * from "./DeleteKnowledgeBaseCommand"; export * from "./DeleteQuickResponseCommand"; +export * from "./GetAIAgentCommand"; +export * from "./GetAIPromptCommand"; export * from "./GetAssistantAssociationCommand"; export * from "./GetAssistantCommand"; export * from "./GetContentAssociationCommand"; @@ -23,6 +33,10 @@ export * from "./GetKnowledgeBaseCommand"; export * from "./GetQuickResponseCommand"; export * from "./GetRecommendationsCommand"; export * from "./GetSessionCommand"; +export * from "./ListAIAgentVersionsCommand"; +export * from "./ListAIAgentsCommand"; +export * from "./ListAIPromptVersionsCommand"; +export * from "./ListAIPromptsCommand"; export * from "./ListAssistantAssociationsCommand"; export * from "./ListAssistantsCommand"; export * from "./ListContentAssociationsCommand"; @@ -34,6 +48,7 @@ export * from "./ListTagsForResourceCommand"; export * from "./NotifyRecommendationsReceivedCommand"; export * from "./PutFeedbackCommand"; export * from "./QueryAssistantCommand"; +export * from "./RemoveAssistantAIAgentCommand"; export * from "./RemoveKnowledgeBaseTemplateUriCommand"; export * from "./SearchContentCommand"; export * from "./SearchQuickResponsesCommand"; @@ -42,7 +57,11 @@ export * from "./StartContentUploadCommand"; export * from "./StartImportJobCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; +export * from "./UpdateAIAgentCommand"; +export * from "./UpdateAIPromptCommand"; +export * from "./UpdateAssistantAIAgentCommand"; export * from "./UpdateContentCommand"; export * from "./UpdateKnowledgeBaseTemplateUriCommand"; export * from "./UpdateQuickResponseCommand"; export * from "./UpdateSessionCommand"; +export * from "./UpdateSessionDataCommand"; diff --git a/clients/client-qconnect/src/index.ts b/clients/client-qconnect/src/index.ts index e19ef10fbf01..52ad92f3ce14 100644 --- a/clients/client-qconnect/src/index.ts +++ b/clients/client-qconnect/src/index.ts @@ -1,7 +1,21 @@ // smithy-typescript generated code /* eslint-disable */ /** - * + * + * *

    * Powered by Amazon Bedrock: Amazon Web Services implements automated abuse * detection. Because Amazon Q in Connect is built on Amazon Bedrock, users can take full advantage of diff --git a/clients/client-qconnect/src/models/models_0.ts b/clients/client-qconnect/src/models/models_0.ts index e69697653d53..81aeeb6f3eae 100644 --- a/clients/client-qconnect/src/models/models_0.ts +++ b/clients/client-qconnect/src/models/models_0.ts @@ -24,34 +24,1856 @@ export class AccessDeniedException extends __BaseException { } /** - *

    Content association data for a step-by-step - * guide.

    + *

    The request could not be processed because of conflict in the current state of the + * resource. For example, if you're using a Create API (such as + * CreateAssistant) that accepts name, a conflicting resource (usually with the + * same name) is being created or mutated.

    + * @public + */ +export class ConflictException extends __BaseException { + readonly name: "ConflictException" = "ConflictException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ConflictException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ConflictException.prototype); + } +} + +/** + *

    A leaf node condition which can be used to specify a tag condition.

    + * @public + */ +export interface TagCondition { + /** + *

    The tag key in the tag condition.

    + * @public + */ + key: string | undefined; + + /** + *

    The tag value in the tag condition.

    + * @public + */ + value?: string; +} + +/** + *

    A list of conditions which would be applied together with an OR + * condition.

    + * @public + */ +export type OrCondition = OrCondition.AndConditionsMember | OrCondition.TagConditionMember | OrCondition.$UnknownMember; + +/** + * @public + */ +export namespace OrCondition { + /** + *

    A list of conditions which would be applied together with an AND + * condition.

    + * @public + */ + export interface AndConditionsMember { + andConditions: TagCondition[]; + tagCondition?: never; + $unknown?: never; + } + + /** + *

    A leaf node condition which can be used to specify a tag condition.

    + * @public + */ + export interface TagConditionMember { + andConditions?: never; + tagCondition: TagCondition; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + andConditions?: never; + tagCondition?: never; + $unknown: [string, any]; + } + + export interface Visitor { + andConditions: (value: TagCondition[]) => T; + tagCondition: (value: TagCondition) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: OrCondition, visitor: Visitor): T => { + if (value.andConditions !== undefined) return visitor.andConditions(value.andConditions); + if (value.tagCondition !== undefined) return visitor.tagCondition(value.tagCondition); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + *

    An object that can be used to specify Tag conditions.

    + * @public + */ +export type TagFilter = + | TagFilter.AndConditionsMember + | TagFilter.OrConditionsMember + | TagFilter.TagConditionMember + | TagFilter.$UnknownMember; + +/** + * @public + */ +export namespace TagFilter { + /** + *

    A leaf node condition which can be used to specify a tag condition.

    + * @public + */ + export interface TagConditionMember { + tagCondition: TagCondition; + andConditions?: never; + orConditions?: never; + $unknown?: never; + } + + /** + *

    A list of conditions which would be applied together with an AND + * condition.

    + * @public + */ + export interface AndConditionsMember { + tagCondition?: never; + andConditions: TagCondition[]; + orConditions?: never; + $unknown?: never; + } + + /** + *

    A list of conditions which would be applied together with an OR + * condition.

    + * @public + */ + export interface OrConditionsMember { + tagCondition?: never; + andConditions?: never; + orConditions: OrCondition[]; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + tagCondition?: never; + andConditions?: never; + orConditions?: never; + $unknown: [string, any]; + } + + export interface Visitor { + tagCondition: (value: TagCondition) => T; + andConditions: (value: TagCondition[]) => T; + orConditions: (value: OrCondition[]) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: TagFilter, visitor: Visitor): T => { + if (value.tagCondition !== undefined) return visitor.tagCondition(value.tagCondition); + if (value.andConditions !== undefined) return visitor.andConditions(value.andConditions); + if (value.orConditions !== undefined) return visitor.orConditions(value.orConditions); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + * @public + * @enum + */ +export const KnowledgeBaseSearchType = { + HYBRID: "HYBRID", + SEMANTIC: "SEMANTIC", +} as const; + +/** + * @public + */ +export type KnowledgeBaseSearchType = (typeof KnowledgeBaseSearchType)[keyof typeof KnowledgeBaseSearchType]; + +/** + *

    The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect + * Assistant Association.

    + * @public + */ +export interface KnowledgeBaseAssociationConfigurationData { + /** + *

    An object that can be used to specify Tag conditions.

    + * @public + */ + contentTagFilter?: TagFilter; + + /** + *

    The maximum number of results to return per page.

    + * @public + */ + maxResults?: number; + + /** + *

    The search type to be used against the Knowledge Base for this request. The values can be + * SEMANTIC which uses vector embeddings or HYBRID which use vector + * embeddings and raw text

    + * @public + */ + overrideKnowledgeBaseSearchType?: KnowledgeBaseSearchType; +} + +/** + *

    A typed union of the data of the configuration for an Amazon Q in Connect Assistant + * Association.

    + * @public + */ +export type AssociationConfigurationData = + | AssociationConfigurationData.KnowledgeBaseAssociationConfigurationDataMember + | AssociationConfigurationData.$UnknownMember; + +/** + * @public + */ +export namespace AssociationConfigurationData { + /** + *

    The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect Assistant + * Association.

    + * @public + */ + export interface KnowledgeBaseAssociationConfigurationDataMember { + knowledgeBaseAssociationConfigurationData: KnowledgeBaseAssociationConfigurationData; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + knowledgeBaseAssociationConfigurationData?: never; + $unknown: [string, any]; + } + + export interface Visitor { + knowledgeBaseAssociationConfigurationData: (value: KnowledgeBaseAssociationConfigurationData) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: AssociationConfigurationData, visitor: Visitor): T => { + if (value.knowledgeBaseAssociationConfigurationData !== undefined) + return visitor.knowledgeBaseAssociationConfigurationData(value.knowledgeBaseAssociationConfigurationData); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + * @public + * @enum + */ +export const AIAgentAssociationConfigurationType = { + KNOWLEDGE_BASE: "KNOWLEDGE_BASE", +} as const; + +/** + * @public + */ +export type AIAgentAssociationConfigurationType = + (typeof AIAgentAssociationConfigurationType)[keyof typeof AIAgentAssociationConfigurationType]; + +/** + *

    The configuration for an Amazon Q in Connect Assistant Association.

    + * @public + */ +export interface AssociationConfiguration { + /** + *

    The identifier of the association for this Association Configuration.

    + * @public + */ + associationId?: string; + + /** + *

    The type of the association for this Association Configuration.

    + * @public + */ + associationType?: AIAgentAssociationConfigurationType; + + /** + *

    The data of the configuration for an Amazon Q in Connect Assistant Association.

    + * @public + */ + associationConfigurationData?: AssociationConfigurationData; +} + +/** + *

    The configuration for the ANSWER_RECOMMENDATION AI Agent type.

    + * @public + */ +export interface AnswerRecommendationAIAgentConfiguration { + /** + *

    The AI Prompt identifier for the Intent Labeling prompt used by the + * ANSWER_RECOMMENDATION AI Agent.

    + * @public + */ + intentLabelingGenerationAIPromptId?: string; + + /** + *

    The AI Prompt identifier for the Query Reformulation prompt used by the + * ANSWER_RECOMMENDATION AI Agent.

    + * @public + */ + queryReformulationAIPromptId?: string; + + /** + *

    The AI Prompt identifier for the Answer Generation prompt used by the + * ANSWER_RECOMMENDATION AI Agent.

    + * @public + */ + answerGenerationAIPromptId?: string; + + /** + *

    The association configurations for overriding behavior on this AI Agent.

    + * @public + */ + associationConfigurations?: AssociationConfiguration[]; +} + +/** + *

    The configuration for the MANUAL_SEARCH AI Agent type.

    + * @public + */ +export interface ManualSearchAIAgentConfiguration { + /** + *

    The AI Prompt identifier for the Answer Generation prompt used by the MANUAL_SEARCH AI + * Agent.

    + * @public + */ + answerGenerationAIPromptId?: string; + + /** + *

    The association configurations for overriding behavior on this AI Agent.

    + * @public + */ + associationConfigurations?: AssociationConfiguration[]; +} + +/** + *

    A typed union that specifies the configuration based on the type of AI Agent.

    + * @public + */ +export type AIAgentConfiguration = + | AIAgentConfiguration.AnswerRecommendationAIAgentConfigurationMember + | AIAgentConfiguration.ManualSearchAIAgentConfigurationMember + | AIAgentConfiguration.$UnknownMember; + +/** + * @public + */ +export namespace AIAgentConfiguration { + /** + *

    The configuration for AI Agents of type MANUAL_SEARCH.

    + * @public + */ + export interface ManualSearchAIAgentConfigurationMember { + manualSearchAIAgentConfiguration: ManualSearchAIAgentConfiguration; + answerRecommendationAIAgentConfiguration?: never; + $unknown?: never; + } + + /** + *

    The configuration for AI Agents of type ANSWER_RECOMMENDATION.

    + * @public + */ + export interface AnswerRecommendationAIAgentConfigurationMember { + manualSearchAIAgentConfiguration?: never; + answerRecommendationAIAgentConfiguration: AnswerRecommendationAIAgentConfiguration; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + manualSearchAIAgentConfiguration?: never; + answerRecommendationAIAgentConfiguration?: never; + $unknown: [string, any]; + } + + export interface Visitor { + manualSearchAIAgentConfiguration: (value: ManualSearchAIAgentConfiguration) => T; + answerRecommendationAIAgentConfiguration: (value: AnswerRecommendationAIAgentConfiguration) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: AIAgentConfiguration, visitor: Visitor): T => { + if (value.manualSearchAIAgentConfiguration !== undefined) + return visitor.manualSearchAIAgentConfiguration(value.manualSearchAIAgentConfiguration); + if (value.answerRecommendationAIAgentConfiguration !== undefined) + return visitor.answerRecommendationAIAgentConfiguration(value.answerRecommendationAIAgentConfiguration); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + * @public + * @enum + */ +export const AIAgentType = { + ANSWER_RECOMMENDATION: "ANSWER_RECOMMENDATION", + MANUAL_SEARCH: "MANUAL_SEARCH", +} as const; + +/** + * @public + */ +export type AIAgentType = (typeof AIAgentType)[keyof typeof AIAgentType]; + +/** + * @public + * @enum + */ +export const VisibilityStatus = { + PUBLISHED: "PUBLISHED", + SAVED: "SAVED", +} as const; + +/** + * @public + */ +export type VisibilityStatus = (typeof VisibilityStatus)[keyof typeof VisibilityStatus]; + +/** + * @public + */ +export interface CreateAIAgentRequest { + /** + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the AWS SDK populates this field. For more information about + * idempotency, see Making retries safe with idempotent APIs.

    + * @public + */ + clientToken?: string; + + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The name of the AI Agent.

    + * @public + */ + name: string | undefined; + + /** + *

    The type of the AI Agent.

    + * @public + */ + type: AIAgentType | undefined; + + /** + *

    The configuration of the AI Agent.

    + * @public + */ + configuration: AIAgentConfiguration | undefined; + + /** + *

    The visibility status of the AI Agent.

    + * @public + */ + visibilityStatus: VisibilityStatus | undefined; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + * @public + */ + tags?: Record; + + /** + *

    The description of the AI Agent.

    + * @public + */ + description?: string; +} + +/** + * @public + * @enum + */ +export const Origin = { + CUSTOMER: "CUSTOMER", + SYSTEM: "SYSTEM", +} as const; + +/** + * @public + */ +export type Origin = (typeof Origin)[keyof typeof Origin]; + +/** + * @public + * @enum + */ +export const Status = { + ACTIVE: "ACTIVE", + CREATE_FAILED: "CREATE_FAILED", + CREATE_IN_PROGRESS: "CREATE_IN_PROGRESS", + DELETED: "DELETED", + DELETE_FAILED: "DELETE_FAILED", + DELETE_IN_PROGRESS: "DELETE_IN_PROGRESS", +} as const; + +/** + * @public + */ +export type Status = (typeof Status)[keyof typeof Status]; + +/** + *

    The data for the AI Agent.

    + * @public + */ +export interface AIAgentData { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    + * @public + */ + assistantArn: string | undefined; + + /** + *

    The identifier of the AI Agent.

    + * @public + */ + aiAgentId: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the AI agent.

    + * @public + */ + aiAgentArn: string | undefined; + + /** + *

    The name of the AI Agent.

    + * @public + */ + name: string | undefined; + + /** + *

    The type of the AI Agent.

    + * @public + */ + type: AIAgentType | undefined; + + /** + *

    Configuration for the AI Agent.

    + * @public + */ + configuration: AIAgentConfiguration | undefined; + + /** + *

    The time the AI Agent was last modified.

    + * @public + */ + modifiedTime?: Date; + + /** + *

    The description of the AI Agent.

    + * @public + */ + description?: string; + + /** + *

    The visibility status of the AI Agent.

    + * @public + */ + visibilityStatus: VisibilityStatus | undefined; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + * @public + */ + tags?: Record; + + /** + *

    Specifies the origin of the AI Agent. SYSTEM for a default AI Agent created + * by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent creation + * APIs.

    + * @public + */ + origin?: Origin; + + /** + *

    The status of the AI Agent.

    + * @public + */ + status?: Status; +} + +/** + * @public + */ +export interface CreateAIAgentResponse { + /** + *

    The data of the created AI Agent.

    + * @public + */ + aiAgent?: AIAgentData; +} + +/** + *

    The specified resource does not exist.

    + * @public + */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + /** + *

    The specified resource name.

    + * @public + */ + resourceName?: string; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + this.resourceName = opts.resourceName; + } +} + +/** + *

    You've exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use service quotas to request a service quota increase.

    + * @public + */ +export class ServiceQuotaExceededException extends __BaseException { + readonly name: "ServiceQuotaExceededException" = "ServiceQuotaExceededException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ServiceQuotaExceededException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype); + } +} + +/** + *

    The throttling limit has been exceeded.

    + * @public + */ +export class ThrottlingException extends __BaseException { + readonly name: "ThrottlingException" = "ThrottlingException"; + readonly $fault: "client" = "client"; + $retryable = {}; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ThrottlingException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ThrottlingException.prototype); + } +} + +/** + *

    The input fails to satisfy the constraints specified by a service.

    + * @public + */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ValidationException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ValidationException.prototype); + } +} + +/** + * @public + */ +export interface CreateAIAgentVersionRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI Agent.

    + * @public + */ + aiAgentId: string | undefined; + + /** + *

    The modification time of the AI Agent should be tracked for version creation. This field + * should be specified to avoid version creation when simultaneous update to the underlying AI + * Agent are possible. The value should be the modifiedTime returned from the request to create + * or update an AI Agent so that version creation can fail if an update to the AI Agent post the + * specified modification time has been made.

    + * @public + */ + modifiedTime?: Date; + + /** + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the AWS SDK populates this field. For more information about + * idempotency, see Making retries safe with idempotent APIs.

    + * @public + */ + clientToken?: string; +} + +/** + * @public + */ +export interface CreateAIAgentVersionResponse { + /** + *

    The data of the AI Agent version.

    + * @public + */ + aiAgent?: AIAgentData; + + /** + *

    The version number of the AI Agent version.

    + * @public + */ + versionNumber?: number; +} + +/** + * @public + */ +export interface DeleteAIAgentRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + aiAgentId: string | undefined; +} + +/** + * @public + */ +export interface DeleteAIAgentResponse {} + +/** + * @public + */ +export interface DeleteAIAgentVersionRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + aiAgentId: string | undefined; + + /** + *

    The version number of the AI Agent version.

    + * @public + */ + versionNumber: number | undefined; +} + +/** + * @public + */ +export interface DeleteAIAgentVersionResponse {} + +/** + * @public + */ +export interface GetAIAgentRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI Agent (with or without a version qualifier). + * Can be either the ID or the ARN. URLs cannot contain the ARN.

    + * @public + */ + aiAgentId: string | undefined; +} + +/** + * @public + */ +export interface GetAIAgentResponse { + /** + *

    The data of the AI Agent.

    + * @public + */ + aiAgent?: AIAgentData; + + /** + *

    The version number of the AI Agent version (returned if an AI Agent version was specified + * via use of a qualifier for the aiAgentId on the request).

    + * @public + */ + versionNumber?: number; +} + +/** + * @public + */ +export interface ListAIAgentsRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + nextToken?: string; + + /** + *

    The maximum number of results to return per page.

    + * @public + */ + maxResults?: number; + + /** + *

    The origin of the AI Agents to be listed. SYSTEM for a default AI Agent + * created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent + * creation APIs.

    + * @public + */ + origin?: Origin; +} + +/** + *

    The summary of the AI Agent.

    + * @public + */ +export interface AIAgentSummary { + /** + *

    The name of the AI Agent.

    + * @public + */ + name: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    + * @public + */ + assistantArn: string | undefined; + + /** + *

    The identifier of the AI Agent.

    + * @public + */ + aiAgentId: string | undefined; + + /** + *

    The type of the AI Agent.

    + * @public + */ + type: AIAgentType | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the AI agent.

    + * @public + */ + aiAgentArn: string | undefined; + + /** + *

    The time the AI Agent was last modified.

    + * @public + */ + modifiedTime?: Date; + + /** + *

    The visibility status of the AI Agent.

    + * @public + */ + visibilityStatus: VisibilityStatus | undefined; + + /** + *

    The configuration for the AI Agent.

    + * @public + */ + configuration?: AIAgentConfiguration; + + /** + *

    The origin of the AI Agent. SYSTEM for a default AI Agent created by Q in + * Connect or CUSTOMER for an AI Agent created by calling AI Agent creation + * APIs.

    + * @public + */ + origin?: Origin; + + /** + *

    The description of the AI Agent.

    + * @public + */ + description?: string; + + /** + *

    The status of the AI Agent.

    + * @public + */ + status?: Status; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + * @public + */ + tags?: Record; +} + +/** + * @public + */ +export interface ListAIAgentsResponse { + /** + *

    The summaries of AI Agents.

    + * @public + */ + aiAgentSummaries: AIAgentSummary[] | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + nextToken?: string; +} + +/** + * @public + */ +export interface ListAIAgentVersionsRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI Agent for which versions are to be + * listed.

    + * @public + */ + aiAgentId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + nextToken?: string; + + /** + *

    The maximum number of results to return per page.

    + * @public + */ + maxResults?: number; + + /** + *

    The origin of the AI Agent versions to be listed. SYSTEM for a default AI + * Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI + * Agent creation APIs.

    + * @public + */ + origin?: Origin; +} + +/** + *

    The summary of the AI Agent version.

    + * @public + */ +export interface AIAgentVersionSummary { + /** + *

    The data for the summary of the AI Agent version.

    + * @public + */ + aiAgentSummary?: AIAgentSummary; + + /** + *

    The version number for this AI Agent version.

    + * @public + */ + versionNumber?: number; +} + +/** + * @public + */ +export interface ListAIAgentVersionsResponse { + /** + *

    The summaries of AI Agent versions.

    + * @public + */ + aiAgentVersionSummaries: AIAgentVersionSummary[] | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + nextToken?: string; +} + +/** + * @public + */ +export interface UpdateAIAgentRequest { + /** + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the AWS SDK populates this field. For more information about + * idempotency, see Making retries safe with idempotent APIs.

    + * @public + */ + clientToken?: string; + + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI Agent.

    + * @public + */ + aiAgentId: string | undefined; + + /** + *

    The visbility status of the Amazon Q in Connect AI Agent.

    + * @public + */ + visibilityStatus: VisibilityStatus | undefined; + + /** + *

    The configuration of the Amazon Q in Connect AI Agent.

    + * @public + */ + configuration?: AIAgentConfiguration; + + /** + *

    The description of the Amazon Q in Connect AI Agent.

    + * @public + */ + description?: string; +} + +/** + * @public + */ +export interface UpdateAIAgentResponse { + /** + *

    The data of the updated Amazon Q in Connect AI Agent.

    + * @public + */ + aiAgent?: AIAgentData; +} + +/** + *

    A type that specifies the AI Agent ID configuration data when mapping an AI Agents to be + * used for an AI Agent type on a session or assistant.

    + * @public + */ +export interface AIAgentConfigurationData { + /** + *

    The ID of the AI Agent to be configured.

    + * @public + */ + aiAgentId: string | undefined; +} + +/** + * @public + * @enum + */ +export const AIPromptAPIFormat = { + ANTHROPIC_CLAUDE_MESSAGES: "ANTHROPIC_CLAUDE_MESSAGES", + ANTHROPIC_CLAUDE_TEXT_COMPLETIONS: "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS", +} as const; + +/** + * @public + */ +export type AIPromptAPIFormat = (typeof AIPromptAPIFormat)[keyof typeof AIPromptAPIFormat]; + +/** + *

    The configuration for a prompt template that supports full textual prompt configuration + * using a YAML prompt.

    + * @public + */ +export interface TextFullAIPromptEditTemplateConfiguration { + /** + *

    The YAML text for the AI Prompt template.

    + * @public + */ + text: string | undefined; +} + +/** + *

    A typed union that specifies the configuration for a prompt template based on its + * type.

    + * @public + */ +export type AIPromptTemplateConfiguration = + | AIPromptTemplateConfiguration.TextFullAIPromptEditTemplateConfigurationMember + | AIPromptTemplateConfiguration.$UnknownMember; + +/** + * @public + */ +export namespace AIPromptTemplateConfiguration { + /** + *

    The configuration for a prompt template that supports full textual prompt configuration + * using a YAML prompt.

    + * @public + */ + export interface TextFullAIPromptEditTemplateConfigurationMember { + textFullAIPromptEditTemplateConfiguration: TextFullAIPromptEditTemplateConfiguration; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + textFullAIPromptEditTemplateConfiguration?: never; + $unknown: [string, any]; + } + + export interface Visitor { + textFullAIPromptEditTemplateConfiguration: (value: TextFullAIPromptEditTemplateConfiguration) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: AIPromptTemplateConfiguration, visitor: Visitor): T => { + if (value.textFullAIPromptEditTemplateConfiguration !== undefined) + return visitor.textFullAIPromptEditTemplateConfiguration(value.textFullAIPromptEditTemplateConfiguration); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + * @public + * @enum + */ +export const AIPromptTemplateType = { + TEXT: "TEXT", +} as const; + +/** + * @public + */ +export type AIPromptTemplateType = (typeof AIPromptTemplateType)[keyof typeof AIPromptTemplateType]; + +/** + * @public + * @enum + */ +export const AIPromptType = { + ANSWER_GENERATION: "ANSWER_GENERATION", + INTENT_LABELING_GENERATION: "INTENT_LABELING_GENERATION", + QUERY_REFORMULATION: "QUERY_REFORMULATION", +} as const; + +/** + * @public + */ +export type AIPromptType = (typeof AIPromptType)[keyof typeof AIPromptType]; + +/** + * @public + */ +export interface CreateAIPromptRequest { + /** + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the AWS SDK populates this field. For more information about + * idempotency, see Making retries safe with idempotent APIs.

    + * @public + */ + clientToken?: string; + + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The name of the AI Prompt.

    + * @public + */ + name: string | undefined; + + /** + *

    The type of this AI Prompt.

    + * @public + */ + type: AIPromptType | undefined; + + /** + *

    The configuration of the prompt template for this AI Prompt.

    + * @public + */ + templateConfiguration: AIPromptTemplateConfiguration | undefined; + + /** + *

    The visibility status of the AI Prompt.

    + * @public + */ + visibilityStatus: VisibilityStatus | undefined; + + /** + *

    The type of the prompt template for this AI Prompt.

    + * @public + */ + templateType: AIPromptTemplateType | undefined; + + /** + *

    The identifier of the model used for this AI Prompt. Model Ids supported are: + * CLAUDE_3_HAIKU_20240307_V1 + *

    + * @public + */ + modelId: string | undefined; + + /** + *

    The API Format of the AI Prompt.

    + * @public + */ + apiFormat: AIPromptAPIFormat | undefined; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + * @public + */ + tags?: Record; + + /** + *

    The description of the AI Prompt.

    + * @public + */ + description?: string; +} + +/** + *

    The data for the AI Prompt

    + * @public + */ +export interface AIPromptData { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    + * @public + */ + assistantArn: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI prompt.

    + * @public + */ + aiPromptId: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the AI Prompt.

    + * @public + */ + aiPromptArn: string | undefined; + + /** + *

    The name of the AI Prompt

    + * @public + */ + name: string | undefined; + + /** + *

    The type of this AI Prompt.

    + * @public + */ + type: AIPromptType | undefined; + + /** + *

    The type of the prompt template for this AI Prompt.

    + * @public + */ + templateType: AIPromptTemplateType | undefined; + + /** + *

    The identifier of the model used for this AI Prompt. Model Ids supported are: + * CLAUDE_3_HAIKU_20240307_V1.

    + * @public + */ + modelId: string | undefined; + + /** + *

    The API format used for this AI Prompt.

    + * @public + */ + apiFormat: AIPromptAPIFormat | undefined; + + /** + *

    The configuration of the prompt template for this AI Prompt.

    + * @public + */ + templateConfiguration: AIPromptTemplateConfiguration | undefined; + + /** + *

    The time the AI Prompt was last modified.

    + * @public + */ + modifiedTime?: Date; + + /** + *

    The description of the AI Prompt.

    + * @public + */ + description?: string; + + /** + *

    The visibility status of the AI Prompt.

    + * @public + */ + visibilityStatus: VisibilityStatus | undefined; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + * @public + */ + tags?: Record; + + /** + *

    The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in + * Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs. + *

    + * @public + */ + origin?: Origin; + + /** + *

    The status of the AI Prompt.

    + * @public + */ + status?: Status; +} + +/** + * @public + */ +export interface CreateAIPromptResponse { + /** + *

    The data of the AI Prompt.

    + * @public + */ + aiPrompt?: AIPromptData; +} + +/** + * @public + */ +export interface CreateAIPromptVersionRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI prompt.

    + * @public + */ + aiPromptId: string | undefined; + + /** + *

    The time the AI Prompt was last modified.

    + * @public + */ + modifiedTime?: Date; + + /** + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the AWS SDK populates this field. For more information about + * idempotency, see Making retries safe with idempotent APIs.

    + * @public + */ + clientToken?: string; +} + +/** + * @public + */ +export interface CreateAIPromptVersionResponse { + /** + *

    The data of the AI Prompt version.

    + * @public + */ + aiPrompt?: AIPromptData; + + /** + *

    The version number of the AI Prompt version.

    + * @public + */ + versionNumber?: number; +} + +/** + * @public + */ +export interface DeleteAIPromptRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI prompt. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + aiPromptId: string | undefined; +} + +/** + * @public + */ +export interface DeleteAIPromptResponse {} + +/** + * @public + */ +export interface DeleteAIPromptVersionRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI prompt.

    + * @public + */ + aiPromptId: string | undefined; + + /** + *

    The version number of the AI Prompt version to be deleted.

    + * @public + */ + versionNumber: number | undefined; +} + +/** + * @public + */ +export interface DeleteAIPromptVersionResponse {} + +/** + * @public + */ +export interface GetAIPromptRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI prompt.

    + * @public + */ + aiPromptId: string | undefined; +} + +/** + * @public + */ +export interface GetAIPromptResponse { + /** + *

    The data of the AI Prompt.

    + * @public + */ + aiPrompt?: AIPromptData; + + /** + *

    The version number of the AI Prompt version (returned if an AI Prompt version was + * specified via use of a qualifier for the aiPromptId on the request).

    + * @public + */ + versionNumber?: number; +} + +/** + * @public + */ +export interface ListAIPromptsRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + nextToken?: string; + + /** + *

    The maximum number of results to return per page.

    + * @public + */ + maxResults?: number; + + /** + *

    The origin of the AI Prompts to be listed. SYSTEM for a default AI Agent + * created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent + * creation APIs.

    + * @public + */ + origin?: Origin; +} + +/** + *

    The summary of the AI Prompt.

    + * @public + */ +export interface AIPromptSummary { + /** + *

    The name of the AI Prompt.

    + * @public + */ + name: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    + * @public + */ + assistantArn: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI prompt.

    + * @public + */ + aiPromptId: string | undefined; + + /** + *

    The type of this AI Prompt.

    + * @public + */ + type: AIPromptType | undefined; + + /** + *

    The Amazon Resource Name (ARN) of the AI Prompt.

    + * @public + */ + aiPromptArn: string | undefined; + + /** + *

    The time the AI Prompt was last modified.

    + * @public + */ + modifiedTime?: Date; + + /** + *

    The type of the prompt template for this AI Prompt.

    + * @public + */ + templateType: AIPromptTemplateType | undefined; + + /** + *

    The identifier of the model used for this AI Prompt. Model Ids supported are: + * CLAUDE_3_HAIKU_20240307_V1.

    + * @public + */ + modelId: string | undefined; + + /** + *

    The API format used for this AI Prompt.

    + * @public + */ + apiFormat: AIPromptAPIFormat | undefined; + + /** + *

    The visibility status of the AI Prompt.

    + * @public + */ + visibilityStatus: VisibilityStatus | undefined; + + /** + *

    The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in + * Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs. + *

    + * @public + */ + origin?: Origin; + + /** + *

    The description of the AI Prompt.

    + * @public + */ + description?: string; + + /** + *

    The status of the AI Prompt.

    + * @public + */ + status?: Status; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + * @public + */ + tags?: Record; +} + +/** + * @public + */ +export interface ListAIPromptsResponse { + /** + *

    The summaries of the AI Prompts.

    + * @public + */ + aiPromptSummaries: AIPromptSummary[] | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + nextToken?: string; +} + +/** + * @public + */ +export interface ListAIPromptVersionsRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI prompt for which versions are to be + * listed.

    + * @public + */ + aiPromptId: string | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + nextToken?: string; + + /** + *

    The maximum number of results to return per page.

    + * @public + */ + maxResults?: number; + + /** + *

    The origin of the AI Prompt versions to be listed. SYSTEM for a default AI + * Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI + * Agent creation APIs.

    + * @public + */ + origin?: Origin; +} + +/** + *

    The summary of the AI Prompt version.

    + * @public + */ +export interface AIPromptVersionSummary { + /** + *

    The date for the summary of the AI Prompt version.

    + * @public + */ + aiPromptSummary?: AIPromptSummary; + + /** + *

    The version number for this AI Prompt version.

    + * @public + */ + versionNumber?: number; +} + +/** + * @public + */ +export interface ListAIPromptVersionsResponse { + /** + *

    The summaries of the AI Prompt versions.

    + * @public + */ + aiPromptVersionSummaries: AIPromptVersionSummary[] | undefined; + + /** + *

    The token for the next set of results. Use the value returned in the previous response in + * the next request to retrieve the next set of results.

    + * @public + */ + nextToken?: string; +} + +/** * @public */ -export interface AmazonConnectGuideAssociationData { +export interface UpdateAIPromptRequest { /** - *

    The Amazon Resource Name (ARN) of an Amazon Connect flow. Step-by-step guides are a type of flow.

    + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the AWS SDK populates this field. For more information about + * idempotency, see Making retries safe with idempotent APIs.

    * @public */ - flowId?: string; + clientToken?: string; + + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the Amazon Q in Connect AI Prompt.

    + * @public + */ + aiPromptId: string | undefined; + + /** + *

    The visibility status of the Amazon Q in Connect AI prompt.

    + * @public + */ + visibilityStatus: VisibilityStatus | undefined; + + /** + *

    The configuration of the prompt template for this AI Prompt.

    + * @public + */ + templateConfiguration?: AIPromptTemplateConfiguration; + + /** + *

    The description of the Amazon Q in Connect AI Prompt.

    + * @public + */ + description?: string; } /** - *

    A leaf node condition which can be used to specify a tag condition.

    * @public */ -export interface TagCondition { +export interface UpdateAIPromptResponse { /** - *

    The tag key in the tag condition.

    + *

    The data of the updated Amazon Q in Connect AI Prompt.

    * @public */ - key: string | undefined; + aiPrompt?: AIPromptData; +} +/** + *

    Content association data for a step-by-step + * guide.

    + * @public + */ +export interface AmazonConnectGuideAssociationData { /** - *

    The tag value in the tag condition.

    + *

    The Amazon Resource Name (ARN) of an Amazon Connect flow. Step-by-step guides are a type of flow.

    * @public */ - value?: string; + flowId?: string; } /** @@ -87,7 +1909,7 @@ export interface AppIntegrationsConfiguration { * html, htm, and txt.

    *
  • *
  • - *

    For Amazon S3, the + *

    For Amazon S3, the * ObjectConfiguration and FileConfiguration of your AppIntegrations DataIntegration must be null. * The SourceURI of your DataIntegration must use the following format: * s3://your_s3_bucket_name.

    @@ -130,29 +1952,6 @@ export interface AppIntegrationsConfiguration { objectFields?: string[]; } -/** - *

    The request could not be processed because of conflict in the current state of the - * resource. For example, if you're using a Create API (such as - * CreateAssistant) that accepts name, a conflicting resource (usually with the - * same name) is being created or mutated.

    - * @public - */ -export class ConflictException extends __BaseException { - readonly name: "ConflictException" = "ConflictException"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ConflictException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ConflictException.prototype); - } -} - /** *

    The data that is input into Amazon Q in Connect as a result of the assistant association.

    * @public @@ -362,74 +2161,6 @@ export interface CreateAssistantAssociationResponse { assistantAssociation?: AssistantAssociationData; } -/** - *

    The specified resource does not exist.

    - * @public - */ -export class ResourceNotFoundException extends __BaseException { - readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; - readonly $fault: "client" = "client"; - /** - *

    The specified resource name.

    - * @public - */ - resourceName?: string; - - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceNotFoundException.prototype); - this.resourceName = opts.resourceName; - } -} - -/** - *

    You've exceeded your service quota. To perform the requested action, remove some of the - * relevant resources, or use service quotas to request a service quota increase.

    - * @public - */ -export class ServiceQuotaExceededException extends __BaseException { - readonly name: "ServiceQuotaExceededException" = "ServiceQuotaExceededException"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ServiceQuotaExceededException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype); - } -} - -/** - *

    The input fails to satisfy the constraints specified by a service.

    - * @public - */ -export class ValidationException extends __BaseException { - readonly name: "ValidationException" = "ValidationException"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ValidationException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ValidationException.prototype); - } -} - /** * @public */ @@ -778,6 +2509,13 @@ export interface AssistantData { * @public */ capabilityConfiguration?: AssistantCapabilityConfiguration; + + /** + *

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that is + * set on the Amazon Q in Connect Assistant.

    + * @public + */ + aiAgentConfiguration?: Partial>; } /** @@ -967,6 +2705,43 @@ export interface ContentDataDetails { rankingData: RankingData | undefined; } +/** + *

    Details about the detected intent.

    + * @public + */ +export interface IntentDetectedDataDetails { + /** + *

    The detected intent.

    + * @public + */ + intent: string | undefined; + + /** + *

    The identifier of the detected intent.

    + * @public + */ + intentId: string | undefined; +} + +/** + *

    Contains information about where the text with a citation begins and ends in the generated + * output.

    + * @public + */ +export interface CitationSpan { + /** + *

    Where the text with a citation starts in the generated output.

    + * @public + */ + beginOffsetInclusive?: number; + + /** + *

    Where the text with a citation ends in the generated output.

    + * @public + */ + endOffsetExclusive?: number; +} + /** * @public * @enum @@ -1008,8 +2783,28 @@ export interface SourceContentDataDetails { * @public */ rankingData: RankingData | undefined; + + /** + *

    Contains information about where the text with a citation begins and ends in the generated output.

    + * @public + */ + citationSpan?: CitationSpan; } +/** + * @public + * @enum + */ +export const ReferenceType = { + KNOWLEDGE_BASE: "KNOWLEDGE_BASE", + WEB_CRAWLER: "WEB_CRAWLER", +} as const; + +/** + * @public + */ +export type ReferenceType = (typeof ReferenceType)[keyof typeof ReferenceType]; + /** *

    Reference information about the content.

    * @public @@ -1038,6 +2833,18 @@ export interface ContentReference { * @public */ contentId?: string; + + /** + *

    The web URL of the source content.

    + * @public + */ + sourceURL?: string; + + /** + *

    The type of reference content.

    + * @public + */ + referenceType?: ReferenceType; } /** @@ -1142,6 +2949,7 @@ export interface Document { * @enum */ export const RecommendationType = { + DETECTED_INTENT: "DETECTED_INTENT", GENERATIVE_ANSWER: "GENERATIVE_ANSWER", GENERATIVE_RESPONSE: "GENERATIVE_RESPONSE", KNOWLEDGE_CONTENT: "KNOWLEDGE_CONTENT", @@ -1372,6 +3180,13 @@ export interface AssistantSummary { * @public */ capabilityConfiguration?: AssistantCapabilityConfiguration; + + /** + *

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that is + * set on the Amazon Q in Connect Assistant.

    + * @public + */ + aiAgentConfiguration?: Partial>; } /** @@ -1639,28 +3454,104 @@ export interface QueryConditionItem { comparator: QueryConditionComparisonOperator | undefined; /** - *

    The value for the query condition to query on.

    + *

    The value for the query condition to query on.

    + * @public + */ + value: string | undefined; +} + +/** + *

    Information about how to query content.

    + * @public + */ +export type QueryCondition = QueryCondition.SingleMember | QueryCondition.$UnknownMember; + +/** + * @public + */ +export namespace QueryCondition { + /** + *

    The condition for the query.

    + * @public + */ + export interface SingleMember { + single: QueryConditionItem; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + single?: never; + $unknown: [string, any]; + } + + export interface Visitor { + single: (value: QueryConditionItem) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: QueryCondition, visitor: Visitor): T => { + if (value.single !== undefined) return visitor.single(value.single); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + *

    Information about the Amazon Q intent.

    + * @public + */ +export interface IntentInputData { + /** + *

    The identifier of the Amazon Q intent.

    + * @public + */ + intentId: string | undefined; +} + +/** + *

    Information about the text to search for.

    + * @public + */ +export interface QueryTextInputData { + /** + *

    The text to search for.

    * @public */ - value: string | undefined; + text: string | undefined; } /** - *

    Information about how to query content.

    + *

    Input information for the query.

    * @public */ -export type QueryCondition = QueryCondition.SingleMember | QueryCondition.$UnknownMember; +export type QueryInputData = + | QueryInputData.IntentInputDataMember + | QueryInputData.QueryTextInputDataMember + | QueryInputData.$UnknownMember; /** * @public */ -export namespace QueryCondition { +export namespace QueryInputData { /** - *

    The condition for the query.

    + *

    Input information for the query.

    * @public */ - export interface SingleMember { - single: QueryConditionItem; + export interface QueryTextInputDataMember { + queryTextInputData: QueryTextInputData; + intentInputData?: never; + $unknown?: never; + } + + /** + *

    Input information for the intent.

    + * @public + */ + export interface IntentInputDataMember { + queryTextInputData?: never; + intentInputData: IntentInputData; $unknown?: never; } @@ -1668,17 +3559,20 @@ export namespace QueryCondition { * @public */ export interface $UnknownMember { - single?: never; + queryTextInputData?: never; + intentInputData?: never; $unknown: [string, any]; } export interface Visitor { - single: (value: QueryConditionItem) => T; + queryTextInputData: (value: QueryTextInputData) => T; + intentInputData: (value: IntentInputData) => T; _: (name: string, value: any) => T; } - export const visit = (value: QueryCondition, visitor: Visitor): T => { - if (value.single !== undefined) return visitor.single(value.single); + export const visit = (value: QueryInputData, visitor: Visitor): T => { + if (value.queryTextInputData !== undefined) return visitor.queryTextInputData(value.queryTextInputData); + if (value.intentInputData !== undefined) return visitor.intentInputData(value.intentInputData); return visitor._(value.$unknown[0], value.$unknown[1]); }; } @@ -1697,7 +3591,7 @@ export interface QueryAssistantRequest { *

    The text to search for.

    * @public */ - queryText: string | undefined; + queryText?: string; /** *

    The token for the next set of results. Use the value returned in the previous @@ -1724,6 +3618,20 @@ export interface QueryAssistantRequest { * @public */ queryCondition?: QueryCondition[]; + + /** + *

    Information about the query.

    + * @public + */ + queryInputData?: QueryInputData; + + /** + *

    The search type to be used against the Knowledge Base for this request. The values can be + * SEMANTIC which uses vector embeddings or HYBRID which use vector + * embeddings and raw text.

    + * @public + */ + overrideKnowledgeBaseSearchType?: KnowledgeBaseSearchType; } /** @@ -1732,6 +3640,7 @@ export interface QueryAssistantRequest { */ export const QueryResultType = { GENERATIVE_ANSWER: "GENERATIVE_ANSWER", + INTENT_ANSWER: "INTENT_ANSWER", KNOWLEDGE_CONTENT: "KNOWLEDGE_CONTENT", } as const; @@ -1763,6 +3672,30 @@ export class RequestTimeoutException extends __BaseException { } } +/** + * @public + */ +export interface RemoveAssistantAIAgentRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The type of the AI Agent being removed for use by default from the Amazon Q in Connect + * Assistant.

    + * @public + */ + aiAgentType: AIAgentType | undefined; +} + +/** + * @public + */ +export interface RemoveAssistantAIAgentResponse {} + /** * @public * @enum @@ -1903,105 +3836,227 @@ export interface SearchSessionsResponse { } /** - *

    A list of conditions which would be applied together with an OR - * condition.

    * @public */ -export type OrCondition = OrCondition.AndConditionsMember | OrCondition.TagConditionMember | OrCondition.$UnknownMember; +export interface CreateSessionRequest { + /** + *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. If not provided, the Amazon Web Services + * SDK populates this field. For more information about idempotency, see + * Making retries safe with idempotent APIs.

    + * @public + */ + clientToken?: string; + + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The name of the session.

    + * @public + */ + name: string | undefined; + + /** + *

    The description.

    + * @public + */ + description?: string; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + * @public + */ + tags?: Record; + + /** + *

    An object that can be used to specify Tag conditions.

    + * @public + */ + tagFilter?: TagFilter; + + /** + *

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that + * should be used by Amazon Q in Connect for this Session.

    + * @public + */ + aiAgentConfiguration?: Partial>; +} /** + *

    The configuration information for the session integration.

    * @public */ -export namespace OrCondition { +export interface SessionIntegrationConfiguration { /** - *

    A list of conditions which would be applied together with an AND - * condition.

    + *

    The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

    * @public */ - export interface AndConditionsMember { - andConditions: TagCondition[]; - tagCondition?: never; - $unknown?: never; - } + topicIntegrationArn?: string; +} +/** + *

    Information about the session.

    + * @public + */ +export interface SessionData { /** - *

    A leaf node condition which can be used to specify a tag condition.

    + *

    The Amazon Resource Name (ARN) of the session.

    * @public */ - export interface TagConditionMember { - andConditions?: never; - tagCondition: TagCondition; - $unknown?: never; - } + sessionArn: string | undefined; /** + *

    The identifier of the session.

    * @public */ - export interface $UnknownMember { - andConditions?: never; - tagCondition?: never; - $unknown: [string, any]; - } + sessionId: string | undefined; - export interface Visitor { - andConditions: (value: TagCondition[]) => T; - tagCondition: (value: TagCondition) => T; - _: (name: string, value: any) => T; - } + /** + *

    The name of the session.

    + * @public + */ + name: string | undefined; - export const visit = (value: OrCondition, visitor: Visitor): T => { - if (value.andConditions !== undefined) return visitor.andConditions(value.andConditions); - if (value.tagCondition !== undefined) return visitor.tagCondition(value.tagCondition); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; + /** + *

    The description of the session.

    + * @public + */ + description?: string; + + /** + *

    The tags used to organize, track, or control access for this resource.

    + * @public + */ + tags?: Record; + + /** + *

    The configuration information for the session integration.

    + * @public + */ + integrationConfiguration?: SessionIntegrationConfiguration; + + /** + *

    An object that can be used to specify Tag conditions.

    + * @public + */ + tagFilter?: TagFilter; + + /** + *

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that + * should be used by Amazon Q in Connect for this Session.

    + * @public + */ + aiAgentConfiguration?: Partial>; } /** - *

    An object that can be used to specify Tag conditions.

    * @public */ -export type TagFilter = - | TagFilter.AndConditionsMember - | TagFilter.OrConditionsMember - | TagFilter.TagConditionMember - | TagFilter.$UnknownMember; +export interface CreateSessionResponse { + /** + *

    The session.

    + * @public + */ + session?: SessionData; +} /** * @public */ -export namespace TagFilter { +export interface GetSessionRequest { /** - *

    A leaf node condition which can be used to specify a tag condition.

    + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

    * @public */ - export interface TagConditionMember { - tagCondition: TagCondition; - andConditions?: never; - orConditions?: never; - $unknown?: never; - } + assistantId: string | undefined; /** - *

    A list of conditions which would be applied together with an AND - * condition.

    + *

    The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

    * @public */ - export interface AndConditionsMember { - tagCondition?: never; - andConditions: TagCondition[]; - orConditions?: never; - $unknown?: never; - } + sessionId: string | undefined; +} + +/** + * @public + */ +export interface GetSessionResponse { + /** + *

    The session.

    + * @public + */ + session?: SessionData; +} + +/** + * @public + */ +export interface UpdateSessionRequest { + /** + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

    + * @public + */ + assistantId: string | undefined; + + /** + *

    The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

    + * @public + */ + sessionId: string | undefined; + + /** + *

    The description.

    + * @public + */ + description?: string; + + /** + *

    An object that can be used to specify Tag conditions.

    + * @public + */ + tagFilter?: TagFilter; + + /** + *

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that + * should be used by Amazon Q in Connect for this Session.

    + * @public + */ + aiAgentConfiguration?: Partial>; +} + +/** + * @public + */ +export interface UpdateSessionResponse { + /** + *

    Information about the session.

    + * @public + */ + session?: SessionData; +} + +/** + *

    A union type that specifies the data stored on the session.

    + * @public + */ +export type RuntimeSessionDataValue = + | RuntimeSessionDataValue.StringValueMember + | RuntimeSessionDataValue.$UnknownMember; +/** + * @public + */ +export namespace RuntimeSessionDataValue { /** - *

    A list of conditions which would be applied together with an OR - * condition.

    + *

    The string value of the data stored on the session.

    * @public */ - export interface OrConditionsMember { - tagCondition?: never; - andConditions?: never; - orConditions: OrCondition[]; + export interface StringValueMember { + stringValue: string; $unknown?: never; } @@ -2009,88 +4064,88 @@ export namespace TagFilter { * @public */ export interface $UnknownMember { - tagCondition?: never; - andConditions?: never; - orConditions?: never; + stringValue?: never; $unknown: [string, any]; } export interface Visitor { - tagCondition: (value: TagCondition) => T; - andConditions: (value: TagCondition[]) => T; - orConditions: (value: OrCondition[]) => T; + stringValue: (value: string) => T; _: (name: string, value: any) => T; } - export const visit = (value: TagFilter, visitor: Visitor): T => { - if (value.tagCondition !== undefined) return visitor.tagCondition(value.tagCondition); - if (value.andConditions !== undefined) return visitor.andConditions(value.andConditions); - if (value.orConditions !== undefined) return visitor.orConditions(value.orConditions); + export const visit = (value: RuntimeSessionDataValue, visitor: Visitor): T => { + if (value.stringValue !== undefined) return visitor.stringValue(value.stringValue); return visitor._(value.$unknown[0], value.$unknown[1]); }; } /** + *

    The list of key-value pairs that are stored on the session.

    * @public */ -export interface CreateSessionRequest { +export interface RuntimeSessionData { /** - *

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. If not provided, the Amazon Web Services - * SDK populates this field. For more information about idempotency, see - * Making retries safe with idempotent APIs.

    + *

    The key of the data stored on the session.

    * @public */ - clientToken?: string; + key: string | undefined; /** - *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

    + *

    The value of the data stored on the session.

    * @public */ - assistantId: string | undefined; + value: RuntimeSessionDataValue | undefined; +} - /** - *

    The name of the session.

    - * @public - */ - name: string | undefined; +/** + * @public + * @enum + */ +export const SessionDataNamespace = { + Custom: "Custom", +} as const; + +/** + * @public + */ +export type SessionDataNamespace = (typeof SessionDataNamespace)[keyof typeof SessionDataNamespace]; +/** + * @public + */ +export interface UpdateSessionDataRequest { /** - *

    The description.

    + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    * @public */ - description?: string; + assistantId: string | undefined; /** - *

    The tags used to organize, track, or control access for this resource.

    + *

    The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the + * ARN.

    * @public */ - tags?: Record; + sessionId: string | undefined; /** - *

    An object that can be used to specify Tag conditions.

    + *

    The namespace into which the session data is stored. Supported namespaces are: + * Custom

    * @public */ - tagFilter?: TagFilter; -} + namespace?: SessionDataNamespace; -/** - *

    The configuration information for the session integration.

    - * @public - */ -export interface SessionIntegrationConfiguration { /** - *

    The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

    + *

    The data stored on the Amazon Q in Connect Session.

    * @public */ - topicIntegrationArn?: string; + data: RuntimeSessionData[] | undefined; } /** - *

    Information about the session.

    * @public */ -export interface SessionData { +export interface UpdateSessionDataResponse { /** *

    The Amazon Resource Name (ARN) of the session.

    * @public @@ -2104,113 +4159,218 @@ export interface SessionData { sessionId: string | undefined; /** - *

    The name of the session.

    + *

    The namespace into which the session data is stored. Supported namespaces are: + * Custom

    * @public */ - name: string | undefined; + namespace: SessionDataNamespace | undefined; /** - *

    The description of the session.

    + *

    Data stored in the session.

    * @public */ - description?: string; + data: RuntimeSessionData[] | undefined; +} +/** + * @public + */ +export interface UpdateAssistantAIAgentRequest { /** - *

    The tags used to organize, track, or control access for this resource.

    + *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs + * cannot contain the ARN.

    * @public */ - tags?: Record; + assistantId: string | undefined; /** - *

    The configuration information for the session integration.

    + *

    The type of the AI Agent being updated for use by default on the Amazon Q in Connect + * Assistant.

    * @public */ - integrationConfiguration?: SessionIntegrationConfiguration; + aiAgentType: AIAgentType | undefined; /** - *

    An object that can be used to specify Tag conditions.

    + *

    The configuration of the AI Agent being updated for use by default on the Amazon Q in + * Connect Assistant.

    * @public */ - tagFilter?: TagFilter; + configuration: AIAgentConfigurationData | undefined; } /** * @public */ -export interface CreateSessionResponse { +export interface UpdateAssistantAIAgentResponse { /** - *

    The session.

    + *

    The assistant data.

    * @public */ - session?: SessionData; + assistant?: AssistantData; } /** + *

    Instructions for interpreting the contents of a document.

    * @public */ -export interface GetSessionRequest { +export interface ParsingPrompt { /** - *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

    + *

    Instructions for interpreting the contents of a document.

    * @public */ - assistantId: string | undefined; + parsingPromptText: string | undefined; +} + +/** + *

    Settings for a foundation model used to parse documents for a data source.

    + * @public + */ +export interface BedrockFoundationModelConfigurationForParsing { + /** + *

    The ARN of the foundation model.

    + * @public + */ + modelArn: string | undefined; /** - *

    The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

    + *

    Instructions for interpreting the contents of a document.

    * @public */ - sessionId: string | undefined; + parsingPrompt?: ParsingPrompt; } /** * @public + * @enum */ -export interface GetSessionResponse { +export const ChunkingStrategy = { + FIXED_SIZE: "FIXED_SIZE", + HIERARCHICAL: "HIERARCHICAL", + NONE: "NONE", + SEMANTIC: "SEMANTIC", +} as const; + +/** + * @public + */ +export type ChunkingStrategy = (typeof ChunkingStrategy)[keyof typeof ChunkingStrategy]; + +/** + *

    Configurations for when you choose fixed-size chunking. If you set the + * chunkingStrategy as NONE, exclude this field.

    + * @public + */ +export interface FixedSizeChunkingConfiguration { /** - *

    The session.

    + *

    The maximum number of tokens to include in a chunk.

    * @public */ - session?: SessionData; + maxTokens: number | undefined; + + /** + *

    The percentage of overlap between adjacent chunks of a data source.

    + * @public + */ + overlapPercentage: number | undefined; } /** + *

    Token settings for each layer.

    * @public */ -export interface UpdateSessionRequest { +export interface HierarchicalChunkingLevelConfiguration { /** - *

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN.

    + *

    The maximum number of tokens that a chunk can contain in this layer.

    * @public */ - assistantId: string | undefined; + maxTokens: number | undefined; +} +/** + *

    Settings for hierarchical document chunking for a data source. Hierarchical chunking + * splits documents into layers of chunks where the first layer contains large chunks, and the + * second layer contains smaller chunks derived from the first layer.

    + * @public + */ +export interface HierarchicalChunkingConfiguration { /** - *

    The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the ARN.

    + *

    Token settings for each layer.

    * @public */ - sessionId: string | undefined; + levelConfigurations: HierarchicalChunkingLevelConfiguration[] | undefined; /** - *

    The description.

    + *

    The number of tokens to repeat across chunks in the same layer.

    * @public */ - description?: string; + overlapTokens: number | undefined; +} +/** + *

    Settings for semantic document chunking for a data source. Semantic chunking splits a + * document into smaller documents based on groups of similar content derived from the text with + * natural language processing.

    + * @public + */ +export interface SemanticChunkingConfiguration { /** - *

    An object that can be used to specify Tag conditions.

    + *

    The maximum number of tokens that a chunk can contain.

    * @public */ - tagFilter?: TagFilter; + maxTokens: number | undefined; + + /** + *

    The buffer size.

    + * @public + */ + bufferSize: number | undefined; + + /** + *

    The dissimilarity threshold for splitting chunks.

    + * @public + */ + breakpointPercentileThreshold: number | undefined; } /** + *

    Details about how to chunk the documents in the data source. A chunk refers to an excerpt + * from a data source that is returned when the knowledge base that it belongs to is + * queried.

    * @public */ -export interface UpdateSessionResponse { +export interface ChunkingConfiguration { /** - *

    Information about the session.

    + *

    Knowledge base can split your source data into chunks. A chunk refers to an excerpt from a + * data source that is returned when the knowledge base that it belongs to is queried. You have + * the following options for chunking your data. If you opt for NONE, then you may + * want to pre-process your files by splitting them up such that each file corresponds to a + * chunk.

    * @public */ - session?: SessionData; + chunkingStrategy: ChunkingStrategy | undefined; + + /** + *

    Configurations for when you choose fixed-size chunking. If you set the + * chunkingStrategy as NONE, exclude this field.

    + * @public + */ + fixedSizeChunkingConfiguration?: FixedSizeChunkingConfiguration; + + /** + *

    Settings for hierarchical document chunking for a data source. Hierarchical chunking + * splits documents into layers of chunks where the first layer contains large chunks, and the + * second layer contains smaller chunks derived from the first layer.

    + * @public + */ + hierarchicalChunkingConfiguration?: HierarchicalChunkingConfiguration; + + /** + *

    Settings for semantic document chunking for a data source. Semantic chunking splits a + * document into smaller documents based on groups of similar content derived from the text with + * natural language processing.

    + * @public + */ + semanticChunkingConfiguration?: SemanticChunkingConfiguration; } /** @@ -2432,27 +4592,6 @@ export interface CreateContentAssociationResponse { contentAssociation?: ContentAssociationData; } -/** - *

    The throttling limit has been exceeded.

    - * @public - */ -export class ThrottlingException extends __BaseException { - readonly name: "ThrottlingException" = "ThrottlingException"; - readonly $fault: "client" = "client"; - $retryable = {}; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ThrottlingException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ThrottlingException.prototype); - } -} - /** * @public */ @@ -3096,6 +5235,8 @@ export interface UpdateContentResponse { export const KnowledgeBaseType = { CUSTOM: "CUSTOM", EXTERNAL: "EXTERNAL", + MANAGED: "MANAGED", + MESSAGE_TEMPLATES: "MESSAGE_TEMPLATES", QUICK_RESPONSES: "QUICK_RESPONSES", } as const; @@ -3136,11 +5277,152 @@ export interface RenderingConfiguration { templateUri?: string; } +/** + *

    The configuration of crawl limits for the web URLs.

    + * @public + */ +export interface WebCrawlerLimits { + /** + *

    Rate of web URLs retrieved per minute.

    + * @public + */ + rateLimit?: number; +} + +/** + * @public + * @enum + */ +export const WebScopeType = { + HOST_ONLY: "HOST_ONLY", + SUBDOMAINS: "SUBDOMAINS", +} as const; + +/** + * @public + */ +export type WebScopeType = (typeof WebScopeType)[keyof typeof WebScopeType]; + +/** + *

    A URL for crawling.

    + * @public + */ +export interface SeedUrl { + /** + *

    URL for crawling

    + * @public + */ + url?: string; +} + +/** + *

    The configuration of the URL/URLs for the web content that you want to crawl. You should + * be authorized to crawl the URLs.

    + * @public + */ +export interface UrlConfiguration { + /** + *

    List of URLs for crawling.

    + * @public + */ + seedUrls?: SeedUrl[]; +} + +/** + *

    The configuration details for the web data source.

    + * @public + */ +export interface WebCrawlerConfiguration { + /** + *

    The configuration of the URL/URLs for the web content that you want to crawl. You should + * be authorized to crawl the URLs.

    + * @public + */ + urlConfiguration: UrlConfiguration | undefined; + + /** + *

    The configuration of crawl limits for the web URLs.

    + * @public + */ + crawlerLimits?: WebCrawlerLimits; + + /** + *

    A list of one or more inclusion regular expression patterns to include certain URLs. If + * you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion + * filter takes precedence and the web content of the URL isn’t crawled.

    + * @public + */ + inclusionFilters?: string[]; + + /** + *

    A list of one or more exclusion regular expression patterns to exclude certain URLs. If + * you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion + * filter takes precedence and the web content of the URL isn’t crawled.

    + * @public + */ + exclusionFilters?: string[]; + + /** + *

    The scope of what is crawled for your URLs. You can choose to crawl only web pages that + * belong to the same host or primary domain. For example, only web pages that contain the seed + * URL https://docs.aws.amazon.com/bedrock/latest/userguide/ and no other domains. + * You can choose to include sub domains in addition to the host or primary domain. For example, + * web pages that contain aws.amazon.com can also include sub domain + * docs.aws.amazon.com.

    + * @public + */ + scope?: WebScopeType; +} + +/** + *

    Source configuration for managed resources.

    + * @public + */ +export type ManagedSourceConfiguration = + | ManagedSourceConfiguration.WebCrawlerConfigurationMember + | ManagedSourceConfiguration.$UnknownMember; + +/** + * @public + */ +export namespace ManagedSourceConfiguration { + /** + *

    Configuration data for web crawler data source.

    + * @public + */ + export interface WebCrawlerConfigurationMember { + webCrawlerConfiguration: WebCrawlerConfiguration; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + webCrawlerConfiguration?: never; + $unknown: [string, any]; + } + + export interface Visitor { + webCrawlerConfiguration: (value: WebCrawlerConfiguration) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: ManagedSourceConfiguration, visitor: Visitor): T => { + if (value.webCrawlerConfiguration !== undefined) + return visitor.webCrawlerConfiguration(value.webCrawlerConfiguration); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + /** *

    Configuration information about the external data source.

    * @public */ -export type SourceConfiguration = SourceConfiguration.AppIntegrationsMember | SourceConfiguration.$UnknownMember; +export type SourceConfiguration = + | SourceConfiguration.AppIntegrationsMember + | SourceConfiguration.ManagedSourceConfigurationMember + | SourceConfiguration.$UnknownMember; /** * @public @@ -3152,6 +5434,17 @@ export namespace SourceConfiguration { */ export interface AppIntegrationsMember { appIntegrations: AppIntegrationsConfiguration; + managedSourceConfiguration?: never; + $unknown?: never; + } + + /** + *

    Source configuration for managed resources.

    + * @public + */ + export interface ManagedSourceConfigurationMember { + appIntegrations?: never; + managedSourceConfiguration: ManagedSourceConfiguration; $unknown?: never; } @@ -3160,20 +5453,78 @@ export namespace SourceConfiguration { */ export interface $UnknownMember { appIntegrations?: never; + managedSourceConfiguration?: never; $unknown: [string, any]; } export interface Visitor { appIntegrations: (value: AppIntegrationsConfiguration) => T; + managedSourceConfiguration: (value: ManagedSourceConfiguration) => T; _: (name: string, value: any) => T; } export const visit = (value: SourceConfiguration, visitor: Visitor): T => { if (value.appIntegrations !== undefined) return visitor.appIntegrations(value.appIntegrations); + if (value.managedSourceConfiguration !== undefined) + return visitor.managedSourceConfiguration(value.managedSourceConfiguration); return visitor._(value.$unknown[0], value.$unknown[1]); }; } +/** + * @public + * @enum + */ +export const ParsingStrategy = { + BEDROCK_FOUNDATION_MODEL: "BEDROCK_FOUNDATION_MODEL", +} as const; + +/** + * @public + */ +export type ParsingStrategy = (typeof ParsingStrategy)[keyof typeof ParsingStrategy]; + +/** + *

    Settings for parsing document contents. By default, the service converts the contents of + * each document into text before splitting it into chunks. To improve processing of PDF files + * with tables and images, you can configure the data source to convert the pages of text into + * images and use a model to describe the contents of each page.

    + * @public + */ +export interface ParsingConfiguration { + /** + *

    The parsing strategy for the data source.

    + * @public + */ + parsingStrategy: ParsingStrategy | undefined; + + /** + *

    Settings for a foundation model used to parse documents for a data source.

    + * @public + */ + bedrockFoundationModelConfiguration?: BedrockFoundationModelConfigurationForParsing; +} + +/** + *

    Contains details about how to ingest the documents in a data source.

    + * @public + */ +export interface VectorIngestionConfiguration { + /** + *

    Details about how to chunk the documents in the data source. A chunk refers to an excerpt + * from a data source that is returned when the knowledge base that it belongs to is + * queried.

    + * @public + */ + chunkingConfiguration?: ChunkingConfiguration; + + /** + *

    A custom parser for data source documents.

    + * @public + */ + parsingConfiguration?: ParsingConfiguration; +} + /** * @public */ @@ -3214,6 +5565,12 @@ export interface CreateKnowledgeBaseRequest { */ renderingConfiguration?: RenderingConfiguration; + /** + *

    Contains details about how to ingest the documents in a data source.

    + * @public + */ + vectorIngestionConfiguration?: VectorIngestionConfiguration; + /** *

    The configuration information for the customer managed key used for encryption.

    *

    This KMS key must have a policy that allows kms:CreateGrant, @@ -3239,6 +5596,22 @@ export interface CreateKnowledgeBaseRequest { tags?: Record; } +/** + * @public + * @enum + */ +export const SyncStatus = { + CREATE_IN_PROGRESS: "CREATE_IN_PROGRESS", + SYNCING_IN_PROGRESS: "SYNCING_IN_PROGRESS", + SYNC_FAILED: "SYNC_FAILED", + SYNC_SUCCESS: "SYNC_SUCCESS", +} as const; + +/** + * @public + */ +export type SyncStatus = (typeof SyncStatus)[keyof typeof SyncStatus]; + /** * @public * @enum @@ -3299,6 +5672,12 @@ export interface KnowledgeBaseData { */ lastContentModificationTime?: Date; + /** + *

    Contains details about how to ingest the documents in a data source.

    + * @public + */ + vectorIngestionConfiguration?: VectorIngestionConfiguration; + /** *

    Source configuration information about the knowledge base.

    * @public @@ -3334,6 +5713,18 @@ export interface KnowledgeBaseData { * @public */ tags?: Record; + + /** + *

    Status of ingestion on data source.

    + * @public + */ + ingestionStatus?: SyncStatus; + + /** + *

    List of failure reasons on ingestion per file.

    + * @public + */ + ingestionFailureReasons?: string[]; } /** @@ -4184,6 +6575,12 @@ export interface KnowledgeBaseSummary { */ sourceConfiguration?: SourceConfiguration; + /** + *

    Contains details about how to ingest the documents in a data source.

    + * @public + */ + vectorIngestionConfiguration?: VectorIngestionConfiguration; + /** *

    Information about how to render the content.

    * @public @@ -5257,6 +7654,7 @@ export interface UntagResourceResponse {} export type DataDetails = | DataDetails.ContentDataMember | DataDetails.GenerativeDataMember + | DataDetails.IntentDetectedDataMember | DataDetails.SourceContentDataMember | DataDetails.$UnknownMember; @@ -5271,6 +7669,7 @@ export namespace DataDetails { export interface ContentDataMember { contentData: ContentDataDetails; generativeData?: never; + intentDetectedData?: never; sourceContentData?: never; $unknown?: never; } @@ -5282,6 +7681,19 @@ export namespace DataDetails { export interface GenerativeDataMember { contentData?: never; generativeData: GenerativeDataDetails; + intentDetectedData?: never; + sourceContentData?: never; + $unknown?: never; + } + + /** + *

    Details about the intent data.

    + * @public + */ + export interface IntentDetectedDataMember { + contentData?: never; + generativeData?: never; + intentDetectedData: IntentDetectedDataDetails; sourceContentData?: never; $unknown?: never; } @@ -5293,6 +7705,7 @@ export namespace DataDetails { export interface SourceContentDataMember { contentData?: never; generativeData?: never; + intentDetectedData?: never; sourceContentData: SourceContentDataDetails; $unknown?: never; } @@ -5303,6 +7716,7 @@ export namespace DataDetails { export interface $UnknownMember { contentData?: never; generativeData?: never; + intentDetectedData?: never; sourceContentData?: never; $unknown: [string, any]; } @@ -5310,6 +7724,7 @@ export namespace DataDetails { export interface Visitor { contentData: (value: ContentDataDetails) => T; generativeData: (value: GenerativeDataDetails) => T; + intentDetectedData: (value: IntentDetectedDataDetails) => T; sourceContentData: (value: SourceContentDataDetails) => T; _: (name: string, value: any) => T; } @@ -5317,6 +7732,7 @@ export namespace DataDetails { export const visit = (value: DataDetails, visitor: Visitor): T => { if (value.contentData !== undefined) return visitor.contentData(value.contentData); if (value.generativeData !== undefined) return visitor.generativeData(value.generativeData); + if (value.intentDetectedData !== undefined) return visitor.intentDetectedData(value.intentDetectedData); if (value.sourceContentData !== undefined) return visitor.sourceContentData(value.sourceContentData); return visitor._(value.$unknown[0], value.$unknown[1]); }; @@ -5476,6 +7892,91 @@ export interface QueryAssistantResponse { nextToken?: string; } +/** + * @internal + */ +export const TextFullAIPromptEditTemplateConfigurationFilterSensitiveLog = ( + obj: TextFullAIPromptEditTemplateConfiguration +): any => ({ + ...obj, + ...(obj.text && { text: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const AIPromptTemplateConfigurationFilterSensitiveLog = (obj: AIPromptTemplateConfiguration): any => { + if (obj.textFullAIPromptEditTemplateConfiguration !== undefined) + return { + textFullAIPromptEditTemplateConfiguration: TextFullAIPromptEditTemplateConfigurationFilterSensitiveLog( + obj.textFullAIPromptEditTemplateConfiguration + ), + }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const CreateAIPromptRequestFilterSensitiveLog = (obj: CreateAIPromptRequest): any => ({ + ...obj, + ...(obj.templateConfiguration && { + templateConfiguration: AIPromptTemplateConfigurationFilterSensitiveLog(obj.templateConfiguration), + }), +}); + +/** + * @internal + */ +export const AIPromptDataFilterSensitiveLog = (obj: AIPromptData): any => ({ + ...obj, + ...(obj.templateConfiguration && { + templateConfiguration: AIPromptTemplateConfigurationFilterSensitiveLog(obj.templateConfiguration), + }), +}); + +/** + * @internal + */ +export const CreateAIPromptResponseFilterSensitiveLog = (obj: CreateAIPromptResponse): any => ({ + ...obj, + ...(obj.aiPrompt && { aiPrompt: AIPromptDataFilterSensitiveLog(obj.aiPrompt) }), +}); + +/** + * @internal + */ +export const CreateAIPromptVersionResponseFilterSensitiveLog = (obj: CreateAIPromptVersionResponse): any => ({ + ...obj, + ...(obj.aiPrompt && { aiPrompt: AIPromptDataFilterSensitiveLog(obj.aiPrompt) }), +}); + +/** + * @internal + */ +export const GetAIPromptResponseFilterSensitiveLog = (obj: GetAIPromptResponse): any => ({ + ...obj, + ...(obj.aiPrompt && { aiPrompt: AIPromptDataFilterSensitiveLog(obj.aiPrompt) }), +}); + +/** + * @internal + */ +export const UpdateAIPromptRequestFilterSensitiveLog = (obj: UpdateAIPromptRequest): any => ({ + ...obj, + ...(obj.templateConfiguration && { + templateConfiguration: AIPromptTemplateConfigurationFilterSensitiveLog(obj.templateConfiguration), + }), +}); + +/** + * @internal + */ +export const UpdateAIPromptResponseFilterSensitiveLog = (obj: UpdateAIPromptResponse): any => ({ + ...obj, + ...(obj.aiPrompt && { aiPrompt: AIPromptDataFilterSensitiveLog(obj.aiPrompt) }), +}); + /** * @internal */ @@ -5501,6 +8002,14 @@ export const ContentDataDetailsFilterSensitiveLog = (obj: ContentDataDetails): a ...(obj.textData && { textData: TextDataFilterSensitiveLog(obj.textData) }), }); +/** + * @internal + */ +export const IntentDetectedDataDetailsFilterSensitiveLog = (obj: IntentDetectedDataDetails): any => ({ + ...obj, + ...(obj.intent && { intent: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -5542,6 +8051,24 @@ export const RecommendationTriggerFilterSensitiveLog = (obj: RecommendationTrigg ...(obj.data && { data: RecommendationTriggerDataFilterSensitiveLog(obj.data) }), }); +/** + * @internal + */ +export const QueryTextInputDataFilterSensitiveLog = (obj: QueryTextInputData): any => ({ + ...obj, + ...(obj.text && { text: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const QueryInputDataFilterSensitiveLog = (obj: QueryInputData): any => { + if (obj.queryTextInputData !== undefined) + return { queryTextInputData: QueryTextInputDataFilterSensitiveLog(obj.queryTextInputData) }; + if (obj.intentInputData !== undefined) return { intentInputData: obj.intentInputData }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + /** * @internal */ @@ -5549,6 +8076,40 @@ export const QueryAssistantRequestFilterSensitiveLog = (obj: QueryAssistantReque ...obj, ...(obj.queryText && { queryText: SENSITIVE_STRING }), ...(obj.queryCondition && { queryCondition: obj.queryCondition.map((item) => item) }), + ...(obj.queryInputData && { queryInputData: QueryInputDataFilterSensitiveLog(obj.queryInputData) }), +}); + +/** + * @internal + */ +export const RuntimeSessionDataValueFilterSensitiveLog = (obj: RuntimeSessionDataValue): any => { + if (obj.stringValue !== undefined) return { stringValue: SENSITIVE_STRING }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const RuntimeSessionDataFilterSensitiveLog = (obj: RuntimeSessionData): any => ({ + ...obj, + ...(obj.key && { key: SENSITIVE_STRING }), + ...(obj.value && { value: RuntimeSessionDataValueFilterSensitiveLog(obj.value) }), +}); + +/** + * @internal + */ +export const UpdateSessionDataRequestFilterSensitiveLog = (obj: UpdateSessionDataRequest): any => ({ + ...obj, + ...(obj.data && { data: obj.data.map((item) => RuntimeSessionDataFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const UpdateSessionDataResponseFilterSensitiveLog = (obj: UpdateSessionDataResponse): any => ({ + ...obj, + ...(obj.data && { data: obj.data.map((item) => RuntimeSessionDataFilterSensitiveLog(item)) }), }); /** @@ -5583,6 +8144,62 @@ export const UpdateContentResponseFilterSensitiveLog = (obj: UpdateContentRespon ...(obj.content && { content: ContentDataFilterSensitiveLog(obj.content) }), }); +/** + * @internal + */ +export const WebCrawlerConfigurationFilterSensitiveLog = (obj: WebCrawlerConfiguration): any => ({ + ...obj, + ...(obj.inclusionFilters && { inclusionFilters: SENSITIVE_STRING }), + ...(obj.exclusionFilters && { exclusionFilters: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ManagedSourceConfigurationFilterSensitiveLog = (obj: ManagedSourceConfiguration): any => { + if (obj.webCrawlerConfiguration !== undefined) + return { webCrawlerConfiguration: WebCrawlerConfigurationFilterSensitiveLog(obj.webCrawlerConfiguration) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const SourceConfigurationFilterSensitiveLog = (obj: SourceConfiguration): any => { + if (obj.appIntegrations !== undefined) return { appIntegrations: obj.appIntegrations }; + if (obj.managedSourceConfiguration !== undefined) + return { managedSourceConfiguration: ManagedSourceConfigurationFilterSensitiveLog(obj.managedSourceConfiguration) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const CreateKnowledgeBaseRequestFilterSensitiveLog = (obj: CreateKnowledgeBaseRequest): any => ({ + ...obj, + ...(obj.sourceConfiguration && { + sourceConfiguration: SourceConfigurationFilterSensitiveLog(obj.sourceConfiguration), + }), +}); + +/** + * @internal + */ +export const KnowledgeBaseDataFilterSensitiveLog = (obj: KnowledgeBaseData): any => ({ + ...obj, + ...(obj.sourceConfiguration && { + sourceConfiguration: SourceConfigurationFilterSensitiveLog(obj.sourceConfiguration), + }), +}); + +/** + * @internal + */ +export const CreateKnowledgeBaseResponseFilterSensitiveLog = (obj: CreateKnowledgeBaseResponse): any => ({ + ...obj, + ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseDataFilterSensitiveLog(obj.knowledgeBase) }), +}); + /** * @internal */ @@ -5667,6 +8284,14 @@ export const GetImportJobResponseFilterSensitiveLog = (obj: GetImportJobResponse ...(obj.importJob && { importJob: ImportJobDataFilterSensitiveLog(obj.importJob) }), }); +/** + * @internal + */ +export const GetKnowledgeBaseResponseFilterSensitiveLog = (obj: GetKnowledgeBaseResponse): any => ({ + ...obj, + ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseDataFilterSensitiveLog(obj.knowledgeBase) }), +}); + /** * @internal */ @@ -5675,6 +8300,26 @@ export const GetQuickResponseResponseFilterSensitiveLog = (obj: GetQuickResponse ...(obj.quickResponse && { quickResponse: QuickResponseDataFilterSensitiveLog(obj.quickResponse) }), }); +/** + * @internal + */ +export const KnowledgeBaseSummaryFilterSensitiveLog = (obj: KnowledgeBaseSummary): any => ({ + ...obj, + ...(obj.sourceConfiguration && { + sourceConfiguration: SourceConfigurationFilterSensitiveLog(obj.sourceConfiguration), + }), +}); + +/** + * @internal + */ +export const ListKnowledgeBasesResponseFilterSensitiveLog = (obj: ListKnowledgeBasesResponse): any => ({ + ...obj, + ...(obj.knowledgeBaseSummaries && { + knowledgeBaseSummaries: obj.knowledgeBaseSummaries.map((item) => KnowledgeBaseSummaryFilterSensitiveLog(item)), + }), +}); + /** * @internal */ @@ -5759,6 +8404,16 @@ export const StartImportJobResponseFilterSensitiveLog = (obj: StartImportJobResp ...(obj.importJob && { importJob: ImportJobDataFilterSensitiveLog(obj.importJob) }), }); +/** + * @internal + */ +export const UpdateKnowledgeBaseTemplateUriResponseFilterSensitiveLog = ( + obj: UpdateKnowledgeBaseTemplateUriResponse +): any => ({ + ...obj, + ...(obj.knowledgeBase && { knowledgeBase: KnowledgeBaseDataFilterSensitiveLog(obj.knowledgeBase) }), +}); + /** * @internal */ @@ -5766,6 +8421,8 @@ export const DataDetailsFilterSensitiveLog = (obj: DataDetails): any => { if (obj.contentData !== undefined) return { contentData: ContentDataDetailsFilterSensitiveLog(obj.contentData) }; if (obj.generativeData !== undefined) return { generativeData: GenerativeDataDetailsFilterSensitiveLog(obj.generativeData) }; + if (obj.intentDetectedData !== undefined) + return { intentDetectedData: IntentDetectedDataDetailsFilterSensitiveLog(obj.intentDetectedData) }; if (obj.sourceContentData !== undefined) return { sourceContentData: SourceContentDataDetailsFilterSensitiveLog(obj.sourceContentData) }; if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; diff --git a/clients/client-qconnect/src/pagination/ListAIAgentVersionsPaginator.ts b/clients/client-qconnect/src/pagination/ListAIAgentVersionsPaginator.ts new file mode 100644 index 000000000000..926ff6afbb51 --- /dev/null +++ b/clients/client-qconnect/src/pagination/ListAIAgentVersionsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListAIAgentVersionsCommand, + ListAIAgentVersionsCommandInput, + ListAIAgentVersionsCommandOutput, +} from "../commands/ListAIAgentVersionsCommand"; +import { QConnectClient } from "../QConnectClient"; +import { QConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListAIAgentVersions: ( + config: QConnectPaginationConfiguration, + input: ListAIAgentVersionsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + QConnectPaginationConfiguration, + ListAIAgentVersionsCommandInput, + ListAIAgentVersionsCommandOutput +>(QConnectClient, ListAIAgentVersionsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-qconnect/src/pagination/ListAIAgentsPaginator.ts b/clients/client-qconnect/src/pagination/ListAIAgentsPaginator.ts new file mode 100644 index 000000000000..22e0d6e0926a --- /dev/null +++ b/clients/client-qconnect/src/pagination/ListAIAgentsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListAIAgentsCommand, + ListAIAgentsCommandInput, + ListAIAgentsCommandOutput, +} from "../commands/ListAIAgentsCommand"; +import { QConnectClient } from "../QConnectClient"; +import { QConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListAIAgents: ( + config: QConnectPaginationConfiguration, + input: ListAIAgentsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + QConnectPaginationConfiguration, + ListAIAgentsCommandInput, + ListAIAgentsCommandOutput +>(QConnectClient, ListAIAgentsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-qconnect/src/pagination/ListAIPromptVersionsPaginator.ts b/clients/client-qconnect/src/pagination/ListAIPromptVersionsPaginator.ts new file mode 100644 index 000000000000..806b0e83003e --- /dev/null +++ b/clients/client-qconnect/src/pagination/ListAIPromptVersionsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListAIPromptVersionsCommand, + ListAIPromptVersionsCommandInput, + ListAIPromptVersionsCommandOutput, +} from "../commands/ListAIPromptVersionsCommand"; +import { QConnectClient } from "../QConnectClient"; +import { QConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListAIPromptVersions: ( + config: QConnectPaginationConfiguration, + input: ListAIPromptVersionsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + QConnectPaginationConfiguration, + ListAIPromptVersionsCommandInput, + ListAIPromptVersionsCommandOutput +>(QConnectClient, ListAIPromptVersionsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-qconnect/src/pagination/ListAIPromptsPaginator.ts b/clients/client-qconnect/src/pagination/ListAIPromptsPaginator.ts new file mode 100644 index 000000000000..0244a1753709 --- /dev/null +++ b/clients/client-qconnect/src/pagination/ListAIPromptsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListAIPromptsCommand, + ListAIPromptsCommandInput, + ListAIPromptsCommandOutput, +} from "../commands/ListAIPromptsCommand"; +import { QConnectClient } from "../QConnectClient"; +import { QConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListAIPrompts: ( + config: QConnectPaginationConfiguration, + input: ListAIPromptsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + QConnectPaginationConfiguration, + ListAIPromptsCommandInput, + ListAIPromptsCommandOutput +>(QConnectClient, ListAIPromptsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-qconnect/src/pagination/index.ts b/clients/client-qconnect/src/pagination/index.ts index 01ebe3b95648..871cbbb54455 100644 --- a/clients/client-qconnect/src/pagination/index.ts +++ b/clients/client-qconnect/src/pagination/index.ts @@ -1,5 +1,9 @@ // smithy-typescript generated code export * from "./Interfaces"; +export * from "./ListAIAgentVersionsPaginator"; +export * from "./ListAIAgentsPaginator"; +export * from "./ListAIPromptVersionsPaginator"; +export * from "./ListAIPromptsPaginator"; export * from "./ListAssistantAssociationsPaginator"; export * from "./ListAssistantsPaginator"; export * from "./ListContentAssociationsPaginator"; diff --git a/clients/client-qconnect/src/protocols/Aws_restJson1.ts b/clients/client-qconnect/src/protocols/Aws_restJson1.ts index 424402459be5..b5d83fdb4223 100644 --- a/clients/client-qconnect/src/protocols/Aws_restJson1.ts +++ b/clients/client-qconnect/src/protocols/Aws_restJson1.ts @@ -12,6 +12,7 @@ import { collectBody, decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, + expectLong as __expectLong, expectNonNull as __expectNonNull, expectNumber as __expectNumber, expectObject as __expectObject, @@ -31,6 +32,16 @@ import { } from "@smithy/types"; import { v4 as generateIdempotencyToken } from "uuid"; +import { CreateAIAgentCommandInput, CreateAIAgentCommandOutput } from "../commands/CreateAIAgentCommand"; +import { + CreateAIAgentVersionCommandInput, + CreateAIAgentVersionCommandOutput, +} from "../commands/CreateAIAgentVersionCommand"; +import { CreateAIPromptCommandInput, CreateAIPromptCommandOutput } from "../commands/CreateAIPromptCommand"; +import { + CreateAIPromptVersionCommandInput, + CreateAIPromptVersionCommandOutput, +} from "../commands/CreateAIPromptVersionCommand"; import { CreateAssistantAssociationCommandInput, CreateAssistantAssociationCommandOutput, @@ -50,6 +61,16 @@ import { CreateQuickResponseCommandOutput, } from "../commands/CreateQuickResponseCommand"; import { CreateSessionCommandInput, CreateSessionCommandOutput } from "../commands/CreateSessionCommand"; +import { DeleteAIAgentCommandInput, DeleteAIAgentCommandOutput } from "../commands/DeleteAIAgentCommand"; +import { + DeleteAIAgentVersionCommandInput, + DeleteAIAgentVersionCommandOutput, +} from "../commands/DeleteAIAgentVersionCommand"; +import { DeleteAIPromptCommandInput, DeleteAIPromptCommandOutput } from "../commands/DeleteAIPromptCommand"; +import { + DeleteAIPromptVersionCommandInput, + DeleteAIPromptVersionCommandOutput, +} from "../commands/DeleteAIPromptVersionCommand"; import { DeleteAssistantAssociationCommandInput, DeleteAssistantAssociationCommandOutput, @@ -69,6 +90,8 @@ import { DeleteQuickResponseCommandInput, DeleteQuickResponseCommandOutput, } from "../commands/DeleteQuickResponseCommand"; +import { GetAIAgentCommandInput, GetAIAgentCommandOutput } from "../commands/GetAIAgentCommand"; +import { GetAIPromptCommandInput, GetAIPromptCommandOutput } from "../commands/GetAIPromptCommand"; import { GetAssistantAssociationCommandInput, GetAssistantAssociationCommandOutput, @@ -85,6 +108,16 @@ import { GetKnowledgeBaseCommandInput, GetKnowledgeBaseCommandOutput } from "../ import { GetQuickResponseCommandInput, GetQuickResponseCommandOutput } from "../commands/GetQuickResponseCommand"; import { GetRecommendationsCommandInput, GetRecommendationsCommandOutput } from "../commands/GetRecommendationsCommand"; import { GetSessionCommandInput, GetSessionCommandOutput } from "../commands/GetSessionCommand"; +import { ListAIAgentsCommandInput, ListAIAgentsCommandOutput } from "../commands/ListAIAgentsCommand"; +import { + ListAIAgentVersionsCommandInput, + ListAIAgentVersionsCommandOutput, +} from "../commands/ListAIAgentVersionsCommand"; +import { ListAIPromptsCommandInput, ListAIPromptsCommandOutput } from "../commands/ListAIPromptsCommand"; +import { + ListAIPromptVersionsCommandInput, + ListAIPromptVersionsCommandOutput, +} from "../commands/ListAIPromptVersionsCommand"; import { ListAssistantAssociationsCommandInput, ListAssistantAssociationsCommandOutput, @@ -108,6 +141,10 @@ import { } from "../commands/NotifyRecommendationsReceivedCommand"; import { PutFeedbackCommandInput, PutFeedbackCommandOutput } from "../commands/PutFeedbackCommand"; import { QueryAssistantCommandInput, QueryAssistantCommandOutput } from "../commands/QueryAssistantCommand"; +import { + RemoveAssistantAIAgentCommandInput, + RemoveAssistantAIAgentCommandOutput, +} from "../commands/RemoveAssistantAIAgentCommand"; import { RemoveKnowledgeBaseTemplateUriCommandInput, RemoveKnowledgeBaseTemplateUriCommandOutput, @@ -122,6 +159,12 @@ import { StartContentUploadCommandInput, StartContentUploadCommandOutput } from import { StartImportJobCommandInput, StartImportJobCommandOutput } from "../commands/StartImportJobCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { UpdateAIAgentCommandInput, UpdateAIAgentCommandOutput } from "../commands/UpdateAIAgentCommand"; +import { UpdateAIPromptCommandInput, UpdateAIPromptCommandOutput } from "../commands/UpdateAIPromptCommand"; +import { + UpdateAssistantAIAgentCommandInput, + UpdateAssistantAIAgentCommandOutput, +} from "../commands/UpdateAssistantAIAgentCommand"; import { UpdateContentCommandInput, UpdateContentCommandOutput } from "../commands/UpdateContentCommand"; import { UpdateKnowledgeBaseTemplateUriCommandInput, @@ -132,11 +175,27 @@ import { UpdateQuickResponseCommandOutput, } from "../commands/UpdateQuickResponseCommand"; import { UpdateSessionCommandInput, UpdateSessionCommandOutput } from "../commands/UpdateSessionCommand"; +import { UpdateSessionDataCommandInput, UpdateSessionDataCommandOutput } from "../commands/UpdateSessionDataCommand"; import { AccessDeniedException, + AIAgentConfiguration, + AIAgentConfigurationData, + AIAgentData, + AIAgentSummary, + AIAgentType, + AIAgentVersionSummary, + AIPromptData, + AIPromptSummary, + AIPromptTemplateConfiguration, + AIPromptVersionSummary, AmazonConnectGuideAssociationData, + AnswerRecommendationAIAgentConfiguration, AppIntegrationsConfiguration, AssistantAssociationInputData, + AssociationConfiguration, + AssociationConfigurationData, + BedrockFoundationModelConfigurationForParsing, + ChunkingConfiguration, Configuration, ConflictException, ConnectConfiguration, @@ -148,16 +207,27 @@ import { DataSummary, ExternalSourceConfiguration, Filter, + FixedSizeChunkingConfiguration, GenerativeContentFeedbackData, GenerativeDataDetails, GroupingConfiguration, + HierarchicalChunkingConfiguration, + HierarchicalChunkingLevelConfiguration, ImportJobData, ImportJobSummary, + IntentInputData, + KnowledgeBaseAssociationConfigurationData, KnowledgeBaseData, + ManagedSourceConfiguration, + ManualSearchAIAgentConfiguration, OrCondition, + ParsingConfiguration, + ParsingPrompt, PreconditionFailedException, QueryCondition, QueryConditionItem, + QueryInputData, + QueryTextInputData, QuickResponseData, QuickResponseDataProvider, QuickResponseFilterField, @@ -172,19 +242,139 @@ import { RequestTimeoutException, ResourceNotFoundException, ResultData, + RuntimeSessionData, + RuntimeSessionDataValue, SearchExpression, + SeedUrl, + SemanticChunkingConfiguration, ServerSideEncryptionConfiguration, ServiceQuotaExceededException, SourceConfiguration, SourceContentDataDetails, TagCondition, TagFilter, + TextFullAIPromptEditTemplateConfiguration, ThrottlingException, TooManyTagsException, + UrlConfiguration, ValidationException, + VectorIngestionConfiguration, + WebCrawlerConfiguration, + WebCrawlerLimits, } from "../models/models_0"; import { QConnectServiceException as __BaseException } from "../models/QConnectServiceException"; +/** + * serializeAws_restJson1CreateAIAgentCommand + */ +export const se_CreateAIAgentCommand = async ( + input: CreateAIAgentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/assistants/{assistantId}/aiagents"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + let body: any; + body = JSON.stringify( + take(input, { + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + configuration: (_) => se_AIAgentConfiguration(_, context), + description: [], + name: [], + tags: (_) => _json(_), + type: [], + visibilityStatus: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CreateAIAgentVersionCommand + */ +export const se_CreateAIAgentVersionCommand = async ( + input: CreateAIAgentVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/assistants/{assistantId}/aiagents/{aiAgentId}/versions"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiAgentId", () => input.aiAgentId!, "{aiAgentId}", false); + let body: any; + body = JSON.stringify( + take(input, { + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + modifiedTime: (_) => _.getTime() / 1_000, + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CreateAIPromptCommand + */ +export const se_CreateAIPromptCommand = async ( + input: CreateAIPromptCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/assistants/{assistantId}/aiprompts"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + let body: any; + body = JSON.stringify( + take(input, { + apiFormat: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + description: [], + modelId: [], + name: [], + tags: (_) => _json(_), + templateConfiguration: (_) => _json(_), + templateType: [], + type: [], + visibilityStatus: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CreateAIPromptVersionCommand + */ +export const se_CreateAIPromptVersionCommand = async ( + input: CreateAIPromptVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/assistants/{assistantId}/aiprompts/{aiPromptId}/versions"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiPromptId", () => input.aiPromptId!, "{aiPromptId}", false); + let body: any; + body = JSON.stringify( + take(input, { + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + modifiedTime: (_) => _.getTime() / 1_000, + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateAssistantCommand */ @@ -317,6 +507,7 @@ export const se_CreateKnowledgeBaseCommand = async ( serverSideEncryptionConfiguration: (_) => _json(_), sourceConfiguration: (_) => _json(_), tags: (_) => _json(_), + vectorIngestionConfiguration: (_) => _json(_), }) ); b.m("POST").h(headers).b(body); @@ -372,6 +563,7 @@ export const se_CreateSessionCommand = async ( let body: any; body = JSON.stringify( take(input, { + aiAgentConfiguration: (_) => _json(_), clientToken: [true, (_) => _ ?? generateIdempotencyToken()], description: [], name: [], @@ -383,6 +575,76 @@ export const se_CreateSessionCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteAIAgentCommand + */ +export const se_DeleteAIAgentCommand = async ( + input: DeleteAIAgentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiagents/{aiAgentId}"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiAgentId", () => input.aiAgentId!, "{aiAgentId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1DeleteAIAgentVersionCommand + */ +export const se_DeleteAIAgentVersionCommand = async ( + input: DeleteAIAgentVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiagents/{aiAgentId}/versions/{versionNumber}"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiAgentId", () => input.aiAgentId!, "{aiAgentId}", false); + b.p("versionNumber", () => input.versionNumber!.toString(), "{versionNumber}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1DeleteAIPromptCommand + */ +export const se_DeleteAIPromptCommand = async ( + input: DeleteAIPromptCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiprompts/{aiPromptId}"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiPromptId", () => input.aiPromptId!, "{aiPromptId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1DeleteAIPromptVersionCommand + */ +export const se_DeleteAIPromptVersionCommand = async ( + input: DeleteAIPromptVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiprompts/{aiPromptId}/versions/{versionNumber}"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiPromptId", () => input.aiPromptId!, "{aiPromptId}", false); + b.p("versionNumber", () => input.versionNumber!.toString(), "{versionNumber}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteAssistantCommand */ @@ -501,6 +763,40 @@ export const se_DeleteQuickResponseCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetAIAgentCommand + */ +export const se_GetAIAgentCommand = async ( + input: GetAIAgentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiagents/{aiAgentId}"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiAgentId", () => input.aiAgentId!, "{aiAgentId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1GetAIPromptCommand + */ +export const se_GetAIPromptCommand = async ( + input: GetAIPromptCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiprompts/{aiPromptId}"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiPromptId", () => input.aiPromptId!, "{aiPromptId}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetAssistantCommand */ @@ -674,6 +970,92 @@ export const se_GetSessionCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListAIAgentsCommand + */ +export const se_ListAIAgentsCommand = async ( + input: ListAIAgentsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiagents"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + [_o]: [, input[_o]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1ListAIAgentVersionsCommand + */ +export const se_ListAIAgentVersionsCommand = async ( + input: ListAIAgentVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiagents/{aiAgentId}/versions"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiAgentId", () => input.aiAgentId!, "{aiAgentId}", false); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + [_o]: [, input[_o]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1ListAIPromptsCommand + */ +export const se_ListAIPromptsCommand = async ( + input: ListAIPromptsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiprompts"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + [_o]: [, input[_o]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1ListAIPromptVersionsCommand + */ +export const se_ListAIPromptVersionsCommand = async ( + input: ListAIPromptVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiprompts/{aiPromptId}/versions"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiPromptId", () => input.aiPromptId!, "{aiPromptId}", false); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + [_o]: [, input[_o]!], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListAssistantAssociationsCommand */ @@ -896,7 +1278,9 @@ export const se_QueryAssistantCommand = async ( take(input, { maxResults: [], nextToken: [], + overrideKnowledgeBaseSearchType: [], queryCondition: (_) => _json(_), + queryInputData: (_) => _json(_), queryText: [], sessionId: [], }) @@ -905,6 +1289,25 @@ export const se_QueryAssistantCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1RemoveAssistantAIAgentCommand + */ +export const se_RemoveAssistantAIAgentCommand = async ( + input: RemoveAssistantAIAgentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/assistants/{assistantId}/aiagentConfiguration"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + const query: any = map({ + [_aAT]: [, __expectNonNull(input[_aAT]!, `aiAgentType`)], + }); + let body: any; + b.m("DELETE").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1RemoveKnowledgeBaseTemplateUriCommand */ @@ -1097,29 +1500,107 @@ export const se_UntagResourceCommand = async ( }; /** - * serializeAws_restJson1UpdateContentCommand + * serializeAws_restJson1UpdateAIAgentCommand */ -export const se_UpdateContentCommand = async ( - input: UpdateContentCommandInput, +export const se_UpdateAIAgentCommand = async ( + input: UpdateAIAgentCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const b = rb(input, context); const headers: any = { "content-type": "application/json", }; - b.bp("/knowledgeBases/{knowledgeBaseId}/contents/{contentId}"); - b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); - b.p("contentId", () => input.contentId!, "{contentId}", false); + b.bp("/assistants/{assistantId}/aiagents/{aiAgentId}"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiAgentId", () => input.aiAgentId!, "{aiAgentId}", false); let body: any; body = JSON.stringify( take(input, { - metadata: (_) => _json(_), - overrideLinkOutUri: [], - removeOverrideLinkOutUri: [], - revisionId: [], - title: [], - uploadId: [], - }) + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + configuration: (_) => se_AIAgentConfiguration(_, context), + description: [], + visibilityStatus: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1UpdateAIPromptCommand + */ +export const se_UpdateAIPromptCommand = async ( + input: UpdateAIPromptCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/assistants/{assistantId}/aiprompts/{aiPromptId}"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("aiPromptId", () => input.aiPromptId!, "{aiPromptId}", false); + let body: any; + body = JSON.stringify( + take(input, { + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + description: [], + templateConfiguration: (_) => _json(_), + visibilityStatus: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1UpdateAssistantAIAgentCommand + */ +export const se_UpdateAssistantAIAgentCommand = async ( + input: UpdateAssistantAIAgentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/assistants/{assistantId}/aiagentConfiguration"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + let body: any; + body = JSON.stringify( + take(input, { + aiAgentType: [], + configuration: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1UpdateContentCommand + */ +export const se_UpdateContentCommand = async ( + input: UpdateContentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/knowledgeBases/{knowledgeBaseId}/contents/{contentId}"); + b.p("knowledgeBaseId", () => input.knowledgeBaseId!, "{knowledgeBaseId}", false); + b.p("contentId", () => input.contentId!, "{contentId}", false); + let body: any; + body = JSON.stringify( + take(input, { + metadata: (_) => _json(_), + overrideLinkOutUri: [], + removeOverrideLinkOutUri: [], + revisionId: [], + title: [], + uploadId: [], + }) ); b.m("POST").h(headers).b(body); return b.build(); @@ -1200,6 +1681,7 @@ export const se_UpdateSessionCommand = async ( let body: any; body = JSON.stringify( take(input, { + aiAgentConfiguration: (_) => _json(_), description: [], tagFilter: (_) => _json(_), }) @@ -1208,6 +1690,117 @@ export const se_UpdateSessionCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateSessionDataCommand + */ +export const se_UpdateSessionDataCommand = async ( + input: UpdateSessionDataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/assistants/{assistantId}/sessions/{sessionId}/data"); + b.p("assistantId", () => input.assistantId!, "{assistantId}", false); + b.p("sessionId", () => input.sessionId!, "{sessionId}", false); + let body: any; + body = JSON.stringify( + take(input, { + data: (_) => _json(_), + namespace: [], + }) + ); + b.m("PATCH").h(headers).b(body); + return b.build(); +}; + +/** + * deserializeAws_restJson1CreateAIAgentCommand + */ +export const de_CreateAIAgentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiAgent: (_) => de_AIAgentData(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1CreateAIAgentVersionCommand + */ +export const de_CreateAIAgentVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiAgent: (_) => de_AIAgentData(_, context), + versionNumber: __expectLong, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1CreateAIPromptCommand + */ +export const de_CreateAIPromptCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiPrompt: (_) => de_AIPromptData(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1CreateAIPromptVersionCommand + */ +export const de_CreateAIPromptVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiPrompt: (_) => de_AIPromptData(_, context), + versionNumber: __expectLong, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateAssistantCommand */ @@ -1355,6 +1948,74 @@ export const de_CreateSessionCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteAIAgentCommand + */ +export const de_DeleteAIAgentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteAIAgentVersionCommand + */ +export const de_DeleteAIAgentVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteAIPromptCommand + */ +export const de_DeleteAIPromptCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteAIPromptVersionCommand + */ +export const de_DeleteAIPromptVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DeleteAssistantCommand */ @@ -1474,6 +2135,50 @@ export const de_DeleteQuickResponseCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetAIAgentCommand + */ +export const de_GetAIAgentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiAgent: (_) => de_AIAgentData(_, context), + versionNumber: __expectLong, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1GetAIPromptCommand + */ +export const de_GetAIPromptCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiPrompt: (_) => de_AIPromptData(_, context), + versionNumber: __expectLong, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetAssistantCommand */ @@ -1685,6 +2390,94 @@ export const de_GetSessionCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListAIAgentsCommand + */ +export const de_ListAIAgentsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiAgentSummaries: (_) => de_AIAgentSummaryList(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListAIAgentVersionsCommand + */ +export const de_ListAIAgentVersionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiAgentVersionSummaries: (_) => de_AIAgentVersionSummariesList(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListAIPromptsCommand + */ +export const de_ListAIPromptsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiPromptSummaries: (_) => de_AIPromptSummaryList(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListAIPromptVersionsCommand + */ +export const de_ListAIPromptVersionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiPromptVersionSummaries: (_) => de_AIPromptVersionSummariesList(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListAssistantAssociationsCommand */ @@ -1929,6 +2722,23 @@ export const de_QueryAssistantCommand = async ( return contents; }; +/** + * deserializeAws_restJson1RemoveAssistantAIAgentCommand + */ +export const de_RemoveAssistantAIAgentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1RemoveKnowledgeBaseTemplateUriCommand */ @@ -2008,41 +2818,96 @@ export const de_SearchSessionsCommand = async ( nextToken: __expectString, sessionSummaries: _json, }); - Object.assign(contents, doc); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1StartContentUploadCommand + */ +export const de_StartContentUploadCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + headersToInclude: _json, + uploadId: __expectString, + url: __expectString, + urlExpiry: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1StartImportJobCommand + */ +export const de_StartImportJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + importJob: (_) => de_ImportJobData(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1TagResourceCommand + */ +export const de_TagResourceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); return contents; }; /** - * deserializeAws_restJson1StartContentUploadCommand + * deserializeAws_restJson1UntagResourceCommand */ -export const de_StartContentUploadCommand = async ( +export const de_UntagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - const doc = take(data, { - headersToInclude: _json, - uploadId: __expectString, - url: __expectString, - urlExpiry: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), - }); - Object.assign(contents, doc); + await collectBody(output.body, context); return contents; }; /** - * deserializeAws_restJson1StartImportJobCommand + * deserializeAws_restJson1UpdateAIAgentCommand */ -export const de_StartImportJobCommand = async ( +export const de_UpdateAIAgentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CommandError(output, context); } @@ -2051,43 +2916,51 @@ export const de_StartImportJobCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { - importJob: (_) => de_ImportJobData(_, context), + aiAgent: (_) => de_AIAgentData(_, context), }); Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1TagResourceCommand + * deserializeAws_restJson1UpdateAIPromptCommand */ -export const de_TagResourceCommand = async ( +export const de_UpdateAIPromptCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - await collectBody(output.body, context); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + aiPrompt: (_) => de_AIPromptData(_, context), + }); + Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1UntagResourceCommand + * deserializeAws_restJson1UpdateAssistantAIAgentCommand */ -export const de_UntagResourceCommand = async ( +export const de_UpdateAssistantAIAgentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { return de_CommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - await collectBody(output.body, context); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + assistant: _json, + }); + Object.assign(contents, doc); return contents; }; @@ -2175,6 +3048,30 @@ export const de_UpdateSessionCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateSessionDataCommand + */ +export const de_UpdateSessionDataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + data: _json, + namespace: __expectString, + sessionArn: __expectString, + sessionId: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserialize_Aws_restJson1CommandError */ @@ -2191,18 +3088,18 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "ConflictException": case "com.amazonaws.qconnect#ConflictException": throw await de_ConflictExceptionRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.qconnect#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.qconnect#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.qconnect#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.qconnect#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); case "ThrottlingException": case "com.amazonaws.qconnect#ThrottlingException": throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.qconnect#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); case "RequestTimeoutException": case "com.amazonaws.qconnect#RequestTimeoutException": throw await de_RequestTimeoutExceptionRes(parsedOutput, context); @@ -2396,16 +3293,45 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont return __decorateServiceException(exception, parsedOutput.body); }; +/** + * serializeAws_restJson1AIAgentConfiguration + */ +const se_AIAgentConfiguration = (input: AIAgentConfiguration, context: __SerdeContext): any => { + return AIAgentConfiguration.visit(input, { + answerRecommendationAIAgentConfiguration: (value) => ({ answerRecommendationAIAgentConfiguration: _json(value) }), + manualSearchAIAgentConfiguration: (value) => ({ manualSearchAIAgentConfiguration: _json(value) }), + _: (name, value) => ({ name: value } as any), + }); +}; + +// se_AIAgentConfigurationData omitted. + +// se_AIAgentConfigurationMap omitted. + +// se_AIPromptTemplateConfiguration omitted. + // se_AmazonConnectGuideAssociationData omitted. // se_AndConditions omitted. +// se_AnswerRecommendationAIAgentConfiguration omitted. + // se_AppIntegrationsConfiguration omitted. // se_AssistantAssociationInputData omitted. +// se_AssociationConfiguration omitted. + +// se_AssociationConfigurationData omitted. + +// se_AssociationConfigurationList omitted. + +// se_BedrockFoundationModelConfigurationForParsing omitted. + // se_Channels omitted. +// se_ChunkingConfiguration omitted. + // se_Configuration omitted. // se_ConnectConfiguration omitted. @@ -2424,24 +3350,48 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_FilterList omitted. +// se_FixedSizeChunkingConfiguration omitted. + // se_GenerativeContentFeedbackData omitted. // se_GroupingConfiguration omitted. // se_GroupingValues omitted. +// se_HierarchicalChunkingConfiguration omitted. + +// se_HierarchicalChunkingLevelConfiguration omitted. + +// se_HierarchicalChunkingLevelConfigurations omitted. + +// se_IntentInputData omitted. + +// se_KnowledgeBaseAssociationConfigurationData omitted. + +// se_ManagedSourceConfiguration omitted. + +// se_ManualSearchAIAgentConfiguration omitted. + // se_ObjectFieldsList omitted. // se_OrCondition omitted. // se_OrConditions omitted. +// se_ParsingConfiguration omitted. + +// se_ParsingPrompt omitted. + // se_QueryCondition omitted. // se_QueryConditionExpression omitted. // se_QueryConditionItem omitted. +// se_QueryInputData omitted. + +// se_QueryTextInputData omitted. + // se_QuickResponseDataProvider omitted. // se_QuickResponseFilterField omitted. @@ -2464,8 +3414,20 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_RenderingConfiguration omitted. +// se_RuntimeSessionData omitted. + +// se_RuntimeSessionDataList omitted. + +// se_RuntimeSessionDataValue omitted. + // se_SearchExpression omitted. +// se_SeedUrl omitted. + +// se_SeedUrls omitted. + +// se_SemanticChunkingConfiguration omitted. + // se_ServerSideEncryptionConfiguration omitted. // se_SourceConfiguration omitted. @@ -2476,10 +3438,204 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_Tags omitted. +// se_TextFullAIPromptEditTemplateConfiguration omitted. + +// se_UrlConfiguration omitted. + +// se_UrlFilterList omitted. + +// se_VectorIngestionConfiguration omitted. + +// se_WebCrawlerConfiguration omitted. + +// se_WebCrawlerLimits omitted. + +/** + * deserializeAws_restJson1AIAgentConfiguration + */ +const de_AIAgentConfiguration = (output: any, context: __SerdeContext): AIAgentConfiguration => { + if (output.answerRecommendationAIAgentConfiguration != null) { + return { + answerRecommendationAIAgentConfiguration: _json(output.answerRecommendationAIAgentConfiguration), + }; + } + if (output.manualSearchAIAgentConfiguration != null) { + return { + manualSearchAIAgentConfiguration: _json(output.manualSearchAIAgentConfiguration), + }; + } + return { $unknown: Object.entries(output)[0] }; +}; + +// de_AIAgentConfigurationData omitted. + +// de_AIAgentConfigurationMap omitted. + +/** + * deserializeAws_restJson1AIAgentData + */ +const de_AIAgentData = (output: any, context: __SerdeContext): AIAgentData => { + return take(output, { + aiAgentArn: __expectString, + aiAgentId: __expectString, + assistantArn: __expectString, + assistantId: __expectString, + configuration: (_: any) => de_AIAgentConfiguration(__expectUnion(_), context), + description: __expectString, + modifiedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + name: __expectString, + origin: __expectString, + status: __expectString, + tags: _json, + type: __expectString, + visibilityStatus: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1AIAgentSummary + */ +const de_AIAgentSummary = (output: any, context: __SerdeContext): AIAgentSummary => { + return take(output, { + aiAgentArn: __expectString, + aiAgentId: __expectString, + assistantArn: __expectString, + assistantId: __expectString, + configuration: (_: any) => de_AIAgentConfiguration(__expectUnion(_), context), + description: __expectString, + modifiedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + name: __expectString, + origin: __expectString, + status: __expectString, + tags: _json, + type: __expectString, + visibilityStatus: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1AIAgentSummaryList + */ +const de_AIAgentSummaryList = (output: any, context: __SerdeContext): AIAgentSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_AIAgentSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1AIAgentVersionSummariesList + */ +const de_AIAgentVersionSummariesList = (output: any, context: __SerdeContext): AIAgentVersionSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_AIAgentVersionSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1AIAgentVersionSummary + */ +const de_AIAgentVersionSummary = (output: any, context: __SerdeContext): AIAgentVersionSummary => { + return take(output, { + aiAgentSummary: (_: any) => de_AIAgentSummary(_, context), + versionNumber: __expectLong, + }) as any; +}; + +/** + * deserializeAws_restJson1AIPromptData + */ +const de_AIPromptData = (output: any, context: __SerdeContext): AIPromptData => { + return take(output, { + aiPromptArn: __expectString, + aiPromptId: __expectString, + apiFormat: __expectString, + assistantArn: __expectString, + assistantId: __expectString, + description: __expectString, + modelId: __expectString, + modifiedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + name: __expectString, + origin: __expectString, + status: __expectString, + tags: _json, + templateConfiguration: (_: any) => _json(__expectUnion(_)), + templateType: __expectString, + type: __expectString, + visibilityStatus: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1AIPromptSummary + */ +const de_AIPromptSummary = (output: any, context: __SerdeContext): AIPromptSummary => { + return take(output, { + aiPromptArn: __expectString, + aiPromptId: __expectString, + apiFormat: __expectString, + assistantArn: __expectString, + assistantId: __expectString, + description: __expectString, + modelId: __expectString, + modifiedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + name: __expectString, + origin: __expectString, + status: __expectString, + tags: _json, + templateType: __expectString, + type: __expectString, + visibilityStatus: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1AIPromptSummaryList + */ +const de_AIPromptSummaryList = (output: any, context: __SerdeContext): AIPromptSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_AIPromptSummary(entry, context); + }); + return retVal; +}; + +// de_AIPromptTemplateConfiguration omitted. + +/** + * deserializeAws_restJson1AIPromptVersionSummariesList + */ +const de_AIPromptVersionSummariesList = (output: any, context: __SerdeContext): AIPromptVersionSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_AIPromptVersionSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1AIPromptVersionSummary + */ +const de_AIPromptVersionSummary = (output: any, context: __SerdeContext): AIPromptVersionSummary => { + return take(output, { + aiPromptSummary: (_: any) => de_AIPromptSummary(_, context), + versionNumber: __expectLong, + }) as any; +}; + // de_AmazonConnectGuideAssociationData omitted. // de_AndConditions omitted. +// de_AnswerRecommendationAIAgentConfiguration omitted. + // de_AppIntegrationsConfiguration omitted. // de_AssistantAssociationData omitted. @@ -2500,8 +3656,20 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // de_AssistantSummary omitted. +// de_AssociationConfiguration omitted. + +// de_AssociationConfigurationData omitted. + +// de_AssociationConfigurationList omitted. + +// de_BedrockFoundationModelConfigurationForParsing omitted. + // de_Channels omitted. +// de_ChunkingConfiguration omitted. + +// de_CitationSpan omitted. + // de_Configuration omitted. // de_ConnectConfiguration omitted. @@ -2572,6 +3740,11 @@ const de_DataDetails = (output: any, context: __SerdeContext): DataDetails => { generativeData: de_GenerativeDataDetails(output.generativeData, context), }; } + if (output.intentDetectedData != null) { + return { + intentDetectedData: _json(output.intentDetectedData), + }; + } if (output.sourceContentData != null) { return { sourceContentData: de_SourceContentDataDetails(output.sourceContentData, context), @@ -2610,6 +3783,10 @@ const de_DataSummaryList = (output: any, context: __SerdeContext): DataSummary[] // de_ExternalSourceConfiguration omitted. +// de_FailureReason omitted. + +// de_FixedSizeChunkingConfiguration omitted. + // de_GenerativeContentFeedbackData omitted. /** @@ -2631,6 +3808,12 @@ const de_GenerativeDataDetails = (output: any, context: __SerdeContext): Generat // de_Headers omitted. +// de_HierarchicalChunkingConfiguration omitted. + +// de_HierarchicalChunkingLevelConfiguration omitted. + +// de_HierarchicalChunkingLevelConfigurations omitted. + // de_Highlight omitted. // de_Highlights omitted. @@ -2686,6 +3869,10 @@ const de_ImportJobSummary = (output: any, context: __SerdeContext): ImportJobSum }) as any; }; +// de_IntentDetectedDataDetails omitted. + +// de_KnowledgeBaseAssociationConfigurationData omitted. + // de_KnowledgeBaseAssociationData omitted. /** @@ -2694,6 +3881,8 @@ const de_ImportJobSummary = (output: any, context: __SerdeContext): ImportJobSum const de_KnowledgeBaseData = (output: any, context: __SerdeContext): KnowledgeBaseData => { return take(output, { description: __expectString, + ingestionFailureReasons: _json, + ingestionStatus: __expectString, knowledgeBaseArn: __expectString, knowledgeBaseId: __expectString, knowledgeBaseType: __expectString, @@ -2704,6 +3893,7 @@ const de_KnowledgeBaseData = (output: any, context: __SerdeContext): KnowledgeBa sourceConfiguration: (_: any) => _json(__expectUnion(_)), status: __expectString, tags: _json, + vectorIngestionConfiguration: _json, }) as any; }; @@ -2711,6 +3901,10 @@ const de_KnowledgeBaseData = (output: any, context: __SerdeContext): KnowledgeBa // de_KnowledgeBaseSummary omitted. +// de_ManagedSourceConfiguration omitted. + +// de_ManualSearchAIAgentConfiguration omitted. + // de_NotifyRecommendationsReceivedError omitted. // de_NotifyRecommendationsReceivedErrorList omitted. @@ -2721,6 +3915,10 @@ const de_KnowledgeBaseData = (output: any, context: __SerdeContext): KnowledgeBa // de_OrConditions omitted. +// de_ParsingConfiguration omitted. + +// de_ParsingPrompt omitted. + // de_QueryRecommendationTriggerData omitted. /** @@ -2898,6 +4096,18 @@ const de_ResultData = (output: any, context: __SerdeContext): ResultData => { }) as any; }; +// de_RuntimeSessionData omitted. + +// de_RuntimeSessionDataList omitted. + +// de_RuntimeSessionDataValue omitted. + +// de_SeedUrl omitted. + +// de_SeedUrls omitted. + +// de_SemanticChunkingConfiguration omitted. + // de_ServerSideEncryptionConfiguration omitted. // de_SessionData omitted. @@ -2915,6 +4125,7 @@ const de_ResultData = (output: any, context: __SerdeContext): ResultData => { */ const de_SourceContentDataDetails = (output: any, context: __SerdeContext): SourceContentDataDetails => { return take(output, { + citationSpan: _json, id: __expectString, rankingData: (_: any) => de_RankingData(_, context), textData: _json, @@ -2930,6 +4141,18 @@ const de_SourceContentDataDetails = (output: any, context: __SerdeContext): Sour // de_TextData omitted. +// de_TextFullAIPromptEditTemplateConfiguration omitted. + +// de_UrlConfiguration omitted. + +// de_UrlFilterList omitted. + +// de_VectorIngestionConfiguration omitted. + +// de_WebCrawlerConfiguration omitted. + +// de_WebCrawlerLimits omitted. + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, requestId: @@ -2942,7 +4165,9 @@ const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ const collectBodyString = (streamBody: any, context: __SerdeContext): Promise => collectBody(streamBody, context).then((body) => context.utf8Encoder(body)); +const _aAT = "aiAgentType"; const _mR = "maxResults"; const _nT = "nextToken"; +const _o = "origin"; const _tK = "tagKeys"; const _wTS = "waitTimeSeconds"; diff --git a/codegen/sdk-codegen/aws-models/qconnect.json b/codegen/sdk-codegen/aws-models/qconnect.json index 7c01641acb9e..368f18115374 100644 --- a/codegen/sdk-codegen/aws-models/qconnect.json +++ b/codegen/sdk-codegen/aws-models/qconnect.json @@ -1,190 +1,172 @@ { "smithy": "2.0", "shapes": { - "com.amazonaws.qconnect#AccessDeniedException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String" - } - }, - "traits": { - "smithy.api#documentation": "

    You do not have sufficient access to perform this action.

    ", - "smithy.api#error": "client", - "smithy.api#httpError": 403 - } - }, - "com.amazonaws.qconnect#AmazonConnectGuideAssociationData": { - "type": "structure", - "members": { - "flowId": { - "target": "com.amazonaws.qconnect#GenericArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an Amazon Connect flow. Step-by-step guides are a type of flow.

    " - } - } - }, - "traits": { - "smithy.api#documentation": "

    Content association data for a step-by-step\n guide.

    " - } - }, - "com.amazonaws.qconnect#AndConditions": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#TagCondition" - } - }, - "com.amazonaws.qconnect#AppIntegrationsConfiguration": { - "type": "structure", - "members": { - "appIntegrationArn": { - "target": "com.amazonaws.qconnect#GenericArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

    \n
      \n
    • \n

      For Salesforce, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least Id,\n ArticleNumber, VersionNumber, Title,\n PublishStatus, and IsDeleted as source fields.

      \n
    • \n
    • \n

      For ServiceNow, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least number,\n short_description, sys_mod_count, workflow_state,\n and active as source fields.

      \n
    • \n
    • \n

      For \n Zendesk, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least id,\n title, updated_at, and draft as source fields.\n

      \n
    • \n
    • \n

      For SharePoint, your AppIntegrations DataIntegration must have a FileConfiguration,\n including only file extensions that are among docx, pdf,\n html, htm, and txt.

      \n
    • \n
    • \n

      For Amazon S3, the\n ObjectConfiguration and FileConfiguration of your AppIntegrations DataIntegration must be null.\n The SourceURI of your DataIntegration must use the following format:\n s3://your_s3_bucket_name.

      \n \n

      The bucket policy of the corresponding S3 bucket must allow the Amazon Web Services\n principal app-integrations.amazonaws.com to perform\n s3:ListBucket, s3:GetObject, and\n s3:GetBucketLocation against the bucket.

      \n
      \n
    • \n
    ", - "smithy.api#required": {} - } - }, - "objectFields": { - "target": "com.amazonaws.qconnect#ObjectFieldsList", - "traits": { - "smithy.api#documentation": "

    The fields from the source that are made available to your agents in Amazon Q in Connect. Optional if\n ObjectConfiguration is included in the provided DataIntegration.

    \n
      \n
    • \n

      For Salesforce, you must include at least Id,\n ArticleNumber, VersionNumber, Title,\n PublishStatus, and IsDeleted.

      \n
    • \n
    • \n

      For ServiceNow, you must include at least number,\n short_description, sys_mod_count, workflow_state,\n and active.

      \n
    • \n
    • \n

      For \n Zendesk, you must include at least id, title,\n updated_at, and draft.

      \n
    • \n
    \n

    Make sure to include additional fields. These fields are indexed and used to source\n recommendations.

    " - } - } - }, - "traits": { - "smithy.api#documentation": "

    Configuration information for Amazon AppIntegrations to automatically ingest content.

    " - } - }, - "com.amazonaws.qconnect#Arn": { - "type": "string", - "traits": { - "smithy.api#pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" - } - }, - "com.amazonaws.qconnect#Assistant": { + "com.amazonaws.qconnect#AIAgent": { "type": "resource", "identifiers": { "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn" + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier" } }, "create": { - "target": "com.amazonaws.qconnect#CreateAssistant" + "target": "com.amazonaws.qconnect#CreateAIAgent" }, "read": { - "target": "com.amazonaws.qconnect#GetAssistant" + "target": "com.amazonaws.qconnect#GetAIAgent" + }, + "update": { + "target": "com.amazonaws.qconnect#UpdateAIAgent" }, "delete": { - "target": "com.amazonaws.qconnect#DeleteAssistant" + "target": "com.amazonaws.qconnect#DeleteAIAgent" }, "list": { - "target": "com.amazonaws.qconnect#ListAssistants" + "target": "com.amazonaws.qconnect#ListAIAgents" }, "operations": [ { - "target": "com.amazonaws.qconnect#GetRecommendations" - }, - { - "target": "com.amazonaws.qconnect#NotifyRecommendationsReceived" - }, - { - "target": "com.amazonaws.qconnect#PutFeedback" - }, - { - "target": "com.amazonaws.qconnect#QueryAssistant" + "target": "com.amazonaws.qconnect#CreateAIAgentVersion" }, { - "target": "com.amazonaws.qconnect#SearchSessions" - } - ], - "resources": [ - { - "target": "com.amazonaws.qconnect#AssistantAssociation" + "target": "com.amazonaws.qconnect#DeleteAIAgentVersion" }, { - "target": "com.amazonaws.qconnect#Session" + "target": "com.amazonaws.qconnect#ListAIAgentVersions" } ], "traits": { "aws.api#arn": { - "template": "assistant/{assistantId}" + "template": "ai-agent/{assistantId}/{aiAgentId}" }, - "aws.cloudformation#cfnResource": {}, "aws.iam#disableConditionKeyInference": {} } }, - "com.amazonaws.qconnect#AssistantAssociation": { - "type": "resource", - "identifiers": { - "assistantId": { - "target": "com.amazonaws.qconnect#UuidOrArn" + "com.amazonaws.qconnect#AIAgentAssociationConfigurationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "KNOWLEDGE_BASE", + "name": "KNOWLEDGE_BASE" + } + ] + } + }, + "com.amazonaws.qconnect#AIAgentConfiguration": { + "type": "union", + "members": { + "manualSearchAIAgentConfiguration": { + "target": "com.amazonaws.qconnect#ManualSearchAIAgentConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration for AI Agents of type MANUAL_SEARCH.

    " + } }, - "assistantAssociationId": { - "target": "com.amazonaws.qconnect#UuidOrArn" + "answerRecommendationAIAgentConfiguration": { + "target": "com.amazonaws.qconnect#AnswerRecommendationAIAgentConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration for AI Agents of type ANSWER_RECOMMENDATION.

    " + } } }, - "create": { - "target": "com.amazonaws.qconnect#CreateAssistantAssociation" - }, - "read": { - "target": "com.amazonaws.qconnect#GetAssistantAssociation" - }, - "delete": { - "target": "com.amazonaws.qconnect#DeleteAssistantAssociation" - }, - "list": { - "target": "com.amazonaws.qconnect#ListAssistantAssociations" + "traits": { + "smithy.api#documentation": "

    A typed union that specifies the configuration based on the type of AI Agent.

    " + } + }, + "com.amazonaws.qconnect#AIAgentConfigurationData": { + "type": "structure", + "members": { + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", + "traits": { + "smithy.api#documentation": "

    The ID of the AI Agent to be configured.

    ", + "smithy.api#required": {} + } + } }, "traits": { - "aws.api#arn": { - "template": "association/{assistantId}/{assistantAssociationId}" - }, - "aws.cloudformation#cfnResource": {}, - "aws.iam#disableConditionKeyInference": {} + "smithy.api#documentation": "

    A type that specifies the AI Agent ID configuration data when mapping an AI Agents to be\n used for an AI Agent type on a session or assistant.

    " } }, - "com.amazonaws.qconnect#AssistantAssociationData": { + "com.amazonaws.qconnect#AIAgentConfigurationMap": { + "type": "map", + "key": { + "target": "com.amazonaws.qconnect#AIAgentType" + }, + "value": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationData" + } + }, + "com.amazonaws.qconnect#AIAgentData": { "type": "structure", "members": { - "assistantAssociationId": { + "assistantId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the assistant association.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", "smithy.api#required": {} } }, - "assistantAssociationArn": { + "assistantArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the assistant association.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, - "assistantId": { + "aiAgentId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant.

    ", + "smithy.api#documentation": "

    The identifier of the AI Agent.

    ", "smithy.api#required": {} } }, - "assistantArn": { + "aiAgentArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AI agent.

    ", "smithy.api#required": {} } }, - "associationType": { - "target": "com.amazonaws.qconnect#AssociationType", + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

    The type of association.

    ", + "smithy.api#documentation": "

    The name of the AI Agent.

    ", "smithy.api#required": {} } }, - "associationData": { - "target": "com.amazonaws.qconnect#AssistantAssociationOutputData", + "type": { + "target": "com.amazonaws.qconnect#AIAgentType", "traits": { - "smithy.api#documentation": "

    A union type that currently has a single argument, the knowledge base ID.

    ", + "smithy.api#documentation": "

    The type of the AI Agent.

    ", + "smithy.api#required": {} + } + }, + "configuration": { + "target": "com.amazonaws.qconnect#AIAgentConfiguration", + "traits": { + "smithy.api#documentation": "

    Configuration for the AI Agent.

    ", + "smithy.api#required": {} + } + }, + "modifiedTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time the AI Agent was last modified.

    " + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description of the AI Agent.

    " + } + }, + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", + "traits": { + "smithy.api#documentation": "

    The visibility status of the AI Agent.

    ", "smithy.api#required": {} } }, @@ -193,148 +175,239 @@ "traits": { "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " } + }, + "origin": { + "target": "com.amazonaws.qconnect#Origin", + "traits": { + "smithy.api#documentation": "

    Specifies the origin of the AI Agent. SYSTEM for a default AI Agent created\n by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent creation\n APIs.

    " + } + }, + "status": { + "target": "com.amazonaws.qconnect#Status", + "traits": { + "smithy.api#documentation": "

    The status of the AI Agent.

    " + } } }, "traits": { - "smithy.api#documentation": "

    Information about the assistant association.

    ", + "smithy.api#documentation": "

    The data for the AI Agent.

    ", "smithy.api#references": [ { - "resource": "com.amazonaws.qconnect#AssistantAssociation" + "resource": "com.amazonaws.qconnect#AIAgent" } ] } }, - "com.amazonaws.qconnect#AssistantAssociationInputData": { - "type": "union", - "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", - "traits": { - "smithy.api#documentation": "

    The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

    " - } - } - }, - "traits": { - "smithy.api#documentation": "

    The data that is input into Amazon Q in Connect as a result of the assistant association.

    " - } - }, - "com.amazonaws.qconnect#AssistantAssociationOutputData": { - "type": "union", + "com.amazonaws.qconnect#AIAgentSummary": { + "type": "structure", "members": { - "knowledgeBaseAssociation": { - "target": "com.amazonaws.qconnect#KnowledgeBaseAssociationData", + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

    The knowledge base where output data is sent.

    " + "smithy.api#documentation": "

    The name of the AI Agent.

    ", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

    The data that is output as a result of the assistant association.

    " - } - }, - "com.amazonaws.qconnect#AssistantAssociationSummary": { - "type": "structure", - "members": { - "assistantAssociationId": { + }, + "assistantId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the assistant association.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", "smithy.api#required": {} } }, - "assistantAssociationArn": { + "assistantArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the assistant association.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, - "assistantId": { + "aiAgentId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant.

    ", + "smithy.api#documentation": "

    The identifier of the AI Agent.

    ", "smithy.api#required": {} } }, - "assistantArn": { - "target": "com.amazonaws.qconnect#Arn", + "type": { + "target": "com.amazonaws.qconnect#AIAgentType", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    ", + "smithy.api#documentation": "

    The type of the AI Agent.

    ", "smithy.api#required": {} } }, - "associationType": { - "target": "com.amazonaws.qconnect#AssociationType", + "aiAgentArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The type of association.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AI agent.

    ", "smithy.api#required": {} } }, - "associationData": { - "target": "com.amazonaws.qconnect#AssistantAssociationOutputData", + "modifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

    The association data.

    ", + "smithy.api#documentation": "

    The time the AI Agent was last modified.

    " + } + }, + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", + "traits": { + "smithy.api#documentation": "

    The visibility status of the AI Agent.

    ", "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "configuration": { + "target": "com.amazonaws.qconnect#AIAgentConfiguration", "traits": { - "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + "smithy.api#documentation": "

    The configuration for the AI Agent.

    " } - } - }, - "traits": { - "smithy.api#documentation": "

    Summary information about the assistant association.

    ", - "smithy.api#references": [ - { - "resource": "com.amazonaws.qconnect#AssistantAssociation" + }, + "origin": { + "target": "com.amazonaws.qconnect#Origin", + "traits": { + "smithy.api#documentation": "

    The origin of the AI Agent. SYSTEM for a default AI Agent created by Q in\n Connect or CUSTOMER for an AI Agent created by calling AI Agent creation\n APIs.

    " + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description of the AI Agent.

    " + } + }, + "status": { + "target": "com.amazonaws.qconnect#Status", + "traits": { + "smithy.api#documentation": "

    The status of the AI Agent.

    " + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The summary of the AI Agent.

    ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#AIAgent" } ] } }, - "com.amazonaws.qconnect#AssistantAssociationSummaryList": { + "com.amazonaws.qconnect#AIAgentSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#AssistantAssociationSummary" + "target": "com.amazonaws.qconnect#AIAgentSummary" } }, - "com.amazonaws.qconnect#AssistantCapabilityConfiguration": { + "com.amazonaws.qconnect#AIAgentType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "MANUAL_SEARCH", + "name": "MANUAL_SEARCH" + }, + { + "value": "ANSWER_RECOMMENDATION", + "name": "ANSWER_RECOMMENDATION" + } + ] + } + }, + "com.amazonaws.qconnect#AIAgentVersionSummariesList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#AIAgentVersionSummary" + } + }, + "com.amazonaws.qconnect#AIAgentVersionSummary": { "type": "structure", "members": { - "type": { - "target": "com.amazonaws.qconnect#AssistantCapabilityType", + "aiAgentSummary": { + "target": "com.amazonaws.qconnect#AIAgentSummary", "traits": { - "smithy.api#documentation": "

    The type of Amazon Q in Connect assistant capability.

    " + "smithy.api#documentation": "

    The data for the summary of the AI Agent version.

    " + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

    The version number for this AI Agent version.

    " } } }, "traits": { - "smithy.api#documentation": "

    The capability configuration for an Amazon Q in Connect assistant.

    " + "smithy.api#documentation": "

    The summary of the AI Agent version.

    " } }, - "com.amazonaws.qconnect#AssistantCapabilityType": { + "com.amazonaws.qconnect#AIPrompt": { + "type": "resource", + "identifiers": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier" + } + }, + "create": { + "target": "com.amazonaws.qconnect#CreateAIPrompt" + }, + "read": { + "target": "com.amazonaws.qconnect#GetAIPrompt" + }, + "update": { + "target": "com.amazonaws.qconnect#UpdateAIPrompt" + }, + "delete": { + "target": "com.amazonaws.qconnect#DeleteAIPrompt" + }, + "list": { + "target": "com.amazonaws.qconnect#ListAIPrompts" + }, + "operations": [ + { + "target": "com.amazonaws.qconnect#CreateAIPromptVersion" + }, + { + "target": "com.amazonaws.qconnect#DeleteAIPromptVersion" + }, + { + "target": "com.amazonaws.qconnect#ListAIPromptVersions" + } + ], + "traits": { + "aws.api#arn": { + "template": "ai-prompt/{assistantId}/{aiPromptId}" + }, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.qconnect#AIPromptAPIFormat": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "V1", - "name": "V1" + "value": "ANTHROPIC_CLAUDE_MESSAGES", + "name": "ANTHROPIC_CLAUDE_MESSAGES" }, { - "value": "V2", - "name": "V2" + "value": "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS", + "name": "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" } ] } }, - "com.amazonaws.qconnect#AssistantData": { + "com.amazonaws.qconnect#AIPromptData": { "type": "structure", "members": { "assistantId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", "smithy.api#required": {} } }, @@ -345,120 +418,132 @@ "smithy.api#required": {} } }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI prompt.

    ", + "smithy.api#required": {} + } + }, + "aiPromptArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AI Prompt.

    ", + "smithy.api#required": {} + } + }, "name": { "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

    The name.

    ", + "smithy.api#documentation": "

    The name of the AI Prompt

    ", "smithy.api#required": {} } }, "type": { - "target": "com.amazonaws.qconnect#AssistantType", + "target": "com.amazonaws.qconnect#AIPromptType", "traits": { - "smithy.api#documentation": "

    The type of assistant.

    ", + "smithy.api#documentation": "

    The type of this AI Prompt.

    ", "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.qconnect#AssistantStatus", + "templateType": { + "target": "com.amazonaws.qconnect#AIPromptTemplateType", "traits": { - "smithy.api#documentation": "

    The status of the assistant.

    ", + "smithy.api#documentation": "

    The type of the prompt template for this AI Prompt.

    ", + "smithy.api#required": {} + } + }, + "modelId": { + "target": "com.amazonaws.qconnect#AIPromptModelIdentifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the model used for this AI Prompt. Model Ids supported are:\n CLAUDE_3_HAIKU_20240307_V1.

    ", + "smithy.api#required": {} + } + }, + "apiFormat": { + "target": "com.amazonaws.qconnect#AIPromptAPIFormat", + "traits": { + "smithy.api#documentation": "

    The API format used for this AI Prompt.

    ", + "smithy.api#required": {} + } + }, + "templateConfiguration": { + "target": "com.amazonaws.qconnect#AIPromptTemplateConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration of the prompt template for this AI Prompt.

    ", "smithy.api#required": {} } }, + "modifiedTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time the AI Prompt was last modified.

    " + } + }, "description": { "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

    The description.

    " + "smithy.api#documentation": "

    The description of the AI Prompt.

    " } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + "smithy.api#documentation": "

    The visibility status of the AI Prompt.

    ", + "smithy.api#required": {} } }, - "serverSideEncryptionConfiguration": { - "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "tags": { + "target": "com.amazonaws.qconnect#Tags", "traits": { - "smithy.api#documentation": "

    The configuration information for the customer managed key used for encryption.

    \n

    This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect. To use Amazon Q in Connect with chat, the key policy must also allow\n kms:Decrypt, kms:GenerateDataKey*, and\n kms:DescribeKey permissions to the connect.amazonaws.com service\n principal.

    \n

    For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

    " + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " } }, - "integrationConfiguration": { - "target": "com.amazonaws.qconnect#AssistantIntegrationConfiguration", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant integration.

    " + "smithy.api#documentation": "

    The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in\n Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.\n

    " } }, - "capabilityConfiguration": { - "target": "com.amazonaws.qconnect#AssistantCapabilityConfiguration", + "status": { + "target": "com.amazonaws.qconnect#Status", "traits": { - "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant capability.

    " + "smithy.api#documentation": "

    The status of the AI Prompt.

    " } } }, "traits": { - "smithy.api#documentation": "

    The assistant data.

    " - } - }, - "com.amazonaws.qconnect#AssistantIntegrationConfiguration": { - "type": "structure", - "members": { - "topicIntegrationArn": { - "target": "com.amazonaws.qconnect#GenericArn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

    " + "smithy.api#documentation": "

    The data for the AI Prompt

    ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#AIPrompt" } - } - }, - "traits": { - "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant integration.

    " - } - }, - "com.amazonaws.qconnect#AssistantList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#AssistantSummary" + ] } }, - "com.amazonaws.qconnect#AssistantStatus": { + "com.amazonaws.qconnect#AIPromptModelIdentifier": { "type": "string", "traits": { - "smithy.api#enum": [ - { - "value": "CREATE_IN_PROGRESS", - "name": "CREATE_IN_PROGRESS" - }, - { - "value": "CREATE_FAILED", - "name": "CREATE_FAILED" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "DELETE_IN_PROGRESS", - "name": "DELETE_IN_PROGRESS" - }, - { - "value": "DELETE_FAILED", - "name": "DELETE_FAILED" - }, - { - "value": "DELETED", - "name": "DELETED" - } - ] + "smithy.api#length": { + "min": 1, + "max": 2048 + } } }, - "com.amazonaws.qconnect#AssistantSummary": { + "com.amazonaws.qconnect#AIPromptSummary": { "type": "structure", "members": { + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

    The name of the AI Prompt.

    ", + "smithy.api#required": {} + } + }, "assistantId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", "smithy.api#required": {} } }, @@ -469,127 +554,172 @@ "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.qconnect#Name", + "aiPromptId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The name of the assistant.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI prompt.

    ", "smithy.api#required": {} } }, "type": { - "target": "com.amazonaws.qconnect#AssistantType", + "target": "com.amazonaws.qconnect#AIPromptType", "traits": { - "smithy.api#documentation": "

    The type of the assistant.

    ", + "smithy.api#documentation": "

    The type of this AI Prompt.

    ", "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.qconnect#AssistantStatus", + "aiPromptArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The status of the assistant.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AI Prompt.

    ", "smithy.api#required": {} } }, - "description": { - "target": "com.amazonaws.qconnect#Description", + "modifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

    The description of the assistant.

    " + "smithy.api#documentation": "

    The time the AI Prompt was last modified.

    " } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "templateType": { + "target": "com.amazonaws.qconnect#AIPromptTemplateType", "traits": { - "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + "smithy.api#documentation": "

    The type of the prompt template for this AI Prompt.

    ", + "smithy.api#required": {} } }, - "serverSideEncryptionConfiguration": { - "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "modelId": { + "target": "com.amazonaws.qconnect#AIPromptModelIdentifier", "traits": { - "smithy.api#documentation": "

    The configuration information for the customer managed key used for encryption.

    \n

    This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect. To use Amazon Q in Connect with chat, the key policy must also allow\n kms:Decrypt, kms:GenerateDataKey*, and\n kms:DescribeKey permissions to the connect.amazonaws.com service\n principal.

    \n

    For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

    " + "smithy.api#documentation": "

    The identifier of the model used for this AI Prompt. Model Ids supported are:\n CLAUDE_3_HAIKU_20240307_V1.

    ", + "smithy.api#required": {} } }, - "integrationConfiguration": { - "target": "com.amazonaws.qconnect#AssistantIntegrationConfiguration", + "apiFormat": { + "target": "com.amazonaws.qconnect#AIPromptAPIFormat", "traits": { - "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant integration.

    " + "smithy.api#documentation": "

    The API format used for this AI Prompt.

    ", + "smithy.api#required": {} } }, - "capabilityConfiguration": { - "target": "com.amazonaws.qconnect#AssistantCapabilityConfiguration", + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant capability.

    " + "smithy.api#documentation": "

    The visibility status of the AI Prompt.

    ", + "smithy.api#required": {} + } + }, + "origin": { + "target": "com.amazonaws.qconnect#Origin", + "traits": { + "smithy.api#documentation": "

    The origin of the AI Prompt. SYSTEM for a default AI Prompt created by Q in\n Connect or CUSTOMER for an AI Prompt created by calling AI Prompt creation APIs.\n

    " + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description of the AI Prompt.

    " + } + }, + "status": { + "target": "com.amazonaws.qconnect#Status", + "traits": { + "smithy.api#documentation": "

    The status of the AI Prompt.

    " + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " } } }, "traits": { - "smithy.api#documentation": "

    Summary information about the assistant.

    " + "smithy.api#documentation": "

    The summary of the AI Prompt.

    ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#AIPrompt" + } + ] } }, - "com.amazonaws.qconnect#AssistantType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "AGENT", - "name": "AGENT" + "com.amazonaws.qconnect#AIPromptSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#AIPromptSummary" + } + }, + "com.amazonaws.qconnect#AIPromptTemplateConfiguration": { + "type": "union", + "members": { + "textFullAIPromptEditTemplateConfiguration": { + "target": "com.amazonaws.qconnect#TextFullAIPromptEditTemplateConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration for a prompt template that supports full textual prompt configuration\n using a YAML prompt.

    " } - ] + } + }, + "traits": { + "smithy.api#documentation": "

    A typed union that specifies the configuration for a prompt template based on its\n type.

    " } }, - "com.amazonaws.qconnect#AssociationType": { + "com.amazonaws.qconnect#AIPromptTemplateType": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "KNOWLEDGE_BASE", - "name": "KNOWLEDGE_BASE" + "value": "TEXT", + "name": "TEXT" } ] } }, - "com.amazonaws.qconnect#Channel": { + "com.amazonaws.qconnect#AIPromptType": { "type": "string", "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - }, - "smithy.api#sensitive": {} + "smithy.api#enum": [ + { + "value": "ANSWER_GENERATION", + "name": "ANSWER_GENERATION" + }, + { + "value": "INTENT_LABELING_GENERATION", + "name": "INTENT_LABELING_GENERATION" + }, + { + "value": "QUERY_REFORMULATION", + "name": "QUERY_REFORMULATION" + } + ] } }, - "com.amazonaws.qconnect#Channels": { + "com.amazonaws.qconnect#AIPromptVersionSummariesList": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#Channel" - }, - "traits": { - "smithy.api#uniqueItems": {} - } - }, - "com.amazonaws.qconnect#ClientToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 4096 - } + "target": "com.amazonaws.qconnect#AIPromptVersionSummary" } }, - "com.amazonaws.qconnect#Configuration": { - "type": "union", + "com.amazonaws.qconnect#AIPromptVersionSummary": { + "type": "structure", "members": { - "connectConfiguration": { - "target": "com.amazonaws.qconnect#ConnectConfiguration", + "aiPromptSummary": { + "target": "com.amazonaws.qconnect#AIPromptSummary", "traits": { - "smithy.api#documentation": "

    The configuration information of the Amazon Connect data source.

    " + "smithy.api#documentation": "

    The date for the summary of the AI Prompt version.

    " + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

    The version number for this AI Prompt version.

    " } } }, "traits": { - "smithy.api#documentation": "

    The configuration information of the external data source.

    " + "smithy.api#documentation": "

    The summary of the AI Prompt version.

    " } }, - "com.amazonaws.qconnect#ConflictException": { + "com.amazonaws.qconnect#AccessDeniedException": { "type": "structure", "members": { "message": { @@ -597,197 +727,226 @@ } }, "traits": { - "smithy.api#documentation": "

    The request could not be processed because of conflict in the current state of the\n resource. For example, if you're using a Create API (such as\n CreateAssistant) that accepts name, a conflicting resource (usually with the\n same name) is being created or mutated.

    ", + "smithy.api#documentation": "

    You do not have sufficient access to perform this action.

    ", "smithy.api#error": "client", - "smithy.api#httpError": 409 + "smithy.api#httpError": 403 } }, - "com.amazonaws.qconnect#ConnectConfiguration": { + "com.amazonaws.qconnect#AmazonConnectGuideAssociationData": { "type": "structure", "members": { - "instanceId": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "flowId": { + "target": "com.amazonaws.qconnect#GenericArn", "traits": { - "smithy.api#documentation": "

    The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of an Amazon Connect flow. Step-by-step guides are a type of flow.

    " } } }, "traits": { - "smithy.api#documentation": "

    The configuration information of the Amazon Connect data source.

    " + "smithy.api#documentation": "

    Content association data for a step-by-step\n guide.

    " } }, - "com.amazonaws.qconnect#ContactAttributeKey": { - "type": "string" - }, - "com.amazonaws.qconnect#ContactAttributeKeys": { + "com.amazonaws.qconnect#AndConditions": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#ContactAttributeKey" + "target": "com.amazonaws.qconnect#TagCondition" + } + }, + "com.amazonaws.qconnect#AnswerRecommendationAIAgentConfiguration": { + "type": "structure", + "members": { + "intentLabelingGenerationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", + "traits": { + "smithy.api#documentation": "

    The AI Prompt identifier for the Intent Labeling prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

    " + } + }, + "queryReformulationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", + "traits": { + "smithy.api#documentation": "

    The AI Prompt identifier for the Query Reformulation prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

    " + } + }, + "answerGenerationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", + "traits": { + "smithy.api#documentation": "

    The AI Prompt identifier for the Answer Generation prompt used by the\n ANSWER_RECOMMENDATION AI Agent.

    " + } + }, + "associationConfigurations": { + "target": "com.amazonaws.qconnect#AssociationConfigurationList", + "traits": { + "smithy.api#documentation": "

    The association configurations for overriding behavior on this AI Agent.

    " + } + } }, "traits": { - "smithy.api#sensitive": {}, - "smithy.api#uniqueItems": {} + "smithy.api#documentation": "

    The configuration for the ANSWER_RECOMMENDATION AI Agent type.

    " } }, - "com.amazonaws.qconnect#ContactAttributeValue": { - "type": "string" - }, - "com.amazonaws.qconnect#ContactAttributes": { - "type": "map", - "key": { - "target": "com.amazonaws.qconnect#ContactAttributeKey" - }, - "value": { - "target": "com.amazonaws.qconnect#ContactAttributeValue" + "com.amazonaws.qconnect#AppIntegrationsConfiguration": { + "type": "structure", + "members": { + "appIntegrationArn": { + "target": "com.amazonaws.qconnect#GenericArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the AppIntegrations DataIntegration to use for ingesting content.

    \n
      \n
    • \n

      For Salesforce, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least Id,\n ArticleNumber, VersionNumber, Title,\n PublishStatus, and IsDeleted as source fields.

      \n
    • \n
    • \n

      For ServiceNow, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least number,\n short_description, sys_mod_count, workflow_state,\n and active as source fields.

      \n
    • \n
    • \n

      For \n Zendesk, your AppIntegrations DataIntegration must have an ObjectConfiguration if\n objectFields is not provided, including at least id,\n title, updated_at, and draft as source fields.\n

      \n
    • \n
    • \n

      For SharePoint, your AppIntegrations DataIntegration must have a FileConfiguration,\n including only file extensions that are among docx, pdf,\n html, htm, and txt.

      \n
    • \n
    • \n

      For Amazon S3, the\n ObjectConfiguration and FileConfiguration of your AppIntegrations DataIntegration must be null.\n The SourceURI of your DataIntegration must use the following format:\n s3://your_s3_bucket_name.

      \n \n

      The bucket policy of the corresponding S3 bucket must allow the Amazon Web Services\n principal app-integrations.amazonaws.com to perform\n s3:ListBucket, s3:GetObject, and\n s3:GetBucketLocation against the bucket.

      \n
      \n
    • \n
    ", + "smithy.api#required": {} + } + }, + "objectFields": { + "target": "com.amazonaws.qconnect#ObjectFieldsList", + "traits": { + "smithy.api#documentation": "

    The fields from the source that are made available to your agents in Amazon Q in Connect. Optional if\n ObjectConfiguration is included in the provided DataIntegration.

    \n
      \n
    • \n

      For Salesforce, you must include at least Id,\n ArticleNumber, VersionNumber, Title,\n PublishStatus, and IsDeleted.

      \n
    • \n
    • \n

      For ServiceNow, you must include at least number,\n short_description, sys_mod_count, workflow_state,\n and active.

      \n
    • \n
    • \n

      For \n Zendesk, you must include at least id, title,\n updated_at, and draft.

      \n
    • \n
    \n

    Make sure to include additional fields. These fields are indexed and used to source\n recommendations.

    " + } + } }, "traits": { - "smithy.api#sensitive": {} + "smithy.api#documentation": "

    Configuration information for Amazon AppIntegrations to automatically ingest content.

    " } }, - "com.amazonaws.qconnect#Content": { + "com.amazonaws.qconnect#Arn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" + } + }, + "com.amazonaws.qconnect#Assistant": { "type": "resource", "identifiers": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn" - }, - "contentId": { + "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn" } }, "create": { - "target": "com.amazonaws.qconnect#CreateContent" + "target": "com.amazonaws.qconnect#CreateAssistant" }, "read": { - "target": "com.amazonaws.qconnect#GetContent" - }, - "update": { - "target": "com.amazonaws.qconnect#UpdateContent" + "target": "com.amazonaws.qconnect#GetAssistant" }, "delete": { - "target": "com.amazonaws.qconnect#DeleteContent" + "target": "com.amazonaws.qconnect#DeleteAssistant" }, "list": { - "target": "com.amazonaws.qconnect#ListContents" + "target": "com.amazonaws.qconnect#ListAssistants" }, "operations": [ { - "target": "com.amazonaws.qconnect#GetContentSummary" + "target": "com.amazonaws.qconnect#GetRecommendations" + }, + { + "target": "com.amazonaws.qconnect#NotifyRecommendationsReceived" + }, + { + "target": "com.amazonaws.qconnect#PutFeedback" + }, + { + "target": "com.amazonaws.qconnect#QueryAssistant" + }, + { + "target": "com.amazonaws.qconnect#RemoveAssistantAIAgent" + }, + { + "target": "com.amazonaws.qconnect#SearchSessions" + }, + { + "target": "com.amazonaws.qconnect#UpdateAssistantAIAgent" } ], "resources": [ { - "target": "com.amazonaws.qconnect#ContentAssociation" + "target": "com.amazonaws.qconnect#AIAgent" + }, + { + "target": "com.amazonaws.qconnect#AIPrompt" + }, + { + "target": "com.amazonaws.qconnect#AssistantAssociation" + }, + { + "target": "com.amazonaws.qconnect#Session" } ], "traits": { "aws.api#arn": { - "template": "content/{knowledgeBaseId}/{contentId}" + "template": "assistant/{assistantId}" }, + "aws.cloudformation#cfnResource": {}, "aws.iam#disableConditionKeyInference": {} } }, - "com.amazonaws.qconnect#ContentAssociation": { + "com.amazonaws.qconnect#AssistantAssociation": { "type": "resource", "identifiers": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#UuidOrArn" - }, - "contentId": { + "assistantId": { "target": "com.amazonaws.qconnect#UuidOrArn" }, - "contentAssociationId": { + "assistantAssociationId": { "target": "com.amazonaws.qconnect#UuidOrArn" } }, "create": { - "target": "com.amazonaws.qconnect#CreateContentAssociation" + "target": "com.amazonaws.qconnect#CreateAssistantAssociation" }, "read": { - "target": "com.amazonaws.qconnect#GetContentAssociation" + "target": "com.amazonaws.qconnect#GetAssistantAssociation" }, "delete": { - "target": "com.amazonaws.qconnect#DeleteContentAssociation" + "target": "com.amazonaws.qconnect#DeleteAssistantAssociation" }, "list": { - "target": "com.amazonaws.qconnect#ListContentAssociations" + "target": "com.amazonaws.qconnect#ListAssistantAssociations" }, "traits": { "aws.api#arn": { - "template": "content-association/{knowledgeBaseId}/{contentId}/{contentAssociationId}" + "template": "association/{assistantId}/{assistantAssociationId}" }, + "aws.cloudformation#cfnResource": {}, "aws.iam#disableConditionKeyInference": {} } }, - "com.amazonaws.qconnect#ContentAssociationContents": { - "type": "union", - "members": { - "amazonConnectGuideAssociation": { - "target": "com.amazonaws.qconnect#AmazonConnectGuideAssociationData", - "traits": { - "smithy.api#documentation": "

    The data of the step-by-step guide association.

    " - } - } - }, - "traits": { - "smithy.api#documentation": "

    The contents of a content association.

    " - } - }, - "com.amazonaws.qconnect#ContentAssociationData": { + "com.amazonaws.qconnect#AssistantAssociationData": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", - "traits": { - "smithy.api#documentation": "

    The identifier of the knowledge base.

    ", - "smithy.api#required": {} - } - }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", - "smithy.api#required": {} - } - }, - "contentId": { + "assistantAssociationId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the content.

    ", + "smithy.api#documentation": "

    The identifier of the assistant association.

    ", "smithy.api#required": {} } }, - "contentArn": { + "assistantAssociationArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the assistant association.

    ", "smithy.api#required": {} } }, - "contentAssociationId": { + "assistantId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, - "contentAssociationArn": { + "assistantArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content association.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, "associationType": { - "target": "com.amazonaws.qconnect#ContentAssociationType", + "target": "com.amazonaws.qconnect#AssociationType", "traits": { "smithy.api#documentation": "

    The type of association.

    ", "smithy.api#required": {} } }, "associationData": { - "target": "com.amazonaws.qconnect#ContentAssociationContents", + "target": "com.amazonaws.qconnect#AssistantAssociationOutputData", "traits": { - "smithy.api#documentation": "

    The content association.

    ", + "smithy.api#documentation": "

    A union type that currently has a single argument, the knowledge base ID.

    ", "smithy.api#required": {} } }, @@ -799,70 +958,84 @@ } }, "traits": { - "smithy.api#documentation": "

    Information about the content association.

    ", + "smithy.api#documentation": "

    Information about the assistant association.

    ", "smithy.api#references": [ { - "resource": "com.amazonaws.qconnect#ContentAssociation" + "resource": "com.amazonaws.qconnect#AssistantAssociation" } ] } }, - "com.amazonaws.qconnect#ContentAssociationSummary": { - "type": "structure", - "members": { + "com.amazonaws.qconnect#AssistantAssociationInputData": { + "type": "union", + "members": { "knowledgeBaseId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the knowledge base.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

    " } - }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + } + }, + "traits": { + "smithy.api#documentation": "

    The data that is input into Amazon Q in Connect as a result of the assistant association.

    " + } + }, + "com.amazonaws.qconnect#AssistantAssociationOutputData": { + "type": "union", + "members": { + "knowledgeBaseAssociation": { + "target": "com.amazonaws.qconnect#KnowledgeBaseAssociationData", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The knowledge base where output data is sent.

    " } - }, - "contentId": { + } + }, + "traits": { + "smithy.api#documentation": "

    The data that is output as a result of the assistant association.

    " + } + }, + "com.amazonaws.qconnect#AssistantAssociationSummary": { + "type": "structure", + "members": { + "assistantAssociationId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the content.

    ", + "smithy.api#documentation": "

    The identifier of the assistant association.

    ", "smithy.api#required": {} } }, - "contentArn": { + "assistantAssociationArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the assistant association.

    ", "smithy.api#required": {} } }, - "contentAssociationId": { + "assistantId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, - "contentAssociationArn": { + "assistantArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content association.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, "associationType": { - "target": "com.amazonaws.qconnect#ContentAssociationType", + "target": "com.amazonaws.qconnect#AssociationType", "traits": { "smithy.api#documentation": "

    The type of association.

    ", "smithy.api#required": {} } }, "associationData": { - "target": "com.amazonaws.qconnect#ContentAssociationContents", + "target": "com.amazonaws.qconnect#AssistantAssociationOutputData", "traits": { - "smithy.api#documentation": "

    The content association.

    ", + "smithy.api#documentation": "

    The association data.

    ", "smithy.api#required": {} } }, @@ -874,332 +1047,1458 @@ } }, "traits": { - "smithy.api#documentation": "

    Summary information about a content association.

    ", + "smithy.api#documentation": "

    Summary information about the assistant association.

    ", "smithy.api#references": [ { - "resource": "com.amazonaws.qconnect#ContentAssociation" + "resource": "com.amazonaws.qconnect#AssistantAssociation" } ] } }, - "com.amazonaws.qconnect#ContentAssociationSummaryList": { + "com.amazonaws.qconnect#AssistantAssociationSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.qconnect#ContentAssociationSummary" + "target": "com.amazonaws.qconnect#AssistantAssociationSummary" } }, - "com.amazonaws.qconnect#ContentAssociationType": { + "com.amazonaws.qconnect#AssistantCapabilityConfiguration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.qconnect#AssistantCapabilityType", + "traits": { + "smithy.api#documentation": "

    The type of Amazon Q in Connect assistant capability.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The capability configuration for an Amazon Q in Connect assistant.

    " + } + }, + "com.amazonaws.qconnect#AssistantCapabilityType": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "AMAZON_CONNECT_GUIDE", - "name": "AMAZON_CONNECT_GUIDE" + "value": "V1", + "name": "V1" + }, + { + "value": "V2", + "name": "V2" } ] } }, - "com.amazonaws.qconnect#ContentData": { + "com.amazonaws.qconnect#AssistantData": { "type": "structure", "members": { - "contentArn": { - "target": "com.amazonaws.qconnect#Arn", - "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    ", - "smithy.api#required": {} - } - }, - "contentId": { + "assistantId": { "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    The identifier of the content.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, - "knowledgeBaseArn": { + "assistantArn": { "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", - "smithy.api#required": {} - } - }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", - "traits": { - "smithy.api#documentation": "

    The identifier of the knowledge base.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, "name": { "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

    The name of the content.

    ", + "smithy.api#documentation": "

    The name.

    ", "smithy.api#required": {} } }, - "revisionId": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "type": { + "target": "com.amazonaws.qconnect#AssistantType", "traits": { - "smithy.api#documentation": "

    The identifier of the content revision.

    ", + "smithy.api#documentation": "

    The type of assistant.

    ", "smithy.api#required": {} } }, - "title": { - "target": "com.amazonaws.qconnect#ContentTitle", + "status": { + "target": "com.amazonaws.qconnect#AssistantStatus", "traits": { - "smithy.api#documentation": "

    The title of the content.

    ", + "smithy.api#documentation": "

    The status of the assistant.

    ", "smithy.api#required": {} } }, - "contentType": { - "target": "com.amazonaws.qconnect#ContentType", + "description": { + "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

    The media type of the content.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The description.

    " } }, - "status": { - "target": "com.amazonaws.qconnect#ContentStatus", + "tags": { + "target": "com.amazonaws.qconnect#Tags", "traits": { - "smithy.api#documentation": "

    The status of the content.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " } }, - "metadata": { - "target": "com.amazonaws.qconnect#ContentMetadata", + "serverSideEncryptionConfiguration": { + "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", "traits": { - "smithy.api#documentation": "

    A key/value map to store attributes without affecting tagging or recommendations. \nFor example, when synchronizing data between an external system and Amazon Q in Connect, you can store an external version identifier as metadata to utilize for determining drift.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The configuration information for the customer managed key used for encryption.

    \n

    This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect. To use Amazon Q in Connect with chat, the key policy must also allow\n kms:Decrypt, kms:GenerateDataKey*, and\n kms:DescribeKey permissions to the connect.amazonaws.com service\n principal.

    \n

    For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

    " } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "integrationConfiguration": { + "target": "com.amazonaws.qconnect#AssistantIntegrationConfiguration", "traits": { - "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant integration.

    " } }, - "linkOutUri": { - "target": "com.amazonaws.qconnect#Uri", + "capabilityConfiguration": { + "target": "com.amazonaws.qconnect#AssistantCapabilityConfiguration", "traits": { - "smithy.api#documentation": "

    The URI of the content.

    " + "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant capability.

    " } }, - "url": { - "target": "com.amazonaws.qconnect#Url", + "aiAgentConfiguration": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", "traits": { - "smithy.api#documentation": "

    The URL of the content.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that is\n set on the Amazon Q in Connect Assistant.

    " } - }, - "urlExpiry": { - "target": "smithy.api#Timestamp", + } + }, + "traits": { + "smithy.api#documentation": "

    The assistant data.

    " + } + }, + "com.amazonaws.qconnect#AssistantIntegrationConfiguration": { + "type": "structure", + "members": { + "topicIntegrationArn": { + "target": "com.amazonaws.qconnect#GenericArn", "traits": { - "smithy.api#documentation": "

    The expiration time of the URL as an epoch timestamp.

    ", - "smithy.api#required": {}, - "smithy.api#timestampFormat": "epoch-seconds" + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

    " } } }, "traits": { - "smithy.api#documentation": "

    Information about the content.

    ", - "smithy.api#references": [ + "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant integration.

    " + } + }, + "com.amazonaws.qconnect#AssistantList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#AssistantSummary" + } + }, + "com.amazonaws.qconnect#AssistantStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ { - "resource": "com.amazonaws.qconnect#Content" + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" }, { - "resource": "com.amazonaws.qconnect#KnowledgeBase" + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "DELETED", + "name": "DELETED" } ] } }, - "com.amazonaws.qconnect#ContentDataDetails": { + "com.amazonaws.qconnect#AssistantSummary": { "type": "structure", "members": { - "textData": { - "target": "com.amazonaws.qconnect#TextData", + "assistantId": { + "target": "com.amazonaws.qconnect#Uuid", "traits": { - "smithy.api#documentation": "

    Details about the content text data.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } }, - "rankingData": { - "target": "com.amazonaws.qconnect#RankingData", + "assistantArn": { + "target": "com.amazonaws.qconnect#Arn", "traits": { - "smithy.api#documentation": "

    Details about the content ranking data.

    ", + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant.

    ", "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

    Details about the content data.

    " - } - }, - "com.amazonaws.qconnect#ContentFeedbackData": { - "type": "union", - "members": { - "generativeContentFeedbackData": { - "target": "com.amazonaws.qconnect#GenerativeContentFeedbackData", + }, + "name": { + "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

    Information about the feedback for a generative target type.

    " + "smithy.api#documentation": "

    The name of the assistant.

    ", + "smithy.api#required": {} } - } - }, - "traits": { - "smithy.api#documentation": "

    Information about the feedback.

    " - } - }, - "com.amazonaws.qconnect#ContentMetadata": { - "type": "map", + }, + "type": { + "target": "com.amazonaws.qconnect#AssistantType", + "traits": { + "smithy.api#documentation": "

    The type of the assistant.

    ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.qconnect#AssistantStatus", + "traits": { + "smithy.api#documentation": "

    The status of the assistant.

    ", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description of the assistant.

    " + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + } + }, + "serverSideEncryptionConfiguration": { + "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration information for the customer managed key used for encryption.

    \n

    This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect. To use Amazon Q in Connect with chat, the key policy must also allow\n kms:Decrypt, kms:GenerateDataKey*, and\n kms:DescribeKey permissions to the connect.amazonaws.com service\n principal.

    \n

    For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

    " + } + }, + "integrationConfiguration": { + "target": "com.amazonaws.qconnect#AssistantIntegrationConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant integration.

    " + } + }, + "capabilityConfiguration": { + "target": "com.amazonaws.qconnect#AssistantCapabilityConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration information for the Amazon Q in Connect assistant capability.

    " + } + }, + "aiAgentConfiguration": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", + "traits": { + "smithy.api#documentation": "

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that is\n set on the Amazon Q in Connect Assistant.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Summary information about the assistant.

    " + } + }, + "com.amazonaws.qconnect#AssistantType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AGENT", + "name": "AGENT" + } + ] + } + }, + "com.amazonaws.qconnect#AssociationConfiguration": { + "type": "structure", + "members": { + "associationId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the association for this Association Configuration.

    " + } + }, + "associationType": { + "target": "com.amazonaws.qconnect#AIAgentAssociationConfigurationType", + "traits": { + "smithy.api#documentation": "

    The type of the association for this Association Configuration.

    " + } + }, + "associationConfigurationData": { + "target": "com.amazonaws.qconnect#AssociationConfigurationData", + "traits": { + "smithy.api#documentation": "

    The data of the configuration for an Amazon Q in Connect Assistant Association.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The configuration for an Amazon Q in Connect Assistant Association.

    " + } + }, + "com.amazonaws.qconnect#AssociationConfigurationData": { + "type": "union", + "members": { + "knowledgeBaseAssociationConfigurationData": { + "target": "com.amazonaws.qconnect#KnowledgeBaseAssociationConfigurationData", + "traits": { + "smithy.api#documentation": "

    The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect Assistant\n Association.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A typed union of the data of the configuration for an Amazon Q in Connect Assistant\n Association.

    " + } + }, + "com.amazonaws.qconnect#AssociationConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#AssociationConfiguration" + } + }, + "com.amazonaws.qconnect#AssociationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "KNOWLEDGE_BASE", + "name": "KNOWLEDGE_BASE" + } + ] + } + }, + "com.amazonaws.qconnect#BedrockFoundationModelConfigurationForParsing": { + "type": "structure", + "members": { + "modelArn": { + "target": "com.amazonaws.qconnect#BedrockModelArnForParsing", + "traits": { + "smithy.api#documentation": "

    The ARN of the foundation model.

    ", + "smithy.api#required": {} + } + }, + "parsingPrompt": { + "target": "com.amazonaws.qconnect#ParsingPrompt", + "traits": { + "smithy.api#documentation": "

    Instructions for interpreting the contents of a document.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Settings for a foundation model used to parse documents for a data source.

    " + } + }, + "com.amazonaws.qconnect#BedrockModelArnForParsing": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/anthropic.claude-3-haiku-20240307-v1:0$" + } + }, + "com.amazonaws.qconnect#Channel": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#Channels": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#Channel" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.qconnect#ChunkingConfiguration": { + "type": "structure", + "members": { + "chunkingStrategy": { + "target": "com.amazonaws.qconnect#ChunkingStrategy", + "traits": { + "smithy.api#documentation": "

    Knowledge base can split your source data into chunks. A chunk refers to an excerpt from a\n data source that is returned when the knowledge base that it belongs to is queried. You have\n the following options for chunking your data. If you opt for NONE, then you may\n want to pre-process your files by splitting them up such that each file corresponds to a\n chunk.

    ", + "smithy.api#required": {} + } + }, + "fixedSizeChunkingConfiguration": { + "target": "com.amazonaws.qconnect#FixedSizeChunkingConfiguration", + "traits": { + "smithy.api#documentation": "

    Configurations for when you choose fixed-size chunking. If you set the\n chunkingStrategy as NONE, exclude this field.

    " + } + }, + "hierarchicalChunkingConfiguration": { + "target": "com.amazonaws.qconnect#HierarchicalChunkingConfiguration", + "traits": { + "smithy.api#documentation": "

    Settings for hierarchical document chunking for a data source. Hierarchical chunking\n splits documents into layers of chunks where the first layer contains large chunks, and the\n second layer contains smaller chunks derived from the first layer.

    " + } + }, + "semanticChunkingConfiguration": { + "target": "com.amazonaws.qconnect#SemanticChunkingConfiguration", + "traits": { + "smithy.api#documentation": "

    Settings for semantic document chunking for a data source. Semantic chunking splits a\n document into smaller documents based on groups of similar content derived from the text with\n natural language processing.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details about how to chunk the documents in the data source. A chunk refers to an excerpt\n from a data source that is returned when the knowledge base that it belongs to is\n queried.

    " + } + }, + "com.amazonaws.qconnect#ChunkingStrategy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FIXED_SIZE", + "name": "FIXED_SIZE" + }, + { + "value": "NONE", + "name": "NONE" + }, + { + "value": "HIERARCHICAL", + "name": "HIERARCHICAL" + }, + { + "value": "SEMANTIC", + "name": "SEMANTIC" + } + ] + } + }, + "com.amazonaws.qconnect#CitationSpan": { + "type": "structure", + "members": { + "beginOffsetInclusive": { + "target": "com.amazonaws.qconnect#CitationSpanOffset", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

    Where the text with a citation starts in the generated output.

    " + } + }, + "endOffsetExclusive": { + "target": "com.amazonaws.qconnect#CitationSpanOffset", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

    Where the text with a citation ends in the generated output.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Contains information about where the text with a citation begins and ends in the generated\n output.

    " + } + }, + "com.amazonaws.qconnect#CitationSpanOffset": { + "type": "integer", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.qconnect#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4096 + } + } + }, + "com.amazonaws.qconnect#Configuration": { + "type": "union", + "members": { + "connectConfiguration": { + "target": "com.amazonaws.qconnect#ConnectConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration information of the Amazon Connect data source.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The configuration information of the external data source.

    " + } + }, + "com.amazonaws.qconnect#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    The request could not be processed because of conflict in the current state of the\n resource. For example, if you're using a Create API (such as\n CreateAssistant) that accepts name, a conflicting resource (usually with the\n same name) is being created or mutated.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.qconnect#ConnectConfiguration": { + "type": "structure", + "members": { + "instanceId": { + "target": "com.amazonaws.qconnect#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The configuration information of the Amazon Connect data source.

    " + } + }, + "com.amazonaws.qconnect#ContactAttributeKey": { + "type": "string" + }, + "com.amazonaws.qconnect#ContactAttributeKeys": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#ContactAttributeKey" + }, + "traits": { + "smithy.api#sensitive": {}, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.qconnect#ContactAttributeValue": { + "type": "string" + }, + "com.amazonaws.qconnect#ContactAttributes": { + "type": "map", + "key": { + "target": "com.amazonaws.qconnect#ContactAttributeKey" + }, + "value": { + "target": "com.amazonaws.qconnect#ContactAttributeValue" + }, + "traits": { + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#Content": { + "type": "resource", + "identifiers": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + }, + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + } + }, + "create": { + "target": "com.amazonaws.qconnect#CreateContent" + }, + "read": { + "target": "com.amazonaws.qconnect#GetContent" + }, + "update": { + "target": "com.amazonaws.qconnect#UpdateContent" + }, + "delete": { + "target": "com.amazonaws.qconnect#DeleteContent" + }, + "list": { + "target": "com.amazonaws.qconnect#ListContents" + }, + "operations": [ + { + "target": "com.amazonaws.qconnect#GetContentSummary" + } + ], + "resources": [ + { + "target": "com.amazonaws.qconnect#ContentAssociation" + } + ], + "traits": { + "aws.api#arn": { + "template": "content/{knowledgeBaseId}/{contentId}" + }, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.qconnect#ContentAssociation": { + "type": "resource", + "identifiers": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + }, + "contentId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + }, + "contentAssociationId": { + "target": "com.amazonaws.qconnect#UuidOrArn" + } + }, + "create": { + "target": "com.amazonaws.qconnect#CreateContentAssociation" + }, + "read": { + "target": "com.amazonaws.qconnect#GetContentAssociation" + }, + "delete": { + "target": "com.amazonaws.qconnect#DeleteContentAssociation" + }, + "list": { + "target": "com.amazonaws.qconnect#ListContentAssociations" + }, + "traits": { + "aws.api#arn": { + "template": "content-association/{knowledgeBaseId}/{contentId}/{contentAssociationId}" + }, + "aws.iam#disableConditionKeyInference": {} + } + }, + "com.amazonaws.qconnect#ContentAssociationContents": { + "type": "union", + "members": { + "amazonConnectGuideAssociation": { + "target": "com.amazonaws.qconnect#AmazonConnectGuideAssociationData", + "traits": { + "smithy.api#documentation": "

    The data of the step-by-step guide association.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The contents of a content association.

    " + } + }, + "com.amazonaws.qconnect#ContentAssociationData": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the content.

    ", + "smithy.api#required": {} + } + }, + "contentArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    ", + "smithy.api#required": {} + } + }, + "contentAssociationId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

    ", + "smithy.api#required": {} + } + }, + "contentAssociationArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content association.

    ", + "smithy.api#required": {} + } + }, + "associationType": { + "target": "com.amazonaws.qconnect#ContentAssociationType", + "traits": { + "smithy.api#documentation": "

    The type of association.

    ", + "smithy.api#required": {} + } + }, + "associationData": { + "target": "com.amazonaws.qconnect#ContentAssociationContents", + "traits": { + "smithy.api#documentation": "

    The content association.

    ", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Information about the content association.

    ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#ContentAssociation" + } + ] + } + }, + "com.amazonaws.qconnect#ContentAssociationSummary": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the content.

    ", + "smithy.api#required": {} + } + }, + "contentArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    ", + "smithy.api#required": {} + } + }, + "contentAssociationId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the content association. Can be either the ID or the ARN. URLs cannot contain the ARN.

    ", + "smithy.api#required": {} + } + }, + "contentAssociationArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content association.

    ", + "smithy.api#required": {} + } + }, + "associationType": { + "target": "com.amazonaws.qconnect#ContentAssociationType", + "traits": { + "smithy.api#documentation": "

    The type of association.

    ", + "smithy.api#required": {} + } + }, + "associationData": { + "target": "com.amazonaws.qconnect#ContentAssociationContents", + "traits": { + "smithy.api#documentation": "

    The content association.

    ", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Summary information about a content association.

    ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#ContentAssociation" + } + ] + } + }, + "com.amazonaws.qconnect#ContentAssociationSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#ContentAssociationSummary" + } + }, + "com.amazonaws.qconnect#ContentAssociationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AMAZON_CONNECT_GUIDE", + "name": "AMAZON_CONNECT_GUIDE" + } + ] + } + }, + "com.amazonaws.qconnect#ContentData": { + "type": "structure", + "members": { + "contentArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    ", + "smithy.api#required": {} + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the content.

    ", + "smithy.api#required": {} + } + }, + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

    The name of the content.

    ", + "smithy.api#required": {} + } + }, + "revisionId": { + "target": "com.amazonaws.qconnect#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The identifier of the content revision.

    ", + "smithy.api#required": {} + } + }, + "title": { + "target": "com.amazonaws.qconnect#ContentTitle", + "traits": { + "smithy.api#documentation": "

    The title of the content.

    ", + "smithy.api#required": {} + } + }, + "contentType": { + "target": "com.amazonaws.qconnect#ContentType", + "traits": { + "smithy.api#documentation": "

    The media type of the content.

    ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.qconnect#ContentStatus", + "traits": { + "smithy.api#documentation": "

    The status of the content.

    ", + "smithy.api#required": {} + } + }, + "metadata": { + "target": "com.amazonaws.qconnect#ContentMetadata", + "traits": { + "smithy.api#documentation": "

    A key/value map to store attributes without affecting tagging or recommendations. \nFor example, when synchronizing data between an external system and Amazon Q in Connect, you can store an external version identifier as metadata to utilize for determining drift.

    ", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + } + }, + "linkOutUri": { + "target": "com.amazonaws.qconnect#Uri", + "traits": { + "smithy.api#documentation": "

    The URI of the content.

    " + } + }, + "url": { + "target": "com.amazonaws.qconnect#Url", + "traits": { + "smithy.api#documentation": "

    The URL of the content.

    ", + "smithy.api#required": {} + } + }, + "urlExpiry": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

    The expiration time of the URL as an epoch timestamp.

    ", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "epoch-seconds" + } + } + }, + "traits": { + "smithy.api#documentation": "

    Information about the content.

    ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#Content" + }, + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] + } + }, + "com.amazonaws.qconnect#ContentDataDetails": { + "type": "structure", + "members": { + "textData": { + "target": "com.amazonaws.qconnect#TextData", + "traits": { + "smithy.api#documentation": "

    Details about the content text data.

    ", + "smithy.api#required": {} + } + }, + "rankingData": { + "target": "com.amazonaws.qconnect#RankingData", + "traits": { + "smithy.api#documentation": "

    Details about the content ranking data.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details about the content data.

    " + } + }, + "com.amazonaws.qconnect#ContentFeedbackData": { + "type": "union", + "members": { + "generativeContentFeedbackData": { + "target": "com.amazonaws.qconnect#GenerativeContentFeedbackData", + "traits": { + "smithy.api#documentation": "

    Information about the feedback for a generative target type.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Information about the feedback.

    " + } + }, + "com.amazonaws.qconnect#ContentMetadata": { + "type": "map", "key": { "target": "com.amazonaws.qconnect#NonEmptyString" }, - "value": { - "target": "com.amazonaws.qconnect#NonEmptyString" + "value": { + "target": "com.amazonaws.qconnect#NonEmptyString" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.qconnect#ContentReference": { + "type": "structure", + "members": { + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    " + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

    " + } + }, + "contentArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    " + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the content.

    " + } + }, + "sourceURL": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The web URL of the source content.

    " + } + }, + "referenceType": { + "target": "com.amazonaws.qconnect#ReferenceType", + "traits": { + "smithy.api#documentation": "

    The type of reference content.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Reference information about the content.

    " + } + }, + "com.amazonaws.qconnect#ContentStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" + }, + { + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "DELETED", + "name": "DELETED" + }, + { + "value": "UPDATE_FAILED", + "name": "UPDATE_FAILED" + } + ] + } + }, + "com.amazonaws.qconnect#ContentSummary": { + "type": "structure", + "members": { + "contentArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    ", + "smithy.api#required": {} + } + }, + "contentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the content.

    ", + "smithy.api#required": {} + } + }, + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

    ", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

    The name of the content.

    ", + "smithy.api#required": {} + } + }, + "revisionId": { + "target": "com.amazonaws.qconnect#NonEmptyString", + "traits": { + "smithy.api#documentation": "

    The identifier of the revision of the content.

    ", + "smithy.api#required": {} + } + }, + "title": { + "target": "com.amazonaws.qconnect#ContentTitle", + "traits": { + "smithy.api#documentation": "

    The title of the content.

    ", + "smithy.api#required": {} + } + }, + "contentType": { + "target": "com.amazonaws.qconnect#ContentType", + "traits": { + "smithy.api#documentation": "

    The media type of the content.

    ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.qconnect#ContentStatus", + "traits": { + "smithy.api#documentation": "

    The status of the content.

    ", + "smithy.api#required": {} + } + }, + "metadata": { + "target": "com.amazonaws.qconnect#ContentMetadata", + "traits": { + "smithy.api#documentation": "

    A key/value map to store attributes without affecting tagging or recommendations. \nFor example, when synchronizing data between an external system and Amazon Q in Connect, you can store an external version identifier as metadata to utilize for determining drift.

    ", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Summary information about the content.

    ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#Content" + }, + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] + } + }, + "com.amazonaws.qconnect#ContentSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#ContentSummary" + } + }, + "com.amazonaws.qconnect#ContentTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "com.amazonaws.qconnect#ContentType": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(text/(plain|html|csv))|(application/(pdf|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document))|(application/x\\.wisdom-json;source=(salesforce|servicenow|zendesk))$" + } + }, + "com.amazonaws.qconnect#CreateAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#CreateAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#CreateAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Creates an Amazon Q in Connect AI Agent.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#CreateAIAgentRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", + "traits": { + "smithy.api#documentation": "

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the AWS SDK populates this field. For more information about\n idempotency, see Making retries safe with idempotent APIs.

    ", + "smithy.api#idempotencyToken": {} + } + }, + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

    The name of the AI Agent.

    ", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.qconnect#AIAgentType", + "traits": { + "smithy.api#documentation": "

    The type of the AI Agent.

    ", + "smithy.api#required": {} + } + }, + "configuration": { + "target": "com.amazonaws.qconnect#AIAgentConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration of the AI Agent.

    ", + "smithy.api#required": {} + } + }, + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", + "traits": { + "smithy.api#documentation": "

    The visibility status of the AI Agent.

    ", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description of the AI Agent.

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#CreateAIAgentResponse": { + "type": "structure", + "members": { + "aiAgent": { + "target": "com.amazonaws.qconnect#AIAgentData", + "traits": { + "smithy.api#documentation": "

    The data of the created AI Agent.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#CreateAIAgentVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#CreateAIAgentVersionRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#CreateAIAgentVersionResponse" }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" } + ], + "traits": { + "smithy.api#documentation": "

    Creates and Amazon Q in Connect AI Agent version.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions", + "method": "POST" + }, + "smithy.api#idempotent": {} } }, - "com.amazonaws.qconnect#ContentReference": { + "com.amazonaws.qconnect#CreateAIAgentVersionRequest": { "type": "structure", "members": { - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    " + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

    The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

    " + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI Agent.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "contentArn": { - "target": "com.amazonaws.qconnect#Arn", + "modifiedTime": { + "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    " + "smithy.api#documentation": "

    The modification time of the AI Agent should be tracked for version creation. This field\n should be specified to avoid version creation when simultaneous update to the underlying AI\n Agent are possible. The value should be the modifiedTime returned from the request to create\n or update an AI Agent so that version creation can fail if an update to the AI Agent post the\n specified modification time has been made.

    " } }, - "contentId": { - "target": "com.amazonaws.qconnect#Uuid", + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

    The identifier of the content.

    " + "smithy.api#documentation": "

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the AWS SDK populates this field. For more information about\n idempotency, see Making retries safe with idempotent APIs.

    ", + "smithy.api#idempotencyToken": {} } } }, "traits": { - "smithy.api#documentation": "

    Reference information about the content.

    " - } - }, - "com.amazonaws.qconnect#ContentStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CREATE_IN_PROGRESS", - "name": "CREATE_IN_PROGRESS" - }, - { - "value": "CREATE_FAILED", - "name": "CREATE_FAILED" - }, - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "DELETE_IN_PROGRESS", - "name": "DELETE_IN_PROGRESS" - }, - { - "value": "DELETE_FAILED", - "name": "DELETE_FAILED" - }, - { - "value": "DELETED", - "name": "DELETED" - }, - { - "value": "UPDATE_FAILED", - "name": "UPDATE_FAILED" - } - ] + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#ContentSummary": { + "com.amazonaws.qconnect#CreateAIAgentVersionResponse": { "type": "structure", "members": { - "contentArn": { - "target": "com.amazonaws.qconnect#Arn", + "aiAgent": { + "target": "com.amazonaws.qconnect#AIAgentData", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the content.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The data of the AI Agent version.

    " } }, - "contentId": { - "target": "com.amazonaws.qconnect#Uuid", + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

    The identifier of the content.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The version number of the AI Agent version.

    " } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#CreateAIPrompt": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#CreateAIPromptRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#CreateAIPromptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Creates an Amazon Q in Connect AI Prompt.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#CreateAIPromptRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the AWS SDK populates this field. For more information about\n idempotency, see Making retries safe with idempotent APIs.

    ", + "smithy.api#idempotencyToken": {} } }, - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

    The identifier of the knowledge base. This should not be a QUICK_RESPONSES type knowledge base.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "name": { "target": "com.amazonaws.qconnect#Name", "traits": { - "smithy.api#documentation": "

    The name of the content.

    ", + "smithy.api#documentation": "

    The name of the AI Prompt.

    ", "smithy.api#required": {} } }, - "revisionId": { - "target": "com.amazonaws.qconnect#NonEmptyString", + "type": { + "target": "com.amazonaws.qconnect#AIPromptType", "traits": { - "smithy.api#documentation": "

    The identifier of the revision of the content.

    ", + "smithy.api#documentation": "

    The type of this AI Prompt.

    ", "smithy.api#required": {} } }, - "title": { - "target": "com.amazonaws.qconnect#ContentTitle", + "templateConfiguration": { + "target": "com.amazonaws.qconnect#AIPromptTemplateConfiguration", "traits": { - "smithy.api#documentation": "

    The title of the content.

    ", + "smithy.api#documentation": "

    The configuration of the prompt template for this AI Prompt.

    ", "smithy.api#required": {} } }, - "contentType": { - "target": "com.amazonaws.qconnect#ContentType", + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", "traits": { - "smithy.api#documentation": "

    The media type of the content.

    ", + "smithy.api#documentation": "

    The visibility status of the AI Prompt.

    ", "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.qconnect#ContentStatus", + "templateType": { + "target": "com.amazonaws.qconnect#AIPromptTemplateType", "traits": { - "smithy.api#documentation": "

    The status of the content.

    ", + "smithy.api#documentation": "

    The type of the prompt template for this AI Prompt.

    ", "smithy.api#required": {} } }, - "metadata": { - "target": "com.amazonaws.qconnect#ContentMetadata", + "modelId": { + "target": "com.amazonaws.qconnect#AIPromptModelIdentifier", "traits": { - "smithy.api#documentation": "

    A key/value map to store attributes without affecting tagging or recommendations. \nFor example, when synchronizing data between an external system and Amazon Q in Connect, you can store an external version identifier as metadata to utilize for determining drift.

    ", + "smithy.api#documentation": "

    The identifier of the model used for this AI Prompt. Model Ids supported are:\n CLAUDE_3_HAIKU_20240307_V1\n

    ", + "smithy.api#required": {} + } + }, + "apiFormat": { + "target": "com.amazonaws.qconnect#AIPromptAPIFormat", + "traits": { + "smithy.api#documentation": "

    The API Format of the AI Prompt.

    ", "smithy.api#required": {} } }, @@ -1208,39 +2507,124 @@ "traits": { "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description of the AI Prompt.

    " + } } }, "traits": { - "smithy.api#documentation": "

    Summary information about the content.

    ", - "smithy.api#references": [ - { - "resource": "com.amazonaws.qconnect#Content" - }, - { - "resource": "com.amazonaws.qconnect#KnowledgeBase" + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#CreateAIPromptResponse": { + "type": "structure", + "members": { + "aiPrompt": { + "target": "com.amazonaws.qconnect#AIPromptData", + "traits": { + "smithy.api#documentation": "

    The data of the AI Prompt.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#CreateAIPromptVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#CreateAIPromptVersionRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#CreateAIPromptVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Creates an Amazon Q in Connect AI Prompt version.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}/versions", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#CreateAIPromptVersionRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI prompt.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "modifiedTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

    The time the AI Prompt was last modified.

    " + } + }, + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", + "traits": { + "smithy.api#documentation": "

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the AWS SDK populates this field. For more information about\n idempotency, see Making retries safe with idempotent APIs.

    ", + "smithy.api#idempotencyToken": {} } - ] - } - }, - "com.amazonaws.qconnect#ContentSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#ContentSummary" - } - }, - "com.amazonaws.qconnect#ContentTitle": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#ContentType": { - "type": "string", + "com.amazonaws.qconnect#CreateAIPromptVersionResponse": { + "type": "structure", + "members": { + "aiPrompt": { + "target": "com.amazonaws.qconnect#AIPromptData", + "traits": { + "smithy.api#documentation": "

    The data of the AI Prompt version.

    " + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

    The version number of the AI Prompt version.

    " + } + } + }, "traits": { - "smithy.api#pattern": "^(text/(plain|html|csv))|(application/(pdf|vnd\\.openxmlformats-officedocument\\.wordprocessingml\\.document))|(application/x\\.wisdom-json;source=(salesforce|servicenow|zendesk))$" + "smithy.api#output": {} } }, "com.amazonaws.qconnect#CreateAssistant": { @@ -1477,7 +2861,7 @@ } ], "traits": { - "smithy.api#documentation": "

    Creates an association between a content resource in a knowledge base and step-by-step\n guides. Step-by-step guides offer instructions to agents for resolving common\n customer issues. You create a content association to integrate Amazon Q in Connect and step-by-step\n guides.

    \n

    After you integrate Amazon Q and step-by-step guides, when Amazon Q provides a\n recommendation to an agent based on the intent that it's detected, it also provides them with\n the option to start the step-by-step guide that you have associated with the content.

    \n

    Note the following limitations:

    \n
      \n
    • \n

      You can create only one content association for each\n content resource in a knowledge base.

      \n
    • \n
    • \n

      You can associate a step-by-step guide with multiple content resources.

      \n
    • \n
    \n

    For more information, see Integrate Amazon Q in Connect with\n step-by-step guides in the Amazon Connect Administrator\n Guide.

    ", + "smithy.api#documentation": "

    Creates an association between a content resource in a knowledge base and step-by-step guides. Step-by-step guides offer instructions to agents for resolving\n common customer issues. You create a content association to integrate Amazon Q in Connect and\n step-by-step guides.

    \n

    After you integrate Amazon Q and step-by-step guides, when Amazon Q provides a\n recommendation to an agent based on the intent that it's detected, it also provides them with\n the option to start the step-by-step guide that you have associated with the content.

    \n

    Note the following limitations:

    \n
      \n
    • \n

      You can create only one content association for each content resource in a knowledge\n base.

      \n
    • \n
    • \n

      You can associate a step-by-step guide with multiple content resources.

      \n
    • \n
    \n

    For more information, see Integrate Amazon Q in Connect with\n step-by-step guides in the Amazon Connect Administrator\n Guide.

    ", "smithy.api#http": { "uri": "/knowledgeBases/{knowledgeBaseId}/contents/{contentId}/associations", "method": "POST" @@ -1685,6 +3069,12 @@ "smithy.api#documentation": "

    Information about how to render the content.

    " } }, + "vectorIngestionConfiguration": { + "target": "com.amazonaws.qconnect#VectorIngestionConfiguration", + "traits": { + "smithy.api#documentation": "

    Contains details about how to ingest the documents in a data source.

    " + } + }, "serverSideEncryptionConfiguration": { "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", "traits": { @@ -1917,94 +3307,380 @@ "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " } }, - "tagFilter": { - "target": "com.amazonaws.qconnect#TagFilter", - "traits": { - "smithy.api#documentation": "

    An object that can be used to specify Tag conditions.

    " - } + "tagFilter": { + "target": "com.amazonaws.qconnect#TagFilter", + "traits": { + "smithy.api#documentation": "

    An object that can be used to specify Tag conditions.

    " + } + }, + "aiAgentConfiguration": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", + "traits": { + "smithy.api#documentation": "

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that\n should be used by Amazon Q in Connect for this Session.

    " + } + } + } + }, + "com.amazonaws.qconnect#CreateSessionResponse": { + "type": "structure", + "members": { + "session": { + "target": "com.amazonaws.qconnect#SessionData", + "traits": { + "smithy.api#documentation": "

    The session.

    " + } + } + } + }, + "com.amazonaws.qconnect#DataDetails": { + "type": "union", + "members": { + "contentData": { + "target": "com.amazonaws.qconnect#ContentDataDetails", + "traits": { + "smithy.api#documentation": "

    Details about the content data.

    " + } + }, + "generativeData": { + "target": "com.amazonaws.qconnect#GenerativeDataDetails", + "traits": { + "smithy.api#documentation": "

    Details about the generative data.

    " + } + }, + "intentDetectedData": { + "target": "com.amazonaws.qconnect#IntentDetectedDataDetails", + "traits": { + "smithy.api#documentation": "

    Details about the intent data.

    " + } + }, + "sourceContentData": { + "target": "com.amazonaws.qconnect#SourceContentDataDetails", + "traits": { + "smithy.api#documentation": "

    Details about the content data.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details about the data.

    " + } + }, + "com.amazonaws.qconnect#DataReference": { + "type": "union", + "members": { + "contentReference": { + "target": "com.amazonaws.qconnect#ContentReference" + }, + "generativeReference": { + "target": "com.amazonaws.qconnect#GenerativeReference", + "traits": { + "smithy.api#documentation": "

    Reference information about the generative content.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Reference data.

    " + } + }, + "com.amazonaws.qconnect#DataSummary": { + "type": "structure", + "members": { + "reference": { + "target": "com.amazonaws.qconnect#DataReference", + "traits": { + "smithy.api#documentation": "

    Reference information about the content.

    ", + "smithy.api#required": {} + } + }, + "details": { + "target": "com.amazonaws.qconnect#DataDetails", + "traits": { + "smithy.api#documentation": "

    Details about the data.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Summary of the data.

    " + } + }, + "com.amazonaws.qconnect#DataSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#DataSummary" + } + }, + "com.amazonaws.qconnect#DeleteAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes an Amazon Q in Connect AI Agent.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIAgentVersionRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIAgentVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Deletes an Amazon Q in Connect AI Agent Version.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions/{versionNumber}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersionRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI Agent. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

    The version number of the AI Agent version.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#DeleteAIAgentVersionResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIPrompt": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIPromptRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIPromptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" } + ], + "traits": { + "smithy.api#documentation": "

    Deletes an Amazon Q in Connect AI Prompt.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} } }, - "com.amazonaws.qconnect#CreateSessionResponse": { + "com.amazonaws.qconnect#DeleteAIPromptRequest": { "type": "structure", "members": { - "session": { - "target": "com.amazonaws.qconnect#SessionData", - "traits": { - "smithy.api#documentation": "

    The session.

    " - } - } - } - }, - "com.amazonaws.qconnect#DataDetails": { - "type": "union", - "members": { - "contentData": { - "target": "com.amazonaws.qconnect#ContentDataDetails", - "traits": { - "smithy.api#documentation": "

    Details about the content data.

    " - } - }, - "generativeData": { - "target": "com.amazonaws.qconnect#GenerativeDataDetails", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

    Details about the generative data.

    " + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "sourceContentData": { - "target": "com.amazonaws.qconnect#SourceContentDataDetails", + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

    Details about the content data.

    " + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI prompt. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Details about the data.

    " + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DataReference": { - "type": "union", - "members": { - "contentReference": { - "target": "com.amazonaws.qconnect#ContentReference" + "com.amazonaws.qconnect#DeleteAIPromptResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#DeleteAIPromptVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#DeleteAIPromptVersionRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#DeleteAIPromptVersionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "generativeReference": { - "target": "com.amazonaws.qconnect#GenerativeReference", - "traits": { - "smithy.api#documentation": "

    Reference information about the generative content.

    " - } + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" } - }, + ], "traits": { - "smithy.api#documentation": "

    Reference data.

    " + "smithy.api#documentation": "

    Delete and Amazon Q in Connect AI Prompt version.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}/versions/{versionNumber}", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} } }, - "com.amazonaws.qconnect#DataSummary": { + "com.amazonaws.qconnect#DeleteAIPromptVersionRequest": { "type": "structure", "members": { - "reference": { - "target": "com.amazonaws.qconnect#DataReference", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

    Reference information about the content.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "details": { - "target": "com.amazonaws.qconnect#DataDetails", + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

    Details about the data.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI prompt.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

    The version number of the AI Prompt version to be deleted.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Summary of the data.

    " + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#DataSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#DataSummary" + "com.amazonaws.qconnect#DeleteAIPromptVersionResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.qconnect#DeleteAssistant": { @@ -2491,6 +4167,12 @@ "smithy.api#documentation": "

    The configuration information of the external data source.

    " } }, + "com.amazonaws.qconnect#FailureReason": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#NonEmptyString" + } + }, "com.amazonaws.qconnect#Filter": { "type": "structure", "members": { @@ -2548,6 +4230,35 @@ ] } }, + "com.amazonaws.qconnect#FixedSizeChunkingConfiguration": { + "type": "structure", + "members": { + "maxTokens": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    The maximum number of tokens to include in a chunk.

    ", + "smithy.api#range": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "overlapPercentage": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    The percentage of overlap between adjacent chunks of a data source.

    ", + "smithy.api#range": { + "min": 1, + "max": 99 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Configurations for when you choose fixed-size chunking. If you set the\n chunkingStrategy as NONE, exclude this field.

    " + } + }, "com.amazonaws.qconnect#GenerativeContentFeedbackData": { "type": "structure", "members": { @@ -2560,66 +4271,216 @@ } }, "traits": { - "smithy.api#documentation": "

    The feedback information for a generative target type.

    " + "smithy.api#documentation": "

    The feedback information for a generative target type.

    " + } + }, + "com.amazonaws.qconnect#GenerativeDataDetails": { + "type": "structure", + "members": { + "completion": { + "target": "com.amazonaws.qconnect#SensitiveString", + "traits": { + "smithy.api#documentation": "

    The LLM response.

    ", + "smithy.api#required": {} + } + }, + "references": { + "target": "com.amazonaws.qconnect#DataSummaryList", + "traits": { + "smithy.api#documentation": "

    The references used to generative the LLM response.

    ", + "smithy.api#required": {} + } + }, + "rankingData": { + "target": "com.amazonaws.qconnect#RankingData", + "traits": { + "smithy.api#documentation": "

    Details about the generative content ranking data.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details about generative data.

    " + } + }, + "com.amazonaws.qconnect#GenerativeReference": { + "type": "structure", + "members": { + "modelId": { + "target": "com.amazonaws.qconnect#LlmModelId", + "traits": { + "smithy.api#documentation": "

    The identifier of the LLM model.

    " + } + }, + "generationId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the LLM model.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Reference information about generative content.

    " + } + }, + "com.amazonaws.qconnect#GenericArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$" + } + }, + "com.amazonaws.qconnect#GetAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Gets an Amazon Q in Connect AI Agent.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "method": "GET" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#GetAIAgentRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI Agent (with or without a version qualifier).\n Can be either the ID or the ARN. URLs cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#GetAIAgentResponse": { + "type": "structure", + "members": { + "aiAgent": { + "target": "com.amazonaws.qconnect#AIAgentData", + "traits": { + "smithy.api#documentation": "

    The data of the AI Agent.

    " + } + }, + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", + "traits": { + "smithy.api#documentation": "

    The version number of the AI Agent version (returned if an AI Agent version was specified\n via use of a qualifier for the aiAgentId on the request).

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#GetAIPrompt": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#GetAIPromptRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#GetAIPromptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Gets and Amazon Q in Connect AI Prompt.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", + "method": "GET" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.qconnect#GenerativeDataDetails": { + "com.amazonaws.qconnect#GetAIPromptRequest": { "type": "structure", "members": { - "completion": { - "target": "com.amazonaws.qconnect#SensitiveString", - "traits": { - "smithy.api#documentation": "

    The LLM response.

    ", - "smithy.api#required": {} - } - }, - "references": { - "target": "com.amazonaws.qconnect#DataSummaryList", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

    The references used to generative the LLM response.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "rankingData": { - "target": "com.amazonaws.qconnect#RankingData", + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

    Details about the generative content ranking data.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI prompt.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Details about generative data.

    " + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#GenerativeReference": { + "com.amazonaws.qconnect#GetAIPromptResponse": { "type": "structure", "members": { - "modelId": { - "target": "com.amazonaws.qconnect#LlmModelId", + "aiPrompt": { + "target": "com.amazonaws.qconnect#AIPromptData", "traits": { - "smithy.api#documentation": "

    The identifier of the LLM model.

    " + "smithy.api#documentation": "

    The data of the AI Prompt.

    " } }, - "generationId": { - "target": "com.amazonaws.qconnect#Uuid", + "versionNumber": { + "target": "com.amazonaws.qconnect#Version", "traits": { - "smithy.api#documentation": "

    The identifier of the LLM model.

    " + "smithy.api#documentation": "

    The version number of the AI Prompt version (returned if an AI Prompt version was\n specified via use of a qualifier for the aiPromptId on the request).

    " } } }, "traits": { - "smithy.api#documentation": "

    Reference information about generative content.

    " - } - }, - "com.amazonaws.qconnect#GenericArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$" + "smithy.api#output": {} } }, "com.amazonaws.qconnect#GetAssistant": { @@ -3315,6 +5176,62 @@ "target": "com.amazonaws.qconnect#NonEmptyString" } }, + "com.amazonaws.qconnect#HierarchicalChunkingConfiguration": { + "type": "structure", + "members": { + "levelConfigurations": { + "target": "com.amazonaws.qconnect#HierarchicalChunkingLevelConfigurations", + "traits": { + "smithy.api#documentation": "

    Token settings for each layer.

    ", + "smithy.api#required": {} + } + }, + "overlapTokens": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    The number of tokens to repeat across chunks in the same layer.

    ", + "smithy.api#range": { + "min": 1 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Settings for hierarchical document chunking for a data source. Hierarchical chunking\n splits documents into layers of chunks where the first layer contains large chunks, and the\n second layer contains smaller chunks derived from the first layer.

    " + } + }, + "com.amazonaws.qconnect#HierarchicalChunkingLevelConfiguration": { + "type": "structure", + "members": { + "maxTokens": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    The maximum number of tokens that a chunk can contain in this layer.

    ", + "smithy.api#range": { + "min": 1, + "max": 8192 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Token settings for each layer.

    " + } + }, + "com.amazonaws.qconnect#HierarchicalChunkingLevelConfigurations": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#HierarchicalChunkingLevelConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 2, + "max": 2 + } + } + }, "com.amazonaws.qconnect#Highlight": { "type": "structure", "members": { @@ -3571,6 +5488,43 @@ ] } }, + "com.amazonaws.qconnect#IntentDetectedDataDetails": { + "type": "structure", + "members": { + "intent": { + "target": "com.amazonaws.qconnect#SensitiveString", + "traits": { + "smithy.api#documentation": "

    The detected intent.

    ", + "smithy.api#required": {} + } + }, + "intentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the detected intent.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Details about the detected intent.

    " + } + }, + "com.amazonaws.qconnect#IntentInputData": { + "type": "structure", + "members": { + "intentId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q intent.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Information about the Amazon Q intent.

    " + } + }, "com.amazonaws.qconnect#KnowledgeBase": { "type": "resource", "identifiers": { @@ -3635,6 +5589,29 @@ "aws.iam#disableConditionKeyInference": {} } }, + "com.amazonaws.qconnect#KnowledgeBaseAssociationConfigurationData": { + "type": "structure", + "members": { + "contentTagFilter": { + "target": "com.amazonaws.qconnect#TagFilter" + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return per page.

    " + } + }, + "overrideKnowledgeBaseSearchType": { + "target": "com.amazonaws.qconnect#KnowledgeBaseSearchType", + "traits": { + "smithy.api#documentation": "

    The search type to be used against the Knowledge Base for this request. The values can be\n SEMANTIC which uses vector embeddings or HYBRID which use vector\n embeddings and raw text

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The data of the configuration for a KNOWLEDGE_BASE type Amazon Q in Connect\n Assistant Association.

    " + } + }, "com.amazonaws.qconnect#KnowledgeBaseAssociationData": { "type": "structure", "members": { @@ -3649,13 +5626,168 @@ "traits": { "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    " } - } - }, + } + }, + "traits": { + "smithy.api#documentation": "

    Association information about the knowledge base.

    " + } + }, + "com.amazonaws.qconnect#KnowledgeBaseData": { + "type": "structure", + "members": { + "knowledgeBaseId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "knowledgeBaseArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.qconnect#Name", + "traits": { + "smithy.api#documentation": "

    The name of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "knowledgeBaseType": { + "target": "com.amazonaws.qconnect#KnowledgeBaseType", + "traits": { + "smithy.api#documentation": "

    The type of knowledge base.

    ", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.qconnect#KnowledgeBaseStatus", + "traits": { + "smithy.api#documentation": "

    The status of the knowledge base.

    ", + "smithy.api#required": {} + } + }, + "lastContentModificationTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

    An epoch timestamp indicating the most recent content modification inside the knowledge\n base. If no content exists in a knowledge base, this value is unset.

    ", + "smithy.api#timestampFormat": "epoch-seconds" + } + }, + "vectorIngestionConfiguration": { + "target": "com.amazonaws.qconnect#VectorIngestionConfiguration", + "traits": { + "smithy.api#documentation": "

    Contains details about how to ingest the documents in a data source.

    " + } + }, + "sourceConfiguration": { + "target": "com.amazonaws.qconnect#SourceConfiguration", + "traits": { + "smithy.api#documentation": "

    Source configuration information about the knowledge base.

    " + } + }, + "renderingConfiguration": { + "target": "com.amazonaws.qconnect#RenderingConfiguration", + "traits": { + "smithy.api#documentation": "

    Information about how to render the content.

    " + } + }, + "serverSideEncryptionConfiguration": { + "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration information for the customer managed key used for encryption.

    \n

    This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect.

    \n

    For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

    " + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description.

    " + } + }, + "tags": { + "target": "com.amazonaws.qconnect#Tags", + "traits": { + "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + } + }, + "ingestionStatus": { + "target": "com.amazonaws.qconnect#SyncStatus", + "traits": { + "smithy.api#documentation": "

    Status of ingestion on data source.

    " + } + }, + "ingestionFailureReasons": { + "target": "com.amazonaws.qconnect#FailureReason", + "traits": { + "smithy.api#documentation": "

    List of failure reasons on ingestion per file.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Information about the knowledge base.

    ", + "smithy.api#references": [ + { + "resource": "com.amazonaws.qconnect#KnowledgeBase" + } + ] + } + }, + "com.amazonaws.qconnect#KnowledgeBaseList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#KnowledgeBaseSummary" + } + }, + "com.amazonaws.qconnect#KnowledgeBaseSearchType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "HYBRID", + "name": "HYBRID" + }, + { + "value": "SEMANTIC", + "name": "SEMANTIC" + } + ] + } + }, + "com.amazonaws.qconnect#KnowledgeBaseStatus": { + "type": "string", "traits": { - "smithy.api#documentation": "

    Association information about the knowledge base.

    " + "smithy.api#enum": [ + { + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" + }, + { + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "DELETED", + "name": "DELETED" + } + ] } }, - "com.amazonaws.qconnect#KnowledgeBaseData": { + "com.amazonaws.qconnect#KnowledgeBaseSummary": { "type": "structure", "members": { "knowledgeBaseId": { @@ -3689,21 +5821,20 @@ "status": { "target": "com.amazonaws.qconnect#KnowledgeBaseStatus", "traits": { - "smithy.api#documentation": "

    The status of the knowledge base.

    ", + "smithy.api#documentation": "

    The status of the knowledge base summary.

    ", "smithy.api#required": {} } }, - "lastContentModificationTime": { - "target": "smithy.api#Timestamp", + "sourceConfiguration": { + "target": "com.amazonaws.qconnect#SourceConfiguration", "traits": { - "smithy.api#documentation": "

    An epoch timestamp indicating the most recent content modification inside the knowledge\n base. If no content exists in a knowledge base, this value is unset.

    ", - "smithy.api#timestampFormat": "epoch-seconds" + "smithy.api#documentation": "

    Configuration information about the external data source.

    " } }, - "sourceConfiguration": { - "target": "com.amazonaws.qconnect#SourceConfiguration", + "vectorIngestionConfiguration": { + "target": "com.amazonaws.qconnect#VectorIngestionConfiguration", "traits": { - "smithy.api#documentation": "

    Source configuration information about the knowledge base.

    " + "smithy.api#documentation": "

    Contains details about how to ingest the documents in a data source.

    " } }, "renderingConfiguration": { @@ -3721,7 +5852,7 @@ "description": { "target": "com.amazonaws.qconnect#Description", "traits": { - "smithy.api#documentation": "

    The description.

    " + "smithy.api#documentation": "

    The description of the knowledge base.

    " } }, "tags": { @@ -3732,7 +5863,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Information about the knowledge base.

    ", + "smithy.api#documentation": "

    Summary information about the knowledge base.

    ", "smithy.api#references": [ { "resource": "com.amazonaws.qconnect#KnowledgeBase" @@ -3740,147 +5871,436 @@ ] } }, - "com.amazonaws.qconnect#KnowledgeBaseList": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#KnowledgeBaseSummary" - } - }, - "com.amazonaws.qconnect#KnowledgeBaseStatus": { + "com.amazonaws.qconnect#KnowledgeBaseType": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "CREATE_IN_PROGRESS", - "name": "CREATE_IN_PROGRESS" - }, - { - "value": "CREATE_FAILED", - "name": "CREATE_FAILED" + "value": "EXTERNAL", + "name": "EXTERNAL" }, { - "value": "ACTIVE", - "name": "ACTIVE" + "value": "CUSTOM", + "name": "CUSTOM" }, { - "value": "DELETE_IN_PROGRESS", - "name": "DELETE_IN_PROGRESS" + "value": "QUICK_RESPONSES", + "name": "QUICK_RESPONSES" }, { - "value": "DELETE_FAILED", - "name": "DELETE_FAILED" + "value": "MESSAGE_TEMPLATES", + "name": "MESSAGE_TEMPLATES" }, { - "value": "DELETED", - "name": "DELETED" + "value": "MANAGED", + "name": "MANAGED" } ] } }, - "com.amazonaws.qconnect#KnowledgeBaseSummary": { + "com.amazonaws.qconnect#LanguageCode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 5 + } + } + }, + "com.amazonaws.qconnect#ListAIAgentVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAIAgentVersionsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAIAgentVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    List AI Agent versions.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}/versions", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiAgentVersionSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAIAgentVersionsRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI Agent for which versions are to be\n listed.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return per page.

    ", + "smithy.api#httpQuery": "maxResults" + } + }, + "origin": { + "target": "com.amazonaws.qconnect#Origin", + "traits": { + "smithy.api#documentation": "

    The origin of the AI Agent versions to be listed. SYSTEM for a default AI\n Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI\n Agent creation APIs.

    ", + "smithy.api#httpQuery": "origin" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListAIAgentVersionsResponse": { + "type": "structure", + "members": { + "aiAgentVersionSummaries": { + "target": "com.amazonaws.qconnect#AIAgentVersionSummariesList", + "traits": { + "smithy.api#documentation": "

    The summaries of AI Agent versions.

    ", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#ListAIAgents": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAIAgentsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAIAgentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Lists AI Agents.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiAgentSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAIAgentsRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", + "traits": { + "smithy.api#documentation": "

    The maximum number of results to return per page.

    ", + "smithy.api#httpQuery": "maxResults" + } + }, + "origin": { + "target": "com.amazonaws.qconnect#Origin", + "traits": { + "smithy.api#documentation": "

    The origin of the AI Agents to be listed. SYSTEM for a default AI Agent\n created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent\n creation APIs.

    ", + "smithy.api#httpQuery": "origin" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListAIAgentsResponse": { + "type": "structure", + "members": { + "aiAgentSummaries": { + "target": "com.amazonaws.qconnect#AIAgentSummaryList", + "traits": { + "smithy.api#documentation": "

    The summaries of AI Agents.

    ", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#ListAIPromptVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAIPromptVersionsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAIPromptVersionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Lists AI Prompt versions.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}/versions", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiPromptVersionSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAIPromptVersionsRequest": { "type": "structure", "members": { - "knowledgeBaseId": { - "target": "com.amazonaws.qconnect#Uuid", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

    The identifier of the knowledge base.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "knowledgeBaseArn": { - "target": "com.amazonaws.qconnect#Arn", + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the knowledge base.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI prompt for which versions are to be\n listed.

    ", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "name": { - "target": "com.amazonaws.qconnect#Name", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

    The name of the knowledge base.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    ", + "smithy.api#httpQuery": "nextToken" } }, - "knowledgeBaseType": { - "target": "com.amazonaws.qconnect#KnowledgeBaseType", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

    The type of knowledge base.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The maximum number of results to return per page.

    ", + "smithy.api#httpQuery": "maxResults" } }, - "status": { - "target": "com.amazonaws.qconnect#KnowledgeBaseStatus", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#documentation": "

    The status of the knowledge base summary.

    ", + "smithy.api#documentation": "

    The origin of the AI Prompt versions to be listed. SYSTEM for a default AI\n Agent created by Q in Connect or CUSTOMER for an AI Agent created by calling AI\n Agent creation APIs.

    ", + "smithy.api#httpQuery": "origin" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#ListAIPromptVersionsResponse": { + "type": "structure", + "members": { + "aiPromptVersionSummaries": { + "target": "com.amazonaws.qconnect#AIPromptVersionSummariesList", + "traits": { + "smithy.api#documentation": "

    The summaries of the AI Prompt versions.

    ", "smithy.api#required": {} } }, - "sourceConfiguration": { - "target": "com.amazonaws.qconnect#SourceConfiguration", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

    Configuration information about the external data source.

    " + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    " } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#ListAIPrompts": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#ListAIPromptsRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#ListAIPromptsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" }, - "renderingConfiguration": { - "target": "com.amazonaws.qconnect#RenderingConfiguration", + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Lists the AI Prompts available on the Amazon Q in Connect assistant.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts", + "method": "GET" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "aiPromptSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.qconnect#ListAIPromptsRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

    Information about how to render the content.

    " + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "serverSideEncryptionConfiguration": { - "target": "com.amazonaws.qconnect#ServerSideEncryptionConfiguration", + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", "traits": { - "smithy.api#documentation": "

    The configuration information for the customer managed key used for encryption.

    \n

    This KMS key must have a policy that allows kms:CreateGrant,\n kms:DescribeKey, kms:Decrypt, and\n kms:GenerateDataKey* permissions to the IAM identity using the\n key to invoke Amazon Q in Connect.

    \n

    For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for\n your instance.

    " + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    ", + "smithy.api#httpQuery": "nextToken" } }, - "description": { - "target": "com.amazonaws.qconnect#Description", + "maxResults": { + "target": "com.amazonaws.qconnect#MaxResults", "traits": { - "smithy.api#documentation": "

    The description of the knowledge base.

    " + "smithy.api#documentation": "

    The maximum number of results to return per page.

    ", + "smithy.api#httpQuery": "maxResults" } }, - "tags": { - "target": "com.amazonaws.qconnect#Tags", + "origin": { + "target": "com.amazonaws.qconnect#Origin", "traits": { - "smithy.api#documentation": "

    The tags used to organize, track, or control access for this resource.

    " + "smithy.api#documentation": "

    The origin of the AI Prompts to be listed. SYSTEM for a default AI Agent\n created by Q in Connect or CUSTOMER for an AI Agent created by calling AI Agent\n creation APIs.

    ", + "smithy.api#httpQuery": "origin" } } }, "traits": { - "smithy.api#documentation": "

    Summary information about the knowledge base.

    ", - "smithy.api#references": [ - { - "resource": "com.amazonaws.qconnect#KnowledgeBase" - } - ] + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#KnowledgeBaseType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "EXTERNAL", - "name": "EXTERNAL" - }, - { - "value": "CUSTOM", - "name": "CUSTOM" - }, - { - "value": "QUICK_RESPONSES", - "name": "QUICK_RESPONSES" + "com.amazonaws.qconnect#ListAIPromptsResponse": { + "type": "structure", + "members": { + "aiPromptSummaries": { + "target": "com.amazonaws.qconnect#AIPromptSummaryList", + "traits": { + "smithy.api#documentation": "

    The summaries of the AI Prompts.

    ", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.qconnect#NextToken", + "traits": { + "smithy.api#documentation": "

    The token for the next set of results. Use the value returned in the previous response in\n the next request to retrieve the next set of results.

    " } - ] - } - }, - "com.amazonaws.qconnect#LanguageCode": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 2, - "max": 5 } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.qconnect#ListAssistantAssociations": { @@ -4492,6 +6912,40 @@ } } }, + "com.amazonaws.qconnect#ManagedSourceConfiguration": { + "type": "union", + "members": { + "webCrawlerConfiguration": { + "target": "com.amazonaws.qconnect#WebCrawlerConfiguration", + "traits": { + "smithy.api#documentation": "

    Configuration data for web crawler data source.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Source configuration for managed resources.

    " + } + }, + "com.amazonaws.qconnect#ManualSearchAIAgentConfiguration": { + "type": "structure", + "members": { + "answerGenerationAIPromptId": { + "target": "com.amazonaws.qconnect#UuidWithQualifier", + "traits": { + "smithy.api#documentation": "

    The AI Prompt identifier for the Answer Generation prompt used by the MANUAL_SEARCH AI\n Agent.

    " + } + }, + "associationConfigurations": { + "target": "com.amazonaws.qconnect#AssociationConfigurationList", + "traits": { + "smithy.api#documentation": "

    The association configurations for overriding behavior on this AI Agent.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The configuration for the MANUAL_SEARCH AI Agent type.

    " + } + }, "com.amazonaws.qconnect#MaxResults": { "type": "integer", "traits": { @@ -4520,6 +6974,16 @@ } } }, + "com.amazonaws.qconnect#NonEmptySensitiveString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4096 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.qconnect#NonEmptyString": { "type": "string", "traits": { @@ -4660,26 +7124,97 @@ } }, "traits": { - "smithy.api#documentation": "

    A list of conditions which would be applied together with an OR\n condition.

    " + "smithy.api#documentation": "

    A list of conditions which would be applied together with an OR\n condition.

    " + } + }, + "com.amazonaws.qconnect#OrConditions": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#OrCondition" + } + }, + "com.amazonaws.qconnect#Order": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ASC", + "name": "ASC" + }, + { + "value": "DESC", + "name": "DESC" + } + ] + } + }, + "com.amazonaws.qconnect#Origin": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SYSTEM", + "name": "SYSTEM" + }, + { + "value": "CUSTOMER", + "name": "CUSTOMER" + } + ] + } + }, + "com.amazonaws.qconnect#ParsingConfiguration": { + "type": "structure", + "members": { + "parsingStrategy": { + "target": "com.amazonaws.qconnect#ParsingStrategy", + "traits": { + "smithy.api#documentation": "

    The parsing strategy for the data source.

    ", + "smithy.api#required": {} + } + }, + "bedrockFoundationModelConfiguration": { + "target": "com.amazonaws.qconnect#BedrockFoundationModelConfigurationForParsing", + "traits": { + "smithy.api#documentation": "

    Settings for a foundation model used to parse documents for a data source.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Settings for parsing document contents. By default, the service converts the contents of\n each document into text before splitting it into chunks. To improve processing of PDF files\n with tables and images, you can configure the data source to convert the pages of text into\n images and use a model to describe the contents of each page.

    " + } + }, + "com.amazonaws.qconnect#ParsingPrompt": { + "type": "structure", + "members": { + "parsingPromptText": { + "target": "com.amazonaws.qconnect#ParsingPromptText", + "traits": { + "smithy.api#documentation": "

    Instructions for interpreting the contents of a document.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Instructions for interpreting the contents of a document.

    " } }, - "com.amazonaws.qconnect#OrConditions": { - "type": "list", - "member": { - "target": "com.amazonaws.qconnect#OrCondition" + "com.amazonaws.qconnect#ParsingPromptText": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10000 + } } }, - "com.amazonaws.qconnect#Order": { + "com.amazonaws.qconnect#ParsingStrategy": { "type": "string", "traits": { "smithy.api#enum": [ { - "value": "ASC", - "name": "ASC" - }, - { - "value": "DESC", - "name": "DESC" + "value": "BEDROCK_FOUNDATION_MODEL", + "name": "BEDROCK_FOUNDATION_MODEL" } ] } @@ -4879,8 +7414,7 @@ "queryText": { "target": "com.amazonaws.qconnect#QueryText", "traits": { - "smithy.api#documentation": "

    The text to search for.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    The text to search for.

    " } }, "nextToken": { @@ -4906,6 +7440,18 @@ "traits": { "smithy.api#documentation": "

    Information about how to query content.

    " } + }, + "queryInputData": { + "target": "com.amazonaws.qconnect#QueryInputData", + "traits": { + "smithy.api#documentation": "

    Information about the query.

    " + } + }, + "overrideKnowledgeBaseSearchType": { + "target": "com.amazonaws.qconnect#KnowledgeBaseSearchType", + "traits": { + "smithy.api#documentation": "

    The search type to be used against the Knowledge Base for this request. The values can be\n SEMANTIC which uses vector embeddings or HYBRID which use vector\n embeddings and raw text.

    " + } } } }, @@ -5004,6 +7550,26 @@ "smithy.api#documentation": "

    The condition for the query.

    " } }, + "com.amazonaws.qconnect#QueryInputData": { + "type": "union", + "members": { + "queryTextInputData": { + "target": "com.amazonaws.qconnect#QueryTextInputData", + "traits": { + "smithy.api#documentation": "

    Input information for the query.

    " + } + }, + "intentInputData": { + "target": "com.amazonaws.qconnect#IntentInputData", + "traits": { + "smithy.api#documentation": "

    Input information for the intent.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Input information for the query.

    " + } + }, "com.amazonaws.qconnect#QueryRecommendationTriggerData": { "type": "structure", "members": { @@ -5026,6 +7592,10 @@ "value": "KNOWLEDGE_CONTENT", "name": "KNOWLEDGE_CONTENT" }, + { + "value": "INTENT_ANSWER", + "name": "INTENT_ANSWER" + }, { "value": "GENERATIVE_ANSWER", "name": "GENERATIVE_ANSWER" @@ -5043,11 +7613,26 @@ "type": "string", "traits": { "smithy.api#length": { - "max": 1024 + "max": 512 }, "smithy.api#sensitive": {} } }, + "com.amazonaws.qconnect#QueryTextInputData": { + "type": "structure", + "members": { + "text": { + "target": "com.amazonaws.qconnect#QueryText", + "traits": { + "smithy.api#documentation": "

    The text to search for.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Information about the text to search for.

    " + } + }, "com.amazonaws.qconnect#QuickResponse": { "type": "resource", "identifiers": { @@ -6028,6 +8613,25 @@ { "value": "GENERATIVE_ANSWER", "name": "GENERATIVE_ANSWER" + }, + { + "value": "DETECTED_INTENT", + "name": "DETECTED_INTENT" + } + ] + } + }, + "com.amazonaws.qconnect#ReferenceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "WEB_CRAWLER", + "name": "WEB_CRAWLER" + }, + { + "value": "KNOWLEDGE_BASE", + "name": "KNOWLEDGE_BASE" } ] } @@ -6075,6 +8679,69 @@ } } }, + "com.amazonaws.qconnect#RemoveAssistantAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#RemoveAssistantAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#RemoveAssistantAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Removes the AI Agent that is set for use by defafult on an Amazon Q in Connect\n Assistant.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagentConfiguration", + "method": "DELETE", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#RemoveAssistantAIAgentRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentType": { + "target": "com.amazonaws.qconnect#AIAgentType", + "traits": { + "smithy.api#documentation": "

    The type of the AI Agent being removed for use by default from the Amazon Q in Connect\n Assistant.

    ", + "smithy.api#httpQuery": "aiAgentType", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#RemoveAssistantAIAgentResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qconnect#RemoveKnowledgeBaseTemplateUri": { "type": "operation", "input": { @@ -6207,6 +8874,54 @@ "smithy.api#documentation": "

    Information about the result.

    " } }, + "com.amazonaws.qconnect#RuntimeSessionData": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.qconnect#NonEmptySensitiveString", + "traits": { + "smithy.api#documentation": "

    The key of the data stored on the session.

    ", + "smithy.api#required": {} + } + }, + "value": { + "target": "com.amazonaws.qconnect#RuntimeSessionDataValue", + "traits": { + "smithy.api#documentation": "

    The value of the data stored on the session.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    The list of key-value pairs that are stored on the session.

    " + } + }, + "com.amazonaws.qconnect#RuntimeSessionDataList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#RuntimeSessionData" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.qconnect#RuntimeSessionDataValue": { + "type": "union", + "members": { + "stringValue": { + "target": "com.amazonaws.qconnect#NonEmptySensitiveString", + "traits": { + "smithy.api#documentation": "

    The string value of the data stored on the session.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A union type that specifies the data stored on the session.

    " + } + }, "com.amazonaws.qconnect#SearchContent": { "type": "operation", "input": { @@ -6495,6 +9210,72 @@ } } }, + "com.amazonaws.qconnect#SeedUrl": { + "type": "structure", + "members": { + "url": { + "target": "com.amazonaws.qconnect#WebUrl", + "traits": { + "smithy.api#documentation": "

    URL for crawling

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    A URL for crawling.

    " + } + }, + "com.amazonaws.qconnect#SeedUrls": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#SeedUrl" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.qconnect#SemanticChunkingConfiguration": { + "type": "structure", + "members": { + "maxTokens": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    The maximum number of tokens that a chunk can contain.

    ", + "smithy.api#range": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "bufferSize": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    The buffer size.

    ", + "smithy.api#range": { + "min": 0, + "max": 1 + }, + "smithy.api#required": {} + } + }, + "breakpointPercentileThreshold": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    The dissimilarity threshold for splitting chunks.

    ", + "smithy.api#range": { + "min": 50, + "max": 99 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Settings for semantic document chunking for a data source. Semantic chunking splits a\n document into smaller documents based on groups of similar content derived from the text with\n natural language processing.

    " + } + }, "com.amazonaws.qconnect#SensitiveString": { "type": "string", "traits": { @@ -6547,6 +9328,11 @@ "update": { "target": "com.amazonaws.qconnect#UpdateSession" }, + "operations": [ + { + "target": "com.amazonaws.qconnect#UpdateSessionData" + } + ], "traits": { "aws.api#arn": { "template": "session/{assistantId}/{sessionId}" @@ -6601,12 +9387,29 @@ "traits": { "smithy.api#documentation": "

    An object that can be used to specify Tag conditions.

    " } + }, + "aiAgentConfiguration": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", + "traits": { + "smithy.api#documentation": "

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that\n should be used by Amazon Q in Connect for this Session.

    " + } } }, "traits": { "smithy.api#documentation": "

    Information about the session.

    " } }, + "com.amazonaws.qconnect#SessionDataNamespace": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Custom", + "name": "Custom" + } + ] + } + }, "com.amazonaws.qconnect#SessionIntegrationConfiguration": { "type": "structure", "members": { @@ -6680,6 +9483,12 @@ "traits": { "smithy.api#documentation": "

    Configuration information for Amazon AppIntegrations to automatically ingest content.

    " } + }, + "managedSourceConfiguration": { + "target": "com.amazonaws.qconnect#ManagedSourceConfiguration", + "traits": { + "smithy.api#documentation": "

    Source configuration for managed resources.

    " + } } }, "traits": { @@ -6716,6 +9525,12 @@ "smithy.api#documentation": "

    Details about the source content ranking data.

    ", "smithy.api#required": {} } + }, + "citationSpan": { + "target": "com.amazonaws.qconnect#CitationSpan", + "traits": { + "smithy.api#documentation": "

    Contains information about where the text with a citation begins and ends in the generated output.

    " + } } }, "traits": { @@ -6897,24 +9712,78 @@ "traits": { "smithy.api#documentation": "

    The configuration information of the external source that the resource data are imported\n from.

    " } - } - }, - "traits": { - "smithy.api#input": {} + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#StartImportJobResponse": { + "type": "structure", + "members": { + "importJob": { + "target": "com.amazonaws.qconnect#ImportJobData", + "traits": { + "smithy.api#documentation": "

    The import job.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#Status": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" + }, + { + "value": "CREATE_FAILED", + "name": "CREATE_FAILED" + }, + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "DELETE_IN_PROGRESS", + "name": "DELETE_IN_PROGRESS" + }, + { + "value": "DELETE_FAILED", + "name": "DELETE_FAILED" + }, + { + "value": "DELETED", + "name": "DELETED" + } + ] } }, - "com.amazonaws.qconnect#StartImportJobResponse": { - "type": "structure", - "members": { - "importJob": { - "target": "com.amazonaws.qconnect#ImportJobData", - "traits": { - "smithy.api#documentation": "

    The import job.

    " - } - } - }, + "com.amazonaws.qconnect#SyncStatus": { + "type": "string", "traits": { - "smithy.api#output": {} + "smithy.api#enum": [ + { + "value": "SYNC_FAILED", + "name": "SYNC_FAILED" + }, + { + "value": "SYNCING_IN_PROGRESS", + "name": "SYNCING_IN_PROGRESS" + }, + { + "value": "SYNC_SUCCESS", + "name": "SYNC_SUCCESS" + }, + { + "value": "CREATE_IN_PROGRESS", + "name": "CREATE_IN_PROGRESS" + } + ] } }, "com.amazonaws.qconnect#TagCondition": { @@ -7068,6 +9937,16 @@ ] } }, + "com.amazonaws.qconnect#TextAIPrompt": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200000 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.qconnect#TextData": { "type": "structure", "members": { @@ -7082,6 +9961,21 @@ "smithy.api#documentation": "

    Details about the source content text data.

    " } }, + "com.amazonaws.qconnect#TextFullAIPromptEditTemplateConfiguration": { + "type": "structure", + "members": { + "text": { + "target": "com.amazonaws.qconnect#TextAIPrompt", + "traits": { + "smithy.api#documentation": "

    The YAML text for the AI Prompt template.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    The configuration for a prompt template that supports full textual prompt configuration\n using a YAML prompt.

    " + } + }, "com.amazonaws.qconnect#ThrottlingException": { "type": "structure", "members": { @@ -7106,71 +10000,338 @@ } } }, - "com.amazonaws.qconnect#TooManyTagsException": { + "com.amazonaws.qconnect#TooManyTagsException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + }, + "resourceName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    The specified resource name.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Amazon Q in Connect throws this exception if you have too many tags in your tag set.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.qconnect#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

    Removes the specified tags from the specified resource.

    ", + "smithy.api#http": { + "uri": "/tags/{resourceArn}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.qconnect#TagKeyList", + "traits": { + "smithy.api#documentation": "

    The tag keys.

    ", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.qconnect#UntagResourceResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.qconnect#UpdateAIAgent": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#UpdateAIAgentRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#UpdateAIAgentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Updates an AI Agent.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiagents/{aiAgentId}", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#UpdateAIAgentRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", + "traits": { + "smithy.api#documentation": "

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the AWS SDK populates this field. For more information about\n idempotency, see Making retries safe with idempotent APIs.

    ", + "smithy.api#idempotencyToken": {} + } + }, + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiAgentId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI Agent.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", + "traits": { + "smithy.api#documentation": "

    The visbility status of the Amazon Q in Connect AI Agent.

    ", + "smithy.api#required": {} + } + }, + "configuration": { + "target": "com.amazonaws.qconnect#AIAgentConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration of the Amazon Q in Connect AI Agent.

    " + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description of the Amazon Q in Connect AI Agent.

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#UpdateAIAgentResponse": { + "type": "structure", + "members": { + "aiAgent": { + "target": "com.amazonaws.qconnect#AIAgentData", + "traits": { + "smithy.api#documentation": "

    The data of the updated Amazon Q in Connect AI Agent.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.qconnect#UpdateAIPrompt": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#UpdateAIPromptRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#UpdateAIPromptResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ConflictException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Updates an AI Prompt.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/aiprompts/{aiPromptId}", + "method": "POST" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.qconnect#UpdateAIPromptRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.qconnect#ClientToken", + "traits": { + "smithy.api#documentation": "

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the AWS SDK populates this field. For more information about\n idempotency, see Making retries safe with idempotent APIs.

    ", + "smithy.api#idempotencyToken": {} + } + }, + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "aiPromptId": { + "target": "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect AI Prompt.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "visibilityStatus": { + "target": "com.amazonaws.qconnect#VisibilityStatus", + "traits": { + "smithy.api#documentation": "

    The visibility status of the Amazon Q in Connect AI prompt.

    ", + "smithy.api#required": {} + } + }, + "templateConfiguration": { + "target": "com.amazonaws.qconnect#AIPromptTemplateConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration of the prompt template for this AI Prompt.

    " + } + }, + "description": { + "target": "com.amazonaws.qconnect#Description", + "traits": { + "smithy.api#documentation": "

    The description of the Amazon Q in Connect AI Prompt.

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#UpdateAIPromptResponse": { "type": "structure", "members": { - "message": { - "target": "smithy.api#String" - }, - "resourceName": { - "target": "smithy.api#String", + "aiPrompt": { + "target": "com.amazonaws.qconnect#AIPromptData", "traits": { - "smithy.api#documentation": "

    The specified resource name.

    " + "smithy.api#documentation": "

    The data of the updated Amazon Q in Connect AI Prompt.

    " } } }, "traits": { - "smithy.api#documentation": "

    Amazon Q in Connect throws this exception if you have too many tags in your tag set.

    ", - "smithy.api#error": "client", - "smithy.api#httpError": 400 + "smithy.api#output": {} } }, - "com.amazonaws.qconnect#UntagResource": { + "com.amazonaws.qconnect#UpdateAssistantAIAgent": { "type": "operation", "input": { - "target": "com.amazonaws.qconnect#UntagResourceRequest" + "target": "com.amazonaws.qconnect#UpdateAssistantAIAgentRequest" }, "output": { - "target": "com.amazonaws.qconnect#UntagResourceResponse" + "target": "com.amazonaws.qconnect#UpdateAssistantAIAgentResponse" }, "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, { "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ThrottlingException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" } ], "traits": { - "smithy.api#documentation": "

    Removes the specified tags from the specified resource.

    ", + "smithy.api#documentation": "

    Updates the AI Agent that is set for use by defafult on an Amazon Q in Connect\n Assistant.

    ", "smithy.api#http": { - "uri": "/tags/{resourceArn}", - "method": "DELETE" - }, - "smithy.api#idempotent": {} + "uri": "/assistants/{assistantId}/aiagentConfiguration", + "method": "POST" + } } }, - "com.amazonaws.qconnect#UntagResourceRequest": { + "com.amazonaws.qconnect#UpdateAssistantAIAgentRequest": { "type": "structure", "members": { - "resourceArn": { - "target": "com.amazonaws.qconnect#Arn", + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the resource.

    ", + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "tagKeys": { - "target": "com.amazonaws.qconnect#TagKeyList", + "aiAgentType": { + "target": "com.amazonaws.qconnect#AIAgentType", "traits": { - "smithy.api#documentation": "

    The tag keys.

    ", - "smithy.api#httpQuery": "tagKeys", + "smithy.api#documentation": "

    The type of the AI Agent being updated for use by default on the Amazon Q in Connect\n Assistant.

    ", + "smithy.api#required": {} + } + }, + "configuration": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationData", + "traits": { + "smithy.api#documentation": "

    The configuration of the AI Agent being updated for use by default on the Amazon Q in\n Connect Assistant.

    ", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, - "com.amazonaws.qconnect#UntagResourceResponse": { + "com.amazonaws.qconnect#UpdateAssistantAIAgentResponse": { "type": "structure", - "members": {} + "members": { + "assistant": { + "target": "com.amazonaws.qconnect#AssistantData" + } + }, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.qconnect#UpdateContent": { "type": "operation", @@ -7498,6 +10659,106 @@ } } }, + "com.amazonaws.qconnect#UpdateSessionData": { + "type": "operation", + "input": { + "target": "com.amazonaws.qconnect#UpdateSessionDataRequest" + }, + "output": { + "target": "com.amazonaws.qconnect#UpdateSessionDataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.qconnect#AccessDeniedException" + }, + { + "target": "com.amazonaws.qconnect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.qconnect#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

    Updates the data stored on an Amazon Q in Connect Session.

    ", + "smithy.api#http": { + "uri": "/assistants/{assistantId}/sessions/{sessionId}/data", + "method": "PATCH" + } + } + }, + "com.amazonaws.qconnect#UpdateSessionDataRequest": { + "type": "structure", + "members": { + "assistantId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs\n cannot contain the ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "sessionId": { + "target": "com.amazonaws.qconnect#UuidOrArn", + "traits": { + "smithy.api#documentation": "

    The identifier of the session. Can be either the ID or the ARN. URLs cannot contain the\n ARN.

    ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "namespace": { + "target": "com.amazonaws.qconnect#SessionDataNamespace", + "traits": { + "smithy.api#documentation": "

    The namespace into which the session data is stored. Supported namespaces are:\n Custom

    " + } + }, + "data": { + "target": "com.amazonaws.qconnect#RuntimeSessionDataList", + "traits": { + "smithy.api#documentation": "

    The data stored on the Amazon Q in Connect Session.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.qconnect#UpdateSessionDataResponse": { + "type": "structure", + "members": { + "sessionArn": { + "target": "com.amazonaws.qconnect#Arn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the session.

    ", + "smithy.api#required": {} + } + }, + "sessionId": { + "target": "com.amazonaws.qconnect#Uuid", + "traits": { + "smithy.api#documentation": "

    The identifier of the session.

    ", + "smithy.api#required": {} + } + }, + "namespace": { + "target": "com.amazonaws.qconnect#SessionDataNamespace", + "traits": { + "smithy.api#documentation": "

    The namespace into which the session data is stored. Supported namespaces are:\n Custom

    ", + "smithy.api#required": {} + } + }, + "data": { + "target": "com.amazonaws.qconnect#RuntimeSessionDataList", + "traits": { + "smithy.api#documentation": "

    Data stored in the session.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.qconnect#UpdateSessionRequest": { "type": "structure", "members": { @@ -7528,6 +10789,12 @@ "traits": { "smithy.api#documentation": "

    An object that can be used to specify Tag conditions.

    " } + }, + "aiAgentConfiguration": { + "target": "com.amazonaws.qconnect#AIAgentConfigurationMap", + "traits": { + "smithy.api#documentation": "

    The configuration of the AI Agents (mapped by AI Agent Type to AI Agent version) that\n should be used by Amazon Q in Connect for this Session.

    " + } } }, "traits": { @@ -7573,6 +10840,43 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.qconnect#UrlConfiguration": { + "type": "structure", + "members": { + "seedUrls": { + "target": "com.amazonaws.qconnect#SeedUrls", + "traits": { + "smithy.api#documentation": "

    List of URLs for crawling.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The configuration of the URL/URLs for the web content that you want to crawl. You should\n be authorized to crawl the URLs.

    " + } + }, + "com.amazonaws.qconnect#UrlFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.qconnect#UrlFilterPattern" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.qconnect#UrlFilterPattern": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.qconnect#Uuid": { "type": "string", "traits": { @@ -7585,6 +10889,18 @@ "smithy.api#pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$" } }, + "com.amazonaws.qconnect#UuidOrArnOrEitherWithQualifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$" + } + }, + "com.amazonaws.qconnect#UuidWithQualifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$" + } + }, "com.amazonaws.qconnect#ValidationException": { "type": "structure", "members": { @@ -7598,6 +10914,49 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.qconnect#VectorIngestionConfiguration": { + "type": "structure", + "members": { + "chunkingConfiguration": { + "target": "com.amazonaws.qconnect#ChunkingConfiguration", + "traits": { + "smithy.api#documentation": "

    Details about how to chunk the documents in the data source. A chunk refers to an excerpt\n from a data source that is returned when the knowledge base that it belongs to is\n queried.

    " + } + }, + "parsingConfiguration": { + "target": "com.amazonaws.qconnect#ParsingConfiguration", + "traits": { + "smithy.api#documentation": "

    A custom parser for data source documents.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Contains details about how to ingest the documents in a data source.

    " + } + }, + "com.amazonaws.qconnect#Version": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.qconnect#VisibilityStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SAVED", + "name": "SAVED" + }, + { + "value": "PUBLISHED", + "name": "PUBLISHED" + } + ] + } + }, "com.amazonaws.qconnect#WaitTimeSeconds": { "type": "integer", "traits": { @@ -7608,6 +10967,84 @@ } } }, + "com.amazonaws.qconnect#WebCrawlerConfiguration": { + "type": "structure", + "members": { + "urlConfiguration": { + "target": "com.amazonaws.qconnect#UrlConfiguration", + "traits": { + "smithy.api#documentation": "

    The configuration of the URL/URLs for the web content that you want to crawl. You should\n be authorized to crawl the URLs.

    ", + "smithy.api#required": {} + } + }, + "crawlerLimits": { + "target": "com.amazonaws.qconnect#WebCrawlerLimits", + "traits": { + "smithy.api#documentation": "

    The configuration of crawl limits for the web URLs.

    " + } + }, + "inclusionFilters": { + "target": "com.amazonaws.qconnect#UrlFilterList", + "traits": { + "smithy.api#documentation": "

    A list of one or more inclusion regular expression patterns to include certain URLs. If\n you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion\n filter takes precedence and the web content of the URL isn’t crawled.

    " + } + }, + "exclusionFilters": { + "target": "com.amazonaws.qconnect#UrlFilterList", + "traits": { + "smithy.api#documentation": "

    A list of one or more exclusion regular expression patterns to exclude certain URLs. If\n you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion\n filter takes precedence and the web content of the URL isn’t crawled.

    " + } + }, + "scope": { + "target": "com.amazonaws.qconnect#WebScopeType", + "traits": { + "smithy.api#documentation": "

    The scope of what is crawled for your URLs. You can choose to crawl only web pages that\n belong to the same host or primary domain. For example, only web pages that contain the seed\n URL https://docs.aws.amazon.com/bedrock/latest/userguide/ and no other domains.\n You can choose to include sub domains in addition to the host or primary domain. For example,\n web pages that contain aws.amazon.com can also include sub domain\n docs.aws.amazon.com.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    The configuration details for the web data source.

    " + } + }, + "com.amazonaws.qconnect#WebCrawlerLimits": { + "type": "structure", + "members": { + "rateLimit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    Rate of web URLs retrieved per minute.

    ", + "smithy.api#range": { + "min": 1, + "max": 300 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

    The configuration of crawl limits for the web URLs.

    " + } + }, + "com.amazonaws.qconnect#WebScopeType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "HOST_ONLY", + "name": "HOST_ONLY" + }, + { + "value": "SUBDOMAINS", + "name": "SUBDOMAINS" + } + ] + } + }, + "com.amazonaws.qconnect#WebUrl": { + "type": "string", + "traits": { + "smithy.api#pattern": "^https?://[A-Za-z0-9][^\\s]*$" + } + }, "com.amazonaws.qconnect#WisdomService": { "type": "service", "version": "2020-10-19", @@ -7641,7 +11078,7 @@ }, "aws.protocols#restJson1": {}, "smithy.api#cors": {}, - "smithy.api#documentation": "\n

    \n Powered by Amazon Bedrock: Amazon Web Services implements automated abuse\n detection. Because Amazon Q in Connect is built on Amazon Bedrock, users can take full advantage of\n the controls implemented in Amazon Bedrock to enforce safety, security, and the responsible use of\n artificial intelligence (AI).

    \n
    \n

    Amazon Q in Connect is a generative AI customer service assistant. It is an LLM-enhanced\n evolution of Amazon Connect Wisdom that delivers real-time recommendations to help contact\n center agents resolve customer issues quickly and accurately.

    \n

    Amazon Q in Connect automatically detects customer intent during calls and chats using conversational\n analytics and natural language understanding (NLU). It then provides agents with immediate,\n real-time generative responses and suggested actions, and links to relevant documents and\n articles. Agents can also query Amazon Q in Connect directly using natural language or keywords to answer\n customer requests.

    \n

    Use the Amazon Q in Connect APIs to create an assistant and a knowledge base, for example, or\n manage content by uploading custom files.

    \n

    For more information, see Use Amazon Q in Connect for generative AI\n powered agent assistance in real-time in the Amazon Connect\n Administrator Guide.

    ", + "smithy.api#documentation": "\n \n

    \n Powered by Amazon Bedrock: Amazon Web Services implements automated abuse\n detection. Because Amazon Q in Connect is built on Amazon Bedrock, users can take full advantage of\n the controls implemented in Amazon Bedrock to enforce safety, security, and the responsible use of\n artificial intelligence (AI).

    \n
    \n

    Amazon Q in Connect is a generative AI customer service assistant. It is an LLM-enhanced\n evolution of Amazon Connect Wisdom that delivers real-time recommendations to help contact\n center agents resolve customer issues quickly and accurately.

    \n

    Amazon Q in Connect automatically detects customer intent during calls and chats using conversational\n analytics and natural language understanding (NLU). It then provides agents with immediate,\n real-time generative responses and suggested actions, and links to relevant documents and\n articles. Agents can also query Amazon Q in Connect directly using natural language or keywords to answer\n customer requests.

    \n

    Use the Amazon Q in Connect APIs to create an assistant and a knowledge base, for example, or\n manage content by uploading custom files.

    \n

    For more information, see Use Amazon Q in Connect for generative AI\n powered agent assistance in real-time in the Amazon Connect\n Administrator Guide.

    ", "smithy.api#title": "Amazon Q Connect", "smithy.rules#endpointRuleSet": { "version": "1.0",