@aws-amplify/graphql-api-construct 1.15.0 → 1.15.1-ai-streaming.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. package/.jsii +5 -5
  2. package/CHANGELOG.md +8 -0
  3. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  4. package/lib/amplify-graphql-api.js +1 -1
  5. package/lib/amplify-graphql-definition.js +1 -1
  6. package/lib/sql-model-datasource-strategy.js +1 -1
  7. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.d.ts +12 -1
  8. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.js +22 -2
  9. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/index.d.ts +2 -2
  10. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/index.js +1 -1
  11. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.d.ts +8 -2
  12. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.js +195 -34
  13. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_message_history_retriever.js +19 -3
  14. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_executor.d.ts +5 -3
  15. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_executor.js +20 -5
  16. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_response_sender.d.ts +3 -1
  17. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_response_sender.js +6 -7
  18. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_streaming_response_sender.d.ts +19 -0
  19. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_streaming_response_sender.js +38 -0
  20. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/default_handler.d.ts +1 -1
  21. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/event_tools_provider.js +2 -2
  22. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/graphql_tool.d.ts +7 -7
  23. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/graphql_tool.js +3 -2
  24. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/executable_tool_factory.d.ts +7 -0
  25. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/executable_tool_factory.js +16 -0
  26. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/graphql_request_executor.d.ts +2 -1
  27. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/graphql_request_executor.js +4 -2
  28. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/index.d.ts +3 -2
  29. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/index.js +4 -2
  30. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.d.ts +32 -10
  31. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.js +1 -1
  32. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/README.md +4 -0
  33. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/index.d.ts +23 -0
  34. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/index.js +10 -0
  35. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/v1.d.ts +22 -0
  36. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/v1.js +11 -0
  37. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.d.ts +113 -0
  38. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +10 -0
  39. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.d.ts +112 -0
  40. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +30 -0
  41. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/index.d.ts +23 -0
  42. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/index.js +10 -0
  43. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/v1.d.ts +22 -0
  44. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/v1.js +11 -0
  45. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/index.d.ts +23 -0
  46. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/index.js +10 -0
  47. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/v1.d.ts +22 -0
  48. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/v1.js +11 -0
  49. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.d.ts +59 -0
  50. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +12 -0
  51. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.d.ts +59 -0
  52. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +25 -0
  53. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +508 -0
  54. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +112 -0
  55. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.d.ts +2 -0
  56. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +18 -0
  57. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.d.ts +42 -0
  58. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +22 -0
  59. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +28 -0
  60. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +10 -0
  61. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +27 -0
  62. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +12 -0
  63. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.d.ts +33 -0
  64. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +10 -0
  65. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.d.ts +32 -0
  66. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +33 -0
  67. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/package.json +27 -0
  68. package/node_modules/@aws-amplify/ai-constructs/package.json +9 -2
  69. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +1 -2
  70. package/node_modules/@aws-amplify/graphql-conversation-transformer/CHANGELOG.md +10 -0
  71. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.d.ts +2 -0
  72. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.d.ts.map +1 -1
  73. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.js +34 -3
  74. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.js.map +1 -1
  75. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver-fn.template.js +101 -0
  76. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.d.ts +4 -0
  77. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.d.ts.map +1 -0
  78. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.js +25 -0
  79. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.js.map +1 -0
  80. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver-fn.template.js +121 -0
  81. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.d.ts +4 -0
  82. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.d.ts.map +1 -0
  83. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.js +25 -0
  84. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.js.map +1 -0
  85. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver-fn.template.js +14 -1
  86. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.d.ts.map +1 -1
  87. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js +6 -0
  88. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js.map +1 -1
  89. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.d.ts.map +1 -1
  90. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.js +3 -2
  91. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.js.map +1 -1
  92. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts +1 -0
  93. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts.map +1 -1
  94. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js +16 -0
  95. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js.map +1 -1
  96. package/node_modules/@aws-amplify/graphql-conversation-transformer/package.json +3 -3
  97. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +1 -2
  98. package/node_modules/@aws-amplify/graphql-directives/package.json +1 -2
  99. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +1 -2
  100. package/node_modules/@aws-amplify/graphql-generation-transformer/package.json +1 -2
  101. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +1 -2
  102. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +1 -2
  103. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  104. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +1 -2
  105. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  106. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  107. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  108. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +1 -2
  109. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  110. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +1 -2
  111. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +1 -2
  112. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  113. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +1 -2
  114. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +1 -2
  115. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +8 -0
  116. package/node_modules/@aws-amplify/graphql-transformer/package.json +3 -3
  117. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +1 -2
  118. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +1 -2
  119. package/package.json +5 -5
  120. package/node_modules/@aws-amplify/graphql-auth-transformer/LICENSE +0 -201
  121. package/node_modules/@aws-amplify/graphql-default-value-transformer/LICENSE +0 -201
  122. package/node_modules/@aws-amplify/graphql-directives/LICENSE +0 -201
  123. package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +0 -201
  124. package/node_modules/@aws-amplify/graphql-generation-transformer/LICENSE +0 -201
  125. package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +0 -201
  126. package/node_modules/@aws-amplify/graphql-index-transformer/LICENSE +0 -201
  127. package/node_modules/@aws-amplify/graphql-maps-to-transformer/LICENSE +0 -201
  128. package/node_modules/@aws-amplify/graphql-model-transformer/LICENSE +0 -201
  129. package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +0 -201
  130. package/node_modules/@aws-amplify/graphql-relational-transformer/LICENSE +0 -201
  131. package/node_modules/@aws-amplify/graphql-searchable-transformer/LICENSE +0 -201
  132. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +0 -201
  133. package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +0 -201
  134. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +0 -201
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { ConversationTurnEvent } from './types.js';
2
3
  import type { ContentBlock } from '@aws-sdk/client-bedrock-runtime';
3
4
  import { GraphqlRequestExecutor } from './graphql_request_executor';
