@aws-amplify/graphql-api-construct 1.15.1 → 1.16.0-ai-streaming.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. package/.jsii +30 -30
  2. package/CHANGELOG.md +15 -0
  3. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  4. package/lib/amplify-graphql-api.js +9 -12
  5. package/lib/amplify-graphql-definition.js +1 -1
  6. package/lib/internal/metadata.d.ts +4 -0
  7. package/lib/internal/metadata.js +42 -0
  8. package/lib/sql-model-datasource-strategy.js +1 -1
  9. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.d.ts +12 -1
  10. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.js +22 -2
  11. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/index.d.ts +2 -2
  12. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/index.js +1 -1
  13. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.d.ts +8 -2
  14. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.js +196 -34
  15. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_message_history_retriever.js +34 -8
  16. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_executor.d.ts +5 -3
  17. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_executor.js +20 -5
  18. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_response_sender.d.ts +3 -1
  19. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_response_sender.js +6 -7
  20. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_streaming_response_sender.d.ts +22 -0
  21. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_streaming_response_sender.js +38 -0
  22. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/default_handler.d.ts +1 -1
  23. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/event_tools_provider.js +2 -2
  24. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/graphql_tool.d.ts +7 -7
  25. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/graphql_tool.js +3 -2
  26. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/executable_tool_factory.d.ts +7 -0
  27. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/executable_tool_factory.js +16 -0
  28. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/graphql_request_executor.d.ts +2 -1
  29. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/graphql_request_executor.js +4 -2
  30. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/index.d.ts +3 -2
  31. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/index.js +4 -2
  32. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.d.ts +47 -14
  33. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.js +1 -1
  34. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/README.md +4 -0
  35. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/index.d.ts +23 -0
  36. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/index.js +10 -0
  37. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/v1.d.ts +22 -0
  38. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/v1.js +11 -0
  39. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.d.ts +113 -0
  40. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +10 -0
  41. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.d.ts +112 -0
  42. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +30 -0
  43. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/index.d.ts +23 -0
  44. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/index.js +10 -0
  45. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/v1.d.ts +22 -0
  46. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/v1.js +11 -0
  47. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/index.d.ts +23 -0
  48. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/index.js +10 -0
  49. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/v1.d.ts +22 -0
  50. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/v1.js +11 -0
  51. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.d.ts +59 -0
  52. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +12 -0
  53. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.d.ts +59 -0
  54. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +25 -0
  55. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +508 -0
  56. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +112 -0
  57. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.d.ts +2 -0
  58. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +18 -0
  59. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.d.ts +42 -0
  60. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +22 -0
  61. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +28 -0
  62. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +10 -0
  63. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +27 -0
  64. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +12 -0
  65. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.d.ts +33 -0
  66. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +10 -0
  67. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.d.ts +32 -0
  68. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +33 -0
  69. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/package.json +27 -0
  70. package/node_modules/@aws-amplify/ai-constructs/package.json +9 -2
  71. package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +0 -2
  72. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +6 -0
  73. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +4 -3
  74. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  75. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +20 -9
  76. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  77. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts +1 -0
  78. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
  79. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js +8 -1
  80. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
  81. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +12 -12
  82. package/node_modules/@aws-amplify/graphql-conversation-transformer/CHANGELOG.md +10 -0
  83. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.d.ts +3 -0
  84. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.d.ts.map +1 -1
  85. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.js +53 -5
  86. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.js.map +1 -1
  87. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver-fn.template.js +105 -0
  88. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.d.ts +4 -0
  89. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.d.ts.map +1 -0
  90. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.js +25 -0
  91. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.js.map +1 -0
  92. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver-fn.template.js +125 -0
  93. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.d.ts +4 -0
  94. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.d.ts.map +1 -0
  95. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.js +25 -0
  96. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.js.map +1 -0
  97. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver-fn.template.js +14 -1
  98. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.d.ts.map +1 -1
  99. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js +8 -1
  100. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js.map +1 -1
  101. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.d.ts.map +1 -1
  102. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.js +3 -2
  103. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.js.map +1 -1
  104. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts +1 -0
  105. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts.map +1 -1
  106. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js +19 -0
  107. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js.map +1 -1
  108. package/node_modules/@aws-amplify/graphql-conversation-transformer/package.json +10 -10
  109. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +4 -0
  110. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +7 -7
  111. package/node_modules/@aws-amplify/graphql-directives/CHANGELOG.md +4 -0
  112. package/node_modules/@aws-amplify/graphql-directives/package.json +2 -2
  113. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  114. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +6 -6
  115. package/node_modules/@aws-amplify/graphql-generation-transformer/CHANGELOG.md +4 -0
  116. package/node_modules/@aws-amplify/graphql-generation-transformer/package.json +6 -6
  117. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  118. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +6 -6
  119. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -0
  120. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +7 -7
  121. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -0
  122. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  123. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +10 -10
  124. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +4 -0
  125. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  126. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  127. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  128. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +6 -6
  129. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  130. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  131. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +6 -6
  132. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +4 -0
  133. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +8 -8
  134. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -0
  135. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  136. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +7 -7
  137. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +4 -0
  138. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +7 -7
  139. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +4 -0
  140. package/node_modules/@aws-amplify/graphql-transformer/package.json +17 -17
  141. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +3 -0
  142. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +6 -0
  143. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +1 -1
  144. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  145. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +3 -2
  146. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  147. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.d.ts +1 -0
  148. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.d.ts.map +1 -1
  149. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.js +6 -1
  150. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.js.map +1 -1
  151. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
  152. package/node_modules/graphql-transformer-common/API.md +3 -0
  153. package/node_modules/graphql-transformer-common/CHANGELOG.md +6 -0
  154. package/node_modules/graphql-transformer-common/LICENSE +201 -0
  155. package/node_modules/graphql-transformer-common/lib/definition.d.ts +1 -0
  156. package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
  157. package/node_modules/graphql-transformer-common/lib/definition.js +20 -1
  158. package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
  159. package/node_modules/graphql-transformer-common/package.json +3 -2
  160. package/package.json +21 -21
  161. package/src/amplify-graphql-api.ts +12 -12
  162. package/src/internal/metadata.ts +40 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-api-construct",
