@aws-amplify/graphql-api-construct 1.14.0 → 1.15.1-ai-streaming.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.jsii +91 -34
- package/CHANGELOG.md +15 -0
- package/lib/amplify-dynamodb-table-wrapper.js +1 -1
- package/lib/amplify-graphql-api.js +1 -1
- package/lib/amplify-graphql-definition.js +1 -1
- package/lib/internal/authorization-modes.js +3 -3
- package/lib/sql-model-datasource-strategy.js +1 -1
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.d.ts +12 -1
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.js +19 -2
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/index.d.ts +2 -2
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/index.js +1 -1
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.d.ts +13 -1
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.js +182 -45
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_message_history_retriever.d.ts +44 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_message_history_retriever.js +173 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_executor.d.ts +3 -5
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_executor.js +10 -7
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_response_sender.d.ts +11 -2
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_response_sender.js +9 -23
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_streaming_response_sender.d.ts +33 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_streaming_response_sender.js +38 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/default_handler.d.ts +1 -1
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/event_tools_provider.js +2 -2
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/graphql_tool.d.ts +11 -11
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/graphql_tool.js +10 -24
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/executable_tool_factory.d.ts +7 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/executable_tool_factory.js +16 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/graphql_request_executor.d.ts +22 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/graphql_request_executor.js +47 -0
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/index.d.ts +3 -2
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/index.js +4 -2
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.d.ts +22 -11
- package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.js +1 -1
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/README.md +4 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/index.d.ts +23 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/index.js +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/v1.d.ts +22 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/v1.js +11 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.d.ts +113 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.d.ts +112 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +30 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/index.d.ts +23 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/index.js +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/v1.d.ts +22 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/v1.js +11 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/index.d.ts +23 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/index.js +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/v1.d.ts +22 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/v1.js +11 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.d.ts +59 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +12 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.d.ts +59 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +25 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +508 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +112 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.d.ts +2 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +18 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.d.ts +42 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +22 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +28 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +27 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +12 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.d.ts +33 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +10 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.d.ts +32 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +33 -0
- package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/package.json +27 -0
- package/node_modules/@aws-amplify/ai-constructs/package.json +9 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +2 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +6 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +18 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +13 -14
- package/node_modules/@aws-amplify/graphql-conversation-transformer/API.md +2 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/CHANGELOG.md +15 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.js +36 -5
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/grapqhl-conversation-transformer.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/grapqhl-conversation-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/grapqhl-conversation-transformer.js +2 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/grapqhl-conversation-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver-fn.template.js +16 -33
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.js +10 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver-fn.template.js +101 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.js +25 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver-fn.template.js +121 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.js +25 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver-fn.template.js +1 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.d.ts +2 -3
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.js +10 -4
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver-fn.template.js +28 -5
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.d.ts +2 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js +21 -4
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/list-messages-init-resolver-fn.template.js +8 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/list-messages-init-resolver.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/list-messages-init-resolver.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/{message-history-resolver.js → list-messages-init-resolver.js} +6 -6
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/list-messages-init-resolver.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver-fn.template.js +2 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.js +23 -5
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.js +4 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.js +3 -2
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts +5 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js +66 -30
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/package.json +12 -11
- package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +6 -0
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +19 -7
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-directives/CHANGELOG.md +6 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/default.js +1 -1
- package/node_modules/@aws-amplify/graphql-directives/package.json +1 -1
- package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -8
- package/node_modules/@aws-amplify/graphql-generation-transformer/CHANGELOG.md +7 -0
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock-resolver-fn.template.js +24 -9
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.js +11 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/utils/tools.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/utils/tools.js +2 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/lib/utils/tools.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-generation-transformer/package.json +7 -8
- package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -8
- package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -9
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +11 -12
- package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/dynamodb/query.js +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/dynamodb/query.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/package.json +7 -8
- package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -8
- package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +9 -10
- package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -9
- package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +8 -9
- package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +10 -0
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/package.json +19 -19
- package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/API.md +13 -7
- package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +10 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +4 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.d.ts +9 -9
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.js +13 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/package.json +5 -6
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +4 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +3 -4
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
- package/package.json +23 -23
- package/src/internal/authorization-modes.ts +2 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver-fn.template.js +0 -40
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.d.ts +0 -4
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-generation-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-index-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-model-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-relational-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-searchable-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +0 -201
@@ -0,0 +1,173 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ConversationMessageHistoryRetriever = void 0;
|
4
|
+
const graphql_request_executor_1 = require("./graphql_request_executor");
|
5
|
+
/**
|
6
|
+
* These are all properties we have to pull.
|
7
|
+
* Unfortunately, GQL doesn't support wildcards.
|
8
|
+
* https://github.com/graphql/graphql-spec/issues/127
|
9
|
+
*/
|
10
|
+
const messageItemSelectionSet = `
|
11
|
+
id
|
12
|
+
conversationId
|
13
|
+
associatedUserMessageId
|
14
|
+
aiContext
|
15
|
+
role
|
16
|
+
content {
|
17
|
+
text
|
18
|
+
document {
|
19
|
+
source {
|
20
|
+
bytes
|
21
|
+
}
|
22
|
+
format
|
23
|
+
name
|
24
|
+
}
|
25
|
+
image {
|
26
|
+
format
|
27
|
+
source {
|
28
|
+
bytes
|
29
|
+
}
|
30
|
+
}
|
31
|
+
toolResult {
|
32
|
+
content {
|
33
|
+
document {
|
34
|
+
format
|
35
|
+
name
|
36
|
+
source {
|
37
|
+
bytes
|
38
|
+
}
|
39
|
+
}
|
40
|
+
image {
|
41
|
+
format
|
42
|
+
source {
|
43
|
+
bytes
|
44
|
+
}
|
45
|
+
}
|
46
|
+
json
|
47
|
+
text
|
48
|
+
}
|
49
|
+
status
|
50
|
+
toolUseId
|
51
|
+
}
|
52
|
+
toolUse {
|
53
|
+
input
|
54
|
+
name
|
55
|
+
toolUseId
|
56
|
+
}
|
57
|
+
}
|
58
|
+
`;
|
59
|
+
/**
|
60
|
+
* This class is responsible for retrieving message history that belongs to conversation turn event.
|
61
|
+
* It queries AppSync to list messages that belong to conversation.
|
62
|
+
* Additionally, it looks up a current message in case it's missing in the list due to eventual consistency.
|
63
|
+
*/
|
64
|
+
class ConversationMessageHistoryRetriever {
|
65
|
+
/**
|
66
|
+
* Creates conversation message history retriever.
|
67
|
+
*/
|
68
|
+
constructor(event, graphqlRequestExecutor = new graphql_request_executor_1.GraphqlRequestExecutor(event.graphqlApiEndpoint, event.request.headers.authorization, event.request.headers['x-amz-user-agent'])) {
|
69
|
+
this.event = event;
|
70
|
+
this.graphqlRequestExecutor = graphqlRequestExecutor;
|
71
|
+
this.getMessageHistory = async () => {
|
72
|
+
var _a;
|
73
|
+
if ((_a = this.event.messages) === null || _a === void 0 ? void 0 : _a.length) {
|
74
|
+
// This is for backwards compatibility and should be removed with messages property.
|
75
|
+
return this.event.messages;
|
76
|
+
}
|
77
|
+
const messages = await this.listMessages();
|
78
|
+
let currentMessage = messages.find((m) => m.id === this.event.currentMessageId);
|
79
|
+
// This is a fallback in case current message is not available in the message list.
|
80
|
+
// I.e. in a situation when freshly written message is not yet visible in
|
81
|
+
// eventually consistent reads.
|
82
|
+
if (!currentMessage) {
|
83
|
+
currentMessage = await this.getCurrentMessage();
|
84
|
+
messages.push(currentMessage);
|
85
|
+
}
|
86
|
+
// Index assistant messages by corresponding user message.
|
87
|
+
const assistantMessageByUserMessageId = new Map();
|
88
|
+
messages.forEach((message) => {
|
89
|
+
if (message.role === 'assistant' && message.associatedUserMessageId) {
|
90
|
+
assistantMessageByUserMessageId.set(message.associatedUserMessageId, message);
|
91
|
+
}
|
92
|
+
});
|
93
|
+
// Reconcile history and inject aiContext
|
94
|
+
return messages.reduce((acc, current) => {
|
95
|
+
// Bedrock expects that message history is user->assistant->user->assistant->... and so on.
|
96
|
+
// The chronological order doesn't assure this ordering if there were any concurrent messages sent.
|
97
|
+
// Therefore, conversation is ordered by user's messages only and corresponding assistant messages are inserted
|
98
|
+
// into right place regardless of their createdAt value.
|
99
|
+
// This algorithm assumes that GQL query returns messages sorted by createdAt.
|
100
|
+
if (current.role === 'assistant') {
|
101
|
+
// Initially, skip assistant messages, these might be out of chronological order.
|
102
|
+
return acc;
|
103
|
+
}
|
104
|
+
if (current.role === 'user' &&
|
105
|
+
!assistantMessageByUserMessageId.has(current.id) &&
|
106
|
+
current.id !== this.event.currentMessageId) {
|
107
|
+
// Skip user messages that didn't get answer from assistant yet.
|
108
|
+
// These might be still "in-flight", i.e. assistant is still working on them in separate invocation.
|
109
|
+
// Except current message, we want to process that one.
|
110
|
+
return acc;
|
111
|
+
}
|
112
|
+
const aiContext = current.aiContext;
|
113
|
+
const content = aiContext
|
114
|
+
? [...current.content, { text: JSON.stringify(aiContext) }]
|
115
|
+
: current.content;
|
116
|
+
acc.push({ role: current.role, content });
|
117
|
+
// Find and insert corresponding assistant message.
|
118
|
+
const correspondingAssistantMessage = assistantMessageByUserMessageId.get(current.id);
|
119
|
+
if (correspondingAssistantMessage) {
|
120
|
+
acc.push({
|
121
|
+
role: correspondingAssistantMessage.role,
|
122
|
+
content: correspondingAssistantMessage.content,
|
123
|
+
});
|
124
|
+
}
|
125
|
+
return acc;
|
126
|
+
}, []);
|
127
|
+
};
|
128
|
+
this.getCurrentMessage = async () => {
|
129
|
+
const query = `
|
130
|
+
query GetMessage($id: ${this.event.messageHistoryQuery.getQueryInputTypeName}!) {
|
131
|
+
${this.event.messageHistoryQuery.getQueryName}(id: $id) {
|
132
|
+
${messageItemSelectionSet}
|
133
|
+
}
|
134
|
+
}
|
135
|
+
`;
|
136
|
+
const variables = {
|
137
|
+
id: this.event.currentMessageId,
|
138
|
+
};
|
139
|
+
const response = await this.graphqlRequestExecutor.executeGraphql({
|
140
|
+
query,
|
141
|
+
variables,
|
142
|
+
});
|
143
|
+
return response.data[this.event.messageHistoryQuery.getQueryName];
|
144
|
+
};
|
145
|
+
this.listMessages = async () => {
|
146
|
+
var _a;
|
147
|
+
const query = `
|
148
|
+
query ListMessages($filter: ${this.event.messageHistoryQuery.listQueryInputTypeName}!, $limit: Int) {
|
149
|
+
${this.event.messageHistoryQuery.listQueryName}(filter: $filter, limit: $limit) {
|
150
|
+
items {
|
151
|
+
${messageItemSelectionSet}
|
152
|
+
}
|
153
|
+
}
|
154
|
+
}
|
155
|
+
`;
|
156
|
+
const variables = {
|
157
|
+
filter: {
|
158
|
+
conversationId: {
|
159
|
+
eq: this.event.conversationId,
|
160
|
+
},
|
161
|
+
},
|
162
|
+
limit: (_a = this.event.messageHistoryQuery.listQueryLimit) !== null && _a !== void 0 ? _a : 1000,
|
163
|
+
};
|
164
|
+
const response = await this.graphqlRequestExecutor.executeGraphql({
|
165
|
+
query,
|
166
|
+
variables,
|
167
|
+
});
|
168
|
+
return response.data[this.event.messageHistoryQuery.listQueryName].items;
|
169
|
+
};
|
170
|
+
}
|
171
|
+
}
|
172
|
+
exports.ConversationMessageHistoryRetriever = ConversationMessageHistoryRetriever;
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX21lc3NhZ2VfaGlzdG9yeV9yZXRyaWV2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvY29udmVyc2F0aW9uX21lc3NhZ2VfaGlzdG9yeV9yZXRyaWV2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUVBQW9FO0FBbUNwRTs7OztHQUlHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0QvQixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQWEsbUNBQW1DO0lBQzlDOztPQUVHO0lBQ0gsWUFDbUIsS0FBNEIsRUFDNUIseUJBQXlCLElBQUksaURBQXNCLENBQ2xFLEtBQUssQ0FBQyxrQkFBa0IsRUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUNuQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUMxQztRQUxnQixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUM1QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBSXRDO1FBR0gsc0JBQWlCLEdBQUcsS0FBSyxJQUF5QyxFQUFFOztZQUNsRSxJQUFJLE1BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLDBDQUFFLE1BQU0sRUFBRTtnQkFDL0Isb0ZBQW9GO2dCQUNwRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQzVCO1lBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFM0MsSUFBSSxjQUFjLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FDaEMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDNUMsQ0FBQztZQUVGLG1GQUFtRjtZQUNuRix5RUFBeUU7WUFDekUsK0JBQStCO1lBQy9CLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ25CLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNoRCxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQy9CO1lBRUQsMERBQTBEO1lBQzFELE1BQU0sK0JBQStCLEdBR2pDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDZCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzNCLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksT0FBTyxDQUFDLHVCQUF1QixFQUFFO29CQUNuRSwrQkFBK0IsQ0FBQyxHQUFHLENBQ2pDLE9BQU8sQ0FBQyx1QkFBdUIsRUFDL0IsT0FBTyxDQUNSLENBQUM7aUJBQ0g7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILHlDQUF5QztZQUN6QyxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQ3RDLDJGQUEyRjtnQkFDM0YsbUdBQW1HO2dCQUNuRywrR0FBK0c7Z0JBQy9HLHdEQUF3RDtnQkFDeEQsOEVBQThFO2dCQUM5RSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO29CQUNoQyxpRkFBaUY7b0JBQ2pGLE9BQU8sR0FBRyxDQUFDO2lCQUNaO2dCQUNELElBQ0UsT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNO29CQUN2QixDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNoRCxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQzFDO29CQUNBLGdFQUFnRTtvQkFDaEUsb0dBQW9HO29CQUNwRyx1REFBdUQ7b0JBQ3ZELE9BQU8sR0FBRyxDQUFDO2lCQUNaO2dCQUNELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7Z0JBQ3BDLE1BQU0sT0FBTyxHQUFHLFNBQVM7b0JBQ3ZCLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQzNELENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2dCQUVwQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFFMUMsbURBQW1EO2dCQUNuRCxNQUFNLDZCQUE2QixHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FDdkUsT0FBTyxDQUFDLEVBQUUsQ0FDWCxDQUFDO2dCQUNGLElBQUksNkJBQTZCLEVBQUU7b0JBQ2pDLEdBQUcsQ0FBQyxJQUFJLENBQUM7d0JBQ1AsSUFBSSxFQUFFLDZCQUE2QixDQUFDLElBQUk7d0JBQ3hDLE9BQU8sRUFBRSw2QkFBNkIsQ0FBQyxPQUFPO3FCQUMvQyxDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUUsRUFBZ0MsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQztRQUVNLHNCQUFpQixHQUN2QixLQUFLLElBQTZDLEVBQUU7WUFDbEQsTUFBTSxLQUFLLEdBQUc7Z0NBQ1ksSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUI7Y0FDdEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZO2dCQUN6Qyx1QkFBdUI7OztLQUdsQyxDQUFDO1lBQ0EsTUFBTSxTQUFTLEdBQWtCO2dCQUMvQixFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7YUFDaEMsQ0FBQztZQUVGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FHL0Q7Z0JBQ0EsS0FBSztnQkFDTCxTQUFTO2FBQ1YsQ0FBQyxDQUFDO1lBRUgsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDO1FBRUksaUJBQVksR0FBRyxLQUFLLElBRTFCLEVBQUU7O1lBQ0YsTUFBTSxLQUFLLEdBQUc7c0NBQ29CLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCO2NBQzdFLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsYUFBYTs7a0JBRXhDLHVCQUF1Qjs7OztLQUlwQyxDQUFDO1lBQ0YsTUFBTSxTQUFTLEdBQW1CO2dCQUNoQyxNQUFNLEVBQUU7b0JBQ04sY0FBYyxFQUFFO3dCQUNkLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7cUJBQzlCO2lCQUNGO2dCQUNELEtBQUssRUFBRSxNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsY0FBYyxtQ0FBSSxJQUFJO2FBQzdELENBQUM7WUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBRy9EO2dCQUNBLEtBQUs7Z0JBQ0wsU0FBUzthQUNWLENBQUMsQ0FBQztZQUVILE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMzRSxDQUFDLENBQUM7SUFuSUMsQ0FBQztDQW9JTDtBQS9JRCxrRkErSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb252ZXJzYXRpb25NZXNzYWdlLCBDb252ZXJzYXRpb25UdXJuRXZlbnQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEdyYXBocWxSZXF1ZXN0RXhlY3V0b3IgfSBmcm9tICcuL2dyYXBocWxfcmVxdWVzdF9leGVjdXRvcic7XG5cbmV4cG9ydCB0eXBlIENvbnZlcnNhdGlvbkhpc3RvcnlNZXNzYWdlSXRlbSA9IENvbnZlcnNhdGlvbk1lc3NhZ2UgJiB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gIGFzc29jaWF0ZWRVc2VyTWVzc2FnZUlkPzogc3RyaW5nO1xuICBhaUNvbnRleHQ/OiB1bmtub3duO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0UXVlcnlJbnB1dCA9IHtcbiAgaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEdldFF1ZXJ5T3V0cHV0ID0ge1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBDb252ZXJzYXRpb25IaXN0b3J5TWVzc2FnZUl0ZW0+O1xufTtcblxuZXhwb3J0IHR5cGUgTGlzdFF1ZXJ5SW5wdXQgPSB7XG4gIGZpbHRlcjoge1xuICAgIGNvbnZlcnNhdGlvbklkOiB7XG4gICAgICBlcTogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGxpbWl0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBMaXN0UXVlcnlPdXRwdXQgPSB7XG4gIGRhdGE6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAge1xuICAgICAgaXRlbXM6IEFycmF5PENvbnZlcnNhdGlvbkhpc3RvcnlNZXNzYWdlSXRlbT47XG4gICAgfVxuICA+O1xufTtcblxuLyoqXG4gKiBUaGVzZSBhcmUgYWxsIHByb3BlcnRpZXMgd2UgaGF2ZSB0byBwdWxsLlxuICogVW5mb3J0dW5hdGVseSwgR1FMIGRvZXNuJ3Qgc3VwcG9ydCB3aWxkY2FyZHMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZ3JhcGhxbC9ncmFwaHFsLXNwZWMvaXNzdWVzLzEyN1xuICovXG5jb25zdCBtZXNzYWdlSXRlbVNlbGVjdGlvblNldCA9IGBcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIGNvbnZlcnNhdGlvbklkXG4gICAgICAgICAgICAgICAgYXNzb2NpYXRlZFVzZXJNZXNzYWdlSWRcbiAgICAgICAgICAgICAgICBhaUNvbnRleHRcbiAgICAgICAgICAgICAgICByb2xlXG4gICAgICAgICAgICAgICAgY29udGVudCB7XG4gICAgICAgICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgICAgICAgICBkb2N1bWVudCB7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZSB7XG4gICAgICAgICAgICAgICAgICAgICAgYnl0ZXNcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBmb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgc291cmNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBieXRlc1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB0b29sUmVzdWx0IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlc1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBpbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIGpzb25cbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgICAgICAgICAgIHRvb2xVc2VJZFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgdG9vbFVzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0XG4gICAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgdG9vbFVzZUlkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuYDtcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciByZXRyaWV2aW5nIG1lc3NhZ2UgaGlzdG9yeSB0aGF0IGJlbG9uZ3MgdG8gY29udmVyc2F0aW9uIHR1cm4gZXZlbnQuXG4gKiBJdCBxdWVyaWVzIEFwcFN5bmMgdG8gbGlzdCBtZXNzYWdlcyB0aGF0IGJlbG9uZyB0byBjb252ZXJzYXRpb24uXG4gKiBBZGRpdGlvbmFsbHksIGl0IGxvb2tzIHVwIGEgY3VycmVudCBtZXNzYWdlIGluIGNhc2UgaXQncyBtaXNzaW5nIGluIHRoZSBsaXN0IGR1ZSB0byBldmVudHVhbCBjb25zaXN0ZW5jeS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvbk1lc3NhZ2VIaXN0b3J5UmV0cmlldmVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgY29udmVyc2F0aW9uIG1lc3NhZ2UgaGlzdG9yeSByZXRyaWV2ZXIuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50OiBDb252ZXJzYXRpb25UdXJuRXZlbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBncmFwaHFsUmVxdWVzdEV4ZWN1dG9yID0gbmV3IEdyYXBocWxSZXF1ZXN0RXhlY3V0b3IoXG4gICAgICBldmVudC5ncmFwaHFsQXBpRW5kcG9pbnQsXG4gICAgICBldmVudC5yZXF1ZXN0LmhlYWRlcnMuYXV0aG9yaXphdGlvbixcbiAgICAgIGV2ZW50LnJlcXVlc3QuaGVhZGVyc1sneC1hbXotdXNlci1hZ2VudCddXG4gICAgKVxuICApIHt9XG5cbiAgZ2V0TWVzc2FnZUhpc3RvcnkgPSBhc3luYyAoKTogUHJvbWlzZTxBcnJheTxDb252ZXJzYXRpb25NZXNzYWdlPj4gPT4ge1xuICAgIGlmICh0aGlzLmV2ZW50Lm1lc3NhZ2VzPy5sZW5ndGgpIHtcbiAgICAgIC8vIFRoaXMgaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGFuZCBzaG91bGQgYmUgcmVtb3ZlZCB3aXRoIG1lc3NhZ2VzIHByb3BlcnR5LlxuICAgICAgcmV0dXJuIHRoaXMuZXZlbnQubWVzc2FnZXM7XG4gICAgfVxuICAgIGNvbnN0IG1lc3NhZ2VzID0gYXdhaXQgdGhpcy5saXN0TWVzc2FnZXMoKTtcblxuICAgIGxldCBjdXJyZW50TWVzc2FnZSA9IG1lc3NhZ2VzLmZpbmQoXG4gICAgICAobSkgPT4gbS5pZCA9PT0gdGhpcy5ldmVudC5jdXJyZW50TWVzc2FnZUlkXG4gICAgKTtcblxuICAgIC8vIFRoaXMgaXMgYSBmYWxsYmFjayBpbiBjYXNlIGN1cnJlbnQgbWVzc2FnZSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBtZXNzYWdlIGxpc3QuXG4gICAgLy8gSS5lLiBpbiBhIHNpdHVhdGlvbiB3aGVuIGZyZXNobHkgd3JpdHRlbiBtZXNzYWdlIGlzIG5vdCB5ZXQgdmlzaWJsZSBpblxuICAgIC8vIGV2ZW50dWFsbHkgY29uc2lzdGVudCByZWFkcy5cbiAgICBpZiAoIWN1cnJlbnRNZXNzYWdlKSB7XG4gICAgICBjdXJyZW50TWVzc2FnZSA9IGF3YWl0IHRoaXMuZ2V0Q3VycmVudE1lc3NhZ2UoKTtcbiAgICAgIG1lc3NhZ2VzLnB1c2goY3VycmVudE1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8vIEluZGV4IGFzc2lzdGFudCBtZXNzYWdlcyBieSBjb3JyZXNwb25kaW5nIHVzZXIgbWVzc2FnZS5cbiAgICBjb25zdCBhc3Npc3RhbnRNZXNzYWdlQnlVc2VyTWVzc2FnZUlkOiBNYXA8XG4gICAgICBzdHJpbmcsXG4gICAgICBDb252ZXJzYXRpb25IaXN0b3J5TWVzc2FnZUl0ZW1cbiAgICA+ID0gbmV3IE1hcCgpO1xuICAgIG1lc3NhZ2VzLmZvckVhY2goKG1lc3NhZ2UpID0+IHtcbiAgICAgIGlmIChtZXNzYWdlLnJvbGUgPT09ICdhc3Npc3RhbnQnICYmIG1lc3NhZ2UuYXNzb2NpYXRlZFVzZXJNZXNzYWdlSWQpIHtcbiAgICAgICAgYXNzaXN0YW50TWVzc2FnZUJ5VXNlck1lc3NhZ2VJZC5zZXQoXG4gICAgICAgICAgbWVzc2FnZS5hc3NvY2lhdGVkVXNlck1lc3NhZ2VJZCxcbiAgICAgICAgICBtZXNzYWdlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBSZWNvbmNpbGUgaGlzdG9yeSBhbmQgaW5qZWN0IGFpQ29udGV4dFxuICAgIHJldHVybiBtZXNzYWdlcy5yZWR1Y2UoKGFjYywgY3VycmVudCkgPT4ge1xuICAgICAgLy8gQmVkcm9jayBleHBlY3RzIHRoYXQgbWVzc2FnZSBoaXN0b3J5IGlzIHVzZXItPmFzc2lzdGFudC0+dXNlci0+YXNzaXN0YW50LT4uLi4gYW5kIHNvIG9uLlxuICAgICAgLy8gVGhlIGNocm9ub2xvZ2ljYWwgb3JkZXIgZG9lc24ndCBhc3N1cmUgdGhpcyBvcmRlcmluZyBpZiB0aGVyZSB3ZXJlIGFueSBjb25jdXJyZW50IG1lc3NhZ2VzIHNlbnQuXG4gICAgICAvLyBUaGVyZWZvcmUsIGNvbnZlcnNhdGlvbiBpcyBvcmRlcmVkIGJ5IHVzZXIncyBtZXNzYWdlcyBvbmx5IGFuZCBjb3JyZXNwb25kaW5nIGFzc2lzdGFudCBtZXNzYWdlcyBhcmUgaW5zZXJ0ZWRcbiAgICAgIC8vIGludG8gcmlnaHQgcGxhY2UgcmVnYXJkbGVzcyBvZiB0aGVpciBjcmVhdGVkQXQgdmFsdWUuXG4gICAgICAvLyBUaGlzIGFsZ29yaXRobSBhc3N1bWVzIHRoYXQgR1FMIHF1ZXJ5IHJldHVybnMgbWVzc2FnZXMgc29ydGVkIGJ5IGNyZWF0ZWRBdC5cbiAgICAgIGlmIChjdXJyZW50LnJvbGUgPT09ICdhc3Npc3RhbnQnKSB7XG4gICAgICAgIC8vIEluaXRpYWxseSwgc2tpcCBhc3Npc3RhbnQgbWVzc2FnZXMsIHRoZXNlIG1pZ2h0IGJlIG91dCBvZiBjaHJvbm9sb2dpY2FsIG9yZGVyLlxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBjdXJyZW50LnJvbGUgPT09ICd1c2VyJyAmJlxuICAgICAgICAhYXNzaXN0YW50TWVzc2FnZUJ5VXNlck1lc3NhZ2VJZC5oYXMoY3VycmVudC5pZCkgJiZcbiAgICAgICAgY3VycmVudC5pZCAhPT0gdGhpcy5ldmVudC5jdXJyZW50TWVzc2FnZUlkXG4gICAgICApIHtcbiAgICAgICAgLy8gU2tpcCB1c2VyIG1lc3NhZ2VzIHRoYXQgZGlkbid0IGdldCBhbnN3ZXIgZnJvbSBhc3Npc3RhbnQgeWV0LlxuICAgICAgICAvLyBUaGVzZSBtaWdodCBiZSBzdGlsbCBcImluLWZsaWdodFwiLCBpLmUuIGFzc2lzdGFudCBpcyBzdGlsbCB3b3JraW5nIG9uIHRoZW0gaW4gc2VwYXJhdGUgaW52b2NhdGlvbi5cbiAgICAgICAgLy8gRXhjZXB0IGN1cnJlbnQgbWVzc2FnZSwgd2Ugd2FudCB0byBwcm9jZXNzIHRoYXQgb25lLlxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgY29uc3QgYWlDb250ZXh0ID0gY3VycmVudC5haUNvbnRleHQ7XG4gICAgICBjb25zdCBjb250ZW50ID0gYWlDb250ZXh0XG4gICAgICAgID8gWy4uLmN1cnJlbnQuY29udGVudCwgeyB0ZXh0OiBKU09OLnN0cmluZ2lmeShhaUNvbnRleHQpIH1dXG4gICAgICAgIDogY3VycmVudC5jb250ZW50O1xuXG4gICAgICBhY2MucHVzaCh7IHJvbGU6IGN1cnJlbnQucm9sZSwgY29udGVudCB9KTtcblxuICAgICAgLy8gRmluZCBhbmQgaW5zZXJ0IGNvcnJlc3BvbmRpbmcgYXNzaXN0YW50IG1lc3NhZ2UuXG4gICAgICBjb25zdCBjb3JyZXNwb25kaW5nQXNzaXN0YW50TWVzc2FnZSA9IGFzc2lzdGFudE1lc3NhZ2VCeVVzZXJNZXNzYWdlSWQuZ2V0KFxuICAgICAgICBjdXJyZW50LmlkXG4gICAgICApO1xuICAgICAgaWYgKGNvcnJlc3BvbmRpbmdBc3Npc3RhbnRNZXNzYWdlKSB7XG4gICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICByb2xlOiBjb3JyZXNwb25kaW5nQXNzaXN0YW50TWVzc2FnZS5yb2xlLFxuICAgICAgICAgIGNvbnRlbnQ6IGNvcnJlc3BvbmRpbmdBc3Npc3RhbnRNZXNzYWdlLmNvbnRlbnQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSBhcyBBcnJheTxDb252ZXJzYXRpb25NZXNzYWdlPik7XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50TWVzc2FnZSA9XG4gICAgYXN5bmMgKCk6IFByb21pc2U8Q29udmVyc2F0aW9uSGlzdG9yeU1lc3NhZ2VJdGVtPiA9PiB7XG4gICAgICBjb25zdCBxdWVyeSA9IGBcbiAgICAgICAgcXVlcnkgR2V0TWVzc2FnZSgkaWQ6ICR7dGhpcy5ldmVudC5tZXNzYWdlSGlzdG9yeVF1ZXJ5LmdldFF1ZXJ5SW5wdXRUeXBlTmFtZX0hKSB7XG4gICAgICAgICAgICAke3RoaXMuZXZlbnQubWVzc2FnZUhpc3RvcnlRdWVyeS5nZXRRdWVyeU5hbWV9KGlkOiAkaWQpIHtcbiAgICAgICAgICAgICAgJHttZXNzYWdlSXRlbVNlbGVjdGlvblNldH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIGA7XG4gICAgICBjb25zdCB2YXJpYWJsZXM6IEdldFF1ZXJ5SW5wdXQgPSB7XG4gICAgICAgIGlkOiB0aGlzLmV2ZW50LmN1cnJlbnRNZXNzYWdlSWQsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3RFeGVjdXRvci5leGVjdXRlR3JhcGhxbDxcbiAgICAgICAgR2V0UXVlcnlJbnB1dCxcbiAgICAgICAgR2V0UXVlcnlPdXRwdXRcbiAgICAgID4oe1xuICAgICAgICBxdWVyeSxcbiAgICAgICAgdmFyaWFibGVzLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhW3RoaXMuZXZlbnQubWVzc2FnZUhpc3RvcnlRdWVyeS5nZXRRdWVyeU5hbWVdO1xuICAgIH07XG5cbiAgcHJpdmF0ZSBsaXN0TWVzc2FnZXMgPSBhc3luYyAoKTogUHJvbWlzZTxcbiAgICBBcnJheTxDb252ZXJzYXRpb25IaXN0b3J5TWVzc2FnZUl0ZW0+XG4gID4gPT4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gYFxuICAgICAgICBxdWVyeSBMaXN0TWVzc2FnZXMoJGZpbHRlcjogJHt0aGlzLmV2ZW50Lm1lc3NhZ2VIaXN0b3J5UXVlcnkubGlzdFF1ZXJ5SW5wdXRUeXBlTmFtZX0hLCAkbGltaXQ6IEludCkge1xuICAgICAgICAgICAgJHt0aGlzLmV2ZW50Lm1lc3NhZ2VIaXN0b3J5UXVlcnkubGlzdFF1ZXJ5TmFtZX0oZmlsdGVyOiAkZmlsdGVyLCBsaW1pdDogJGxpbWl0KSB7XG4gICAgICAgICAgICAgIGl0ZW1zIHtcbiAgICAgICAgICAgICAgICAke21lc3NhZ2VJdGVtU2VsZWN0aW9uU2V0fVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBgO1xuICAgIGNvbnN0IHZhcmlhYmxlczogTGlzdFF1ZXJ5SW5wdXQgPSB7XG4gICAgICBmaWx0ZXI6IHtcbiAgICAgICAgY29udmVyc2F0aW9uSWQ6IHtcbiAgICAgICAgICBlcTogdGhpcy5ldmVudC5jb252ZXJzYXRpb25JZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBsaW1pdDogdGhpcy5ldmVudC5tZXNzYWdlSGlzdG9yeVF1ZXJ5Lmxpc3RRdWVyeUxpbWl0ID8/IDEwMDAsXG4gICAgfTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5ncmFwaHFsUmVxdWVzdEV4ZWN1dG9yLmV4ZWN1dGVHcmFwaHFsPFxuICAgICAgTGlzdFF1ZXJ5SW5wdXQsXG4gICAgICBMaXN0UXVlcnlPdXRwdXRcbiAgICA+KHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgdmFyaWFibGVzLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGFbdGhpcy5ldmVudC5tZXNzYWdlSGlzdG9yeVF1ZXJ5Lmxpc3RRdWVyeU5hbWVdLml0ZW1zO1xuICB9O1xufVxuIl19
|
@@ -1,6 +1,5 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
-
import {
|
3
|
-
import { ConversationTurnEvent, ExecutableTool } from './types.js';
|
2
|
+
import { ConversationTurnEvent, ExecutableTool, JSONSchema } from './types.js';
|
4
3
|
import { BedrockConverseAdapter } from './bedrock_converse_adapter.js';
|
5
4
|
/**
|
6
5
|
* This class is responsible for orchestrating conversation turn execution.
|
@@ -12,12 +11,11 @@ import { BedrockConverseAdapter } from './bedrock_converse_adapter.js';
|
|
12
11
|
export declare class ConversationTurnExecutor {
|
13
12
|
private readonly event;
|
14
13
|
private readonly bedrockConverseAdapter;
|
15
|
-
private readonly responseSender;
|
16
14
|
private readonly logger;
|
17
15
|
/**
|
18
16
|
* Creates conversation turn executor.
|
19
17
|
*/
|
20
|
-
constructor(event: ConversationTurnEvent, additionalTools: Array<ExecutableTool>, bedrockConverseAdapter?: BedrockConverseAdapter,
|
18
|
+
constructor(event: ConversationTurnEvent, additionalTools: Array<ExecutableTool>, bedrockConverseAdapter?: BedrockConverseAdapter, logger?: Console);
|
21
19
|
execute: () => Promise<void>;
|
22
20
|
}
|
23
21
|
/**
|
@@ -25,6 +23,6 @@ export declare class ConversationTurnExecutor {
|
|
25
23
|
* AppSync instance with conversational routes defined and sends response back.
|
26
24
|
*/
|
27
25
|
export declare const handleConversationTurnEvent: (event: ConversationTurnEvent, props?: {
|
28
|
-
tools?: Array<ExecutableTool
|
26
|
+
tools?: Array<ExecutableTool<JSONSchema, any>>;
|
29
27
|
}) => Promise<void>;
|
30
28
|
//# sourceMappingURL=conversation_turn_executor.d.ts.map
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.handleConversationTurnEvent = exports.ConversationTurnExecutor = void 0;
|
4
|
-
const conversation_turn_response_sender_js_1 = require("./conversation_turn_response_sender.js");
|
5
4
|
const bedrock_converse_adapter_js_1 = require("./bedrock_converse_adapter.js");
|
6
5
|
/**
|
7
6
|
* This class is responsible for orchestrating conversation turn execution.
|
@@ -14,17 +13,17 @@ class ConversationTurnExecutor {
|
|
14
13
|
/**
|
15
14
|
* Creates conversation turn executor.
|
16
15
|
*/
|
17
|
-
constructor(event, additionalTools, bedrockConverseAdapter = new bedrock_converse_adapter_js_1.BedrockConverseAdapter(event, additionalTools),
|
16
|
+
constructor(event, additionalTools, bedrockConverseAdapter = new bedrock_converse_adapter_js_1.BedrockConverseAdapter(event, additionalTools), logger = console) {
|
18
17
|
this.event = event;
|
19
18
|
this.bedrockConverseAdapter = bedrockConverseAdapter;
|
20
|
-
this.responseSender = responseSender;
|
21
19
|
this.logger = logger;
|
22
20
|
this.execute = async () => {
|
23
21
|
try {
|
24
22
|
this.logger.log(`Handling conversation turn event, currentMessageId=${this.event.currentMessageId}, conversationId=${this.event.conversationId}`);
|
25
|
-
|
26
|
-
await this.
|
23
|
+
this.logger.debug('Event received:', this.event);
|
24
|
+
const assistantResponseContent = await this.bedrockConverseAdapter.askBedrock();
|
27
25
|
this.logger.log(`Conversation turn event handled successfully, currentMessageId=${this.event.currentMessageId}, conversationId=${this.event.conversationId}`);
|
26
|
+
this.logger.debug('Accumulated content', assistantResponseContent);
|
28
27
|
}
|
29
28
|
catch (e) {
|
30
29
|
this.logger.error(`Failed to handle conversation turn event, currentMessageId=${this.event.currentMessageId}, conversationId=${this.event.conversationId}`, e);
|
@@ -39,9 +38,13 @@ exports.ConversationTurnExecutor = ConversationTurnExecutor;
|
|
39
38
|
* This function handles a conversation turn event that is coming from
|
40
39
|
* AppSync instance with conversational routes defined and sends response back.
|
41
40
|
*/
|
42
|
-
const handleConversationTurnEvent = async (event,
|
41
|
+
const handleConversationTurnEvent = async (event,
|
42
|
+
// This is by design, so that tools with different input types can be added
|
43
|
+
// to single arrays. Downstream code doesn't use these types.
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
45
|
+
props) => {
|
43
46
|
var _a;
|
44
47
|
await new ConversationTurnExecutor(event, (_a = props === null || props === void 0 ? void 0 : props.tools) !== null && _a !== void 0 ? _a : []).execute();
|
45
48
|
};
|
46
49
|
exports.handleConversationTurnEvent = handleConversationTurnEvent;
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX3R1cm5fZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvY29udmVyc2F0aW9uX3R1cm5fZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0VBQXVFO0FBRXZFOzs7Ozs7R0FNRztBQUNILE1BQWEsd0JBQXdCO0lBQ25DOztPQUVHO0lBQ0gsWUFDbUIsS0FBNEIsRUFDN0MsZUFBc0MsRUFDckIseUJBQXlCLElBQUksb0RBQXNCLENBQ2xFLEtBQUssRUFDTCxlQUFlLENBQ2hCLEVBQ2dCLFNBQVMsT0FBTztRQU5oQixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUU1QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBR3RDO1FBQ2dCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFHbkMsWUFBTyxHQUFHLEtBQUssSUFBbUIsRUFBRTtZQUNsQyxJQUFJO2dCQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUNiLHNEQUFzRCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixvQkFBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FDakksQ0FBQztnQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWpELE1BQU0sd0JBQXdCLEdBQzVCLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUVqRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDYixrRUFBa0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0Isb0JBQW9CLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQzdJLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQzthQUNwRTtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLDhEQUE4RCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixvQkFBb0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFDeEksQ0FBQyxDQUNGLENBQUM7Z0JBQ0YsaUVBQWlFO2dCQUNqRSxNQUFNLENBQUMsQ0FBQzthQUNUO1FBQ0gsQ0FBQyxDQUFDO0lBeEJDLENBQUM7Q0F5Qkw7QUFyQ0QsNERBcUNDO0FBRUQ7OztHQUdHO0FBQ0ksTUFBTSwyQkFBMkIsR0FBRyxLQUFLLEVBQzlDLEtBQTRCO0FBQzVCLDJFQUEyRTtBQUMzRSw2REFBNkQ7QUFDN0QsOERBQThEO0FBQzlELEtBQTBELEVBQzNDLEVBQUU7O0lBQ2pCLE1BQU0sSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsS0FBSyxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUMxRSxDQUFDLENBQUM7QUFSVyxRQUFBLDJCQUEyQiwrQkFRdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb252ZXJzYXRpb25UdXJuRXZlbnQsIEV4ZWN1dGFibGVUb29sLCBKU09OU2NoZW1hIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBCZWRyb2NrQ29udmVyc2VBZGFwdGVyIH0gZnJvbSAnLi9iZWRyb2NrX2NvbnZlcnNlX2FkYXB0ZXIuanMnO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIG9yY2hlc3RyYXRpbmcgY29udmVyc2F0aW9uIHR1cm4gZXhlY3V0aW9uLlxuICogVGhlIGNvbnZlcnNhdGlvbiB0dXJuIGNvbnNpc3Qgb2Y6XG4gKiAxLiBBY2NlcHRpbmcgYW4gZXZlbnQgdGhhdCBpcyBjb21pbmcgZnJvbSBjb252ZXJzYXRpb25hbCByb3V0ZSByZXNvbHZlcnMgaW4gQXBwU3luYy5cbiAqIDIuIEludGVyYWN0aW5nIHdpdGggQVdTIEJlZHJvY2sgdG8gcHJvZHVjZSByZXNwb25zZS5cbiAqIDMuIFNlbmQgcmVzcG9uc2UgYmFjayB0byBBcHBTeW5jIGluIGEgZm9ybSBvZiBtdXRhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvblR1cm5FeGVjdXRvciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGNvbnZlcnNhdGlvbiB0dXJuIGV4ZWN1dG9yLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudDogQ29udmVyc2F0aW9uVHVybkV2ZW50LFxuICAgIGFkZGl0aW9uYWxUb29sczogQXJyYXk8RXhlY3V0YWJsZVRvb2w+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYmVkcm9ja0NvbnZlcnNlQWRhcHRlciA9IG5ldyBCZWRyb2NrQ29udmVyc2VBZGFwdGVyKFxuICAgICAgZXZlbnQsXG4gICAgICBhZGRpdGlvbmFsVG9vbHNcbiAgICApLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gY29uc29sZVxuICApIHt9XG5cbiAgZXhlY3V0ZSA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5sb2dnZXIubG9nKFxuICAgICAgICBgSGFuZGxpbmcgY29udmVyc2F0aW9uIHR1cm4gZXZlbnQsIGN1cnJlbnRNZXNzYWdlSWQ9JHt0aGlzLmV2ZW50LmN1cnJlbnRNZXNzYWdlSWR9LCBjb252ZXJzYXRpb25JZD0ke3RoaXMuZXZlbnQuY29udmVyc2F0aW9uSWR9YFxuICAgICAgKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdFdmVudCByZWNlaXZlZDonLCB0aGlzLmV2ZW50KTtcblxuICAgICAgY29uc3QgYXNzaXN0YW50UmVzcG9uc2VDb250ZW50ID1cbiAgICAgICAgYXdhaXQgdGhpcy5iZWRyb2NrQ29udmVyc2VBZGFwdGVyLmFza0JlZHJvY2soKTtcblxuICAgICAgdGhpcy5sb2dnZXIubG9nKFxuICAgICAgICBgQ29udmVyc2F0aW9uIHR1cm4gZXZlbnQgaGFuZGxlZCBzdWNjZXNzZnVsbHksIGN1cnJlbnRNZXNzYWdlSWQ9JHt0aGlzLmV2ZW50LmN1cnJlbnRNZXNzYWdlSWR9LCBjb252ZXJzYXRpb25JZD0ke3RoaXMuZXZlbnQuY29udmVyc2F0aW9uSWR9YFxuICAgICAgKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdBY2N1bXVsYXRlZCBjb250ZW50JywgYXNzaXN0YW50UmVzcG9uc2VDb250ZW50KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgYEZhaWxlZCB0byBoYW5kbGUgY29udmVyc2F0aW9uIHR1cm4gZXZlbnQsIGN1cnJlbnRNZXNzYWdlSWQ9JHt0aGlzLmV2ZW50LmN1cnJlbnRNZXNzYWdlSWR9LCBjb252ZXJzYXRpb25JZD0ke3RoaXMuZXZlbnQuY29udmVyc2F0aW9uSWR9YCxcbiAgICAgICAgZVxuICAgICAgKTtcbiAgICAgIC8vIFByb3BhZ2F0ZSBlcnJvciB0byBtYXJrIGxhbWJkYSBleGVjdXRpb24gYXMgZmFpbGVkIGluIG1ldHJpY3MuXG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgYSBjb252ZXJzYXRpb24gdHVybiBldmVudCB0aGF0IGlzIGNvbWluZyBmcm9tXG4gKiBBcHBTeW5jIGluc3RhbmNlIHdpdGggY29udmVyc2F0aW9uYWwgcm91dGVzIGRlZmluZWQgYW5kIHNlbmRzIHJlc3BvbnNlIGJhY2suXG4gKi9cbmV4cG9ydCBjb25zdCBoYW5kbGVDb252ZXJzYXRpb25UdXJuRXZlbnQgPSBhc3luYyAoXG4gIGV2ZW50OiBDb252ZXJzYXRpb25UdXJuRXZlbnQsXG4gIC8vIFRoaXMgaXMgYnkgZGVzaWduLCBzbyB0aGF0IHRvb2xzIHdpdGggZGlmZmVyZW50IGlucHV0IHR5cGVzIGNhbiBiZSBhZGRlZFxuICAvLyB0byBzaW5nbGUgYXJyYXlzLiBEb3duc3RyZWFtIGNvZGUgZG9lc24ndCB1c2UgdGhlc2UgdHlwZXMuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHByb3BzPzogeyB0b29scz86IEFycmF5PEV4ZWN1dGFibGVUb29sPEpTT05TY2hlbWEsIGFueT4+IH1cbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBhd2FpdCBuZXcgQ29udmVyc2F0aW9uVHVybkV4ZWN1dG9yKGV2ZW50LCBwcm9wcz8udG9vbHMgPz8gW10pLmV4ZWN1dGUoKTtcbn07XG4iXX0=
|
@@ -1,17 +1,26 @@
|
|
1
1
|
/// <reference types="node" />
|
2
2
|
import { ConversationTurnEvent } from './types.js';
|
3
3
|
import type { ContentBlock } from '@aws-sdk/client-bedrock-runtime';
|
4
|
+
import { GraphqlRequestExecutor } from './graphql_request_executor';
|
5
|
+
export type MutationResponseInput = {
|
6
|
+
input: {
|
7
|
+
conversationId: string;
|
8
|
+
content: ContentBlock[];
|
9
|
+
associatedUserMessageId: string;
|
10
|
+
};
|
11
|
+
};
|
4
12
|
/**
|
5
13
|
* This class is responsible for sending a response produced by Bedrock back to AppSync
|
6
14
|
* in a form of mutation.
|
7
15
|
*/
|
8
16
|
export declare class ConversationTurnResponseSender {
|
9
17
|
private readonly event;
|
10
|
-
private readonly
|
18
|
+
private readonly graphqlRequestExecutor;
|
19
|
+
private readonly logger;
|
11
20
|
/**
|
12
21
|
* Creates conversation turn response sender.
|
13
22
|
*/
|
14
|
-
constructor(event: ConversationTurnEvent,
|
23
|
+
constructor(event: ConversationTurnEvent, graphqlRequestExecutor?: GraphqlRequestExecutor, logger?: Console);
|
15
24
|
sendResponse: (message: ContentBlock[]) => Promise<void>;
|
16
25
|
private createMutationRequest;
|
17
26
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.ConversationTurnResponseSender = void 0;
|
4
|
+
const graphql_request_executor_1 = require("./graphql_request_executor");
|
4
5
|
/**
|
5
6
|
* This class is responsible for sending a response produced by Bedrock back to AppSync
|
6
7
|
* in a form of mutation.
|
@@ -9,22 +10,14 @@ class ConversationTurnResponseSender {
|
|
9
10
|
/**
|
10
11
|
* Creates conversation turn response sender.
|
11
12
|
*/
|
12
|
-
constructor(event,
|
13
|
+
constructor(event, graphqlRequestExecutor = new graphql_request_executor_1.GraphqlRequestExecutor(event.graphqlApiEndpoint, event.request.headers.authorization, event.request.headers['x-amz-user-agent']), logger = console) {
|
13
14
|
this.event = event;
|
14
|
-
this.
|
15
|
+
this.graphqlRequestExecutor = graphqlRequestExecutor;
|
16
|
+
this.logger = logger;
|
15
17
|
this.sendResponse = async (message) => {
|
16
|
-
const
|
17
|
-
|
18
|
-
|
19
|
-
res.headers.forEach((value, key) => (responseHeaders[key] = value));
|
20
|
-
if (!res.ok) {
|
21
|
-
const body = await res.text();
|
22
|
-
throw new Error(`Assistant response mutation request was not successful, response headers=${JSON.stringify(responseHeaders)}, body=${body}`);
|
23
|
-
}
|
24
|
-
const body = await res.json();
|
25
|
-
if (body && typeof body === 'object' && 'errors' in body) {
|
26
|
-
throw new Error(`Assistant response mutation request was not successful, response headers=${JSON.stringify(responseHeaders)}, body=${JSON.stringify(body)}`);
|
27
|
-
}
|
18
|
+
const responseMutationRequest = this.createMutationRequest(message);
|
19
|
+
this.logger.debug('Sending response mutation:', responseMutationRequest);
|
20
|
+
await this.graphqlRequestExecutor.executeGraphql(responseMutationRequest);
|
28
21
|
};
|
29
22
|
this.createMutationRequest = (content) => {
|
30
23
|
const query = `
|
@@ -51,16 +44,9 @@ class ConversationTurnResponseSender {
|
|
51
44
|
associatedUserMessageId: this.event.currentMessageId,
|
52
45
|
},
|
53
46
|
};
|
54
|
-
return
|
55
|
-
method: 'POST',
|
56
|
-
headers: {
|
57
|
-
'Content-Type': 'application/graphql',
|
58
|
-
Authorization: this.event.request.headers.authorization,
|
59
|
-
},
|
60
|
-
body: JSON.stringify({ query, variables }),
|
61
|
-
});
|
47
|
+
return { query, variables };
|
62
48
|
};
|
63
49
|
}
|
64
50
|
}
|
65
51
|
exports.ConversationTurnResponseSender = ConversationTurnResponseSender;
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX3R1cm5fcmVzcG9uc2Vfc2VuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9ydW50aW1lL2NvbnZlcnNhdGlvbl90dXJuX3Jlc3BvbnNlX3NlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx5RUFBb0U7QUFVcEU7OztHQUdHO0FBQ0gsTUFBYSw4QkFBOEI7SUFDekM7O09BRUc7SUFDSCxZQUNtQixLQUE0QixFQUM1Qix5QkFBeUIsSUFBSSxpREFBc0IsQ0FDbEUsS0FBSyxDQUFDLGtCQUFrQixFQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQzFDLEVBQ2dCLFNBQVMsT0FBTztRQU5oQixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUM1QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBSXRDO1FBQ2dCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFHbkMsaUJBQVksR0FBRyxLQUFLLEVBQUUsT0FBdUIsRUFBRSxFQUFFO1lBQy9DLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLHVCQUF1QixDQUFDLENBQUM7WUFDekUsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUc5Qyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQUVNLDBCQUFxQixHQUFHLENBQUMsT0FBdUIsRUFBRSxFQUFFO1lBQzFELE1BQU0sS0FBSyxHQUFHO2dEQUM4QixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQWE7Y0FDM0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJO2tCQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFlBQVk7OztLQUdyRCxDQUFDO1lBQ0YsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO29CQUNqQix1RkFBdUY7b0JBQ3ZGLHlCQUF5QjtvQkFDekIsK0VBQStFO29CQUMvRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztpQkFDakQ7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sU0FBUyxHQUEwQjtnQkFDdkMsS0FBSyxFQUFFO29CQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7b0JBQ3pDLE9BQU87b0JBQ1AsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7aUJBQ3JEO2FBQ0YsQ0FBQztZQUNGLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDO0lBckNDLENBQUM7Q0FzQ0w7QUFsREQsd0VBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udmVyc2F0aW9uVHVybkV2ZW50IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnRlbnRCbG9jayB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1iZWRyb2NrLXJ1bnRpbWUnO1xuaW1wb3J0IHsgR3JhcGhxbFJlcXVlc3RFeGVjdXRvciB9IGZyb20gJy4vZ3JhcGhxbF9yZXF1ZXN0X2V4ZWN1dG9yJztcblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXNwb25zZUlucHV0ID0ge1xuICBpbnB1dDoge1xuICAgIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gICAgY29udGVudDogQ29udGVudEJsb2NrW107XG4gICAgYXNzb2NpYXRlZFVzZXJNZXNzYWdlSWQ6IHN0cmluZztcbiAgfTtcbn07XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3Igc2VuZGluZyBhIHJlc3BvbnNlIHByb2R1Y2VkIGJ5IEJlZHJvY2sgYmFjayB0byBBcHBTeW5jXG4gKiBpbiBhIGZvcm0gb2YgbXV0YXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb252ZXJzYXRpb25UdXJuUmVzcG9uc2VTZW5kZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBjb252ZXJzYXRpb24gdHVybiByZXNwb25zZSBzZW5kZXIuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50OiBDb252ZXJzYXRpb25UdXJuRXZlbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBncmFwaHFsUmVxdWVzdEV4ZWN1dG9yID0gbmV3IEdyYXBocWxSZXF1ZXN0RXhlY3V0b3IoXG4gICAgICBldmVudC5ncmFwaHFsQXBpRW5kcG9pbnQsXG4gICAgICBldmVudC5yZXF1ZXN0LmhlYWRlcnMuYXV0aG9yaXphdGlvbixcbiAgICAgIGV2ZW50LnJlcXVlc3QuaGVhZGVyc1sneC1hbXotdXNlci1hZ2VudCddXG4gICAgKSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IGNvbnNvbGVcbiAgKSB7fVxuXG4gIHNlbmRSZXNwb25zZSA9IGFzeW5jIChtZXNzYWdlOiBDb250ZW50QmxvY2tbXSkgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlTXV0YXRpb25SZXF1ZXN0ID0gdGhpcy5jcmVhdGVNdXRhdGlvblJlcXVlc3QobWVzc2FnZSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ1NlbmRpbmcgcmVzcG9uc2UgbXV0YXRpb246JywgcmVzcG9uc2VNdXRhdGlvblJlcXVlc3QpO1xuICAgIGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3RFeGVjdXRvci5leGVjdXRlR3JhcGhxbDxcbiAgICAgIE11dGF0aW9uUmVzcG9uc2VJbnB1dCxcbiAgICAgIHZvaWRcbiAgICA+KHJlc3BvbnNlTXV0YXRpb25SZXF1ZXN0KTtcbiAgfTtcblxuICBwcml2YXRlIGNyZWF0ZU11dGF0aW9uUmVxdWVzdCA9IChjb250ZW50OiBDb250ZW50QmxvY2tbXSkgPT4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gYFxuICAgICAgICBtdXRhdGlvbiBQdWJsaXNoTW9kZWxSZXNwb25zZSgkaW5wdXQ6ICR7dGhpcy5ldmVudC5yZXNwb25zZU11dGF0aW9uLmlucHV0VHlwZU5hbWV9ISkge1xuICAgICAgICAgICAgJHt0aGlzLmV2ZW50LnJlc3BvbnNlTXV0YXRpb24ubmFtZX0oaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgICAgICR7dGhpcy5ldmVudC5yZXNwb25zZU11dGF0aW9uLnNlbGVjdGlvblNldH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIGA7XG4gICAgY29udGVudCA9IGNvbnRlbnQubWFwKChibG9jaykgPT4ge1xuICAgICAgaWYgKGJsb2NrLnRvb2xVc2UpIHtcbiAgICAgICAgLy8gVGhlIGBpbnB1dGAgZmllbGQgaXMgdHlwZWQgYXMgYEFXUyBKU09OYCBpbiB0aGUgR3JhcGhRTCBBUEkgYmVjYXVzZSBpdCBjYW4gcmVwcmVzZW50XG4gICAgICAgIC8vIGFyYml0cmFyeSBKU09OIHZhbHVlcy5cbiAgICAgICAgLy8gV2UgbmVlZCB0byBzdHJpbmdpZnkgaXQgYmVmb3JlIHNlbmRpbmcgaXQgdG8gQXBwU3luYyB0byBwcmV2ZW50IHR5cGUgZXJyb3JzLlxuICAgICAgICBjb25zdCBpbnB1dCA9IEpTT04uc3RyaW5naWZ5KGJsb2NrLnRvb2xVc2UuaW5wdXQpO1xuICAgICAgICByZXR1cm4geyB0b29sVXNlOiB7IC4uLmJsb2NrLnRvb2xVc2UsIGlucHV0IH0gfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBibG9jaztcbiAgICB9KTtcbiAgICBjb25zdCB2YXJpYWJsZXM6IE11dGF0aW9uUmVzcG9uc2VJbnB1dCA9IHtcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIGNvbnZlcnNhdGlvbklkOiB0aGlzLmV2ZW50LmNvbnZlcnNhdGlvbklkLFxuICAgICAgICBjb250ZW50LFxuICAgICAgICBhc3NvY2lhdGVkVXNlck1lc3NhZ2VJZDogdGhpcy5ldmVudC5jdXJyZW50TWVzc2FnZUlkLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiB7IHF1ZXJ5LCB2YXJpYWJsZXMgfTtcbiAgfTtcbn1cbiJdfQ==
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
import { ConversationTurnEvent } from './types.js';
|
3
|
+
import { GraphqlRequestExecutor } from './graphql_request_executor';
|
4
|
+
export type StreamingResponseChunk = {
|
5
|
+
conversationId: string;
|
6
|
+
associatedUserMessageId: string;
|
7
|
+
contentBlockIndex: number;
|
8
|
+
} & ({
|
9
|
+
contentBlockText: string;
|
10
|
+
contentBlockDeltaIndex: number;
|
11
|
+
} | {
|
12
|
+
contentBlockDoneAtIndex: number;
|
13
|
+
} | {
|
14
|
+
contentBlockToolUse: string;
|
15
|
+
} | {
|
16
|
+
stopReason: string;
|
17
|
+
});
|
18
|
+
/**
|
19
|
+
* This class is responsible for sending response chunks produced by Bedrock back to AppSync
|
20
|
+
* in a form of mutation.
|
21
|
+
*/
|
22
|
+
export declare class ConversationTurnStreamingResponseSender {
|
23
|
+
private readonly event;
|
24
|
+
private readonly graphqlRequestExecutor;
|
25
|
+
private readonly logger;
|
26
|
+
/**
|
27
|
+
* Creates conversation turn response sender.
|
28
|
+
*/
|
29
|
+
constructor(event: ConversationTurnEvent, graphqlRequestExecutor?: GraphqlRequestExecutor, logger?: Console);
|
30
|
+
sendResponseChunk: (chunk: StreamingResponseChunk) => Promise<void>;
|
31
|
+
private createMutationRequest;
|
32
|
+
}
|
33
|
+
//# sourceMappingURL=conversation_turn_streaming_response_sender.d.ts.map
|
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ConversationTurnStreamingResponseSender = void 0;
|
4
|
+
const graphql_request_executor_1 = require("./graphql_request_executor");
|
5
|
+
/**
|
6
|
+
* This class is responsible for sending response chunks produced by Bedrock back to AppSync
|
7
|
+
* in a form of mutation.
|
8
|
+
*/
|
9
|
+
class ConversationTurnStreamingResponseSender {
|
10
|
+
/**
|
11
|
+
* Creates conversation turn response sender.
|
12
|
+
*/
|
13
|
+
constructor(event, graphqlRequestExecutor = new graphql_request_executor_1.GraphqlRequestExecutor(event.graphqlApiEndpoint, event.request.headers.authorization, event.request.headers['x-amz-user-agent']), logger = console) {
|
14
|
+
this.event = event;
|
15
|
+
this.graphqlRequestExecutor = graphqlRequestExecutor;
|
16
|
+
this.logger = logger;
|
17
|
+
this.sendResponseChunk = async (chunk) => {
|
18
|
+
const responseMutationRequest = this.createMutationRequest(chunk);
|
19
|
+
this.logger.debug('Sending response mutation:', responseMutationRequest);
|
20
|
+
await this.graphqlRequestExecutor.executeGraphql(responseMutationRequest);
|
21
|
+
};
|
22
|
+
this.createMutationRequest = (chunk) => {
|
23
|
+
const query = `
|
24
|
+
mutation PublishModelResponse($input: ${this.event.responseMutation.inputTypeName}!) {
|
25
|
+
${this.event.responseMutation.name}(input: $input) {
|
26
|
+
${this.event.responseMutation.selectionSet}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
`;
|
30
|
+
const variables = {
|
31
|
+
input: chunk,
|
32
|
+
};
|
33
|
+
return { query, variables };
|
34
|
+
};
|
35
|
+
}
|
36
|
+
}
|
37
|
+
exports.ConversationTurnStreamingResponseSender = ConversationTurnStreamingResponseSender;
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX3R1cm5fc3RyZWFtaW5nX3Jlc3BvbnNlX3NlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb252ZXJzYXRpb24vcnVudGltZS9jb252ZXJzYXRpb25fdHVybl9zdHJlYW1pbmdfcmVzcG9uc2Vfc2VuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlFQUFvRTtBQStCcEU7OztHQUdHO0FBQ0gsTUFBYSx1Q0FBdUM7SUFDbEQ7O09BRUc7SUFDSCxZQUNtQixLQUE0QixFQUM1Qix5QkFBeUIsSUFBSSxpREFBc0IsQ0FDbEUsS0FBSyxDQUFDLGtCQUFrQixFQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQzFDLEVBQ2dCLFNBQVMsT0FBTztRQU5oQixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUM1QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBSXRDO1FBQ2dCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFHbkMsc0JBQWlCLEdBQUcsS0FBSyxFQUFFLEtBQTZCLEVBQUUsRUFBRTtZQUMxRCxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FHOUMsdUJBQXVCLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUM7UUFFTSwwQkFBcUIsR0FBRyxDQUFDLEtBQTZCLEVBQUUsRUFBRTtZQUNoRSxNQUFNLEtBQUssR0FBRztnREFDOEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhO2NBQzNFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSTtrQkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZOzs7S0FHckQsQ0FBQztZQUNGLE1BQU0sU0FBUyxHQUFtQztnQkFDaEQsS0FBSyxFQUFFLEtBQUs7YUFDYixDQUFDO1lBQ0YsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUM7SUF2QkMsQ0FBQztDQXdCTDtBQXBDRCwwRkFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb252ZXJzYXRpb25UdXJuRXZlbnQgfSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB7IEdyYXBocWxSZXF1ZXN0RXhlY3V0b3IgfSBmcm9tICcuL2dyYXBocWxfcmVxdWVzdF9leGVjdXRvcic7XG5cbmV4cG9ydCB0eXBlIFN0cmVhbWluZ1Jlc3BvbnNlQ2h1bmsgPSB7XG4gIC8vIGFsd2F5cyByZXF1aXJlZFxuICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICBhc3NvY2lhdGVkVXNlck1lc3NhZ2VJZDogc3RyaW5nO1xuICBjb250ZW50QmxvY2tJbmRleDogbnVtYmVyO1xufSAmIChcbiAgfCB7XG4gICAgICAvLyB0ZXh0IGNodW5rXG4gICAgICBjb250ZW50QmxvY2tUZXh0OiBzdHJpbmc7XG4gICAgICBjb250ZW50QmxvY2tEZWx0YUluZGV4OiBudW1iZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIC8vIGVuZCBvZiBibG9jay4gYXBwbGljYWJsZSB0byB0ZXh0IGJsb2Nrc1xuICAgICAgY29udGVudEJsb2NrRG9uZUF0SW5kZXg6IG51bWJlcjtcbiAgICB9XG4gIHwge1xuICAgICAgLy8gdG9vbCB1c2VcbiAgICAgIGNvbnRlbnRCbG9ja1Rvb2xVc2U6IHN0cmluZzsgLy8gc2VyaWFsaXplZCBqc29uIHdpdGggZnVsbCB0b29sIHVzZSBibG9ja1xuICAgIH1cbiAgfCB7XG4gICAgICAvLyB0dXJuIGNvbXBsZXRlXG4gICAgICBzdG9wUmVhc29uOiBzdHJpbmc7XG4gICAgfVxuKTtcblxudHlwZSBNdXRhdGlvblN0cmVhbWluZ1Jlc3BvbnNlSW5wdXQgPSB7XG4gIGlucHV0OiBTdHJlYW1pbmdSZXNwb25zZUNodW5rO1xufTtcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBzZW5kaW5nIHJlc3BvbnNlIGNodW5rcyBwcm9kdWNlZCBieSBCZWRyb2NrIGJhY2sgdG8gQXBwU3luY1xuICogaW4gYSBmb3JtIG9mIG11dGF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uVHVyblN0cmVhbWluZ1Jlc3BvbnNlU2VuZGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgY29udmVyc2F0aW9uIHR1cm4gcmVzcG9uc2Ugc2VuZGVyLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudDogQ29udmVyc2F0aW9uVHVybkV2ZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JhcGhxbFJlcXVlc3RFeGVjdXRvciA9IG5ldyBHcmFwaHFsUmVxdWVzdEV4ZWN1dG9yKFxuICAgICAgZXZlbnQuZ3JhcGhxbEFwaUVuZHBvaW50LFxuICAgICAgZXZlbnQucmVxdWVzdC5oZWFkZXJzLmF1dGhvcml6YXRpb24sXG4gICAgICBldmVudC5yZXF1ZXN0LmhlYWRlcnNbJ3gtYW16LXVzZXItYWdlbnQnXVxuICAgICksXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBjb25zb2xlXG4gICkge31cblxuICBzZW5kUmVzcG9uc2VDaHVuayA9IGFzeW5jIChjaHVuazogU3RyZWFtaW5nUmVzcG9uc2VDaHVuaykgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlTXV0YXRpb25SZXF1ZXN0ID0gdGhpcy5jcmVhdGVNdXRhdGlvblJlcXVlc3QoY2h1bmspO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTZW5kaW5nIHJlc3BvbnNlIG11dGF0aW9uOicsIHJlc3BvbnNlTXV0YXRpb25SZXF1ZXN0KTtcbiAgICBhd2FpdCB0aGlzLmdyYXBocWxSZXF1ZXN0RXhlY3V0b3IuZXhlY3V0ZUdyYXBocWw8XG4gICAgICBNdXRhdGlvblN0cmVhbWluZ1Jlc3BvbnNlSW5wdXQsXG4gICAgICB2b2lkXG4gICAgPihyZXNwb25zZU11dGF0aW9uUmVxdWVzdCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBjcmVhdGVNdXRhdGlvblJlcXVlc3QgPSAoY2h1bms6IFN0cmVhbWluZ1Jlc3BvbnNlQ2h1bmspID0+IHtcbiAgICBjb25zdCBxdWVyeSA9IGBcbiAgICAgICAgbXV0YXRpb24gUHVibGlzaE1vZGVsUmVzcG9uc2UoJGlucHV0OiAke3RoaXMuZXZlbnQucmVzcG9uc2VNdXRhdGlvbi5pbnB1dFR5cGVOYW1lfSEpIHtcbiAgICAgICAgICAgICR7dGhpcy5ldmVudC5yZXNwb25zZU11dGF0aW9uLm5hbWV9KGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgICAgICAke3RoaXMuZXZlbnQucmVzcG9uc2VNdXRhdGlvbi5zZWxlY3Rpb25TZXR9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBgO1xuICAgIGNvbnN0IHZhcmlhYmxlczogTXV0YXRpb25TdHJlYW1pbmdSZXNwb25zZUlucHV0ID0ge1xuICAgICAgaW5wdXQ6IGNodW5rLFxuICAgIH07XG4gICAgcmV0dXJuIHsgcXVlcnksIHZhcmlhYmxlcyB9O1xuICB9O1xufVxuIl19
|
package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/default_handler.d.ts
CHANGED
@@ -3,6 +3,6 @@
|
|
3
3
|
* This is an entry point for Amplify provided implementation.
|
4
4
|
*/
|
5
5
|
export declare const handler: (event: import("./types.js").ConversationTurnEvent, props?: {
|
6
|
-
tools?: import("./types.js").ExecutableTool[] | undefined;
|
6
|
+
tools?: import("./types.js").ExecutableTool<import("json-schema-to-ts").JSONSchema, any>[] | undefined;
|
7
7
|
} | undefined) => Promise<void>;
|
8
8
|
//# sourceMappingURL=default_handler.d.ts.map
|
@@ -22,11 +22,11 @@ class ConversationTurnEventToolsProvider {
|
|
22
22
|
const tools = (_a = toolsConfiguration.dataTools) === null || _a === void 0 ? void 0 : _a.map((tool) => {
|
23
23
|
const { name, description, inputSchema } = tool;
|
24
24
|
const query = this.graphQlQueryFactory.createQuery(tool);
|
25
|
-
return new graphql_tool_1.GraphQlTool(name, description, inputSchema, graphqlApiEndpoint, query, this.event.request.headers.authorization);
|
25
|
+
return new graphql_tool_1.GraphQlTool(name, description, inputSchema, graphqlApiEndpoint, query, this.event.request.headers.authorization, this.event.request.headers['x-amz-user-agent']);
|
26
26
|
});
|
27
27
|
return tools !== null && tools !== void 0 ? tools : [];
|
28
28
|
};
|
29
29
|
}
|
30
30
|
}
|
31
31
|
exports.ConversationTurnEventToolsProvider = ConversationTurnEventToolsProvider;
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfdG9vbHNfcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvZXZlbnQtdG9vbHMtcHJvdmlkZXIvZXZlbnRfdG9vbHNfcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQTZDO0FBQzdDLG1FQUE4RDtBQUU5RDs7R0FFRztBQUNILE1BQWEsa0NBQWtDO0lBQzdDOztPQUVHO0lBQ0gsWUFDbUIsS0FBNEIsRUFDNUIsc0JBQTJDLElBQUksMkNBQW1CLEVBQUU7UUFEcEUsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFpRDtRQUd2RixrQkFBYSxHQUFHLEdBQTBCLEVBQUU7O1lBQzFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDOUQsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFO2dCQUN4RCxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBQSxrQkFBa0IsQ0FBQyxTQUFTLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN2RCxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSwwQkFBVyxDQUNwQixJQUFJLEVBQ0osV0FBVyxFQUNYLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUMvQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUM7SUFyQkMsQ0FBQztDQXNCTDtBQTdCRCxnRkE2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb252ZXJzYXRpb25UdXJuRXZlbnQsIEV4ZWN1dGFibGVUb29sIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgR3JhcGhRbFRvb2wgfSBmcm9tICcuL2dyYXBocWxfdG9vbCc7XG5pbXBvcnQgeyBHcmFwaFFsUXVlcnlGYWN0b3J5IH0gZnJvbSAnLi9ncmFwaHFsX3F1ZXJ5X2ZhY3RvcnknO1xuXG4vKipcbiAqIENyZWF0ZXMgZXhlY3V0YWJsZSB0b29scyBmcm9tIGRlZmluaXRpb25zIGluIGNvbnZlcnNhdGlvbiB0dXJuIGV2ZW50LlxuICovXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uVHVybkV2ZW50VG9vbHNQcm92aWRlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGNvbnZlcnNhdGlvbiB0dXJuIGV2ZW50IHRvb2xzIHByb3ZpZGVyLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudDogQ29udmVyc2F0aW9uVHVybkV2ZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JhcGhRbFF1ZXJ5RmFjdG9yeTogR3JhcGhRbFF1ZXJ5RmFjdG9yeSA9IG5ldyBHcmFwaFFsUXVlcnlGYWN0b3J5KClcbiAgKSB7fVxuXG4gIGdldEV2ZW50VG9vbHMgPSAoKTogQXJyYXk8RXhlY3V0YWJsZVRvb2w+ID0+IHtcbiAgICBjb25zdCB7IHRvb2xzQ29uZmlndXJhdGlvbiwgZ3JhcGhxbEFwaUVuZHBvaW50IH0gPSB0aGlzLmV2ZW50O1xuICAgIGlmICghdG9vbHNDb25maWd1cmF0aW9uIHx8ICF0b29sc0NvbmZpZ3VyYXRpb24uZGF0YVRvb2xzKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IHRvb2xzID0gdG9vbHNDb25maWd1cmF0aW9uLmRhdGFUb29scz8ubWFwKCh0b29sKSA9PiB7XG4gICAgICBjb25zdCB7IG5hbWUsIGRlc2NyaXB0aW9uLCBpbnB1dFNjaGVtYSB9ID0gdG9vbDtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5ncmFwaFFsUXVlcnlGYWN0b3J5LmNyZWF0ZVF1ZXJ5KHRvb2wpO1xuICAgICAgcmV0dXJuIG5ldyBHcmFwaFFsVG9vbChcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgIGlucHV0U2NoZW1hLFxuICAgICAgICBncmFwaHFsQXBpRW5kcG9pbnQsXG4gICAgICAgIHF1ZXJ5LFxuICAgICAgICB0aGlzLmV2ZW50LnJlcXVlc3QuaGVhZGVycy5hdXRob3JpemF0aW9uLFxuICAgICAgICB0aGlzLmV2ZW50LnJlcXVlc3QuaGVhZGVyc1sneC1hbXotdXNlci1hZ2VudCddXG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiB0b29scyA/PyBbXTtcbiAgfTtcbn1cbiJdfQ==
|
@@ -1,22 +1,22 @@
|
|
1
|
-
|
2
|
-
import {
|
3
|
-
import
|
4
|
-
import { DocumentType } from '@smithy/types';
|
1
|
+
import { ExecutableTool, JSONSchema, ToolInputSchema } from '../types';
|
2
|
+
import type { ToolResultContentBlock } from '@aws-sdk/client-bedrock-runtime';
|
3
|
+
import { GraphqlRequestExecutor } from '../graphql_request_executor';
|
5
4
|
/**
|
6
5
|
* A tool that use GraphQl queries.
|
7
6
|
*/
|
8
|
-
export declare class GraphQlTool implements ExecutableTool {
|
7
|
+
export declare class GraphQlTool implements ExecutableTool<JSONSchema, unknown> {
|
9
8
|
name: string;
|
10
9
|
description: string;
|
11
|
-
inputSchema: ToolInputSchema
|
12
|
-
|
10
|
+
inputSchema: ToolInputSchema<JSONSchema>;
|
11
|
+
readonly graphQlEndpoint: string;
|
13
12
|
private readonly query;
|
14
|
-
|
15
|
-
|
13
|
+
readonly accessToken: string;
|
14
|
+
readonly userAgent: string;
|
15
|
+
private readonly graphqlRequestExecutor;
|
16
16
|
/**
|
17
17
|
* Creates GraphQl Tool
|
18
18
|
*/
|
19
|
-
constructor(name: string, description: string, inputSchema: ToolInputSchema
|
20
|
-
execute: (input:
|
19
|
+
constructor(name: string, description: string, inputSchema: ToolInputSchema<JSONSchema>, graphQlEndpoint: string, query: string, accessToken: string, userAgent: string, graphqlRequestExecutor?: GraphqlRequestExecutor);
|
20
|
+
execute: (input: unknown | undefined) => Promise<ToolResultContentBlock>;
|
21
21
|
}
|
22
22
|
//# sourceMappingURL=graphql_tool.d.ts.map
|