@@ -15,10 +16,11 @@ export type MutationResponseInput = {
15
16
  export declare class ConversationTurnResponseSender {
16
17
  private readonly event;
17
18
  private readonly graphqlRequestExecutor;
19
+ private readonly logger;
18
20
  /**
19
21
  * Creates conversation turn response sender.
20
22
  */
21
- constructor(event: ConversationTurnEvent, graphqlRequestExecutor?: GraphqlRequestExecutor);
23
+ constructor(event: ConversationTurnEvent, graphqlRequestExecutor?: GraphqlRequestExecutor, logger?: Console);
22
24
  sendResponse: (message: ContentBlock[]) => Promise<void>;
23
25
  private createMutationRequest;
24
26
  }
@@ -10,15 +10,14 @@ class ConversationTurnResponseSender {
10
10
  /**
11
11
  * Creates conversation turn response sender.
12
12
  */
13
- constructor(event, graphqlRequestExecutor = new graphql_request_executor_1.GraphqlRequestExecutor(event.graphqlApiEndpoint, event.request.headers.authorization)) {
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
14
  this.event = event;
15
15
  this.graphqlRequestExecutor = graphqlRequestExecutor;
16
+ this.logger = logger;
16
17
  this.sendResponse = async (message) => {
17
- const { query, variables } = this.createMutationRequest(message);
18
- await this.graphqlRequestExecutor.executeGraphql({
19
- query,
20
- variables,
21
- });
18
+ const responseMutationRequest = this.createMutationRequest(message);
19
+ this.logger.debug('Sending response mutation:', responseMutationRequest);
20
+ await this.graphqlRequestExecutor.executeGraphql(responseMutationRequest);
22
21
  };
23
22
  this.createMutationRequest = (content) => {
24
23
  const query = `
@@ -50,4 +49,4 @@ class ConversationTurnResponseSender {
50
49
  }
51
50
  }
52
51
  exports.ConversationTurnResponseSender = ConversationTurnResponseSender;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX3R1cm5fcmVzcG9uc2Vfc2VuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9ydW50aW1lL2NvbnZlcnNhdGlvbl90dXJuX3Jlc3BvbnNlX3NlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx5RUFBb0U7QUFVcEU7OztHQUdHO0FBQ0gsTUFBYSw4QkFBOEI7SUFDekM7O09BRUc7SUFDSCxZQUNtQixLQUE0QixFQUM1Qix5QkFBeUIsSUFBSSxpREFBc0IsQ0FDbEUsS0FBSyxDQUFDLGtCQUFrQixFQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQ3BDO1FBSmdCLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBQzVCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FHdEM7UUFHSCxpQkFBWSxHQUFHLEtBQUssRUFBRSxPQUF1QixFQUFFLEVBQUU7WUFDL0MsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakUsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUc5QztnQkFDQSxLQUFLO2dCQUNMLFNBQVM7YUFDVixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFTSwwQkFBcUIsR0FBRyxDQUFDLE9BQXVCLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEtBQUssR0FBRztnREFDOEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhO2NBQzNFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSTtrQkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZOzs7S0FHckQsQ0FBQztZQUNGLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzlCLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDakIsdUZBQXVGO29CQUN2Rix5QkFBeUI7b0JBQ3pCLCtFQUErRTtvQkFDL0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7aUJBQ2pEO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBMEI7Z0JBQ3ZDLEtBQUssRUFBRTtvQkFDTCxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO29CQUN6QyxPQUFPO29CQUNQLHVCQUF1QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO2lCQUNyRDthQUNGLENBQUM7WUFDRixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQztJQXZDQyxDQUFDO0NBd0NMO0FBbERELHdFQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnZlcnNhdGlvblR1cm5FdmVudCB9IGZyb20gJy4vdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBDb250ZW50QmxvY2sgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtYmVkcm9jay1ydW50aW1lJztcbmltcG9ydCB7IEdyYXBocWxSZXF1ZXN0RXhlY3V0b3IgfSBmcm9tICcuL2dyYXBocWxfcmVxdWVzdF9leGVjdXRvcic7XG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVzcG9uc2VJbnB1dCA9IHtcbiAgaW5wdXQ6IHtcbiAgICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICAgIGNvbnRlbnQ6IENvbnRlbnRCbG9ja1tdO1xuICAgIGFzc29jaWF0ZWRVc2VyTWVzc2FnZUlkOiBzdHJpbmc7XG4gIH07XG59O1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIHNlbmRpbmcgYSByZXNwb25zZSBwcm9kdWNlZCBieSBCZWRyb2NrIGJhY2sgdG8gQXBwU3luY1xuICogaW4gYSBmb3JtIG9mIG11dGF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uVHVyblJlc3BvbnNlU2VuZGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgY29udmVyc2F0aW9uIHR1cm4gcmVzcG9uc2Ugc2VuZGVyLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudDogQ29udmVyc2F0aW9uVHVybkV2ZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JhcGhxbFJlcXVlc3RFeGVjdXRvciA9IG5ldyBHcmFwaHFsUmVxdWVzdEV4ZWN1dG9yKFxuICAgICAgZXZlbnQuZ3JhcGhxbEFwaUVuZHBvaW50LFxuICAgICAgZXZlbnQucmVxdWVzdC5oZWFkZXJzLmF1dGhvcml6YXRpb25cbiAgICApXG4gICkge31cblxuICBzZW5kUmVzcG9uc2UgPSBhc3luYyAobWVzc2FnZTogQ29udGVudEJsb2NrW10pID0+IHtcbiAgICBjb25zdCB7IHF1ZXJ5LCB2YXJpYWJsZXMgfSA9IHRoaXMuY3JlYXRlTXV0YXRpb25SZXF1ZXN0KG1lc3NhZ2UpO1xuICAgIGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3RFeGVjdXRvci5leGVjdXRlR3JhcGhxbDxcbiAgICAgIE11dGF0aW9uUmVzcG9uc2VJbnB1dCxcbiAgICAgIHZvaWRcbiAgICA+KHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgdmFyaWFibGVzLFxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgY3JlYXRlTXV0YXRpb25SZXF1ZXN0ID0gKGNvbnRlbnQ6IENvbnRlbnRCbG9ja1tdKSA9PiB7XG4gICAgY29uc3QgcXVlcnkgPSBgXG4gICAgICAgIG11dGF0aW9uIFB1Ymxpc2hNb2RlbFJlc3BvbnNlKCRpbnB1dDogJHt0aGlzLmV2ZW50LnJlc3BvbnNlTXV0YXRpb24uaW5wdXRUeXBlTmFtZX0hKSB7XG4gICAgICAgICAgICAke3RoaXMuZXZlbnQucmVzcG9uc2VNdXRhdGlvbi5uYW1lfShpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAgICAgJHt0aGlzLmV2ZW50LnJlc3BvbnNlTXV0YXRpb24uc2VsZWN0aW9uU2V0fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgYDtcbiAgICBjb250ZW50ID0gY29udGVudC5tYXAoKGJsb2NrKSA9PiB7XG4gICAgICBpZiAoYmxvY2sudG9vbFVzZSkge1xuICAgICAgICAvLyBUaGUgYGlucHV0YCBmaWVsZCBpcyB0eXBlZCBhcyBgQVdTIEpTT05gIGluIHRoZSBHcmFwaFFMIEFQSSBiZWNhdXNlIGl0IGNhbiByZXByZXNlbnRcbiAgICAgICAgLy8gYXJiaXRyYXJ5IEpTT04gdmFsdWVzLlxuICAgICAgICAvLyBXZSBuZWVkIHRvIHN0cmluZ2lmeSBpdCBiZWZvcmUgc2VuZGluZyBpdCB0byBBcHBTeW5jIHRvIHByZXZlbnQgdHlwZSBlcnJvcnMuXG4gICAgICAgIGNvbnN0IGlucHV0ID0gSlNPTi5zdHJpbmdpZnkoYmxvY2sudG9vbFVzZS5pbnB1dCk7XG4gICAgICAgIHJldHVybiB7IHRvb2xVc2U6IHsgLi4uYmxvY2sudG9vbFVzZSwgaW5wdXQgfSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJsb2NrO1xuICAgIH0pO1xuICAgIGNvbnN0IHZhcmlhYmxlczogTXV0YXRpb25SZXNwb25zZUlucHV0ID0ge1xuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29udmVyc2F0aW9uSWQ6IHRoaXMuZXZlbnQuY29udmVyc2F0aW9uSWQsXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGFzc29jaWF0ZWRVc2VyTWVzc2FnZUlkOiB0aGlzLmV2ZW50LmN1cnJlbnRNZXNzYWdlSWQsXG4gICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIHsgcXVlcnksIHZhcmlhYmxlcyB9O1xuICB9O1xufVxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX3R1cm5fcmVzcG9uc2Vfc2VuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9ydW50aW1lL2NvbnZlcnNhdGlvbl90dXJuX3Jlc3BvbnNlX3NlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx5RUFBb0U7QUFVcEU7OztHQUdHO0FBQ0gsTUFBYSw4QkFBOEI7SUFDekM7O09BRUc7SUFDSCxZQUNtQixLQUE0QixFQUM1Qix5QkFBeUIsSUFBSSxpREFBc0IsQ0FDbEUsS0FBSyxDQUFDLGtCQUFrQixFQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQzFDLEVBQ2dCLFNBQVMsT0FBTztRQU5oQixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUM1QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBSXRDO1FBQ2dCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFHbkMsaUJBQVksR0FBRyxLQUFLLEVBQUUsT0FBdUIsRUFBRSxFQUFFO1lBQy9DLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLHVCQUF1QixDQUFDLENBQUM7WUFDekUsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUc5Qyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQUVNLDBCQUFxQixHQUFHLENBQUMsT0FBdUIsRUFBRSxFQUFFO1lBQzFELE1BQU0sS0FBSyxHQUFHO2dEQUM4QixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQWE7Y0FDM0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJO2tCQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFlBQVk7OztLQUdyRCxDQUFDO1lBQ0YsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO29CQUNqQix1RkFBdUY7b0JBQ3ZGLHlCQUF5QjtvQkFDekIsK0VBQStFO29CQUMvRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztpQkFDakQ7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sU0FBUyxHQUEwQjtnQkFDdkMsS0FBSyxFQUFFO29CQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7b0JBQ3pDLE9BQU87b0JBQ1AsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7aUJBQ3JEO2FBQ0YsQ0FBQztZQUNGLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDO0lBckNDLENBQUM7Q0FzQ0w7QUFsREQsd0VBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udmVyc2F0aW9uVHVybkV2ZW50IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnRlbnRCbG9jayB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1iZWRyb2NrLXJ1bnRpbWUnO1xuaW1wb3J0IHsgR3JhcGhxbFJlcXVlc3RFeGVjdXRvciB9IGZyb20gJy4vZ3JhcGhxbF9yZXF1ZXN0X2V4ZWN1dG9yJztcblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXNwb25zZUlucHV0ID0ge1xuICBpbnB1dDoge1xuICAgIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gICAgY29udGVudDogQ29udGVudEJsb2NrW107XG4gICAgYXNzb2NpYXRlZFVzZXJNZXNzYWdlSWQ6IHN0cmluZztcbiAgfTtcbn07XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3Igc2VuZGluZyBhIHJlc3BvbnNlIHByb2R1Y2VkIGJ5IEJlZHJvY2sgYmFjayB0byBBcHBTeW5jXG4gKiBpbiBhIGZvcm0gb2YgbXV0YXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb252ZXJzYXRpb25UdXJuUmVzcG9uc2VTZW5kZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBjb252ZXJzYXRpb24gdHVybiByZXNwb25zZSBzZW5kZXIuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50OiBDb252ZXJzYXRpb25UdXJuRXZlbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBncmFwaHFsUmVxdWVzdEV4ZWN1dG9yID0gbmV3IEdyYXBocWxSZXF1ZXN0RXhlY3V0b3IoXG4gICAgICBldmVudC5ncmFwaHFsQXBpRW5kcG9pbnQsXG4gICAgICBldmVudC5yZXF1ZXN0LmhlYWRlcnMuYXV0aG9yaXphdGlvbixcbiAgICAgIGV2ZW50LnJlcXVlc3QuaGVhZGVyc1sneC1hbXotdXNlci1hZ2VudCddXG4gICAgKSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IGNvbnNvbGVcbiAgKSB7fVxuXG4gIHNlbmRSZXNwb25zZSA9IGFzeW5jIChtZXNzYWdlOiBDb250ZW50QmxvY2tbXSkgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlTXV0YXRpb25SZXF1ZXN0ID0gdGhpcy5jcmVhdGVNdXRhdGlvblJlcXVlc3QobWVzc2FnZSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ1NlbmRpbmcgcmVzcG9uc2UgbXV0YXRpb246JywgcmVzcG9uc2VNdXRhdGlvblJlcXVlc3QpO1xuICAgIGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3RFeGVjdXRvci5leGVjdXRlR3JhcGhxbDxcbiAgICAgIE11dGF0aW9uUmVzcG9uc2VJbnB1dCxcbiAgICAgIHZvaWRcbiAgICA+KHJlc3BvbnNlTXV0YXRpb25SZXF1ZXN0KTtcbiAgfTtcblxuICBwcml2YXRlIGNyZWF0ZU11dGF0aW9uUmVxdWVzdCA9IChjb250ZW50OiBDb250ZW50QmxvY2tbXSkgPT4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gYFxuICAgICAgICBtdXRhdGlvbiBQdWJsaXNoTW9kZWxSZXNwb25zZSgkaW5wdXQ6ICR7dGhpcy5ldmVudC5yZXNwb25zZU11dGF0aW9uLmlucHV0VHlwZU5hbWV9ISkge1xuICAgICAgICAgICAgJHt0aGlzLmV2ZW50LnJlc3BvbnNlTXV0YXRpb24ubmFtZX0oaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgICAgICR7dGhpcy5ldmVudC5yZXNwb25zZU11dGF0aW9uLnNlbGVjdGlvblNldH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIGA7XG4gICAgY29udGVudCA9IGNvbnRlbnQubWFwKChibG9jaykgPT4ge1xuICAgICAgaWYgKGJsb2NrLnRvb2xVc2UpIHtcbiAgICAgICAgLy8gVGhlIGBpbnB1dGAgZmllbGQgaXMgdHlwZWQgYXMgYEFXUyBKU09OYCBpbiB0aGUgR3JhcGhRTCBBUEkgYmVjYXVzZSBpdCBjYW4gcmVwcmVzZW50XG4gICAgICAgIC8vIGFyYml0cmFyeSBKU09OIHZhbHVlcy5cbiAgICAgICAgLy8gV2UgbmVlZCB0byBzdHJpbmdpZnkgaXQgYmVmb3JlIHNlbmRpbmcgaXQgdG8gQXBwU3luYyB0byBwcmV2ZW50IHR5cGUgZXJyb3JzLlxuICAgICAgICBjb25zdCBpbnB1dCA9IEpTT04uc3RyaW5naWZ5KGJsb2NrLnRvb2xVc2UuaW5wdXQpO1xuICAgICAgICByZXR1cm4geyB0b29sVXNlOiB7IC4uLmJsb2NrLnRvb2xVc2UsIGlucHV0IH0gfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBibG9jaztcbiAgICB9KTtcbiAgICBjb25zdCB2YXJpYWJsZXM6IE11dGF0aW9uUmVzcG9uc2VJbnB1dCA9IHtcbiAgICAgIGlucHV0OiB7XG4gICAgICAgIGNvbnZlcnNhdGlvbklkOiB0aGlzLmV2ZW50LmNvbnZlcnNhdGlvbklkLFxuICAgICAgICBjb250ZW50LFxuICAgICAgICBhc3NvY2lhdGVkVXNlck1lc3NhZ2VJZDogdGhpcy5ldmVudC5jdXJyZW50TWVzc2FnZUlkLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiB7IHF1ZXJ5LCB2YXJpYWJsZXMgfTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import { ConversationTurnEvent, StreamingResponseChunk } from './types.js';
3
+ import { GraphqlRequestExecutor } from './graphql_request_executor';
4
+ /**
5
+ * This class is responsible for sending response chunks produced by Bedrock back to AppSync
6
+ * in a form of mutation.
7
+ */
8
+ export declare class ConversationTurnStreamingResponseSender {
9
+ private readonly event;
10
+ private readonly graphqlRequestExecutor;
11
+ private readonly logger;
12
+ /**
13
+ * Creates conversation turn response sender.
14
+ */
15
+ constructor(event: ConversationTurnEvent, graphqlRequestExecutor?: GraphqlRequestExecutor, logger?: Console);
16
+ sendResponseChunk: (chunk: StreamingResponseChunk) => Promise<void>;
17
+ private createMutationRequest;
18
+ }
19
+ //# 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX3R1cm5fc3RyZWFtaW5nX3Jlc3BvbnNlX3NlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb252ZXJzYXRpb24vcnVudGltZS9jb252ZXJzYXRpb25fdHVybl9zdHJlYW1pbmdfcmVzcG9uc2Vfc2VuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlFQUFvRTtBQU1wRTs7O0dBR0c7QUFDSCxNQUFhLHVDQUF1QztJQUNsRDs7T0FFRztJQUNILFlBQ21CLEtBQTRCLEVBQzVCLHlCQUF5QixJQUFJLGlEQUFzQixDQUNsRSxLQUFLLENBQUMsa0JBQWtCLEVBQ3hCLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDbkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FDMUMsRUFDZ0IsU0FBUyxPQUFPO1FBTmhCLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBQzVCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FJdEM7UUFDZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUduQyxzQkFBaUIsR0FBRyxLQUFLLEVBQUUsS0FBNkIsRUFBRSxFQUFFO1lBQzFELE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLHVCQUF1QixDQUFDLENBQUM7WUFDekUsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUc5Qyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQztRQUVNLDBCQUFxQixHQUFHLENBQUMsS0FBNkIsRUFBRSxFQUFFO1lBQ2hFLE1BQU0sS0FBSyxHQUFHO2dEQUM4QixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQWE7Y0FDM0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJO2tCQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFlBQVk7OztLQUdyRCxDQUFDO1lBQ0YsTUFBTSxTQUFTLEdBQW1DO2dCQUNoRCxLQUFLLEVBQUUsS0FBSzthQUNiLENBQUM7WUFDRixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQztJQXZCQyxDQUFDO0NBd0JMO0FBcENELDBGQW9DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnZlcnNhdGlvblR1cm5FdmVudCwgU3RyZWFtaW5nUmVzcG9uc2VDaHVuayB9IGZyb20gJy4vdHlwZXMuanMnO1xuaW1wb3J0IHsgR3JhcGhxbFJlcXVlc3RFeGVjdXRvciB9IGZyb20gJy4vZ3JhcGhxbF9yZXF1ZXN0X2V4ZWN1dG9yJztcblxudHlwZSBNdXRhdGlvblN0cmVhbWluZ1Jlc3BvbnNlSW5wdXQgPSB7XG4gIGlucHV0OiBTdHJlYW1pbmdSZXNwb25zZUNodW5rO1xufTtcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBzZW5kaW5nIHJlc3BvbnNlIGNodW5rcyBwcm9kdWNlZCBieSBCZWRyb2NrIGJhY2sgdG8gQXBwU3luY1xuICogaW4gYSBmb3JtIG9mIG11dGF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uVHVyblN0cmVhbWluZ1Jlc3BvbnNlU2VuZGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgY29udmVyc2F0aW9uIHR1cm4gcmVzcG9uc2Ugc2VuZGVyLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudDogQ29udmVyc2F0aW9uVHVybkV2ZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JhcGhxbFJlcXVlc3RFeGVjdXRvciA9IG5ldyBHcmFwaHFsUmVxdWVzdEV4ZWN1dG9yKFxuICAgICAgZXZlbnQuZ3JhcGhxbEFwaUVuZHBvaW50LFxuICAgICAgZXZlbnQucmVxdWVzdC5oZWFkZXJzLmF1dGhvcml6YXRpb24sXG4gICAgICBldmVudC5yZXF1ZXN0LmhlYWRlcnNbJ3gtYW16LXVzZXItYWdlbnQnXVxuICAgICksXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBjb25zb2xlXG4gICkge31cblxuICBzZW5kUmVzcG9uc2VDaHVuayA9IGFzeW5jIChjaHVuazogU3RyZWFtaW5nUmVzcG9uc2VDaHVuaykgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlTXV0YXRpb25SZXF1ZXN0ID0gdGhpcy5jcmVhdGVNdXRhdGlvblJlcXVlc3QoY2h1bmspO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTZW5kaW5nIHJlc3BvbnNlIG11dGF0aW9uOicsIHJlc3BvbnNlTXV0YXRpb25SZXF1ZXN0KTtcbiAgICBhd2FpdCB0aGlzLmdyYXBocWxSZXF1ZXN0RXhlY3V0b3IuZXhlY3V0ZUdyYXBocWw8XG4gICAgICBNdXRhdGlvblN0cmVhbWluZ1Jlc3BvbnNlSW5wdXQsXG4gICAgICB2b2lkXG4gICAgPihyZXNwb25zZU11dGF0aW9uUmVxdWVzdCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBjcmVhdGVNdXRhdGlvblJlcXVlc3QgPSAoY2h1bms6IFN0cmVhbWluZ1Jlc3BvbnNlQ2h1bmspID0+IHtcbiAgICBjb25zdCBxdWVyeSA9IGBcbiAgICAgICAgbXV0YXRpb24gUHVibGlzaE1vZGVsUmVzcG9uc2UoJGlucHV0OiAke3RoaXMuZXZlbnQucmVzcG9uc2VNdXRhdGlvbi5pbnB1dFR5cGVOYW1lfSEpIHtcbiAgICAgICAgICAgICR7dGhpcy5ldmVudC5yZXNwb25zZU11dGF0aW9uLm5hbWV9KGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgICAgICAke3RoaXMuZXZlbnQucmVzcG9uc2VNdXRhdGlvbi5zZWxlY3Rpb25TZXR9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBgO1xuICAgIGNvbnN0IHZhcmlhYmxlczogTXV0YXRpb25TdHJlYW1pbmdSZXNwb25zZUlucHV0ID0ge1xuICAgICAgaW5wdXQ6IGNodW5rLFxuICAgIH07XG4gICAgcmV0dXJuIHsgcXVlcnksIHZhcmlhYmxlcyB9O1xuICB9O1xufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfdG9vbHNfcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvZXZlbnQtdG9vbHMtcHJvdmlkZXIvZXZlbnRfdG9vbHNfcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQTZDO0FBQzdDLG1FQUE4RDtBQUU5RDs7R0FFRztBQUNILE1BQWEsa0NBQWtDO0lBQzdDOztPQUVHO0lBQ0gsWUFDbUIsS0FBNEIsRUFDNUIsc0JBQTJDLElBQUksMkNBQW1CLEVBQUU7UUFEcEUsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFpRDtRQUd2RixrQkFBYSxHQUFHLEdBQTBCLEVBQUU7O1lBQzFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDOUQsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFO2dCQUN4RCxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBQSxrQkFBa0IsQ0FBQyxTQUFTLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN2RCxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSwwQkFBVyxDQUNwQixJQUFJLEVBQ0osV0FBVyxFQUNYLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQ3pDLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQztJQXBCQyxDQUFDO0NBcUJMO0FBNUJELGdGQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnZlcnNhdGlvblR1cm5FdmVudCwgRXhlY3V0YWJsZVRvb2wgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBHcmFwaFFsVG9vbCB9IGZyb20gJy4vZ3JhcGhxbF90b29sJztcbmltcG9ydCB7IEdyYXBoUWxRdWVyeUZhY3RvcnkgfSBmcm9tICcuL2dyYXBocWxfcXVlcnlfZmFjdG9yeSc7XG5cbi8qKlxuICogQ3JlYXRlcyBleGVjdXRhYmxlIHRvb2xzIGZyb20gZGVmaW5pdGlvbnMgaW4gY29udmVyc2F0aW9uIHR1cm4gZXZlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb252ZXJzYXRpb25UdXJuRXZlbnRUb29sc1Byb3ZpZGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgY29udmVyc2F0aW9uIHR1cm4gZXZlbnQgdG9vbHMgcHJvdmlkZXIuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50OiBDb252ZXJzYXRpb25UdXJuRXZlbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBncmFwaFFsUXVlcnlGYWN0b3J5OiBHcmFwaFFsUXVlcnlGYWN0b3J5ID0gbmV3IEdyYXBoUWxRdWVyeUZhY3RvcnkoKVxuICApIHt9XG5cbiAgZ2V0RXZlbnRUb29scyA9ICgpOiBBcnJheTxFeGVjdXRhYmxlVG9vbD4gPT4ge1xuICAgIGNvbnN0IHsgdG9vbHNDb25maWd1cmF0aW9uLCBncmFwaHFsQXBpRW5kcG9pbnQgfSA9IHRoaXMuZXZlbnQ7XG4gICAgaWYgKCF0b29sc0NvbmZpZ3VyYXRpb24gfHwgIXRvb2xzQ29uZmlndXJhdGlvbi5kYXRhVG9vbHMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgdG9vbHMgPSB0b29sc0NvbmZpZ3VyYXRpb24uZGF0YVRvb2xzPy5tYXAoKHRvb2wpID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZSwgZGVzY3JpcHRpb24sIGlucHV0U2NoZW1hIH0gPSB0b29sO1xuICAgICAgY29uc3QgcXVlcnkgPSB0aGlzLmdyYXBoUWxRdWVyeUZhY3RvcnkuY3JlYXRlUXVlcnkodG9vbCk7XG4gICAgICByZXR1cm4gbmV3IEdyYXBoUWxUb29sKFxuICAgICAgICBuYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgaW5wdXRTY2hlbWEsXG4gICAgICAgIGdyYXBocWxBcGlFbmRwb2ludCxcbiAgICAgICAgcXVlcnksXG4gICAgICAgIHRoaXMuZXZlbnQucmVxdWVzdC5oZWFkZXJzLmF1dGhvcml6YXRpb25cbiAgICAgICk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRvb2xzID8/IFtdO1xuICB9O1xufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfdG9vbHNfcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvZXZlbnQtdG9vbHMtcHJvdmlkZXIvZXZlbnRfdG9vbHNfcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQTZDO0FBQzdDLG1FQUE4RDtBQUU5RDs7R0FFRztBQUNILE1BQWEsa0NBQWtDO0lBQzdDOztPQUVHO0lBQ0gsWUFDbUIsS0FBNEIsRUFDNUIsc0JBQTJDLElBQUksMkNBQW1CLEVBQUU7UUFEcEUsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFpRDtRQUd2RixrQkFBYSxHQUFHLEdBQTBCLEVBQUU7O1lBQzFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDOUQsSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFO2dCQUN4RCxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBQSxrQkFBa0IsQ0FBQyxTQUFTLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN2RCxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSwwQkFBVyxDQUNwQixJQUFJLEVBQ0osV0FBVyxFQUNYLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUMvQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUM7SUFyQkMsQ0FBQztDQXNCTDtBQTdCRCxnRkE2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb252ZXJzYXRpb25UdXJuRXZlbnQsIEV4ZWN1dGFibGVUb29sIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgR3JhcGhRbFRvb2wgfSBmcm9tICcuL2dyYXBocWxfdG9vbCc7XG5pbXBvcnQgeyBHcmFwaFFsUXVlcnlGYWN0b3J5IH0gZnJvbSAnLi9ncmFwaHFsX3F1ZXJ5X2ZhY3RvcnknO1xuXG4vKipcbiAqIENyZWF0ZXMgZXhlY3V0YWJsZSB0b29scyBmcm9tIGRlZmluaXRpb25zIGluIGNvbnZlcnNhdGlvbiB0dXJuIGV2ZW50LlxuICovXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uVHVybkV2ZW50VG9vbHNQcm92aWRlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGNvbnZlcnNhdGlvbiB0dXJuIGV2ZW50IHRvb2xzIHByb3ZpZGVyLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudDogQ29udmVyc2F0aW9uVHVybkV2ZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JhcGhRbFF1ZXJ5RmFjdG9yeTogR3JhcGhRbFF1ZXJ5RmFjdG9yeSA9IG5ldyBHcmFwaFFsUXVlcnlGYWN0b3J5KClcbiAgKSB7fVxuXG4gIGdldEV2ZW50VG9vbHMgPSAoKTogQXJyYXk8RXhlY3V0YWJsZVRvb2w+ID0+IHtcbiAgICBjb25zdCB7IHRvb2xzQ29uZmlndXJhdGlvbiwgZ3JhcGhxbEFwaUVuZHBvaW50IH0gPSB0aGlzLmV2ZW50O1xuICAgIGlmICghdG9vbHNDb25maWd1cmF0aW9uIHx8ICF0b29sc0NvbmZpZ3VyYXRpb24uZGF0YVRvb2xzKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IHRvb2xzID0gdG9vbHNDb25maWd1cmF0aW9uLmRhdGFUb29scz8ubWFwKCh0b29sKSA9PiB7XG4gICAgICBjb25zdCB7IG5hbWUsIGRlc2NyaXB0aW9uLCBpbnB1dFNjaGVtYSB9ID0gdG9vbDtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5ncmFwaFFsUXVlcnlGYWN0b3J5LmNyZWF0ZVF1ZXJ5KHRvb2wpO1xuICAgICAgcmV0dXJuIG5ldyBHcmFwaFFsVG9vbChcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgIGlucHV0U2NoZW1hLFxuICAgICAgICBncmFwaHFsQXBpRW5kcG9pbnQsXG4gICAgICAgIHF1ZXJ5LFxuICAgICAgICB0aGlzLmV2ZW50LnJlcXVlc3QuaGVhZGVycy5hdXRob3JpemF0aW9uLFxuICAgICAgICB0aGlzLmV2ZW50LnJlcXVlc3QuaGVhZGVyc1sneC1hbXotdXNlci1hZ2VudCddXG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiB0b29scyA/PyBbXTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,22 +1,22 @@
1
- import { ExecutableTool } from '../types';
2
- import type { ToolInputSchema, ToolResultContentBlock } from '@aws-sdk/client-bedrock-runtime';
3
- import { DocumentType } from '@smithy/types';
1
+ import { ExecutableTool, JSONSchema, ToolInputSchema } from '../types';
2
+ import type { ToolResultContentBlock } from '@aws-sdk/client-bedrock-runtime';
4
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;
10
+ inputSchema: ToolInputSchema<JSONSchema>;
12
11
  readonly graphQlEndpoint: string;
13
12
  private readonly query;
14
13
  readonly accessToken: string;
14
+ readonly userAgent: string;
15
15
  private readonly graphqlRequestExecutor;
16
16
  /**
17
17
  * Creates GraphQl Tool
18
18
  */
19
- constructor(name: string, description: string, inputSchema: ToolInputSchema, graphQlEndpoint: string, query: string, accessToken: string, graphqlRequestExecutor?: GraphqlRequestExecutor);
20
- execute: (input: DocumentType | undefined) => Promise<ToolResultContentBlock>;
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
@@ -9,13 +9,14 @@ class GraphQlTool {
9
9
  /**
10
10
  * Creates GraphQl Tool
11
11
  */
12
- constructor(name, description, inputSchema, graphQlEndpoint, query, accessToken, graphqlRequestExecutor = new graphql_request_executor_1.GraphqlRequestExecutor(graphQlEndpoint, accessToken)) {
12
+ constructor(name, description, inputSchema, graphQlEndpoint, query, accessToken, userAgent, graphqlRequestExecutor = new graphql_request_executor_1.GraphqlRequestExecutor(graphQlEndpoint, accessToken, userAgent)) {
13
13
  this.name = name;
14
14
  this.description = description;
15
15
  this.inputSchema = inputSchema;
16
16
  this.graphQlEndpoint = graphQlEndpoint;
17
17
  this.query = query;
18
18
  this.accessToken = accessToken;
19
+ this.userAgent = userAgent;
19
20
  this.graphqlRequestExecutor = graphqlRequestExecutor;
20
21
  this.execute = async (input) => {
21
22
  if (!input) {
@@ -30,4 +31,4 @@ class GraphQlTool {
30
31
  }
31
32
  }
32
33
  exports.GraphQlTool = GraphQlTool;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbF90b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9ydW50aW1lL2V2ZW50LXRvb2xzLXByb3ZpZGVyL2dyYXBocWxfdG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSwwRUFBcUU7QUFFckU7O0dBRUc7QUFDSCxNQUFhLFdBQVc7SUFDdEI7O09BRUc7SUFDSCxZQUNTLElBQVksRUFDWixXQUFtQixFQUNuQixXQUE0QixFQUMxQixlQUF1QixFQUNmLEtBQWEsRUFDckIsV0FBbUIsRUFDWCx5QkFBeUIsSUFBSSxpREFBc0IsQ0FDbEUsZUFBZSxFQUNmLFdBQVcsQ0FDWjtRQVRNLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQVE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ1gsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUd0QztRQUdILFlBQU8sR0FBRyxLQUFLLEVBQ2IsS0FBK0IsRUFDRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsTUFBTSxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLDhCQUE4QixDQUFDLENBQUM7YUFDdkU7WUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBRy9EO2dCQUNBLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLElBQUksRUFBRSxRQUF3QixFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDO0lBakJDLENBQUM7Q0FrQkw7QUFqQ0Qsa0NBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhlY3V0YWJsZVRvb2wgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7XG4gIFRvb2xJbnB1dFNjaGVtYSxcbiAgVG9vbFJlc3VsdENvbnRlbnRCbG9jayxcbn0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWJlZHJvY2stcnVudGltZSc7XG5pbXBvcnQgeyBEb2N1bWVudFR5cGUgfSBmcm9tICdAc21pdGh5L3R5cGVzJztcbmltcG9ydCB7IEdyYXBocWxSZXF1ZXN0RXhlY3V0b3IgfSBmcm9tICcuLi9ncmFwaHFsX3JlcXVlc3RfZXhlY3V0b3InO1xuXG4vKipcbiAqIEEgdG9vbCB0aGF0IHVzZSBHcmFwaFFsIHF1ZXJpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFFsVG9vbCBpbXBsZW1lbnRzIEV4ZWN1dGFibGVUb29sIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgR3JhcGhRbCBUb29sXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIHB1YmxpYyBpbnB1dFNjaGVtYTogVG9vbElucHV0U2NoZW1hLFxuICAgIHJlYWRvbmx5IGdyYXBoUWxFbmRwb2ludDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVlcnk6IHN0cmluZyxcbiAgICByZWFkb25seSBhY2Nlc3NUb2tlbjogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JhcGhxbFJlcXVlc3RFeGVjdXRvciA9IG5ldyBHcmFwaHFsUmVxdWVzdEV4ZWN1dG9yKFxuICAgICAgZ3JhcGhRbEVuZHBvaW50LFxuICAgICAgYWNjZXNzVG9rZW5cbiAgICApXG4gICkge31cblxuICBleGVjdXRlID0gYXN5bmMgKFxuICAgIGlucHV0OiBEb2N1bWVudFR5cGUgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxUb29sUmVzdWx0Q29udGVudEJsb2NrPiA9PiB7XG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgdGhyb3cgRXJyb3IoYEdyYXBoUWwgdG9vbCAnJHt0aGlzLm5hbWV9JyByZXF1aXJlcyBpbnB1dCB0byBleGVjdXRlLmApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5ncmFwaHFsUmVxdWVzdEV4ZWN1dG9yLmV4ZWN1dGVHcmFwaHFsPFxuICAgICAgRG9jdW1lbnRUeXBlLFxuICAgICAgRG9jdW1lbnRUeXBlXG4gICAgPih7XG4gICAgICBxdWVyeTogdGhpcy5xdWVyeSxcbiAgICAgIHZhcmlhYmxlczogaW5wdXQsXG4gICAgfSk7XG4gICAgcmV0dXJuIHsganNvbjogcmVzcG9uc2UgYXMgRG9jdW1lbnRUeXBlIH07XG4gIH07XG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbF90b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9ydW50aW1lL2V2ZW50LXRvb2xzLXByb3ZpZGVyL2dyYXBocWxfdG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSwwRUFBcUU7QUFFckU7O0dBRUc7QUFDSCxNQUFhLFdBQVc7SUFDdEI7O09BRUc7SUFDSCxZQUNTLElBQVksRUFDWixXQUFtQixFQUNuQixXQUF3QyxFQUN0QyxlQUF1QixFQUNmLEtBQWEsRUFDckIsV0FBbUIsRUFDbkIsU0FBaUIsRUFDVCx5QkFBeUIsSUFBSSxpREFBc0IsQ0FDbEUsZUFBZSxFQUNmLFdBQVcsRUFDWCxTQUFTLENBQ1Y7UUFYTSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQTZCO1FBQ3RDLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQ2YsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ1QsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUl0QztRQUdILFlBQU8sR0FBRyxLQUFLLEVBQ2IsS0FBMEIsRUFDTyxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsTUFBTSxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLDhCQUE4QixDQUFDLENBQUM7YUFDdkU7WUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBRy9EO2dCQUNBLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUM7SUFqQkMsQ0FBQztDQWtCTDtBQW5DRCxrQ0FtQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGVjdXRhYmxlVG9vbCwgSlNPTlNjaGVtYSwgVG9vbElucHV0U2NoZW1hIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBUb29sUmVzdWx0Q29udGVudEJsb2NrIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWJlZHJvY2stcnVudGltZSc7XG5pbXBvcnQgeyBEb2N1bWVudFR5cGUgfSBmcm9tICdAc21pdGh5L3R5cGVzJztcbmltcG9ydCB7IEdyYXBocWxSZXF1ZXN0RXhlY3V0b3IgfSBmcm9tICcuLi9ncmFwaHFsX3JlcXVlc3RfZXhlY3V0b3InO1xuXG4vKipcbiAqIEEgdG9vbCB0aGF0IHVzZSBHcmFwaFFsIHF1ZXJpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFFsVG9vbCBpbXBsZW1lbnRzIEV4ZWN1dGFibGVUb29sPEpTT05TY2hlbWEsIHVua25vd24+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgR3JhcGhRbCBUb29sXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIHB1YmxpYyBpbnB1dFNjaGVtYTogVG9vbElucHV0U2NoZW1hPEpTT05TY2hlbWE+LFxuICAgIHJlYWRvbmx5IGdyYXBoUWxFbmRwb2ludDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVlcnk6IHN0cmluZyxcbiAgICByZWFkb25seSBhY2Nlc3NUb2tlbjogc3RyaW5nLFxuICAgIHJlYWRvbmx5IHVzZXJBZ2VudDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JhcGhxbFJlcXVlc3RFeGVjdXRvciA9IG5ldyBHcmFwaHFsUmVxdWVzdEV4ZWN1dG9yKFxuICAgICAgZ3JhcGhRbEVuZHBvaW50LFxuICAgICAgYWNjZXNzVG9rZW4sXG4gICAgICB1c2VyQWdlbnRcbiAgICApXG4gICkge31cblxuICBleGVjdXRlID0gYXN5bmMgKFxuICAgIGlucHV0OiB1bmtub3duIHwgdW5kZWZpbmVkXG4gICk6IFByb21pc2U8VG9vbFJlc3VsdENvbnRlbnRCbG9jaz4gPT4ge1xuICAgIGlmICghaW5wdXQpIHtcbiAgICAgIHRocm93IEVycm9yKGBHcmFwaFFsIHRvb2wgJyR7dGhpcy5uYW1lfScgcmVxdWlyZXMgaW5wdXQgdG8gZXhlY3V0ZS5gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3RFeGVjdXRvci5leGVjdXRlR3JhcGhxbDxcbiAgICAgIHVua25vd24sXG4gICAgICBEb2N1bWVudFR5cGVcbiAgICA+KHtcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJ5LFxuICAgICAgdmFyaWFibGVzOiBpbnB1dCxcbiAgICB9KTtcbiAgICByZXR1cm4geyBqc29uOiByZXNwb25zZSB9O1xuICB9O1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ import { ExecutableTool, FromJSONSchema, JSONSchema, ToolInputSchema } from './types';
2
+ import * as bedrock from '@aws-sdk/client-bedrock-runtime';
3
+ /**
4
+ * Creates an executable tool.
5
+ */
6
+ export declare const createExecutableTool: <TJSONSchema extends JSONSchema = JSONSchema, TToolInput = FromJSONSchema<TJSONSchema>>(name: string, description: string, inputSchema: ToolInputSchema<TJSONSchema>, handler: (input: TToolInput) => Promise<bedrock.ToolResultContentBlock>) => ExecutableTool<TJSONSchema, TToolInput>;
7
+ //# sourceMappingURL=executable_tool_factory.d.ts.map
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createExecutableTool = void 0;
4
+ /**
5
+ * Creates an executable tool.
6
+ */
7
+ const createExecutableTool = (name, description, inputSchema, handler) => {
8
+ return {
9
+ name,
10
+ description,
11
+ inputSchema,
12
+ execute: handler,
13
+ };
14
+ };
15
+ exports.createExecutableTool = createExecutableTool;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0YWJsZV90b29sX2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvZXhlY3V0YWJsZV90b29sX2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUE7O0dBRUc7QUFDSSxNQUFNLG9CQUFvQixHQVFjLENBQzdDLElBQUksRUFDSixXQUFXLEVBQ1gsV0FBVyxFQUNYLE9BQU8sRUFDUCxFQUFFO0lBQ0YsT0FBTztRQUNMLElBQUk7UUFDSixXQUFXO1FBQ1gsV0FBVztRQUNYLE9BQU8sRUFBRSxPQUFPO0tBQ2pCLENBQUM7QUFDSixDQUFDLENBQUM7QUFwQlcsUUFBQSxvQkFBb0Isd0JBb0IvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEV4ZWN1dGFibGVUb29sLFxuICBGcm9tSlNPTlNjaGVtYSxcbiAgSlNPTlNjaGVtYSxcbiAgVG9vbElucHV0U2NoZW1hLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIGJlZHJvY2sgZnJvbSAnQGF3cy1zZGsvY2xpZW50LWJlZHJvY2stcnVudGltZSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBleGVjdXRhYmxlIHRvb2wuXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVFeGVjdXRhYmxlVG9vbDogPFxuICBUSlNPTlNjaGVtYSBleHRlbmRzIEpTT05TY2hlbWEgPSBKU09OU2NoZW1hLFxuICBUVG9vbElucHV0ID0gRnJvbUpTT05TY2hlbWE8VEpTT05TY2hlbWE+XG4+KFxuICBuYW1lOiBzdHJpbmcsXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gIGlucHV0U2NoZW1hOiBUb29sSW5wdXRTY2hlbWE8VEpTT05TY2hlbWE+LFxuICBoYW5kbGVyOiAoaW5wdXQ6IFRUb29sSW5wdXQpID0+IFByb21pc2U8YmVkcm9jay5Ub29sUmVzdWx0Q29udGVudEJsb2NrPlxuKSA9PiBFeGVjdXRhYmxlVG9vbDxUSlNPTlNjaGVtYSwgVFRvb2xJbnB1dD4gPSAoXG4gIG5hbWUsXG4gIGRlc2NyaXB0aW9uLFxuICBpbnB1dFNjaGVtYSxcbiAgaGFuZGxlclxuKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBpbnB1dFNjaGVtYSxcbiAgICBleGVjdXRlOiBoYW5kbGVyLFxuICB9O1xufTtcbiJdfQ==
@@ -11,11 +11,12 @@ export type GraphqlRequest<TVariables> = {
11
11
  export declare class GraphqlRequestExecutor {
12
12
  private readonly graphQlEndpoint;
13
13
  private readonly accessToken;
14
+ private readonly userAgent;
14
15
  private readonly _fetch;
15
16
  /**
16
17
  * Creates GraphQL request executor.
17
18
  */
18
- constructor(graphQlEndpoint: string, accessToken: string, _fetch?: typeof fetch);
19
+ constructor(graphQlEndpoint: string, accessToken: string, userAgent: string, _fetch?: typeof fetch);
19
20
  executeGraphql: <TVariables, TReturn>(request: GraphqlRequest<TVariables>) => Promise<TReturn>;
20
21
  }
21
22
  //# sourceMappingURL=graphql_request_executor.d.ts.map
@@ -10,9 +10,10 @@ class GraphqlRequestExecutor {
10
10
  /**
11
11
  * Creates GraphQL request executor.
12
12
  */
13
- constructor(graphQlEndpoint, accessToken, _fetch = fetch) {
13
+ constructor(graphQlEndpoint, accessToken, userAgent, _fetch = fetch) {
14
14
  this.graphQlEndpoint = graphQlEndpoint;
15
15
  this.accessToken = accessToken;
16
+ this.userAgent = userAgent;
16
17
  this._fetch = _fetch;
17
18
  this.executeGraphql = async (request) => {
18
19
  const httpRequest = new Request(this.graphQlEndpoint, {
@@ -20,6 +21,7 @@ class GraphqlRequestExecutor {
20
21
  headers: {
21
22
  'Content-Type': 'application/graphql',
22
23
  Authorization: this.accessToken,
24
+ 'x-amz-user-agent': this.userAgent,
23
25
  },
24
26
  body: JSON.stringify({
25
27
  query: request.query,
@@ -42,4 +44,4 @@ class GraphqlRequestExecutor {
42
44
  }
43
45
  }
44
46
  exports.GraphqlRequestExecutor = GraphqlRequestExecutor;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbF9yZXF1ZXN0X2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9ydW50aW1lL2dyYXBocWxfcmVxdWVzdF9leGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQTs7OztHQUlHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDakM7O09BRUc7SUFDSCxZQUNtQixlQUF1QixFQUN2QixXQUFtQixFQUNuQixTQUFTLEtBQUs7UUFGZCxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBR2pDLG1CQUFjLEdBQUcsS0FBSyxFQUNwQixPQUFtQyxFQUNqQixFQUFFO1lBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BELE1BQU0sRUFBRSxNQUFNO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxjQUFjLEVBQUUscUJBQXFCO29CQUNyQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVc7aUJBQ2hDO2dCQUNELElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUNuQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7b0JBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztpQkFDN0IsQ0FBQzthQUNILENBQUMsQ0FBQztZQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzQyxNQUFNLGVBQWUsR0FBMkIsRUFBRSxDQUFDO1lBQ25ELEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FDYiw0Q0FBNEMsSUFBSSxDQUFDLFNBQVMsQ0FDeEQsZUFBZSxDQUNoQixVQUFVLElBQUksRUFBRSxDQUNsQixDQUFDO2FBQ0g7WUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFJLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtnQkFDeEQsTUFBTSxJQUFJLEtBQUssQ0FDYiw0Q0FBNEMsSUFBSSxDQUFDLFNBQVMsQ0FDeEQsZUFBZSxDQUNoQixVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbEMsQ0FBQzthQUNIO1lBQ0QsT0FBTyxJQUFlLENBQUM7UUFDekIsQ0FBQyxDQUFDO0lBckNDLENBQUM7Q0FzQ0w7QUE5Q0Qsd0RBOENDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgR3JhcGhxbFJlcXVlc3Q8VFZhcmlhYmxlcz4gPSB7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHZhcmlhYmxlczogVFZhcmlhYmxlcztcbn07XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgZXhlY3V0aW5nIEdyYXBoUUwgcmVxdWVzdHMuXG4gKiBTZXJpYWxpemluZyBxdWVyeSBhbmQgaXQncyBpbnB1dHMsIGFkZGluZyBhdXRob3JpemF0aW9uIGhlYWRlcnMsXG4gKiBpbnNwZWN0aW5nIHJlc3BvbnNlIGZvciBlcnJvcnMgYW5kIGRlLXNlcmlhbGl6aW5nIG91dHB1dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBocWxSZXF1ZXN0RXhlY3V0b3Ige1xuICAvKipcbiAgICogQ3JlYXRlcyBHcmFwaFFMIHJlcXVlc3QgZXhlY3V0b3IuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdyYXBoUWxFbmRwb2ludDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzVG9rZW46IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9mZXRjaCA9IGZldGNoXG4gICkge31cblxuICBleGVjdXRlR3JhcGhxbCA9IGFzeW5jIDxUVmFyaWFibGVzLCBUUmV0dXJuPihcbiAgICByZXF1ZXN0OiBHcmFwaHFsUmVxdWVzdDxUVmFyaWFibGVzPlxuICApOiBQcm9taXNlPFRSZXR1cm4+ID0+IHtcbiAgICBjb25zdCBodHRwUmVxdWVzdCA9IG5ldyBSZXF1ZXN0KHRoaXMuZ3JhcGhRbEVuZHBvaW50LCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9ncmFwaHFsJyxcbiAgICAgICAgQXV0aG9yaXphdGlvbjogdGhpcy5hY2Nlc3NUb2tlbixcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHF1ZXJ5OiByZXF1ZXN0LnF1ZXJ5LFxuICAgICAgICB2YXJpYWJsZXM6IHJlcXVlc3QudmFyaWFibGVzLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLl9mZXRjaChodHRwUmVxdWVzdCk7XG4gICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgcmVzLmhlYWRlcnMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4gKHJlc3BvbnNlSGVhZGVyc1trZXldID0gdmFsdWUpKTtcbiAgICBpZiAoIXJlcy5vaykge1xuICAgICAgY29uc3QgYm9keSA9IGF3YWl0IHJlcy50ZXh0KCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBHcmFwaFFMIHJlcXVlc3QgZmFpbGVkLCByZXNwb25zZSBoZWFkZXJzPSR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgcmVzcG9uc2VIZWFkZXJzXG4gICAgICAgICl9LCBib2R5PSR7Ym9keX1gXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzLmpzb24oKTtcbiAgICBpZiAoYm9keSAmJiB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgJiYgJ2Vycm9ycycgaW4gYm9keSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgR3JhcGhRTCByZXF1ZXN0IGZhaWxlZCwgcmVzcG9uc2UgaGVhZGVycz0ke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHJlc3BvbnNlSGVhZGVyc1xuICAgICAgICApfSwgYm9keT0ke0pTT04uc3RyaW5naWZ5KGJvZHkpfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBib2R5IGFzIFRSZXR1cm47XG4gIH07XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbF9yZXF1ZXN0X2V4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9ydW50aW1lL2dyYXBocWxfcmVxdWVzdF9leGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQTs7OztHQUlHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDakM7O09BRUc7SUFDSCxZQUNtQixlQUF1QixFQUN2QixXQUFtQixFQUNuQixTQUFpQixFQUNqQixTQUFTLEtBQUs7UUFIZCxvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFHakMsbUJBQWMsR0FBRyxLQUFLLEVBQ3BCLE9BQW1DLEVBQ2pCLEVBQUU7WUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDcEQsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLGNBQWMsRUFBRSxxQkFBcUI7b0JBQ3JDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDL0Isa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQ25DO2dCQUNELElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUNuQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7b0JBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztpQkFDN0IsQ0FBQzthQUNILENBQUMsQ0FBQztZQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzQyxNQUFNLGVBQWUsR0FBMkIsRUFBRSxDQUFDO1lBQ25ELEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FDYiw0Q0FBNEMsSUFBSSxDQUFDLFNBQVMsQ0FDeEQsZUFBZSxDQUNoQixVQUFVLElBQUksRUFBRSxDQUNsQixDQUFDO2FBQ0g7WUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFJLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtnQkFDeEQsTUFBTSxJQUFJLEtBQUssQ0FDYiw0Q0FBNEMsSUFBSSxDQUFDLFNBQVMsQ0FDeEQsZUFBZSxDQUNoQixVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbEMsQ0FBQzthQUNIO1lBQ0QsT0FBTyxJQUFlLENBQUM7UUFDekIsQ0FBQyxDQUFDO0lBdENDLENBQUM7Q0F1Q0w7QUFoREQsd0RBZ0RDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgR3JhcGhxbFJlcXVlc3Q8VFZhcmlhYmxlcz4gPSB7XG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIHZhcmlhYmxlczogVFZhcmlhYmxlcztcbn07XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgZXhlY3V0aW5nIEdyYXBoUUwgcmVxdWVzdHMuXG4gKiBTZXJpYWxpemluZyBxdWVyeSBhbmQgaXQncyBpbnB1dHMsIGFkZGluZyBhdXRob3JpemF0aW9uIGhlYWRlcnMsXG4gKiBpbnNwZWN0aW5nIHJlc3BvbnNlIGZvciBlcnJvcnMgYW5kIGRlLXNlcmlhbGl6aW5nIG91dHB1dC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBocWxSZXF1ZXN0RXhlY3V0b3Ige1xuICAvKipcbiAgICogQ3JlYXRlcyBHcmFwaFFMIHJlcXVlc3QgZXhlY3V0b3IuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdyYXBoUWxFbmRwb2ludDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzVG9rZW46IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZldGNoID0gZmV0Y2hcbiAgKSB7fVxuXG4gIGV4ZWN1dGVHcmFwaHFsID0gYXN5bmMgPFRWYXJpYWJsZXMsIFRSZXR1cm4+KFxuICAgIHJlcXVlc3Q6IEdyYXBocWxSZXF1ZXN0PFRWYXJpYWJsZXM+XG4gICk6IFByb21pc2U8VFJldHVybj4gPT4ge1xuICAgIGNvbnN0IGh0dHBSZXF1ZXN0ID0gbmV3IFJlcXVlc3QodGhpcy5ncmFwaFFsRW5kcG9pbnQsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2dyYXBocWwnLFxuICAgICAgICBBdXRob3JpemF0aW9uOiB0aGlzLmFjY2Vzc1Rva2VuLFxuICAgICAgICAneC1hbXotdXNlci1hZ2VudCc6IHRoaXMudXNlckFnZW50LFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcXVlcnk6IHJlcXVlc3QucXVlcnksXG4gICAgICAgIHZhcmlhYmxlczogcmVxdWVzdC52YXJpYWJsZXMsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuX2ZldGNoKGh0dHBSZXF1ZXN0KTtcbiAgICBjb25zdCByZXNwb25zZUhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICByZXMuaGVhZGVycy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiAocmVzcG9uc2VIZWFkZXJzW2tleV0gPSB2YWx1ZSkpO1xuICAgIGlmICghcmVzLm9rKSB7XG4gICAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEdyYXBoUUwgcmVxdWVzdCBmYWlsZWQsIHJlc3BvbnNlIGhlYWRlcnM9JHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICByZXNwb25zZUhlYWRlcnNcbiAgICAgICAgKX0sIGJvZHk9JHtib2R5fWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCByZXMuanNvbigpO1xuICAgIGlmIChib2R5ICYmIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyAmJiAnZXJyb3JzJyBpbiBib2R5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBHcmFwaFFMIHJlcXVlc3QgZmFpbGVkLCByZXNwb25zZSBoZWFkZXJzPSR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgcmVzcG9uc2VIZWFkZXJzXG4gICAgICAgICl9LCBib2R5PSR7SlNPTi5zdHJpbmdpZnkoYm9keSl9YFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGJvZHkgYXMgVFJldHVybjtcbiAgfTtcbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
- import { ConversationMessage, ConversationMessageContentBlock, ConversationTurnEvent, ExecutableTool, ToolDefinition, ToolExecutionInput, ToolInputSchema, ToolResultContentBlock } from './types.js';
1
+ import { ConversationMessage, ConversationMessageContentBlock, ConversationTurnEvent, ExecutableTool, FromJSONSchema, JSONSchema, ToolDefinition, ToolInputSchema, ToolResultContentBlock } from './types.js';
2
2
  import { handleConversationTurnEvent } from './conversation_turn_executor.js';
3
- export { ConversationMessage, ConversationMessageContentBlock, ConversationTurnEvent, ExecutableTool, handleConversationTurnEvent, ToolDefinition, ToolExecutionInput, ToolInputSchema, ToolResultContentBlock, };
3
+ import { createExecutableTool } from './executable_tool_factory.js';
4
+ export { ConversationMessage, ConversationMessageContentBlock, ConversationTurnEvent, createExecutableTool, ExecutableTool, FromJSONSchema, JSONSchema, handleConversationTurnEvent, ToolDefinition, ToolInputSchema, ToolResultContentBlock, };
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleConversationTurnEvent = void 0;
3
+ exports.handleConversationTurnEvent = exports.createExecutableTool = void 0;
4
4
  const conversation_turn_executor_js_1 = require("./conversation_turn_executor.js");
5
5
  Object.defineProperty(exports, "handleConversationTurnEvent", { enumerable: true, get: function () { return conversation_turn_executor_js_1.handleConversationTurnEvent; } });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0EsbUZBQThFO0FBTzVFLDRHQVBPLDJEQUEyQixPQU9QIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udmVyc2F0aW9uTWVzc2FnZSxcbiAgQ29udmVyc2F0aW9uTWVzc2FnZUNvbnRlbnRCbG9jayxcbiAgQ29udmVyc2F0aW9uVHVybkV2ZW50LFxuICBFeGVjdXRhYmxlVG9vbCxcbiAgVG9vbERlZmluaXRpb24sXG4gIFRvb2xFeGVjdXRpb25JbnB1dCxcbiAgVG9vbElucHV0U2NoZW1hLFxuICBUb29sUmVzdWx0Q29udGVudEJsb2NrLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuaW1wb3J0IHsgaGFuZGxlQ29udmVyc2F0aW9uVHVybkV2ZW50IH0gZnJvbSAnLi9jb252ZXJzYXRpb25fdHVybl9leGVjdXRvci5qcyc7XG5cbmV4cG9ydCB7XG4gIENvbnZlcnNhdGlvbk1lc3NhZ2UsXG4gIENvbnZlcnNhdGlvbk1lc3NhZ2VDb250ZW50QmxvY2ssXG4gIENvbnZlcnNhdGlvblR1cm5FdmVudCxcbiAgRXhlY3V0YWJsZVRvb2wsXG4gIGhhbmRsZUNvbnZlcnNhdGlvblR1cm5FdmVudCxcbiAgVG9vbERlZmluaXRpb24sXG4gIFRvb2xFeGVjdXRpb25JbnB1dCxcbiAgVG9vbElucHV0U2NoZW1hLFxuICBUb29sUmVzdWx0Q29udGVudEJsb2NrLFxufTtcbiJdfQ==
6
+ const executable_tool_factory_js_1 = require("./executable_tool_factory.js");
7
+ Object.defineProperty(exports, "createExecutableTool", { enumerable: true, get: function () { return executable_tool_factory_js_1.createExecutableTool; } });
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsbUZBQThFO0FBVzVFLDRHQVhPLDJEQUEyQixPQVdQO0FBVjdCLDZFQUFvRTtBQU1sRSxxR0FOTyxpREFBb0IsT0FNUCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnZlcnNhdGlvbk1lc3NhZ2UsXG4gIENvbnZlcnNhdGlvbk1lc3NhZ2VDb250ZW50QmxvY2ssXG4gIENvbnZlcnNhdGlvblR1cm5FdmVudCxcbiAgRXhlY3V0YWJsZVRvb2wsXG4gIEZyb21KU09OU2NoZW1hLFxuICBKU09OU2NoZW1hLFxuICBUb29sRGVmaW5pdGlvbixcbiAgVG9vbElucHV0U2NoZW1hLFxuICBUb29sUmVzdWx0Q29udGVudEJsb2NrLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuaW1wb3J0IHsgaGFuZGxlQ29udmVyc2F0aW9uVHVybkV2ZW50IH0gZnJvbSAnLi9jb252ZXJzYXRpb25fdHVybl9leGVjdXRvci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVFeGVjdXRhYmxlVG9vbCB9IGZyb20gJy4vZXhlY3V0YWJsZV90b29sX2ZhY3RvcnkuanMnO1xuXG5leHBvcnQge1xuICBDb252ZXJzYXRpb25NZXNzYWdlLFxuICBDb252ZXJzYXRpb25NZXNzYWdlQ29udGVudEJsb2NrLFxuICBDb252ZXJzYXRpb25UdXJuRXZlbnQsXG4gIGNyZWF0ZUV4ZWN1dGFibGVUb29sLFxuICBFeGVjdXRhYmxlVG9vbCxcbiAgRnJvbUpTT05TY2hlbWEsXG4gIEpTT05TY2hlbWEsXG4gIGhhbmRsZUNvbnZlcnNhdGlvblR1cm5FdmVudCxcbiAgVG9vbERlZmluaXRpb24sXG4gIFRvb2xJbnB1dFNjaGVtYSxcbiAgVG9vbFJlc3VsdENvbnRlbnRCbG9jayxcbn07XG4iXX0=
@@ -1,8 +1,11 @@
1
1
  import * as bedrock from '@aws-sdk/client-bedrock-runtime';
2
- import * as smithy from '@smithy/types';
3
- export type ToolInputSchema = bedrock.ToolInputSchema;
2
+ import * as jsonSchemaToTypeScript from 'json-schema-to-ts';
3
+ export type JSONSchema = jsonSchemaToTypeScript.JSONSchema;
4
+ export type FromJSONSchema<TJSONSchema extends JSONSchema> = jsonSchemaToTypeScript.FromSchema<TJSONSchema>;
5
+ export type ToolInputSchema<TJSONSchema extends JSONSchema> = {
6
+ json: TJSONSchema;
7
+ };
4
8
  export type ToolResultContentBlock = bedrock.ToolResultContentBlock;
5
- export type ToolExecutionInput = smithy.DocumentType;
6
9
  export type ConversationMessage = {
7
10
  role: 'user' | 'assistant';
8
11
  content: Array<ConversationMessageContentBlock>;
@@ -13,15 +16,22 @@ export type ConversationMessageContentBlock = bedrock.ContentBlock | {
13
16
  bytes: string;
14
17
  };
15
18
  };
19
+ text?: never;
20
+ document?: never;
21
+ toolUse?: never;
22
+ toolResult?: never;
23
+ guardContent?: never;
24
+ $unknown?: never;
16
25
  };
17
- export type ToolDefinition = {
26
+ export type ToolDefinition<TJSONSchema extends JSONSchema = JSONSchema> = {
18
27
  name: string;
19
28
  description: string;
20
- inputSchema: ToolInputSchema;
29
+ inputSchema: ToolInputSchema<TJSONSchema>;
21
30
  };
22
31
  export type ConversationTurnEvent = {
23
32
  conversationId: string;
24
33
  currentMessageId: string;
34
+ streamResponse?: boolean;
25
35
  responseMutation: {
26
36
  name: string;
27
37
  inputTypeName: string;
@@ -39,9 +49,7 @@ export type ConversationTurnEvent = {
39
49
  };
40
50
  };
41
51
  request: {
42
- headers: {
43
- authorization: string;
44
- };
52
+ headers: Record<string, string>;
45
53
  };
46
54
  /**
47
55
  * @deprecated This field is going to be removed in upcoming releases.
@@ -65,7 +73,21 @@ export type ConversationTurnEvent = {
65
73
  clientTools?: Array<ToolDefinition>;
66
74
  };
67
75
  };
68
- export type ExecutableTool = ToolDefinition & {
69
- execute: (input: ToolExecutionInput | undefined) => Promise<ToolResultContentBlock>;
76
+ export type ExecutableTool<TJSONSchema extends JSONSchema = JSONSchema, TToolInput = FromJSONSchema<TJSONSchema>> = ToolDefinition<TJSONSchema> & {
77
+ execute: (input: TToolInput) => Promise<ToolResultContentBlock>;
70
78
  };
79
+ export type StreamingResponseChunk = {
80
+ conversationId: string;
81
+ associatedUserMessageId: string;
82
+ contentBlockIndex: number;
83
+ } & ({
84
+ contentBlockText: string;
85
+ contentBlockDeltaIndex: number;
86
+ } | {
87
+ contentBlockDoneAtIndex: number;
88
+ } | {
89
+ contentBlockToolUse: string;
90
+ } | {
91
+ stopReason: string;
92
+ });
71
93
  //# sourceMappingURL=types.d.ts.map
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJlZHJvY2sgZnJvbSAnQGF3cy1zZGsvY2xpZW50LWJlZHJvY2stcnVudGltZSc7XG5pbXBvcnQgKiBhcyBzbWl0aHkgZnJvbSAnQHNtaXRoeS90eXBlcyc7XG5cbi8qXG4gIE5vdGljZTogVGhpcyBmaWxlIGNvbnRhaW5zIHR5cGVzIHRoYXQgYXJlIGV4cG9zZWQgcHVibGljbHkuXG4gIFRoZXJlZm9yZSwgd2UgYXZvaWQgZWFnZXIgaW50cm9kdWN0aW9uIG9mIHR5cGVzIHRoYXQgd291bGRuJ3QgYmUgdXNlZnVsIGZvclxuICBwdWJsaWMgQVBJIGNvbnN1bWVyIGFuZCBwb3RlbnRpYWxseSBwb2xsdXRlIHN5bnRheCBhc3Npc3QgaW4gSURFcy5cbiAqL1xuXG5leHBvcnQgdHlwZSBUb29sSW5wdXRTY2hlbWEgPSBiZWRyb2NrLlRvb2xJbnB1dFNjaGVtYTtcbmV4cG9ydCB0eXBlIFRvb2xSZXN1bHRDb250ZW50QmxvY2sgPSBiZWRyb2NrLlRvb2xSZXN1bHRDb250ZW50QmxvY2s7XG5leHBvcnQgdHlwZSBUb29sRXhlY3V0aW9uSW5wdXQgPSBzbWl0aHkuRG9jdW1lbnRUeXBlO1xuXG5leHBvcnQgdHlwZSBDb252ZXJzYXRpb25NZXNzYWdlID0ge1xuICByb2xlOiAndXNlcicgfCAnYXNzaXN0YW50JztcbiAgY29udGVudDogQXJyYXk8Q29udmVyc2F0aW9uTWVzc2FnZUNvbnRlbnRCbG9jaz47XG59O1xuXG5leHBvcnQgdHlwZSBDb252ZXJzYXRpb25NZXNzYWdlQ29udGVudEJsb2NrID1cbiAgfCBiZWRyb2NrLkNvbnRlbnRCbG9ja1xuICB8IHtcbiAgICAgIGltYWdlOiBPbWl0PGJlZHJvY2suSW1hZ2VCbG9jaywgJ3NvdXJjZSc+ICYge1xuICAgICAgICAvLyBVcHN0cmVhbSAoQXBwc3luYykgbWF5IHNlbmQgaW1hZ2VzIGluIGEgZm9ybSBvZiBCYXNlNjQgZW5jb2RlZCBzdHJpbmdzXG4gICAgICAgIHNvdXJjZTogeyBieXRlczogc3RyaW5nIH07XG4gICAgICB9O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIFRvb2xEZWZpbml0aW9uID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGlucHV0U2NoZW1hOiBUb29sSW5wdXRTY2hlbWE7XG59O1xuXG4vLyBDdXN0b21lcnMgYXJlIG5vdCBleHBlY3RlZCB0byBjcmVhdGUgZXZlbnRzIHRoZW1zZWx2ZXMsIHRoZXJlZm9yZVxuLy8gZGVmaW5pdGlvbiBvZiBuZXN0ZWQgcHJvcGVydGllcyBpcyBpbmxpbmUuXG5leHBvcnQgdHlwZSBDb252ZXJzYXRpb25UdXJuRXZlbnQgPSB7XG4gIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gIGN1cnJlbnRNZXNzYWdlSWQ6IHN0cmluZztcbiAgcmVzcG9uc2VNdXRhdGlvbjoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBpbnB1dFR5cGVOYW1lOiBzdHJpbmc7XG4gICAgc2VsZWN0aW9uU2V0OiBzdHJpbmc7XG4gIH07XG4gIGdyYXBocWxBcGlFbmRwb2ludDogc3RyaW5nO1xuICBtb2RlbENvbmZpZ3VyYXRpb246IHtcbiAgICBtb2RlbElkOiBzdHJpbmc7XG4gICAgc3lzdGVtUHJvbXB0OiBzdHJpbmc7XG4gICAgcmVnaW9uPzogc3RyaW5nO1xuICAgIGluZmVyZW5jZUNvbmZpZ3VyYXRpb24/OiB7XG4gICAgICBtYXhUb2tlbnM/OiBudW1iZXI7XG4gICAgICB0ZW1wZXJhdHVyZT86IG51bWJlcjtcbiAgICAgIHRvcFA/OiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbiAgcmVxdWVzdDoge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgIGF1dGhvcml6YXRpb246IHN0cmluZztcbiAgICB9O1xuICB9O1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBmaWVsZCBpcyBnb2luZyB0byBiZSByZW1vdmVkIGluIHVwY29taW5nIHJlbGVhc2VzLlxuICAgKi9cbiAgbWVzc2FnZXM/OiBBcnJheTxDb252ZXJzYXRpb25NZXNzYWdlPjtcbiAgbWVzc2FnZUhpc3RvcnlRdWVyeToge1xuICAgIGdldFF1ZXJ5TmFtZTogc3RyaW5nO1xuICAgIGdldFF1ZXJ5SW5wdXRUeXBlTmFtZTogc3RyaW5nO1xuICAgIGxpc3RRdWVyeU5hbWU6IHN0cmluZztcbiAgICBsaXN0UXVlcnlJbnB1dFR5cGVOYW1lOiBzdHJpbmc7XG4gICAgbGlzdFF1ZXJ5TGltaXQ/OiBudW1iZXI7XG4gIH07XG4gIHRvb2xzQ29uZmlndXJhdGlvbj86IHtcbiAgICBkYXRhVG9vbHM/OiBBcnJheTxcbiAgICAgIFRvb2xEZWZpbml0aW9uICYge1xuICAgICAgICBncmFwaHFsUmVxdWVzdElucHV0RGVzY3JpcHRvcjoge1xuICAgICAgICAgIHF1ZXJ5TmFtZTogc3RyaW5nO1xuICAgICAgICAgIHNlbGVjdGlvblNldDogc3RyaW5nO1xuICAgICAgICAgIHByb3BlcnR5VHlwZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgPjtcbiAgICBjbGllbnRUb29scz86IEFycmF5PFRvb2xEZWZpbml0aW9uPjtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEV4ZWN1dGFibGVUb29sID0gVG9vbERlZmluaXRpb24gJiB7XG4gIGV4ZWN1dGU6IChcbiAgICBpbnB1dDogVG9vbEV4ZWN1dGlvbklucHV0IHwgdW5kZWZpbmVkXG4gICkgPT4gUHJvbWlzZTxUb29sUmVzdWx0Q29udGVudEJsb2NrPjtcbn07XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udmVyc2F0aW9uL3J1bnRpbWUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJlZHJvY2sgZnJvbSAnQGF3cy1zZGsvY2xpZW50LWJlZHJvY2stcnVudGltZSc7XG5pbXBvcnQgKiBhcyBqc29uU2NoZW1hVG9UeXBlU2NyaXB0IGZyb20gJ2pzb24tc2NoZW1hLXRvLXRzJztcblxuLypcbiAgTm90aWNlOiBUaGlzIGZpbGUgY29udGFpbnMgdHlwZXMgdGhhdCBhcmUgZXhwb3NlZCBwdWJsaWNseS5cbiAgVGhlcmVmb3JlLCB3ZSBhdm9pZCBlYWdlciBpbnRyb2R1Y3Rpb24gb2YgdHlwZXMgdGhhdCB3b3VsZG4ndCBiZSB1c2VmdWwgZm9yXG4gIHB1YmxpYyBBUEkgY29uc3VtZXIgYW5kIHBvdGVudGlhbGx5IHBvbGx1dGUgc3ludGF4IGFzc2lzdCBpbiBJREVzLlxuICovXG5leHBvcnQgdHlwZSBKU09OU2NoZW1hID0ganNvblNjaGVtYVRvVHlwZVNjcmlwdC5KU09OU2NoZW1hO1xuZXhwb3J0IHR5cGUgRnJvbUpTT05TY2hlbWE8VEpTT05TY2hlbWEgZXh0ZW5kcyBKU09OU2NoZW1hPiA9XG4gIGpzb25TY2hlbWFUb1R5cGVTY3JpcHQuRnJvbVNjaGVtYTxUSlNPTlNjaGVtYT47XG5leHBvcnQgdHlwZSBUb29sSW5wdXRTY2hlbWE8VEpTT05TY2hlbWEgZXh0ZW5kcyBKU09OU2NoZW1hPiA9IHtcbiAganNvbjogVEpTT05TY2hlbWE7XG59O1xuZXhwb3J0IHR5cGUgVG9vbFJlc3VsdENvbnRlbnRCbG9jayA9IGJlZHJvY2suVG9vbFJlc3VsdENvbnRlbnRCbG9jaztcblxuZXhwb3J0IHR5cGUgQ29udmVyc2F0aW9uTWVzc2FnZSA9IHtcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCc7XG4gIGNvbnRlbnQ6IEFycmF5PENvbnZlcnNhdGlvbk1lc3NhZ2VDb250ZW50QmxvY2s+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29udmVyc2F0aW9uTWVzc2FnZUNvbnRlbnRCbG9jayA9XG4gIHwgYmVkcm9jay5Db250ZW50QmxvY2tcbiAgfCB7XG4gICAgICBpbWFnZTogT21pdDxiZWRyb2NrLkltYWdlQmxvY2ssICdzb3VyY2UnPiAmIHtcbiAgICAgICAgLy8gVXBzdHJlYW0gKEFwcHN5bmMpIG1heSBzZW5kIGltYWdlcyBpbiBhIGZvcm0gb2YgQmFzZTY0IGVuY29kZWQgc3RyaW5nc1xuICAgICAgICBzb3VyY2U6IHsgYnl0ZXM6IHN0cmluZyB9O1xuICAgICAgfTtcbiAgICAgIC8vIFRoZXNlIGFyZSBuZWVkZWQgc28gdGhhdCB1bmlvbiB3aXRoIG90aGVyIGNvbnRlbnQgYmxvY2sgdHlwZXMgd29ya3MuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0phdmFTY3JpcHRTREsvdjMvbGF0ZXN0L1BhY2thZ2UvLWF3cy1zZGstY2xpZW50LWJlZHJvY2stcnVudGltZS9UeXBlQWxpYXMvQ29udGVudEJsb2NrLy5cbiAgICAgIHRleHQ/OiBuZXZlcjtcbiAgICAgIGRvY3VtZW50PzogbmV2ZXI7XG4gICAgICB0b29sVXNlPzogbmV2ZXI7XG4gICAgICB0b29sUmVzdWx0PzogbmV2ZXI7XG4gICAgICBndWFyZENvbnRlbnQ/OiBuZXZlcjtcbiAgICAgICR1bmtub3duPzogbmV2ZXI7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgVG9vbERlZmluaXRpb248VEpTT05TY2hlbWEgZXh0ZW5kcyBKU09OU2NoZW1hID0gSlNPTlNjaGVtYT4gPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgaW5wdXRTY2hlbWE6IFRvb2xJbnB1dFNjaGVtYTxUSlNPTlNjaGVtYT47XG59O1xuXG4vLyBDdXN0b21lcnMgYXJlIG5vdCBleHBlY3RlZCB0byBjcmVhdGUgZXZlbnRzIHRoZW1zZWx2ZXMsIHRoZXJlZm9yZVxuLy8gZGVmaW5pdGlvbiBvZiBuZXN0ZWQgcHJvcGVydGllcyBpcyBpbmxpbmUuXG5leHBvcnQgdHlwZSBDb252ZXJzYXRpb25UdXJuRXZlbnQgPSB7XG4gIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gIGN1cnJlbnRNZXNzYWdlSWQ6IHN0cmluZztcbiAgc3RyZWFtUmVzcG9uc2U/OiBib29sZWFuO1xuICByZXNwb25zZU11dGF0aW9uOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlucHV0VHlwZU5hbWU6IHN0cmluZztcbiAgICBzZWxlY3Rpb25TZXQ6IHN0cmluZztcbiAgfTtcbiAgZ3JhcGhxbEFwaUVuZHBvaW50OiBzdHJpbmc7XG4gIG1vZGVsQ29uZmlndXJhdGlvbjoge1xuICAgIG1vZGVsSWQ6IHN0cmluZztcbiAgICBzeXN0ZW1Qcm9tcHQ6IHN0cmluZztcbiAgICByZWdpb24/OiBzdHJpbmc7XG4gICAgaW5mZXJlbmNlQ29uZmlndXJhdGlvbj86IHtcbiAgICAgIG1heFRva2Vucz86IG51bWJlcjtcbiAgICAgIHRlbXBlcmF0dXJlPzogbnVtYmVyO1xuICAgICAgdG9wUD86IG51bWJlcjtcbiAgICB9O1xuICB9O1xuICByZXF1ZXN0OiB7XG4gICAgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgfTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgZmllbGQgaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyByZWxlYXNlcy5cbiAgICovXG4gIG1lc3NhZ2VzPzogQXJyYXk8Q29udmVyc2F0aW9uTWVzc2FnZT47XG4gIG1lc3NhZ2VIaXN0b3J5UXVlcnk6IHtcbiAgICBnZXRRdWVyeU5hbWU6IHN0cmluZztcbiAgICBnZXRRdWVyeUlucHV0VHlwZU5hbWU6IHN0cmluZztcbiAgICBsaXN0UXVlcnlOYW1lOiBzdHJpbmc7XG4gICAgbGlzdFF1ZXJ5SW5wdXRUeXBlTmFtZTogc3RyaW5nO1xuICAgIGxpc3RRdWVyeUxpbWl0PzogbnVtYmVyO1xuICB9O1xuICB0b29sc0NvbmZpZ3VyYXRpb24/OiB7XG4gICAgZGF0YVRvb2xzPzogQXJyYXk8XG4gICAgICBUb29sRGVmaW5pdGlvbiAmIHtcbiAgICAgICAgZ3JhcGhxbFJlcXVlc3RJbnB1dERlc2NyaXB0b3I6IHtcbiAgICAgICAgICBxdWVyeU5hbWU6IHN0cmluZztcbiAgICAgICAgICBzZWxlY3Rpb25TZXQ6IHN0cmluZztcbiAgICAgICAgICBwcm9wZXJ0eVR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgICAgICB9O1xuICAgICAgfVxuICAgID47XG4gICAgY2xpZW50VG9vbHM/OiBBcnJheTxUb29sRGVmaW5pdGlvbj47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBFeGVjdXRhYmxlVG9vbDxcbiAgVEpTT05TY2hlbWEgZXh0ZW5kcyBKU09OU2NoZW1hID0gSlNPTlNjaGVtYSxcbiAgVFRvb2xJbnB1dCA9IEZyb21KU09OU2NoZW1hPFRKU09OU2NoZW1hPlxuPiA9IFRvb2xEZWZpbml0aW9uPFRKU09OU2NoZW1hPiAmIHtcbiAgZXhlY3V0ZTogKGlucHV0OiBUVG9vbElucHV0KSA9PiBQcm9taXNlPFRvb2xSZXN1bHRDb250ZW50QmxvY2s+O1xufTtcblxuZXhwb3J0IHR5cGUgU3RyZWFtaW5nUmVzcG9uc2VDaHVuayA9IHtcbiAgLy8gYWx3YXlzIHJlcXVpcmVkXG4gIGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG4gIGFzc29jaWF0ZWRVc2VyTWVzc2FnZUlkOiBzdHJpbmc7XG4gIGNvbnRlbnRCbG9ja0luZGV4OiBudW1iZXI7XG59ICYgKFxuICB8IHtcbiAgICAgIC8vIHRleHQgY2h1bmtcbiAgICAgIGNvbnRlbnRCbG9ja1RleHQ6IHN0cmluZztcbiAgICAgIGNvbnRlbnRCbG9ja0RlbHRhSW5kZXg6IG51bWJlcjtcbiAgICB9XG4gIHwge1xuICAgICAgLy8gZW5kIG9mIGJsb2NrLiBhcHBsaWNhYmxlIHRvIHRleHQgYmxvY2tzXG4gICAgICBjb250ZW50QmxvY2tEb25lQXRJbmRleDogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICAvLyB0b29sIHVzZVxuICAgICAgY29udGVudEJsb2NrVG9vbFVzZTogc3RyaW5nOyAvLyBzZXJpYWxpemVkIGpzb24gd2l0aCBmdWxsIHRvb2wgdXNlIGJsb2NrXG4gICAgfVxuICB8IHtcbiAgICAgIC8vIHR1cm4gY29tcGxldGVcbiAgICAgIHN0b3BSZWFzb246IHN0cmluZztcbiAgICB9XG4pO1xuIl19
@@ -0,0 +1,4 @@
1
+ # Description
2
+
3
+ Contains [zod](https://zod.dev/) schemas for the data that is stored in stack outputs and metadata.
4
+ Using zod schemas allows us to generate types for the data as well as validate expected data when reading at runtime.
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ export declare const versionedAIConversationOutputSchema: z.ZodDiscriminatedUnion<"version", [z.ZodObject<{
3
+ version: z.ZodLiteral<"1">;
4
+ payload: z.ZodObject<{
5
+ definedConversationHandlers: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ definedConversationHandlers: string;
8
+ }, {
9
+ definedConversationHandlers: string;
10
+ }>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ version: "1";
13
+ payload: {
14
+ definedConversationHandlers: string;
15
+ };
16
+ }, {
17
+ version: "1";
18
+ payload: {
19
+ definedConversationHandlers: string;
20
+ };
21
+ }>]>;
22
+ export type AIConversationOutput = z.infer<typeof versionedAIConversationOutputSchema>;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.versionedAIConversationOutputSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const v1_1 = require("./v1");
6
+ exports.versionedAIConversationOutputSchema = zod_1.z.discriminatedUnion('version', [
7
+ v1_1.aiConversationOutputSchema,
8
+ // this is where additional function major version schemas would go
9
+ ]);
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWkvY29udmVyc2F0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUN4Qiw2QkFBa0Y7QUFFckUsUUFBQSxtQ0FBbUMsR0FBRyxPQUFDLENBQUMsa0JBQWtCLENBQ3JFLFNBQVMsRUFDVDtJQUNFLCtCQUE0QjtJQUM1QixtRUFBbUU7Q0FDcEUsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5pbXBvcnQgeyBhaUNvbnZlcnNhdGlvbk91dHB1dFNjaGVtYSBhcyBhaUNvbnZlcnNhdGlvbk91dHB1dFNjaGVtYVYxIH0gZnJvbSAnLi92MSc7XG5cbmV4cG9ydCBjb25zdCB2ZXJzaW9uZWRBSUNvbnZlcnNhdGlvbk91dHB1dFNjaGVtYSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFxuICAndmVyc2lvbicsXG4gIFtcbiAgICBhaUNvbnZlcnNhdGlvbk91dHB1dFNjaGVtYVYxLFxuICAgIC8vIHRoaXMgaXMgd2hlcmUgYWRkaXRpb25hbCBmdW5jdGlvbiBtYWpvciB2ZXJzaW9uIHNjaGVtYXMgd291bGQgZ29cbiAgXVxuKTtcblxuZXhwb3J0IHR5cGUgQUlDb252ZXJzYXRpb25PdXRwdXQgPSB6LmluZmVyPFxuICB0eXBlb2YgdmVyc2lvbmVkQUlDb252ZXJzYXRpb25PdXRwdXRTY2hlbWFcbj47XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ export declare const aiConversationOutputSchema: z.ZodObject<{
3
+ version: z.ZodLiteral<"1">;
4
+ payload: z.ZodObject<{
5
+ definedConversationHandlers: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ definedConversationHandlers: string;
8
+ }, {
9
+ definedConversationHandlers: string;
10
+ }>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ version: "1";
13
+ payload: {
14
+ definedConversationHandlers: string;
15
+ };
16
+ }, {
17
+ version: "1";
18
+ payload: {
19
+ definedConversationHandlers: string;
20
+ };
21
+ }>;
22
+ //# sourceMappingURL=v1.d.ts.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aiConversationOutputSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.aiConversationOutputSchema = zod_1.z.object({
6
+ version: zod_1.z.literal('1'),
7
+ payload: zod_1.z.object({
8
+ definedConversationHandlers: zod_1.z.string(), // JSON array as string
9
+ }),
10
+ });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWkvY29udmVyc2F0aW9uL3YxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUVYLFFBQUEsMEJBQTBCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxPQUFPLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDdkIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEIsMkJBQTJCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLHVCQUF1QjtLQUNqRSxDQUFDO0NBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5cbmV4cG9ydCBjb25zdCBhaUNvbnZlcnNhdGlvbk91dHB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgdmVyc2lvbjogei5saXRlcmFsKCcxJyksXG4gIHBheWxvYWQ6IHoub2JqZWN0KHtcbiAgICBkZWZpbmVkQ29udmVyc2F0aW9uSGFuZGxlcnM6IHouc3RyaW5nKCksIC8vIEpTT04gYXJyYXkgYXMgc3RyaW5nXG4gIH0pLFxufSk7XG4iXX0=