3
- "version": "1.15.1",
3
+ "version": "1.16.0-ai-streaming.0",
4
4
  "description": "AppSync GraphQL Api Construct using Amplify GraphQL Transformer.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -158,25 +158,25 @@
158
158
  "semver"
159
159
  ],
160
160
  "dependencies": {
161
- "@aws-amplify/ai-constructs": "^0.2.0",
161
+ "@aws-amplify/ai-constructs": "0.6.1",
162
162
  "@aws-amplify/backend-output-schemas": "^1.0.0",
163
163
  "@aws-amplify/backend-output-storage": "^1.0.0",
164
- "@aws-amplify/graphql-auth-transformer": "4.1.4",
165
- "@aws-amplify/graphql-conversation-transformer": "0.4.0",
166
- "@aws-amplify/graphql-default-value-transformer": "3.1.1",
167
- "@aws-amplify/graphql-directives": "2.4.0",
168
- "@aws-amplify/graphql-function-transformer": "3.1.3",
169
- "@aws-amplify/graphql-generation-transformer": "0.2.4",
170
- "@aws-amplify/graphql-http-transformer": "3.0.6",
171
- "@aws-amplify/graphql-index-transformer": "3.0.6",
172
- "@aws-amplify/graphql-maps-to-transformer": "4.0.6",
173
- "@aws-amplify/graphql-model-transformer": "3.0.6",
174
- "@aws-amplify/graphql-predictions-transformer": "3.0.6",
175
- "@aws-amplify/graphql-relational-transformer": "3.0.6",
176
- "@aws-amplify/graphql-searchable-transformer": "3.0.6",
177
- "@aws-amplify/graphql-sql-transformer": "0.4.6",
178
- "@aws-amplify/graphql-transformer": "2.1.4",
179
- "@aws-amplify/graphql-transformer-core": "3.2.1",
164
+ "@aws-amplify/graphql-auth-transformer": "4.1.5-ai-streaming.0",
165
+ "@aws-amplify/graphql-conversation-transformer": "0.5.0-ai-streaming.0",
166
+ "@aws-amplify/graphql-default-value-transformer": "3.1.2-ai-streaming.0",
167
+ "@aws-amplify/graphql-directives": "2.4.1-ai-streaming.0",
168
+ "@aws-amplify/graphql-function-transformer": "3.1.4-ai-streaming.0",
169
+ "@aws-amplify/graphql-generation-transformer": "0.2.5-ai-streaming.0",
170
+ "@aws-amplify/graphql-http-transformer": "3.0.7-ai-streaming.0",
171
+ "@aws-amplify/graphql-index-transformer": "3.0.7-ai-streaming.0",
172
+ "@aws-amplify/graphql-maps-to-transformer": "4.0.7-ai-streaming.0",
173
+ "@aws-amplify/graphql-model-transformer": "3.0.7-ai-streaming.0",
174
+ "@aws-amplify/graphql-predictions-transformer": "3.0.7-ai-streaming.0",
175
+ "@aws-amplify/graphql-relational-transformer": "3.0.7-ai-streaming.0",
176
+ "@aws-amplify/graphql-searchable-transformer": "3.0.7-ai-streaming.0",
177
+ "@aws-amplify/graphql-sql-transformer": "0.4.7-ai-streaming.0",
178
+ "@aws-amplify/graphql-transformer": "2.1.5-ai-streaming.0",
179
+ "@aws-amplify/graphql-transformer-core": "3.2.2-ai-streaming.0",
180
180
  "@aws-amplify/graphql-transformer-interfaces": "4.1.2",
181
181
  "@aws-amplify/platform-core": "^1.0.0",
182
182
  "@aws-amplify/plugin-types": "^1.0.0",
@@ -261,7 +261,7 @@
261
261
  "graceful-fs": "^4.2.0",
262
262
  "graphql": "^15.5.0",
263
263
  "graphql-mapping-template": "5.0.1",
264
- "graphql-transformer-common": "5.0.1",
264
+ "graphql-transformer-common": "5.0.2-ai-streaming.0",
265
265
  "hjson": "^3.2.2",
266
266
  "immer": "^9.0.12",
267
267
  "is-buffer": "~1.1.6",
@@ -282,7 +282,7 @@
282
282
  "zod": "^3.22.2"
283
283
  },
