@aws-amplify/data-schema 1.6.2 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/cjs/runtime/index.js +3 -1
  2. package/dist/cjs/runtime/index.js.map +1 -1
  3. package/dist/cjs/runtime/internals/ai/createCreateConversationFunction.js +2 -1
  4. package/dist/cjs/runtime/internals/ai/createCreateConversationFunction.js.map +1 -1
  5. package/dist/cjs/runtime/internals/ai/createDeleteConversationFunction.js +21 -0
  6. package/dist/cjs/runtime/internals/ai/createDeleteConversationFunction.js.map +1 -0
  7. package/dist/cjs/runtime/internals/ai/createGetConversationFunction.js +2 -1
  8. package/dist/cjs/runtime/internals/ai/createGetConversationFunction.js.map +1 -1
  9. package/dist/cjs/runtime/internals/ai/createListConversationsFunction.js +2 -1
  10. package/dist/cjs/runtime/internals/ai/createListConversationsFunction.js.map +1 -1
  11. package/dist/cjs/runtime/internals/ai/createListMessagesFunction.js +2 -1
  12. package/dist/cjs/runtime/internals/ai/createListMessagesFunction.js.map +1 -1
  13. package/dist/cjs/runtime/internals/ai/createOnMessageFunction.js +2 -1
  14. package/dist/cjs/runtime/internals/ai/createOnMessageFunction.js.map +1 -1
  15. package/dist/cjs/runtime/internals/ai/createSendMessageFunction.js +2 -1
  16. package/dist/cjs/runtime/internals/ai/createSendMessageFunction.js.map +1 -1
  17. package/dist/cjs/runtime/internals/ai/getCustomUserAgentDetails.js +48 -0
  18. package/dist/cjs/runtime/internals/ai/getCustomUserAgentDetails.js.map +1 -0
  19. package/dist/cjs/runtime/internals/operations/custom.js +10 -5
  20. package/dist/cjs/runtime/internals/operations/custom.js.map +1 -1
  21. package/dist/cjs/runtime/internals/operations/get.js +8 -5
  22. package/dist/cjs/runtime/internals/operations/get.js.map +1 -1
  23. package/dist/cjs/runtime/internals/operations/list.js +8 -5
  24. package/dist/cjs/runtime/internals/operations/list.js.map +1 -1
  25. package/dist/cjs/runtime/internals/utils/clientProperties/generateConversationsProperty.js +2 -0
  26. package/dist/cjs/runtime/internals/utils/clientProperties/generateConversationsProperty.js.map +1 -1
  27. package/dist/cjs/runtime/internals/utils/clientProperties/generateGenerationsProperty.js +2 -1
  28. package/dist/cjs/runtime/internals/utils/clientProperties/generateGenerationsProperty.js.map +1 -1
  29. package/dist/esm/ai/ConversationType.d.ts +9 -0
  30. package/dist/esm/runtime/addSchemaToClientWithInstance.mjs +1 -0
  31. package/dist/esm/runtime/addSchemaToClientWithInstance.mjs.map +1 -1
  32. package/dist/esm/runtime/bridge-types.d.ts +6 -1
  33. package/dist/esm/runtime/index.d.ts +1 -0
  34. package/dist/esm/runtime/index.mjs +1 -0
  35. package/dist/esm/runtime/index.mjs.map +1 -1
  36. package/dist/esm/runtime/internals/ai/createCreateConversationFunction.d.ts +1 -1
  37. package/dist/esm/runtime/internals/ai/createCreateConversationFunction.mjs +2 -1
  38. package/dist/esm/runtime/internals/ai/createCreateConversationFunction.mjs.map +1 -1
  39. package/dist/esm/runtime/internals/ai/createDeleteConversationFunction.d.ts +3 -0
  40. package/dist/esm/runtime/internals/ai/createDeleteConversationFunction.mjs +19 -0
  41. package/dist/esm/runtime/internals/ai/createDeleteConversationFunction.mjs.map +1 -0
  42. package/dist/esm/runtime/internals/ai/createGetConversationFunction.d.ts +1 -1
  43. package/dist/esm/runtime/internals/ai/createGetConversationFunction.mjs +2 -1
  44. package/dist/esm/runtime/internals/ai/createGetConversationFunction.mjs.map +1 -1
  45. package/dist/esm/runtime/internals/ai/createListConversationsFunction.d.ts +1 -1
  46. package/dist/esm/runtime/internals/ai/createListConversationsFunction.mjs +2 -1
  47. package/dist/esm/runtime/internals/ai/createListConversationsFunction.mjs.map +1 -1
  48. package/dist/esm/runtime/internals/ai/createListMessagesFunction.d.ts +1 -1
  49. package/dist/esm/runtime/internals/ai/createListMessagesFunction.mjs +2 -1
  50. package/dist/esm/runtime/internals/ai/createListMessagesFunction.mjs.map +1 -1
  51. package/dist/esm/runtime/internals/ai/createOnMessageFunction.d.ts +1 -1
  52. package/dist/esm/runtime/internals/ai/createOnMessageFunction.mjs +2 -1
  53. package/dist/esm/runtime/internals/ai/createOnMessageFunction.mjs.map +1 -1
  54. package/dist/esm/runtime/internals/ai/createSendMessageFunction.d.ts +1 -1
  55. package/dist/esm/runtime/internals/ai/createSendMessageFunction.mjs +2 -1
  56. package/dist/esm/runtime/internals/ai/createSendMessageFunction.mjs.map +1 -1
  57. package/dist/esm/runtime/internals/ai/getCustomUserAgentDetails.d.ts +35 -0
  58. package/dist/esm/runtime/internals/ai/getCustomUserAgentDetails.mjs +44 -0
  59. package/dist/esm/runtime/internals/ai/getCustomUserAgentDetails.mjs.map +1 -0
  60. package/dist/esm/runtime/internals/operations/custom.d.ts +2 -2
  61. package/dist/esm/runtime/internals/operations/custom.mjs +10 -5
  62. package/dist/esm/runtime/internals/operations/custom.mjs.map +1 -1
  63. package/dist/esm/runtime/internals/operations/get.d.ts +2 -2
  64. package/dist/esm/runtime/internals/operations/get.mjs +8 -5
  65. package/dist/esm/runtime/internals/operations/get.mjs.map +1 -1
  66. package/dist/esm/runtime/internals/operations/list.d.ts +2 -2
  67. package/dist/esm/runtime/internals/operations/list.mjs +8 -5
  68. package/dist/esm/runtime/internals/operations/list.mjs.map +1 -1
  69. package/dist/esm/runtime/internals/utils/clientProperties/generateConversationsProperty.mjs +2 -0
  70. package/dist/esm/runtime/internals/utils/clientProperties/generateConversationsProperty.mjs.map +1 -1
  71. package/dist/esm/runtime/internals/utils/clientProperties/generateGenerationsProperty.mjs +2 -1
  72. package/dist/esm/runtime/internals/utils/clientProperties/generateGenerationsProperty.mjs.map +1 -1
  73. package/dist/meta/cjs.tsbuildinfo +1 -1
  74. package/package.json +1 -1
  75. package/src/ai/ConversationType.ts +10 -0
  76. package/src/runtime/bridge-types.ts +8 -0
  77. package/src/runtime/index.ts +1 -0
  78. package/src/runtime/internals/ai/createCreateConversationFunction.ts +7 -1
  79. package/src/runtime/internals/ai/createDeleteConversationFunction.ts +54 -0
  80. package/src/runtime/internals/ai/createGetConversationFunction.ts +7 -1
  81. package/src/runtime/internals/ai/createListConversationsFunction.ts +7 -1
  82. package/src/runtime/internals/ai/createListMessagesFunction.ts +7 -1
  83. package/src/runtime/internals/ai/createOnMessageFunction.ts +3 -1
  84. package/src/runtime/internals/ai/createSendMessageFunction.ts +6 -1
  85. package/src/runtime/internals/ai/getCustomUserAgentDetails.ts +54 -0
  86. package/src/runtime/internals/operations/custom.ts +13 -0
  87. package/src/runtime/internals/operations/get.ts +11 -2
  88. package/src/runtime/internals/operations/list.ts +18 -3
  89. package/src/runtime/internals/utils/clientProperties/generateConversationsProperty.ts +9 -0
  90. package/src/runtime/internals/utils/clientProperties/generateGenerationsProperty.ts +5 -0
@@ -1,4 +1,4 @@
1
- import { AuthModeParams, AmplifyServer, BaseClient, ClientInternalsGetter, CustomOperation, ListArgs, QueryArgs, ModelIntrospectionSchema } from '../../bridge-types';
1
+ import { AuthModeParams, AmplifyServer, BaseClient, ClientInternalsGetter, CustomOperation, ListArgs, QueryArgs, ModelIntrospectionSchema, CustomUserAgentDetails } from '../../bridge-types';
2
2
  type CustomOperationOptions = AuthModeParams & ListArgs;
3
3
  type OpArgs = [AmplifyServer.ContextSpec, QueryArgs, CustomOperationOptions] | [AmplifyServer.ContextSpec, CustomOperationOptions] | [QueryArgs, CustomOperationOptions] | [CustomOperationOptions];
4
4
  /**
@@ -57,5 +57,5 @@ type OpArgs = [AmplifyServer.ContextSpec, QueryArgs, CustomOperationOptions] | [
57
57
  * @param useContext Whether the function needs to accept an SSR context.
58
58
  * @returns The operation function to attach to query, mutations, etc.
59
59
  */
60
- export declare function customOpFactory(client: BaseClient, modelIntrospection: ModelIntrospectionSchema, operationType: 'query' | 'mutation' | 'subscription', operation: CustomOperation, useContext: boolean, getInternals: ClientInternalsGetter): (...args: OpArgs) => import("rxjs").Observable<any> | Promise<unknown>;
60
+ export declare function customOpFactory(client: BaseClient, modelIntrospection: ModelIntrospectionSchema, operationType: 'query' | 'mutation' | 'subscription', operation: CustomOperation, useContext: boolean, getInternals: ClientInternalsGetter, customUserAgentDetails?: CustomUserAgentDetails): (...args: OpArgs) => import("rxjs").Observable<any> | Promise<unknown>;
61
61
  export {};