284
284
  "devDependencies": {
285
- "@aws-amplify/graphql-transformer-test-utils": "1.0.5",
285
+ "@aws-amplify/graphql-transformer-test-utils": "1.0.6-ai-streaming.0",
286
286
  "@types/fs-extra": "^8.0.1",
287
287
  "@types/node": "^18.0.0",
288
288
  "aws-cdk-lib": "2.158.0",
@@ -353,5 +353,5 @@
353
353
  "printBasicPrototype": true
354
354
  }
355
355
  },
356
- "gitHead": "701c6763d9679033043d84f9fa4091884dc3697e"
356
+ "gitHead": "8701d087e41015a83c74bf9fd0723f16ac23313f"
357
357
  }
@@ -35,7 +35,6 @@ import type {
35
35
  IBackendOutputStorageStrategy,
36
36
  AddFunctionProps,
37
37
  DataStoreConfiguration,
38
- IAmplifyGraphqlDefinition,
39
38
  } from './types';
40
39
  import {
41
40
  convertAuthorizationModesToTransformerAuthConfig,
@@ -50,6 +49,7 @@ import {
50
49
  } from './internal';
51
50
  import { getStackForScope, walkAndProcessNodes } from './internal/construct-tree';
52
51
  import { getDataSourceStrategiesProvider } from './internal/data-source-config';
52
+ import { getMetadataDataSources, getMetadataAuthorizationModes, getMetadataCustomOperations } from './internal/metadata';
53
53
 
54
54
  /**
55
55
  * L3 Construct which invokes the Amplify Transformer Pattern over an input Graphql Schema.
@@ -168,11 +168,18 @@ export class AmplifyGraphqlApi extends Construct {
168
168
 
169
169
  this.dataStoreConfiguration = dataStoreConfiguration || conflictResolution;
170
170
 
171
- const dataSources = getMetadataDataSources(definition);
171
+ const attributionMetadata = {
172
+ dataSources: getMetadataDataSources(definition),
173
+ authorizationModes: getMetadataAuthorizationModes(authorizationModes),
174
+ customOperations: getMetadataCustomOperations(definition),
175
+ };
172
176
 
173
- new AttributionMetadataStorage().storeAttributionMetadata(Stack.of(scope), this.stackType, path.join(__dirname, '..', 'package.json'), {
174
- dataSources,
175
- });
177
+ new AttributionMetadataStorage().storeAttributionMetadata(
178
+ Stack.of(scope),
179
+ this.stackType,
180
+ path.join(__dirname, '..', 'package.json'),
181
+ attributionMetadata,
182
+ );
176
183
 
177
184
  validateAuthorizationModes(authorizationModes);
178
185
  const { authConfig, authSynthParameters } = convertAuthorizationModesToTransformerAuthConfig(authorizationModes);
@@ -420,10 +427,3 @@ const validateNoOtherAmplifyGraphqlApiInStack = (scope: Construct): void => {
420
427
  throw new Error('Only one AmplifyGraphqlApi is expected in a stack. Place the AmplifyGraphqlApis in separate nested stacks.');
421
428
  }
422
429
  };
423
-
424
- const getMetadataDataSources = (definition: IAmplifyGraphqlDefinition): string => {
425
- const dataSourceDbTypes = Object.values(definition.dataSourceStrategies).map((strategy) => strategy.dbType.toLocaleLowerCase());
426
- const customSqlDbTypes = (definition.customSqlDataSourceStrategies ?? []).map((strategy) => strategy.strategy.dbType.toLocaleLowerCase());
427
- const dataSources = [...new Set([...dataSourceDbTypes, ...customSqlDbTypes])].sort();
428
- return dataSources.join(',');
429
- };
@@ -0,0 +1,40 @@
1
+ import { AuthorizationModes, IAmplifyGraphqlDefinition } from '../types';
2
+
3
+ export const getMetadataDataSources = (definition: IAmplifyGraphqlDefinition): string => {
4
+ const dataSourceDbTypes = Object.values(definition.dataSourceStrategies).map((strategy) => strategy.dbType.toLocaleLowerCase());
5
+ const customSqlDbTypes = (definition.customSqlDataSourceStrategies ?? []).map((strategy) => strategy.strategy.dbType.toLocaleLowerCase());
6
+ const dataSources = [...new Set([...dataSourceDbTypes, ...customSqlDbTypes])].sort();
7
+ return dataSources.join(',');
8
+ };
9
+
10
+ export const getMetadataAuthorizationModes = (authorizationModes: AuthorizationModes): string => {
11
+ const configKeyToAuthMode: Record<string, string> = {
12
+ iamConfig: 'aws_iam',
13
+ oidcConfig: 'openid_connect',
14
+ identityPoolConfig: 'amazon_cognito_identity_pools',
15
+ userPoolConfig: 'amazon_cognito_user_pools',
16
+ apiKeyConfig: 'api_key',
17
+ lambdaConfig: 'aws_lambda',
18
+ };
19
+ const authModes = Object.keys(authorizationModes)
20
+ .map((mode) => configKeyToAuthMode[mode])
21
+ // remove values not found in mapping
22
+ .filter((mode) => !!mode)
23
+ .sort();
24
+ return authModes.join(',');
25
+ };
26
+
27
+ export const getMetadataCustomOperations = (definition: IAmplifyGraphqlDefinition): string => {
28
+ const customOperations: string[] = [];
29
+ if (definition.schema.includes('type Query')) {
30
+ customOperations.push('queries');
31
+ }
32
+ if (definition.schema.includes('type Mutation')) {
33
+ customOperations.push('mutations');
34
+ }
35
+ if (definition.schema.includes('type Subscription')) {
36
+ customOperations.push('subscriptions');
37
+ }
38
+
39
+ return customOperations.join(',');
40
+ };