@@ -3,6 +3,7 @@ import { authModeParams, getCustomHeaders, initializeModel, selectionSetIRToStri
3
3
  import { handleSingularGraphQlError } from './utils.mjs';
4
4
  import { selfAwareAsync } from '../../utils/selfAwareAsync.mjs';
5
5
  import { extendCancellability } from '../cancellation.mjs';
6
+ import { createUserAgentOverride } from '../ai/getCustomUserAgentDetails.mjs';
6
7
 
7
8
  /**
8
9
  * Type guard for checking whether a Custom Operation argument is a contextSpec object
@@ -66,7 +67,7 @@ const argIsContextSpec = (arg) => {
66
67
  * @param useContext Whether the function needs to accept an SSR context.
67
68
  * @returns The operation function to attach to query, mutations, etc.
68
69
  */
69
- function customOpFactory(client, modelIntrospection, operationType, operation, useContext, getInternals) {
70
+ function customOpFactory(client, modelIntrospection, operationType, operation, useContext, getInternals, customUserAgentDetails) {
70
71
  // .arguments() are defined for the custom operation in the schema builder
71
72
  // and are present in the model introspection schema
72
73
  const argsDefined = operation.arguments !== undefined;
@@ -94,9 +95,9 @@ function customOpFactory(client, modelIntrospection, operationType, operation, u
94
95
  if (operationType === 'subscription') {
95
96
  return _opSubscription(
96
97
  // subscriptions are only enabled on the clientside
97
- client, modelIntrospection, operation, getInternals, arg, options);
98
+ client, modelIntrospection, operation, getInternals, arg, options, customUserAgentDetails);
98
99
  }
99
- return _op(client, modelIntrospection, operationType, operation, getInternals, arg, options, contextSpec);
100
+ return _op(client, modelIntrospection, operationType, operation, getInternals, arg, options, contextSpec, customUserAgentDetails);
100
101
  };
101
102
  return op;
102
103
  }
@@ -276,7 +277,7 @@ function operationVariables(operation, args = {}) {
276
277
  * @param context SSR context if relevant.
277
278
  * @returns Result from the graphql request, model-instantiated when relevant.
278
279
  */
279
- function _op(client, modelIntrospection, operationType, operation, getInternals, args, options, context) {
280
+ function _op(client, modelIntrospection, operationType, operation, getInternals, args, options, context, customUserAgentDetails) {
280
281
  return selfAwareAsync(async (resultPromise) => {
281
282
  const { name: operationName } = operation;
282
283
  const auth = authModeParams(client, getInternals, options);
@@ -293,6 +294,7 @@ function _op(client, modelIntrospection, operationType, operation, getInternals,
293
294
  }
294
295
  `;
295
296
  const variables = operationVariables(operation, args);
297
+ const userAgentOverride = createUserAgentOverride(customUserAgentDetails);
296
298
  try {
297
299
  const basePromise = context
298
300
  ? client.graphql(context, {
@@ -304,6 +306,7 @@ function _op(client, modelIntrospection, operationType, operation, getInternals,
304
306
  ...auth,
305
307
  query,
306
308
  variables,
309
+ ...userAgentOverride,
307
310
  }, headers);
308
311
  const extendedPromise = extendCancellability(basePromise, resultPromise);
309
312
  const { data, extensions } = await extendedPromise;
@@ -396,7 +399,7 @@ function _op(client, modelIntrospection, operationType, operation, getInternals,
396
399
  * @param options Request options like headers, etc.
397
400
  * @returns Result from the graphql request, model-instantiated when relevant.
398
401
  */
399
- function _opSubscription(client, modelIntrospection, operation, getInternals, args, options) {
402
+ function _opSubscription(client, modelIntrospection, operation, getInternals, args, options, customUserAgentDetails) {
400
403
  const operationType = 'subscription';
401
404
  const { name: operationName } = operation;
402
405
  const auth = authModeParams(client, getInternals, options);
@@ -413,10 +416,12 @@ function _opSubscription(client, modelIntrospection, operation, getInternals, ar
413
416
  }
414
417
  `;
415
418
  const variables = operationVariables(operation, args);
419
+ const userAgentOverride = createUserAgentOverride(customUserAgentDetails);
416
420
  const observable = client.graphql({
417
421
  ...auth,
418
422
  query,
419
423
  variables,
424
+ ...userAgentOverride,
420
425
  }, headers);
421
426
  return observable.pipe(map((value) => {
422
427
  const [key] = Object.keys(value.data);
@@ -1 +1 @@
1
- {"version":3,"file":"custom.mjs","sources":["../../../../../src/runtime/internals/operations/custom.ts"],"sourcesContent":["import { map } from 'rxjs';\nimport { authModeParams, getDefaultSelectionSetForNonModelWithIR, generateSelectionSet, getCustomHeaders, initializeModel, selectionSetIRToString, } from '../APIClient';\nimport { handleSingularGraphQlError } from './utils';\nimport { selfAwareAsync } from '../../utils';\nimport { extendCancellability } from '../cancellation';\n/**\n * Type guard for checking whether a Custom Operation argument is a contextSpec object\n */\nconst argIsContextSpec = (arg) => {\n return typeof arg?.token?.value === 'symbol';\n};\n/**\n * Builds an operation function, embedded with all client and context data, that\n * can be attached to a client as a custom query or mutation.\n *\n * If we have this source schema:\n *\n * ```typescript\n * a.schema({\n * echo: a.query()\n * .arguments({input: a.string().required()})\n * .returns(a.string())\n * })\n * ```\n *\n * Our model intro schema will contain an entry like this:\n *\n * ```ts\n * {\n * queries: {\n * echo: {\n * name: \"echo\",\n * isArray: false,\n * type: 'String',\n * isRequired: false,\n * arguments: {\n * input: {\n * name: 'input',\n * isArray: false,\n * type: String,\n * isRequired: true\n * }\n * }\n * }\n * }\n * }\n * ```\n *\n * The `echo` object is used to build the `echo' method that goes here:\n *\n * ```typescript\n * const client = generateClent()\n * const { data } = await client.queries.echo({input: 'a string'});\n * // ^\n * // |\n * // +-- This one right here.\n * //\n * ```\n *\n *\n * @param client The client to run graphql queries through.\n * @param modelIntrospection The model introspection schema the op comes from.\n * @param operationType The broad category of graphql operation.\n * @param operation The operation definition from the introspection schema.\n * @param useContext Whether the function needs to accept an SSR context.\n * @returns The operation function to attach to query, mutations, etc.\n */\nexport function customOpFactory(client, modelIntrospection, operationType, operation, useContext, getInternals) {\n // .arguments() are defined for the custom operation in the schema builder\n // and are present in the model introspection schema\n const argsDefined = operation.arguments !== undefined;\n const op = (...args) => {\n // options is always the last argument\n const options = args[args.length - 1];\n let contextSpec;\n let arg;\n if (useContext) {\n if (argIsContextSpec(args[0])) {\n contextSpec = args[0];\n }\n else {\n throw new Error(`Invalid first argument passed to ${operation.name}. Expected contextSpec`);\n }\n }\n if (argsDefined) {\n if (useContext) {\n arg = args[1];\n }\n else {\n arg = args[0];\n }\n }\n if (operationType === 'subscription') {\n return _opSubscription(\n // subscriptions are only enabled on the clientside\n client, modelIntrospection, operation, getInternals, arg, options);\n }\n return _op(client, modelIntrospection, operationType, operation, getInternals, arg, options, contextSpec);\n };\n return op;\n}\n/**\n * Runtime test and type guard to check whether `o[field]` is a `String`.\n *\n * ```typescript\n * if (hasStringField(o, 'prop')) {\n * const s = o.prop;\n * // ^? const s: string\n * }\n * ```\n *\n * @param o Object to inspect\n * @param field Field to look for\n * @returns Boolean: `true` if the `o[field]` is a `string`\n */\nfunction hasStringField(o, field) {\n return typeof o[field] === 'string';\n}\nfunction isEnumType(type) {\n return type instanceof Object && 'enum' in type;\n}\nfunction isInputType(type) {\n return type instanceof Object && 'input' in type;\n}\n/**\n * @param argDef A single argument definition from a custom operation\n * @returns A string naming the base type including the `!` if the arg is required.\n */\nfunction argumentBaseTypeString({ type, isRequired }) {\n const requiredFlag = isRequired ? '!' : '';\n if (isEnumType(type)) {\n return `${type.enum}${requiredFlag}`;\n }\n if (isInputType(type)) {\n return `${type.input}${requiredFlag}`;\n }\n return `${type}${requiredFlag}`;\n}\n/**\n * Generates \"outer\" arguments string for a custom operation. For example,\n * in this operation:\n *\n * ```graphql\n * query MyQuery(InputString: String!) {\n * echoString(InputString: $InputString)\n * }\n * ```\n *\n * This function returns the top/outer level arguments as a string:\n *\n * ```json\n * \"InputString: String!\"\n * ```\n *\n * @param operation Operation object from model introspection schema.\n * @returns \"outer\" arguments string\n */\nfunction outerArguments(operation) {\n if (operation.arguments === undefined) {\n return '';\n }\n const args = Object.entries(operation.arguments)\n .map(([k, argument]) => {\n const baseType = argumentBaseTypeString(argument);\n const finalType = argument.isArray\n ? `[${baseType}]${argument.isArrayNullable ? '' : '!'}`\n : baseType;\n return `$${k}: ${finalType}`;\n })\n .join(', ');\n return args.length > 0 ? `(${args})` : '';\n}\n/**\n * Generates \"inner\" arguments string for a custom operation. For example,\n * in this operation:\n *\n * ```graphql\n * query MyQuery(InputString: String!) {\n * echoString(InputString: $InputString)\n * }\n * ```\n *\n * This function returns the inner arguments as a string:\n *\n * ```json\n * \"InputString: $InputString\"\n * ```\n *\n * @param operation Operation object from model introspection schema.\n * @returns \"outer\" arguments string\n */\nfunction innerArguments(operation) {\n if (operation.arguments === undefined) {\n return '';\n }\n const args = Object.keys(operation.arguments)\n .map((k) => `${k}: $${k}`)\n .join(', ');\n return args.length > 0 ? `(${args})` : '';\n}\n/**\n * Generates the selection set string for a custom operation. This is slightly\n * different than the selection set generation for models. If the custom op returns\n * a primitive or enum types, it doesn't require a selection set at all.\n *\n * E.g., the graphql might look like this:\n *\n * ```graphql\n * query MyQuery {\n * echoString(inputString: \"whatever\")\n * }\n * # ^\n * # |\n * # +-- no selection set\n * ```\n *\n * Non-primitive return type selection set generation will be similar to other\n * model operations.\n *\n * @param modelIntrospection The full code-generated introspection schema.\n * @param operation The operation object from the schema.\n * @returns The selection set as a string.\n */\nfunction operationSelectionSet(modelIntrospection, operation) {\n if (hasStringField(operation, 'type') ||\n hasStringField(operation.type, 'enum')) {\n return '';\n }\n else if (hasStringField(operation.type, 'nonModel')) {\n const nonModel = modelIntrospection.nonModels[operation.type.nonModel];\n return `{${selectionSetIRToString(getDefaultSelectionSetForNonModelWithIR(nonModel, modelIntrospection))}}`;\n }\n else if (hasStringField(operation.type, 'model')) {\n return `{${generateSelectionSet(modelIntrospection, operation.type.model)}}`;\n }\n else {\n return '';\n }\n}\n/**\n * Maps an arguments objec to graphql variables, removing superfluous args and\n * screaming loudly when required args are missing.\n *\n * @param operation The operation to construct graphql request variables for.\n * @param args The arguments to map variables from.\n * @returns The graphql variables object.\n */\nfunction operationVariables(operation, args = {}) {\n const variables = {};\n if (operation.arguments === undefined) {\n return variables;\n }\n for (const argDef of Object.values(operation.arguments)) {\n if (typeof args[argDef.name] !== 'undefined') {\n variables[argDef.name] = args[argDef.name];\n }\n else if (argDef.isRequired) {\n // At this point, the variable is both required and missing: We don't need\n // to continue. The operation is expected to fail.\n throw new Error(`${operation.name} requires arguments '${argDef.name}'`);\n }\n }\n return variables;\n}\n/**\n * Executes an operation from the given model intro schema against a client, returning\n * a fully instantiated model when relevant.\n *\n * @param client The client to operate `graphql()` calls through.\n * @param modelIntrospection The model intro schema to construct requests from.\n * @param operationType The high level graphql operation type.\n * @param operation The specific operation name, args, return type details.\n * @param args The arguments to provide to the operation as variables.\n * @param options Request options like headers, etc.\n * @param context SSR context if relevant.\n * @returns Result from the graphql request, model-instantiated when relevant.\n */\nfunction _op(client, modelIntrospection, operationType, operation, getInternals, args, options, context) {\n return selfAwareAsync(async (resultPromise) => {\n const { name: operationName } = operation;\n const auth = authModeParams(client, getInternals, options);\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const outerArgsString = outerArguments(operation);\n const innerArgsString = innerArguments(operation);\n const selectionSet = operationSelectionSet(modelIntrospection, operation);\n const returnTypeModelName = hasStringField(operation.type, 'model')\n ? operation.type.model\n : undefined;\n const query = `\n ${operationType.toLocaleLowerCase()}${outerArgsString} {\n ${operationName}${innerArgsString} ${selectionSet}\n }\n `;\n const variables = operationVariables(operation, args);\n try {\n const basePromise = context\n ? client.graphql(context, {\n ...auth,\n query,\n variables,\n }, headers)\n : client.graphql({\n ...auth,\n query,\n variables,\n }, headers);\n const extendedPromise = extendCancellability(basePromise, resultPromise);\n const { data, extensions } = await extendedPromise;\n // flatten response\n if (data) {\n const [key] = Object.keys(data);\n const isArrayResult = Array.isArray(data[key]);\n // TODO: when adding support for custom selection set, flattening will need\n // to occur recursively. For now, it's expected that related models are not\n // present in the result. Only FK's are present. Any related model properties\n // should be replaced with lazy loaders under the current implementation.\n const flattenedResult = isArrayResult\n ? data[key].filter((x) => x)\n : data[key];\n // TODO: custom selection set. current selection set is default selection set only\n // custom selection set requires data-schema-type + runtime updates above.\n const initialized = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, isArrayResult ? flattenedResult : [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context)\n : flattenedResult;\n return {\n data: !isArrayResult && Array.isArray(initialized)\n ? initialized.shift()\n : initialized,\n extensions,\n };\n }\n else {\n return { data: null, extensions };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `{ getPost: null }`\n * 4) an actual record `{ getPost: { id: '1', title: 'Hello, World!' } }`\n */\n const { data, errors } = error;\n /**\n * `data` is not `null`, and is not an empty object:\n */\n if (data && Object.keys(data).length !== 0 && errors) {\n const [key] = Object.keys(data);\n const isArrayResult = Array.isArray(data[key]);\n // TODO: when adding support for custom selection set, flattening will need\n // to occur recursively. For now, it's expected that related models are not\n // present in the result. Only FK's are present. Any related model properties\n // should be replaced with lazy loaders under the current implementation.\n const flattenedResult = isArrayResult\n ? data[key].filter((x) => x)\n : data[key];\n /**\n * `flattenedResult` could be `null` here (e.g. `data: { getPost: null }`)\n * if `flattenedResult`, result is an actual record:\n */\n if (flattenedResult) {\n // TODO: custom selection set. current selection set is default selection set only\n // custom selection set requires data-schema-type + runtime updates above.\n const initialized = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, isArrayResult ? flattenedResult : [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context)\n : flattenedResult;\n return {\n data: !isArrayResult && Array.isArray(initialized)\n ? initialized.shift()\n : initialized,\n errors,\n };\n }\n else {\n // was `data: { getPost: null }`)\n return handleSingularGraphQlError(error);\n }\n }\n else {\n // `data` is `null`:\n return handleSingularGraphQlError(error);\n }\n }\n });\n}\n/**\n * Executes an operation from the given model intro schema against a client, returning\n * a fully instantiated model when relevant.\n *\n * @param client The client to operate `graphql()` calls through.\n * @param modelIntrospection The model intro schema to construct requests from.\n * @param operation The specific operation name, args, return type details.\n * @param args The arguments to provide to the operation as variables.\n * @param options Request options like headers, etc.\n * @returns Result from the graphql request, model-instantiated when relevant.\n */\nfunction _opSubscription(client, modelIntrospection, operation, getInternals, args, options) {\n const operationType = 'subscription';\n const { name: operationName } = operation;\n const auth = authModeParams(client, getInternals, options);\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const outerArgsString = outerArguments(operation);\n const innerArgsString = innerArguments(operation);\n const selectionSet = operationSelectionSet(modelIntrospection, operation);\n const returnTypeModelName = hasStringField(operation.type, 'model')\n ? operation.type.model\n : undefined;\n const query = `\n ${operationType.toLocaleLowerCase()}${outerArgsString} {\n ${operationName}${innerArgsString} ${selectionSet}\n }\n `;\n const variables = operationVariables(operation, args);\n const observable = client.graphql({\n ...auth,\n query,\n variables,\n }, headers);\n return observable.pipe(map((value) => {\n const [key] = Object.keys(value.data);\n const data = value.data[key];\n const [initialized] = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, [data], modelIntrospection, auth.authMode, auth.authToken)\n : [data];\n return initialized;\n }));\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.mjs","sources":["../../../../../src/runtime/internals/operations/custom.ts"],"sourcesContent":["import { map } from 'rxjs';\nimport { authModeParams, getDefaultSelectionSetForNonModelWithIR, generateSelectionSet, getCustomHeaders, initializeModel, selectionSetIRToString, } from '../APIClient';\nimport { handleSingularGraphQlError } from './utils';\nimport { selfAwareAsync } from '../../utils';\nimport { extendCancellability } from '../cancellation';\nimport { createUserAgentOverride } from '../ai/getCustomUserAgentDetails';\n/**\n * Type guard for checking whether a Custom Operation argument is a contextSpec object\n */\nconst argIsContextSpec = (arg) => {\n return typeof arg?.token?.value === 'symbol';\n};\n/**\n * Builds an operation function, embedded with all client and context data, that\n * can be attached to a client as a custom query or mutation.\n *\n * If we have this source schema:\n *\n * ```typescript\n * a.schema({\n * echo: a.query()\n * .arguments({input: a.string().required()})\n * .returns(a.string())\n * })\n * ```\n *\n * Our model intro schema will contain an entry like this:\n *\n * ```ts\n * {\n * queries: {\n * echo: {\n * name: \"echo\",\n * isArray: false,\n * type: 'String',\n * isRequired: false,\n * arguments: {\n * input: {\n * name: 'input',\n * isArray: false,\n * type: String,\n * isRequired: true\n * }\n * }\n * }\n * }\n * }\n * ```\n *\n * The `echo` object is used to build the `echo' method that goes here:\n *\n * ```typescript\n * const client = generateClent()\n * const { data } = await client.queries.echo({input: 'a string'});\n * // ^\n * // |\n * // +-- This one right here.\n * //\n * ```\n *\n *\n * @param client The client to run graphql queries through.\n * @param modelIntrospection The model introspection schema the op comes from.\n * @param operationType The broad category of graphql operation.\n * @param operation The operation definition from the introspection schema.\n * @param useContext Whether the function needs to accept an SSR context.\n * @returns The operation function to attach to query, mutations, etc.\n */\nexport function customOpFactory(client, modelIntrospection, operationType, operation, useContext, getInternals, customUserAgentDetails) {\n // .arguments() are defined for the custom operation in the schema builder\n // and are present in the model introspection schema\n const argsDefined = operation.arguments !== undefined;\n const op = (...args) => {\n // options is always the last argument\n const options = args[args.length - 1];\n let contextSpec;\n let arg;\n if (useContext) {\n if (argIsContextSpec(args[0])) {\n contextSpec = args[0];\n }\n else {\n throw new Error(`Invalid first argument passed to ${operation.name}. Expected contextSpec`);\n }\n }\n if (argsDefined) {\n if (useContext) {\n arg = args[1];\n }\n else {\n arg = args[0];\n }\n }\n if (operationType === 'subscription') {\n return _opSubscription(\n // subscriptions are only enabled on the clientside\n client, modelIntrospection, operation, getInternals, arg, options, customUserAgentDetails);\n }\n return _op(client, modelIntrospection, operationType, operation, getInternals, arg, options, contextSpec, customUserAgentDetails);\n };\n return op;\n}\n/**\n * Runtime test and type guard to check whether `o[field]` is a `String`.\n *\n * ```typescript\n * if (hasStringField(o, 'prop')) {\n * const s = o.prop;\n * // ^? const s: string\n * }\n * ```\n *\n * @param o Object to inspect\n * @param field Field to look for\n * @returns Boolean: `true` if the `o[field]` is a `string`\n */\nfunction hasStringField(o, field) {\n return typeof o[field] === 'string';\n}\nfunction isEnumType(type) {\n return type instanceof Object && 'enum' in type;\n}\nfunction isInputType(type) {\n return type instanceof Object && 'input' in type;\n}\n/**\n * @param argDef A single argument definition from a custom operation\n * @returns A string naming the base type including the `!` if the arg is required.\n */\nfunction argumentBaseTypeString({ type, isRequired }) {\n const requiredFlag = isRequired ? '!' : '';\n if (isEnumType(type)) {\n return `${type.enum}${requiredFlag}`;\n }\n if (isInputType(type)) {\n return `${type.input}${requiredFlag}`;\n }\n return `${type}${requiredFlag}`;\n}\n/**\n * Generates \"outer\" arguments string for a custom operation. For example,\n * in this operation:\n *\n * ```graphql\n * query MyQuery(InputString: String!) {\n * echoString(InputString: $InputString)\n * }\n * ```\n *\n * This function returns the top/outer level arguments as a string:\n *\n * ```json\n * \"InputString: String!\"\n * ```\n *\n * @param operation Operation object from model introspection schema.\n * @returns \"outer\" arguments string\n */\nfunction outerArguments(operation) {\n if (operation.arguments === undefined) {\n return '';\n }\n const args = Object.entries(operation.arguments)\n .map(([k, argument]) => {\n const baseType = argumentBaseTypeString(argument);\n const finalType = argument.isArray\n ? `[${baseType}]${argument.isArrayNullable ? '' : '!'}`\n : baseType;\n return `$${k}: ${finalType}`;\n })\n .join(', ');\n return args.length > 0 ? `(${args})` : '';\n}\n/**\n * Generates \"inner\" arguments string for a custom operation. For example,\n * in this operation:\n *\n * ```graphql\n * query MyQuery(InputString: String!) {\n * echoString(InputString: $InputString)\n * }\n * ```\n *\n * This function returns the inner arguments as a string:\n *\n * ```json\n * \"InputString: $InputString\"\n * ```\n *\n * @param operation Operation object from model introspection schema.\n * @returns \"outer\" arguments string\n */\nfunction innerArguments(operation) {\n if (operation.arguments === undefined) {\n return '';\n }\n const args = Object.keys(operation.arguments)\n .map((k) => `${k}: $${k}`)\n .join(', ');\n return args.length > 0 ? `(${args})` : '';\n}\n/**\n * Generates the selection set string for a custom operation. This is slightly\n * different than the selection set generation for models. If the custom op returns\n * a primitive or enum types, it doesn't require a selection set at all.\n *\n * E.g., the graphql might look like this:\n *\n * ```graphql\n * query MyQuery {\n * echoString(inputString: \"whatever\")\n * }\n * # ^\n * # |\n * # +-- no selection set\n * ```\n *\n * Non-primitive return type selection set generation will be similar to other\n * model operations.\n *\n * @param modelIntrospection The full code-generated introspection schema.\n * @param operation The operation object from the schema.\n * @returns The selection set as a string.\n */\nfunction operationSelectionSet(modelIntrospection, operation) {\n if (hasStringField(operation, 'type') ||\n hasStringField(operation.type, 'enum')) {\n return '';\n }\n else if (hasStringField(operation.type, 'nonModel')) {\n const nonModel = modelIntrospection.nonModels[operation.type.nonModel];\n return `{${selectionSetIRToString(getDefaultSelectionSetForNonModelWithIR(nonModel, modelIntrospection))}}`;\n }\n else if (hasStringField(operation.type, 'model')) {\n return `{${generateSelectionSet(modelIntrospection, operation.type.model)}}`;\n }\n else {\n return '';\n }\n}\n/**\n * Maps an arguments objec to graphql variables, removing superfluous args and\n * screaming loudly when required args are missing.\n *\n * @param operation The operation to construct graphql request variables for.\n * @param args The arguments to map variables from.\n * @returns The graphql variables object.\n */\nfunction operationVariables(operation, args = {}) {\n const variables = {};\n if (operation.arguments === undefined) {\n return variables;\n }\n for (const argDef of Object.values(operation.arguments)) {\n if (typeof args[argDef.name] !== 'undefined') {\n variables[argDef.name] = args[argDef.name];\n }\n else if (argDef.isRequired) {\n // At this point, the variable is both required and missing: We don't need\n // to continue. The operation is expected to fail.\n throw new Error(`${operation.name} requires arguments '${argDef.name}'`);\n }\n }\n return variables;\n}\n/**\n * Executes an operation from the given model intro schema against a client, returning\n * a fully instantiated model when relevant.\n *\n * @param client The client to operate `graphql()` calls through.\n * @param modelIntrospection The model intro schema to construct requests from.\n * @param operationType The high level graphql operation type.\n * @param operation The specific operation name, args, return type details.\n * @param args The arguments to provide to the operation as variables.\n * @param options Request options like headers, etc.\n * @param context SSR context if relevant.\n * @returns Result from the graphql request, model-instantiated when relevant.\n */\nfunction _op(client, modelIntrospection, operationType, operation, getInternals, args, options, context, customUserAgentDetails) {\n return selfAwareAsync(async (resultPromise) => {\n const { name: operationName } = operation;\n const auth = authModeParams(client, getInternals, options);\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const outerArgsString = outerArguments(operation);\n const innerArgsString = innerArguments(operation);\n const selectionSet = operationSelectionSet(modelIntrospection, operation);\n const returnTypeModelName = hasStringField(operation.type, 'model')\n ? operation.type.model\n : undefined;\n const query = `\n ${operationType.toLocaleLowerCase()}${outerArgsString} {\n ${operationName}${innerArgsString} ${selectionSet}\n }\n `;\n const variables = operationVariables(operation, args);\n const userAgentOverride = createUserAgentOverride(customUserAgentDetails);\n try {\n const basePromise = context\n ? client.graphql(context, {\n ...auth,\n query,\n variables,\n }, headers)\n : client.graphql({\n ...auth,\n query,\n variables,\n ...userAgentOverride,\n }, headers);\n const extendedPromise = extendCancellability(basePromise, resultPromise);\n const { data, extensions } = await extendedPromise;\n // flatten response\n if (data) {\n const [key] = Object.keys(data);\n const isArrayResult = Array.isArray(data[key]);\n // TODO: when adding support for custom selection set, flattening will need\n // to occur recursively. For now, it's expected that related models are not\n // present in the result. Only FK's are present. Any related model properties\n // should be replaced with lazy loaders under the current implementation.\n const flattenedResult = isArrayResult\n ? data[key].filter((x) => x)\n : data[key];\n // TODO: custom selection set. current selection set is default selection set only\n // custom selection set requires data-schema-type + runtime updates above.\n const initialized = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, isArrayResult ? flattenedResult : [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context)\n : flattenedResult;\n return {\n data: !isArrayResult && Array.isArray(initialized)\n ? initialized.shift()\n : initialized,\n extensions,\n };\n }\n else {\n return { data: null, extensions };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `{ getPost: null }`\n * 4) an actual record `{ getPost: { id: '1', title: 'Hello, World!' } }`\n */\n const { data, errors } = error;\n /**\n * `data` is not `null`, and is not an empty object:\n */\n if (data && Object.keys(data).length !== 0 && errors) {\n const [key] = Object.keys(data);\n const isArrayResult = Array.isArray(data[key]);\n // TODO: when adding support for custom selection set, flattening will need\n // to occur recursively. For now, it's expected that related models are not\n // present in the result. Only FK's are present. Any related model properties\n // should be replaced with lazy loaders under the current implementation.\n const flattenedResult = isArrayResult\n ? data[key].filter((x) => x)\n : data[key];\n /**\n * `flattenedResult` could be `null` here (e.g. `data: { getPost: null }`)\n * if `flattenedResult`, result is an actual record:\n */\n if (flattenedResult) {\n // TODO: custom selection set. current selection set is default selection set only\n // custom selection set requires data-schema-type + runtime updates above.\n const initialized = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, isArrayResult ? flattenedResult : [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context)\n : flattenedResult;\n return {\n data: !isArrayResult && Array.isArray(initialized)\n ? initialized.shift()\n : initialized,\n errors,\n };\n }\n else {\n // was `data: { getPost: null }`)\n return handleSingularGraphQlError(error);\n }\n }\n else {\n // `data` is `null`:\n return handleSingularGraphQlError(error);\n }\n }\n });\n}\n/**\n * Executes an operation from the given model intro schema against a client, returning\n * a fully instantiated model when relevant.\n *\n * @param client The client to operate `graphql()` calls through.\n * @param modelIntrospection The model intro schema to construct requests from.\n * @param operation The specific operation name, args, return type details.\n * @param args The arguments to provide to the operation as variables.\n * @param options Request options like headers, etc.\n * @returns Result from the graphql request, model-instantiated when relevant.\n */\nfunction _opSubscription(client, modelIntrospection, operation, getInternals, args, options, customUserAgentDetails) {\n const operationType = 'subscription';\n const { name: operationName } = operation;\n const auth = authModeParams(client, getInternals, options);\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const outerArgsString = outerArguments(operation);\n const innerArgsString = innerArguments(operation);\n const selectionSet = operationSelectionSet(modelIntrospection, operation);\n const returnTypeModelName = hasStringField(operation.type, 'model')\n ? operation.type.model\n : undefined;\n const query = `\n ${operationType.toLocaleLowerCase()}${outerArgsString} {\n ${operationName}${innerArgsString} ${selectionSet}\n }\n `;\n const variables = operationVariables(operation, args);\n const userAgentOverride = createUserAgentOverride(customUserAgentDetails);\n const observable = client.graphql({\n ...auth,\n query,\n variables,\n ...userAgentOverride,\n }, headers);\n return observable.pipe(map((value) => {\n const [key] = Object.keys(value.data);\n const data = value.data[key];\n const [initialized] = returnTypeModelName\n ? initializeModel(client, returnTypeModelName, [data], modelIntrospection, auth.authMode, auth.authToken)\n : [data];\n return initialized;\n }));\n}\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { AmplifyServer, BaseClient, ClientInternalsGetter, GraphQLOptions, ModelIntrospectionSchema, SchemaModel } from '../../bridge-types';
1
+ import { AmplifyServer, BaseClient, ClientInternalsGetter, GraphQLOptions, ModelIntrospectionSchema, SchemaModel, CustomUserAgentDetails } from '../../bridge-types';
2
2
  import { ModelOperation } from '../APIClient';
3
- export declare function getFactory(client: BaseClient, modelIntrospection: ModelIntrospectionSchema, model: SchemaModel, operation: ModelOperation, getInternals: ClientInternalsGetter, useContext?: boolean): (contextSpec: AmplifyServer.ContextSpec & GraphQLOptions, arg?: any, options?: any) => Promise<unknown>;
3
+ export declare function getFactory(client: BaseClient, modelIntrospection: ModelIntrospectionSchema, model: SchemaModel, operation: ModelOperation, getInternals: ClientInternalsGetter, useContext?: boolean, customUserAgentDetails?: CustomUserAgentDetails): (contextSpec: AmplifyServer.ContextSpec & GraphQLOptions, arg?: any, options?: any) => Promise<unknown>;
@@ -2,24 +2,26 @@ import { generateGraphQLDocument, buildGraphQLVariables, authModeParams, getCust
2
2
  import { handleSingularGraphQlError } from './utils.mjs';
3
3
  import { selfAwareAsync } from '../../utils/selfAwareAsync.mjs';
4
4
  import { extendCancellability } from '../cancellation.mjs';
5
+ import { createUserAgentOverride } from '../ai/getCustomUserAgentDetails.mjs';
5
6
 
6
- function getFactory(client, modelIntrospection, model, operation, getInternals, useContext = false) {
7
+ function getFactory(client, modelIntrospection, model, operation, getInternals, useContext = false, customUserAgentDetails) {
7
8
  const getWithContext = (contextSpec, arg, options) => {
8
- return _get(client, modelIntrospection, model, arg, options, operation, getInternals, contextSpec);
9
+ return _get(client, modelIntrospection, model, arg, options, operation, getInternals, contextSpec, customUserAgentDetails);
9
10
  };
10
11
  const get = (arg, options) => {
11
- return _get(client, modelIntrospection, model, arg, options, operation, getInternals);
12
+ return _get(client, modelIntrospection, model, arg, options, operation, getInternals, undefined, customUserAgentDetails);
12
13
  };
13
14
  return useContext ? getWithContext : get;
14
15
  }
15
- function _get(client, modelIntrospection, model, arg, options, operation, getInternals, context) {
16
+ function _get(client, modelIntrospection, model, arg, options, operation, getInternals, context, customUserAgentDetails) {
16
17
  return selfAwareAsync(async (resultPromise) => {
17
18
  const { name } = model;
18
19
  const query = generateGraphQLDocument(modelIntrospection, name, operation, options);
19
20
  const variables = buildGraphQLVariables(model, operation, arg, modelIntrospection);
20
21
  const auth = authModeParams(client, getInternals, options);
22
+ const headers = getCustomHeaders(client, getInternals, options?.headers);
23
+ const userAgentOverride = createUserAgentOverride(customUserAgentDetails);
21
24
  try {
22
- const headers = getCustomHeaders(client, getInternals, options?.headers);
23
25
  const basePromise = context
24
26
  ? client.graphql(context, {
25
27
  ...auth,
@@ -30,6 +32,7 @@ function _get(client, modelIntrospection, model, arg, options, operation, getInt
30
32
  ...auth,
31
33
  query,
32
34
  variables,
35
+ ...userAgentOverride,
33
36
  }, headers);
34
37
  const extendedPromise = extendCancellability(basePromise, resultPromise);
35
38
  const { data, extensions } = await extendedPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"get.mjs","sources":["../../../../../src/runtime/internals/operations/get.ts"],"sourcesContent":["import { authModeParams, buildGraphQLVariables, flattenItems, generateGraphQLDocument, getCustomHeaders, initializeModel, } from '../APIClient';\nimport { handleSingularGraphQlError } from './utils';\nimport { selfAwareAsync } from '../../utils';\nimport { extendCancellability } from '../cancellation';\nexport function getFactory(client, modelIntrospection, model, operation, getInternals, useContext = false) {\n const getWithContext = (contextSpec, arg, options) => {\n return _get(client, modelIntrospection, model, arg, options, operation, getInternals, contextSpec);\n };\n const get = (arg, options) => {\n return _get(client, modelIntrospection, model, arg, options, operation, getInternals);\n };\n return useContext ? getWithContext : get;\n}\nfunction _get(client, modelIntrospection, model, arg, options, operation, getInternals, context) {\n return selfAwareAsync(async (resultPromise) => {\n const { name } = model;\n const query = generateGraphQLDocument(modelIntrospection, name, operation, options);\n const variables = buildGraphQLVariables(model, operation, arg, modelIntrospection);\n const auth = authModeParams(client, getInternals, options);\n try {\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const basePromise = context\n ? client.graphql(context, {\n ...auth,\n query,\n variables,\n }, headers)\n : client.graphql({\n ...auth,\n query,\n variables,\n }, headers);\n const extendedPromise = extendCancellability(basePromise, resultPromise);\n const { data, extensions } = await extendedPromise;\n // flatten response\n if (data) {\n const [key] = Object.keys(data);\n const flattenedResult = flattenItems(modelIntrospection, name, data[key]);\n if (flattenedResult === null) {\n return { data: null, extensions };\n }\n else if (options?.selectionSet) {\n return { data: flattenedResult, extensions };\n }\n else {\n // TODO: refactor to avoid destructuring here\n const [initialized] = initializeModel(client, name, [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context);\n return { data: initialized, extensions };\n }\n }\n else {\n return { data: null, extensions };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `{ getPost: null }`\n * 4) an actual record `{ getPost: { id: '1', title: 'Hello, World!' } }`\n */\n const { data, errors } = error;\n /**\n * `data` is not `null`, and is not an empty object:\n */\n if (data && Object.keys(data).length !== 0 && errors) {\n const [key] = Object.keys(data);\n const flattenedResult = flattenItems(modelIntrospection, name, data[key]);\n /**\n * `flattenedResult` could be `null` here (e.g. `data: { getPost: null }`)\n * if `flattenedResult`, result is an actual record:\n */\n if (flattenedResult) {\n if (options?.selectionSet) {\n return { data: flattenedResult, errors };\n }\n else {\n // TODO: refactor to avoid destructuring here\n const [initialized] = initializeModel(client, name, [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context);\n return { data: initialized, errors };\n }\n }\n else {\n // was `data: { getPost: null }`)\n return handleSingularGraphQlError(error);\n }\n }\n else {\n // `data` is `null`:\n return handleSingularGraphQlError(error);\n }\n }\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.mjs","sources":["../../../../../src/runtime/internals/operations/get.ts"],"sourcesContent":["import { authModeParams, buildGraphQLVariables, flattenItems, generateGraphQLDocument, getCustomHeaders, initializeModel, } from '../APIClient';\nimport { handleSingularGraphQlError } from './utils';\nimport { selfAwareAsync } from '../../utils';\nimport { extendCancellability } from '../cancellation';\nimport { createUserAgentOverride } from '../ai/getCustomUserAgentDetails';\nexport function getFactory(client, modelIntrospection, model, operation, getInternals, useContext = false, customUserAgentDetails) {\n const getWithContext = (contextSpec, arg, options) => {\n return _get(client, modelIntrospection, model, arg, options, operation, getInternals, contextSpec, customUserAgentDetails);\n };\n const get = (arg, options) => {\n return _get(client, modelIntrospection, model, arg, options, operation, getInternals, undefined, customUserAgentDetails);\n };\n return useContext ? getWithContext : get;\n}\nfunction _get(client, modelIntrospection, model, arg, options, operation, getInternals, context, customUserAgentDetails) {\n return selfAwareAsync(async (resultPromise) => {\n const { name } = model;\n const query = generateGraphQLDocument(modelIntrospection, name, operation, options);\n const variables = buildGraphQLVariables(model, operation, arg, modelIntrospection);\n const auth = authModeParams(client, getInternals, options);\n const headers = getCustomHeaders(client, getInternals, options?.headers);\n const userAgentOverride = createUserAgentOverride(customUserAgentDetails);\n try {\n const basePromise = context\n ? client.graphql(context, {\n ...auth,\n query,\n variables,\n }, headers)\n : client.graphql({\n ...auth,\n query,\n variables,\n ...userAgentOverride,\n }, headers);\n const extendedPromise = extendCancellability(basePromise, resultPromise);\n const { data, extensions } = await extendedPromise;\n // flatten response\n if (data) {\n const [key] = Object.keys(data);\n const flattenedResult = flattenItems(modelIntrospection, name, data[key]);\n if (flattenedResult === null) {\n return { data: null, extensions };\n }\n else if (options?.selectionSet) {\n return { data: flattenedResult, extensions };\n }\n else {\n // TODO: refactor to avoid destructuring here\n const [initialized] = initializeModel(client, name, [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context);\n return { data: initialized, extensions };\n }\n }\n else {\n return { data: null, extensions };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `{ getPost: null }`\n * 4) an actual record `{ getPost: { id: '1', title: 'Hello, World!' } }`\n */\n const { data, errors } = error;\n /**\n * `data` is not `null`, and is not an empty object:\n */\n if (data && Object.keys(data).length !== 0 && errors) {\n const [key] = Object.keys(data);\n const flattenedResult = flattenItems(modelIntrospection, name, data[key]);\n /**\n * `flattenedResult` could be `null` here (e.g. `data: { getPost: null }`)\n * if `flattenedResult`, result is an actual record:\n */\n if (flattenedResult) {\n if (options?.selectionSet) {\n return { data: flattenedResult, errors };\n }\n else {\n // TODO: refactor to avoid destructuring here\n const [initialized] = initializeModel(client, name, [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context);\n return { data: initialized, errors };\n }\n }\n else {\n // was `data: { getPost: null }`)\n return handleSingularGraphQlError(error);\n }\n }\n else {\n // `data` is `null`:\n return handleSingularGraphQlError(error);\n }\n }\n });\n}\n"],"names":[],"mappings":";;;;;;AAKO,SAAS,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,GAAG,KAAK,EAAE,sBAAsB,EAAE;AACnI,IAAI,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,KAAK;AAC1D,QAAQ,OAAO,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;AACnI,KAAK,CAAC;AACN,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK;AAClC,QAAQ,OAAO,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;AACjI,KAAK,CAAC;AACN,IAAI,OAAO,UAAU,GAAG,cAAc,GAAG,GAAG,CAAC;AAC7C,CAAC;AACD,SAAS,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,sBAAsB,EAAE;AACzH,IAAI,OAAO,cAAc,CAAC,OAAO,aAAa,KAAK;AACnD,QAAQ,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;AAC/B,QAAQ,MAAM,KAAK,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5F,QAAQ,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAC3F,QAAQ,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AACnE,QAAQ,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACjF,QAAQ,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;AAClF,QAAQ,IAAI;AACZ,YAAY,MAAM,WAAW,GAAG,OAAO;AACvC,kBAAkB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;AAC1C,oBAAoB,GAAG,IAAI;AAC3B,oBAAoB,KAAK;AACzB,oBAAoB,SAAS;AAC7B,iBAAiB,EAAE,OAAO,CAAC;AAC3B,kBAAkB,MAAM,CAAC,OAAO,CAAC;AACjC,oBAAoB,GAAG,IAAI;AAC3B,oBAAoB,KAAK;AACzB,oBAAoB,SAAS;AAC7B,oBAAoB,GAAG,iBAAiB;AACxC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAC5B,YAAY,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACrF,YAAY,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAAC;AAC/D;AACA,YAAY,IAAI,IAAI,EAAE;AACtB,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1F,gBAAgB,IAAI,eAAe,KAAK,IAAI,EAAE;AAC9C,oBAAoB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACtD,iBAAiB;AACjB,qBAAqB,IAAI,OAAO,EAAE,YAAY,EAAE;AAChD,oBAAoB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACjE,iBAAiB;AACjB,qBAAqB;AACrB;AACA,oBAAoB,MAAM,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AACzJ,oBAAoB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC7D,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAClD,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AAC3C;AACA;AACA;AACA,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,EAAE;AAClE,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1F;AACA;AACA;AACA;AACA,gBAAgB,IAAI,eAAe,EAAE;AACrC,oBAAoB,IAAI,OAAO,EAAE,YAAY,EAAE;AAC/C,wBAAwB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AACjE,qBAAqB;AACrB,yBAAyB;AACzB;AACA,wBAAwB,MAAM,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AAC7J,wBAAwB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AAC7D,qBAAqB;AACrB,iBAAiB;AACjB,qBAAqB;AACrB;AACA,oBAAoB,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC;AAC7D,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC;AACzD,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP;;;;"}
@@ -1,2 +1,2 @@
1
- import { AmplifyServer, BaseClient, ClientInternalsGetter, ListArgs, ModelIntrospectionSchema, SchemaModel } from '../../bridge-types';
2
- export declare function listFactory(client: BaseClient, modelIntrospection: ModelIntrospectionSchema, model: SchemaModel, getInternals: ClientInternalsGetter, context?: boolean): ((contextSpec: AmplifyServer.ContextSpec, args?: ListArgs) => Promise<unknown>) | ((args?: Record<string, any>) => Promise<unknown>);
1
+ import { AmplifyServer, BaseClient, ClientInternalsGetter, ListArgs, ModelIntrospectionSchema, SchemaModel, CustomUserAgentDetails } from '../../bridge-types';
2
+ export declare function listFactory(client: BaseClient, modelIntrospection: ModelIntrospectionSchema, model: SchemaModel, getInternals: ClientInternalsGetter, context?: boolean, customUserAgentDetails?: CustomUserAgentDetails): ((contextSpec: AmplifyServer.ContextSpec, args?: ListArgs) => Promise<unknown>) | ((args?: Record<string, any>) => Promise<unknown>);
@@ -2,24 +2,26 @@ import { generateGraphQLDocument, buildGraphQLVariables, authModeParams, getCust
2
2
  import { handleListGraphQlError } from './utils.mjs';
3
3
  import { selfAwareAsync } from '../../utils/selfAwareAsync.mjs';
4
4
  import { extendCancellability } from '../cancellation.mjs';
5
+ import { createUserAgentOverride } from '../ai/getCustomUserAgentDetails.mjs';
5
6
 
6
- function listFactory(client, modelIntrospection, model, getInternals, context = false) {
7
+ function listFactory(client, modelIntrospection, model, getInternals, context = false, customUserAgentDetails) {
7
8
  const listWithContext = (contextSpec, args) => {
8
- return _list(client, modelIntrospection, model, getInternals, args, contextSpec);
9
+ return _list(client, modelIntrospection, model, getInternals, args, contextSpec, customUserAgentDetails);
9
10
  };
10
11
  const list = (args) => {
11
- return _list(client, modelIntrospection, model, getInternals, args);
12
+ return _list(client, modelIntrospection, model, getInternals, args, undefined, customUserAgentDetails);
12
13
  };
13
14
  return context ? listWithContext : list;
14
15
  }
15
- function _list(client, modelIntrospection, model, getInternals, args, contextSpec) {
16
+ function _list(client, modelIntrospection, model, getInternals, args, contextSpec, customUserAgentDetails) {
16
17
  return selfAwareAsync(async (resultPromise) => {
17
18
  const { name } = model;
18
19
  const query = generateGraphQLDocument(modelIntrospection, name, 'LIST', args);
19
20
  const variables = buildGraphQLVariables(model, 'LIST', args, modelIntrospection);
20
21
  const auth = authModeParams(client, getInternals, args);
22
+ const headers = getCustomHeaders(client, getInternals, args?.headers);
23
+ const userAgentOverride = createUserAgentOverride(customUserAgentDetails);
21
24
  try {
22
- const headers = getCustomHeaders(client, getInternals, args?.headers);
23
25
  const basePromise = contextSpec
24
26
  ? client.graphql(contextSpec, {
25
27
  ...auth,
@@ -30,6 +32,7 @@ function _list(client, modelIntrospection, model, getInternals, args, contextSpe
30
32
  ...auth,
31
33
  query,
32
34
  variables,
35
+ ...userAgentOverride,
33
36
  }, headers);
34
37
  const extendedPromise = extendCancellability(basePromise, resultPromise);
35
38
  const { data, extensions } = await extendedPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"list.mjs","sources":["../../../../../src/runtime/internals/operations/list.ts"],"sourcesContent":["import { authModeParams, buildGraphQLVariables, flattenItems, generateGraphQLDocument, getCustomHeaders, initializeModel, } from '../APIClient';\nimport { handleListGraphQlError } from './utils';\nimport { selfAwareAsync } from '../../utils';\nimport { extendCancellability } from '../cancellation';\nexport function listFactory(client, modelIntrospection, model, getInternals, context = false) {\n const listWithContext = (contextSpec, args) => {\n return _list(client, modelIntrospection, model, getInternals, args, contextSpec);\n };\n const list = (args) => {\n return _list(client, modelIntrospection, model, getInternals, args);\n };\n return context ? listWithContext : list;\n}\nfunction _list(client, modelIntrospection, model, getInternals, args, contextSpec) {\n return selfAwareAsync(async (resultPromise) => {\n const { name } = model;\n const query = generateGraphQLDocument(modelIntrospection, name, 'LIST', args);\n const variables = buildGraphQLVariables(model, 'LIST', args, modelIntrospection);\n const auth = authModeParams(client, getInternals, args);\n try {\n const headers = getCustomHeaders(client, getInternals, args?.headers);\n const basePromise = contextSpec\n ? client.graphql(contextSpec, {\n ...auth,\n query,\n variables,\n }, headers)\n : client.graphql({\n ...auth,\n query,\n variables,\n }, headers);\n const extendedPromise = extendCancellability(basePromise, resultPromise);\n const { data, extensions } = await extendedPromise;\n // flatten response\n if (data !== undefined) {\n const [key] = Object.keys(data);\n if (data[key].items) {\n const flattenedResult = data[key].items.map((value) => flattenItems(modelIntrospection, name, value));\n // don't init if custom selection set\n if (args?.selectionSet) {\n return {\n data: flattenedResult,\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n else {\n const initialized = initializeModel(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n return {\n data: initialized,\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n }\n return {\n data: data[key],\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `data: { listPosts: null }`\n * 4) actual records `data: { listPosts: items: [{ id: '1', ...etc }] }`\n */\n const { data, errors } = error;\n // `data` is not `null`, and is not an empty object:\n if (data !== undefined &&\n data !== null &&\n Object.keys(data).length !== 0 &&\n errors) {\n const [key] = Object.keys(data);\n if (data[key]?.items) {\n const flattenedResult = data[key].items.map((value) => flattenItems(modelIntrospection, name, value));\n /**\n * Check exists since `flattenedResult` could be `null`.\n * if `flattenedResult` exists, result is an actual record.\n */\n if (flattenedResult) {\n // don't init if custom selection set\n if (args?.selectionSet) {\n return {\n data: flattenedResult,\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n else {\n const initialized = initializeModel(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n // data is full record w/out selection set:\n return {\n data: initialized,\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n }\n return {\n data: data[key],\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n else {\n // response is of type `data: { getPost: null }`)\n return handleListGraphQlError(error);\n }\n }\n else {\n // `data` is `null` or an empty object:\n return handleListGraphQlError(error);\n }\n }\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.mjs","sources":["../../../../../src/runtime/internals/operations/list.ts"],"sourcesContent":["import { authModeParams, buildGraphQLVariables, flattenItems, generateGraphQLDocument, getCustomHeaders, initializeModel, } from '../APIClient';\nimport { handleListGraphQlError } from './utils';\nimport { selfAwareAsync } from '../../utils';\nimport { extendCancellability } from '../cancellation';\nimport { createUserAgentOverride } from '../ai/getCustomUserAgentDetails';\nexport function listFactory(client, modelIntrospection, model, getInternals, context = false, customUserAgentDetails) {\n const listWithContext = (contextSpec, args) => {\n return _list(client, modelIntrospection, model, getInternals, args, contextSpec, customUserAgentDetails);\n };\n const list = (args) => {\n return _list(client, modelIntrospection, model, getInternals, args, undefined, customUserAgentDetails);\n };\n return context ? listWithContext : list;\n}\nfunction _list(client, modelIntrospection, model, getInternals, args, contextSpec, customUserAgentDetails) {\n return selfAwareAsync(async (resultPromise) => {\n const { name } = model;\n const query = generateGraphQLDocument(modelIntrospection, name, 'LIST', args);\n const variables = buildGraphQLVariables(model, 'LIST', args, modelIntrospection);\n const auth = authModeParams(client, getInternals, args);\n const headers = getCustomHeaders(client, getInternals, args?.headers);\n const userAgentOverride = createUserAgentOverride(customUserAgentDetails);\n try {\n const basePromise = contextSpec\n ? client.graphql(contextSpec, {\n ...auth,\n query,\n variables,\n }, headers)\n : client.graphql({\n ...auth,\n query,\n variables,\n ...userAgentOverride,\n }, headers);\n const extendedPromise = extendCancellability(basePromise, resultPromise);\n const { data, extensions } = await extendedPromise;\n // flatten response\n if (data !== undefined) {\n const [key] = Object.keys(data);\n if (data[key].items) {\n const flattenedResult = data[key].items.map((value) => flattenItems(modelIntrospection, name, value));\n // don't init if custom selection set\n if (args?.selectionSet) {\n return {\n data: flattenedResult,\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n else {\n const initialized = initializeModel(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n return {\n data: initialized,\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n }\n return {\n data: data[key],\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n }\n catch (error) {\n /**\n * The `data` type returned by `error` here could be:\n * 1) `null`\n * 2) an empty object\n * 3) \"populated\" but with a `null` value `data: { listPosts: null }`\n * 4) actual records `data: { listPosts: items: [{ id: '1', ...etc }] }`\n */\n const { data, errors } = error;\n // `data` is not `null`, and is not an empty object:\n if (data !== undefined &&\n data !== null &&\n Object.keys(data).length !== 0 &&\n errors) {\n const [key] = Object.keys(data);\n if (data[key]?.items) {\n const flattenedResult = data[key].items.map((value) => flattenItems(modelIntrospection, name, value));\n /**\n * Check exists since `flattenedResult` could be `null`.\n * if `flattenedResult` exists, result is an actual record.\n */\n if (flattenedResult) {\n // don't init if custom selection set\n if (args?.selectionSet) {\n return {\n data: flattenedResult,\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n else {\n const initialized = initializeModel(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n // data is full record w/out selection set:\n return {\n data: initialized,\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n }\n return {\n data: data[key],\n nextToken: data[key]?.nextToken,\n errors,\n };\n }\n else {\n // response is of type `data: { getPost: null }`)\n return handleListGraphQlError(error);\n }\n }\n else {\n // `data` is `null` or an empty object:\n return handleListGraphQlError(error);\n }\n }\n });\n}\n"],"names":[],"mappings":";;;;;;AAKO,SAAS,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,KAAK,EAAE,sBAAsB,EAAE;AACtH,IAAI,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,IAAI,KAAK;AACnD,QAAQ,OAAO,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC;AACjH,KAAK,CAAC;AACN,IAAI,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK;AAC3B,QAAQ,OAAO,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;AAC/G,KAAK,CAAC;AACN,IAAI,OAAO,OAAO,GAAG,eAAe,GAAG,IAAI,CAAC;AAC5C,CAAC;AACD,SAAS,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE;AAC3G,IAAI,OAAO,cAAc,CAAC,OAAO,aAAa,KAAK;AACnD,QAAQ,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;AAC/B,QAAQ,MAAM,KAAK,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACtF,QAAQ,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACzF,QAAQ,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAChE,QAAQ,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9E,QAAQ,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;AAClF,QAAQ,IAAI;AACZ,YAAY,MAAM,WAAW,GAAG,WAAW;AAC3C,kBAAkB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;AAC9C,oBAAoB,GAAG,IAAI;AAC3B,oBAAoB,KAAK;AACzB,oBAAoB,SAAS;AAC7B,iBAAiB,EAAE,OAAO,CAAC;AAC3B,kBAAkB,MAAM,CAAC,OAAO,CAAC;AACjC,oBAAoB,GAAG,IAAI;AAC3B,oBAAoB,KAAK;AACzB,oBAAoB,SAAS;AAC7B,oBAAoB,GAAG,iBAAiB;AACxC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAC5B,YAAY,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACrF,YAAY,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAAC;AAC/D;AACA,YAAY,IAAI,IAAI,KAAK,SAAS,EAAE;AACpC,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;AACrC,oBAAoB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1H;AACA,oBAAoB,IAAI,IAAI,EAAE,YAAY,EAAE;AAC5C,wBAAwB,OAAO;AAC/B,4BAA4B,IAAI,EAAE,eAAe;AACjD,4BAA4B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;AAC1D,4BAA4B,UAAU;AACtC,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;AAC7J,wBAAwB,OAAO;AAC/B,4BAA4B,IAAI,EAAE,WAAW;AAC7C,4BAA4B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;AAC1D,4BAA4B,UAAU;AACtC,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACnC,oBAAoB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;AAClD,oBAAoB,UAAU;AAC9B,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AAC3C;AACA,YAAY,IAAI,IAAI,KAAK,SAAS;AAClC,gBAAgB,IAAI,KAAK,IAAI;AAC7B,gBAAgB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;AAC9C,gBAAgB,MAAM,EAAE;AACxB,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE;AACtC,oBAAoB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1H;AACA;AACA;AACA;AACA,oBAAoB,IAAI,eAAe,EAAE;AACzC;AACA,wBAAwB,IAAI,IAAI,EAAE,YAAY,EAAE;AAChD,4BAA4B,OAAO;AACnC,gCAAgC,IAAI,EAAE,eAAe;AACrD,gCAAgC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS;AAC/D,gCAAgC,MAAM;AACtC,6BAA6B,CAAC;AAC9B,yBAAyB;AACzB,6BAA6B;AAC7B,4BAA4B,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;AACjK;AACA,4BAA4B,OAAO;AACnC,gCAAgC,IAAI,EAAE,WAAW;AACjD,gCAAgC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS;AAC/D,gCAAgC,MAAM;AACtC,6BAA6B,CAAC;AAC9B,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,OAAO;AAC3B,wBAAwB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACvC,wBAAwB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS;AACvD,wBAAwB,MAAM;AAC9B,qBAAqB,CAAC;AACtB,iBAAiB;AACjB,qBAAqB;AACrB;AACA,oBAAoB,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACzD,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACrD,aAAa;AACb,SAAS;AACT,KAAK,CAAC,CAAC;AACP;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { createCreateConversationFunction } from '../../ai/createCreateConversationFunction.mjs';
2
2
  import { createGetConversationFunction } from '../../ai/createGetConversationFunction.mjs';
3
3
  import { createListConversationsFunction } from '../../ai/createListConversationsFunction.mjs';
4
+ import { createDeleteConversationFunction } from '../../ai/createDeleteConversationFunction.mjs';
4
5
 
5
6
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
7
  // SPDX-License-Identifier: Apache-2.0
@@ -36,6 +37,7 @@ function generateConversationsProperty(client, apiGraphQLConfig, getInternals) {
36
37
  conversations[name] = {
37
38
  create: createCreateConversationFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),
38
39
  get: createGetConversationFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),
40
+ delete: createDeleteConversationFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),
39
41
  list: createListConversationsFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),
40
42
  };
41
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateConversationsProperty.mjs","sources":["../../../../../../src/runtime/internals/utils/clientProperties/generateConversationsProperty.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { createCreateConversationFunction } from '../../ai/createCreateConversationFunction';\nimport { createGetConversationFunction } from '../../ai/createGetConversationFunction';\nimport { createListConversationsFunction } from '../../ai/createListConversationsFunction';\nexport function generateConversationsProperty(client, apiGraphQLConfig, getInternals) {\n const modelIntrospection = apiGraphQLConfig?.modelIntrospection;\n // conversations will be absent from model intro schema if no conversation routes\n // are present on the source schema.\n if (!modelIntrospection?.conversations) {\n return {};\n }\n const conversations = {};\n for (const { name, conversation, message, models, nonModels, enums, } of Object.values(modelIntrospection.conversations)) {\n const conversationModel = models[conversation.modelName];\n const conversationMessageModel = models[message.modelName];\n if (!conversationModel || !conversationMessageModel) {\n return {};\n }\n const conversationModelIntrospection = {\n ...modelIntrospection,\n models: {\n ...modelIntrospection.models,\n ...models,\n },\n nonModels: {\n ...modelIntrospection.nonModels,\n ...nonModels,\n },\n enums: {\n ...modelIntrospection.enums,\n ...enums,\n },\n };\n conversations[name] = {\n create: createCreateConversationFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),\n get: createGetConversationFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),\n list: createListConversationsFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),\n };\n }\n return conversations;\n}\n"],"names":[],"mappings":";;;;AAAA;AACA;AAIO,SAAS,6BAA6B,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE;AACtF,IAAI,MAAM,kBAAkB,GAAG,gBAAgB,EAAE,kBAAkB,CAAC;AACpE;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,EAAE,aAAa,EAAE;AAC5C,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,aAAa,GAAG,EAAE,CAAC;AAC7B,IAAI,KAAK,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE;AAC9H,QAAQ,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACjE,QAAQ,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACnE,QAAQ,IAAI,CAAC,iBAAiB,IAAI,CAAC,wBAAwB,EAAE;AAC7D,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS;AACT,QAAQ,MAAM,8BAA8B,GAAG;AAC/C,YAAY,GAAG,kBAAkB;AACjC,YAAY,MAAM,EAAE;AACpB,gBAAgB,GAAG,kBAAkB,CAAC,MAAM;AAC5C,gBAAgB,GAAG,MAAM;AACzB,aAAa;AACb,YAAY,SAAS,EAAE;AACvB,gBAAgB,GAAG,kBAAkB,CAAC,SAAS;AAC/C,gBAAgB,GAAG,SAAS;AAC5B,aAAa;AACb,YAAY,KAAK,EAAE;AACnB,gBAAgB,GAAG,kBAAkB,CAAC,KAAK;AAC3C,gBAAgB,GAAG,KAAK;AACxB,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG;AAC9B,YAAY,MAAM,EAAE,gCAAgC,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,CAAC;AAC7J,YAAY,GAAG,EAAE,6BAA6B,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,CAAC;AACvJ,YAAY,IAAI,EAAE,+BAA+B,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,CAAC;AAC1J,SAAS,CAAC;AACV,KAAK;AACL,IAAI,OAAO,aAAa,CAAC;AACzB;;;;"}
1
+ {"version":3,"file":"generateConversationsProperty.mjs","sources":["../../../../../../src/runtime/internals/utils/clientProperties/generateConversationsProperty.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { createCreateConversationFunction } from '../../ai/createCreateConversationFunction';\nimport { createGetConversationFunction } from '../../ai/createGetConversationFunction';\nimport { createListConversationsFunction } from '../../ai/createListConversationsFunction';\nimport { createDeleteConversationFunction } from '../../ai/createDeleteConversationFunction';\nexport function generateConversationsProperty(client, apiGraphQLConfig, getInternals) {\n const modelIntrospection = apiGraphQLConfig?.modelIntrospection;\n // conversations will be absent from model intro schema if no conversation routes\n // are present on the source schema.\n if (!modelIntrospection?.conversations) {\n return {};\n }\n const conversations = {};\n for (const { name, conversation, message, models, nonModels, enums, } of Object.values(modelIntrospection.conversations)) {\n const conversationModel = models[conversation.modelName];\n const conversationMessageModel = models[message.modelName];\n if (!conversationModel || !conversationMessageModel) {\n return {};\n }\n const conversationModelIntrospection = {\n ...modelIntrospection,\n models: {\n ...modelIntrospection.models,\n ...models,\n },\n nonModels: {\n ...modelIntrospection.nonModels,\n ...nonModels,\n },\n enums: {\n ...modelIntrospection.enums,\n ...enums,\n },\n };\n conversations[name] = {\n create: createCreateConversationFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),\n get: createGetConversationFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),\n delete: createDeleteConversationFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),\n list: createListConversationsFunction(client, conversationModelIntrospection, name, conversationModel, conversationMessageModel, getInternals),\n };\n }\n return conversations;\n}\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAKO,SAAS,6BAA6B,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE;AACtF,IAAI,MAAM,kBAAkB,GAAG,gBAAgB,EAAE,kBAAkB,CAAC;AACpE;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,EAAE,aAAa,EAAE;AAC5C,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,aAAa,GAAG,EAAE,CAAC;AAC7B,IAAI,KAAK,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE;AAC9H,QAAQ,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACjE,QAAQ,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACnE,QAAQ,IAAI,CAAC,iBAAiB,IAAI,CAAC,wBAAwB,EAAE;AAC7D,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS;AACT,QAAQ,MAAM,8BAA8B,GAAG;AAC/C,YAAY,GAAG,kBAAkB;AACjC,YAAY,MAAM,EAAE;AACpB,gBAAgB,GAAG,kBAAkB,CAAC,MAAM;AAC5C,gBAAgB,GAAG,MAAM;AACzB,aAAa;AACb,YAAY,SAAS,EAAE;AACvB,gBAAgB,GAAG,kBAAkB,CAAC,SAAS;AAC/C,gBAAgB,GAAG,SAAS;AAC5B,aAAa;AACb,YAAY,KAAK,EAAE;AACnB,gBAAgB,GAAG,kBAAkB,CAAC,KAAK;AAC3C,gBAAgB,GAAG,KAAK;AACxB,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,aAAa,CAAC,IAAI,CAAC,GAAG;AAC9B,YAAY,MAAM,EAAE,gCAAgC,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,CAAC;AAC7J,YAAY,GAAG,EAAE,6BAA6B,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,CAAC;AACvJ,YAAY,MAAM,EAAE,gCAAgC,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,CAAC;AAC7J,YAAY,IAAI,EAAE,+BAA+B,CAAC,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,CAAC;AAC1J,SAAS,CAAC;AACV,KAAK;AACL,IAAI,OAAO,aAAa,CAAC;AACzB;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { customOpFactory } from '../../operations/custom.mjs';
2
+ import { getCustomUserAgentDetails, AiAction } from '../../ai/getCustomUserAgentDetails.mjs';
2
3
 
3
4
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
5
  // SPDX-License-Identifier: Apache-2.0
@@ -11,7 +12,7 @@ function generateGenerationsProperty(client, apiGraphQLConfig, getInternals) {
11
12
  }
12
13
  const generations = {};
13
14
  for (const generation of Object.values(modelIntrospection.generations)) {
14
- generations[generation.name] = customOpFactory(client, modelIntrospection, 'query', generation, false, getInternals);
15
+ generations[generation.name] = customOpFactory(client, modelIntrospection, 'query', generation, false, getInternals, getCustomUserAgentDetails(AiAction.Generation));
15
16
  }
16
17
  return generations;
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateGenerationsProperty.mjs","sources":["../../../../../../src/runtime/internals/utils/clientProperties/generateGenerationsProperty.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { customOpFactory } from '../../operations/custom';\nexport function generateGenerationsProperty(client, apiGraphQLConfig, getInternals) {\n const modelIntrospection = apiGraphQLConfig?.modelIntrospection;\n // generations will be absent from model intro schema if no generation routes\n // are present on the source schema.\n if (!modelIntrospection?.generations) {\n return {};\n }\n const generations = {};\n for (const generation of Object.values(modelIntrospection.generations)) {\n generations[generation.name] = customOpFactory(client, modelIntrospection, 'query', generation, false, getInternals);\n }\n return generations;\n}\n"],"names":[],"mappings":";;AAAA;AACA;AAEO,SAAS,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE;AACpF,IAAI,MAAM,kBAAkB,GAAG,gBAAgB,EAAE,kBAAkB,CAAC;AACpE;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;AAC1C,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,WAAW,GAAG,EAAE,CAAC;AAC3B,IAAI,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;AAC5E,QAAQ,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AAC7H,KAAK;AACL,IAAI,OAAO,WAAW,CAAC;AACvB;;;;"}
1
+ {"version":3,"file":"generateGenerationsProperty.mjs","sources":["../../../../../../src/runtime/internals/utils/clientProperties/generateGenerationsProperty.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { customOpFactory } from '../../operations/custom';\nimport { AiAction, getCustomUserAgentDetails, } from '../../ai/getCustomUserAgentDetails';\nexport function generateGenerationsProperty(client, apiGraphQLConfig, getInternals) {\n const modelIntrospection = apiGraphQLConfig?.modelIntrospection;\n // generations will be absent from model intro schema if no generation routes\n // are present on the source schema.\n if (!modelIntrospection?.generations) {\n return {};\n }\n const generations = {};\n for (const generation of Object.values(modelIntrospection.generations)) {\n generations[generation.name] = customOpFactory(client, modelIntrospection, 'query', generation, false, getInternals, getCustomUserAgentDetails(AiAction.Generation));\n }\n return generations;\n}\n"],"names":[],"mappings":";;;AAAA;AACA;AAGO,SAAS,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE;AACpF,IAAI,MAAM,kBAAkB,GAAG,gBAAgB,EAAE,kBAAkB,CAAC;AACpE;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;AAC1C,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,WAAW,GAAG,EAAE,CAAC;AAC3B,IAAI,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;AAC5E,QAAQ,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAC7K,KAAK;AACL,IAAI,OAAO,WAAW,CAAC;AACvB;;;;"}