@aws-amplify/data-schema 1.8.0 → 1.9.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 (43) hide show
  1. package/dist/cjs/ModelField.js +6 -2
  2. package/dist/cjs/ModelField.js.map +1 -1
  3. package/dist/cjs/SchemaProcessor.js +4 -1
  4. package/dist/cjs/SchemaProcessor.js.map +1 -1
  5. package/dist/cjs/runtime/internals/ai/convertItemToConversation.js +5 -1
  6. package/dist/cjs/runtime/internals/ai/convertItemToConversation.js.map +1 -1
  7. package/dist/cjs/runtime/internals/ai/createCreateConversationFunction.js +1 -1
  8. package/dist/cjs/runtime/internals/ai/createCreateConversationFunction.js.map +1 -1
  9. package/dist/cjs/runtime/internals/ai/createDeleteConversationFunction.js +1 -1
  10. package/dist/cjs/runtime/internals/ai/createDeleteConversationFunction.js.map +1 -1
  11. package/dist/cjs/runtime/internals/ai/createGetConversationFunction.js +1 -1
  12. package/dist/cjs/runtime/internals/ai/createGetConversationFunction.js.map +1 -1
  13. package/dist/cjs/runtime/internals/ai/createListConversationsFunction.js +1 -1
  14. package/dist/cjs/runtime/internals/ai/createListConversationsFunction.js.map +1 -1
  15. package/dist/cjs/runtime/internals/ai/createSendMessageFunction.js.map +1 -1
  16. package/dist/esm/ModelField.d.ts +6 -2
  17. package/dist/esm/ModelField.mjs +6 -2
  18. package/dist/esm/ModelField.mjs.map +1 -1
  19. package/dist/esm/SchemaProcessor.mjs +5 -2
  20. package/dist/esm/SchemaProcessor.mjs.map +1 -1
  21. package/dist/esm/ai/ConversationType.d.ts +6 -1
  22. package/dist/esm/runtime/internals/ai/convertItemToConversation.d.ts +1 -1
  23. package/dist/esm/runtime/internals/ai/convertItemToConversation.mjs +5 -1
  24. package/dist/esm/runtime/internals/ai/convertItemToConversation.mjs.map +1 -1
  25. package/dist/esm/runtime/internals/ai/createCreateConversationFunction.mjs +1 -1
  26. package/dist/esm/runtime/internals/ai/createCreateConversationFunction.mjs.map +1 -1
  27. package/dist/esm/runtime/internals/ai/createDeleteConversationFunction.mjs +1 -1
  28. package/dist/esm/runtime/internals/ai/createDeleteConversationFunction.mjs.map +1 -1
  29. package/dist/esm/runtime/internals/ai/createGetConversationFunction.mjs +1 -1
  30. package/dist/esm/runtime/internals/ai/createGetConversationFunction.mjs.map +1 -1
  31. package/dist/esm/runtime/internals/ai/createListConversationsFunction.mjs +1 -1
  32. package/dist/esm/runtime/internals/ai/createListConversationsFunction.mjs.map +1 -1
  33. package/dist/esm/runtime/internals/ai/createSendMessageFunction.mjs.map +1 -1
  34. package/dist/meta/cjs.tsbuildinfo +1 -1
  35. package/package.json +2 -2
  36. package/src/ModelField.ts +8 -3
  37. package/src/SchemaProcessor.ts +4 -1
  38. package/src/ai/ConversationType.ts +8 -1
  39. package/src/runtime/internals/ai/convertItemToConversation.ts +8 -0
  40. package/src/runtime/internals/ai/createCreateConversationFunction.ts +4 -0
  41. package/src/runtime/internals/ai/createDeleteConversationFunction.ts +4 -0
  42. package/src/runtime/internals/ai/createGetConversationFunction.ts +4 -0
  43. package/src/runtime/internals/ai/createListConversationsFunction.ts +4 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/data-schema",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -64,7 +64,7 @@
64
64
  "jest": "^29.7.0",
65
65
  "jest-tsd": "^0.2.2",
66
66
  "rimraf": "^5.0.5",
67
- "rollup": "^4.9.6",
67
+ "rollup": "^4.22.4",
68
68
  "ts-jest": "^29.1.1",
69
69
  "turbo": "^1.10.14",
70
70
  "typescript": "^5.1.6"
package/src/ModelField.ts CHANGED
@@ -8,6 +8,11 @@ import type { brandSymbol } from './util/Brand.js';
8
8
  */
9
9
  export const __auth = Symbol('__auth');
10
10
 
11
+ /**
12
+ * Used by `.default()` to represent a generated field (SQL).
13
+ */
14
+ export const __generated = Symbol('__generated');
15
+
11
16
  const brandName = 'modelField';
12
17
 
13
18
  export enum ModelFieldType {
@@ -44,7 +49,7 @@ type FieldData = {
44
49
  required: boolean;
45
50
  array: boolean;
46
51
  arrayRequired: boolean;
47
- default: undefined | ModelFieldTypeParamOuter;
52
+ default: undefined | symbol | ModelFieldTypeParamOuter;
48
53
  authorization: Authorization<any, any, any>[];
49
54
  };
50
55
 
@@ -110,7 +115,7 @@ export type ModelField<
110
115
  * @param value the default value
111
116
  */
112
117
  default(
113
- value: ModelFieldTypeParamOuter,
118
+ value?: ModelFieldTypeParamOuter,
114
119
  ): ModelField<T, UsedMethod | 'default'>;
115
120
  /**
116
121
  * Configures field-level authorization rules. Pass in an array of authorizations `(allow => allow.____)` to mix and match
@@ -178,7 +183,7 @@ function _field<T extends ModelFieldTypeParamOuter>(fieldType: ModelFieldType) {
178
183
  return this;
179
184
  },
180
185
  default(val) {
181
- data.default = val;
186
+ data.default = typeof val === 'undefined' ? __generated : val;
182
187
  _meta.lastInvokedMethod = 'default';
183
188
 
184
189
  return this;
@@ -5,6 +5,7 @@ import {
5
5
  string,
6
6
  type BaseModelField,
7
7
  ModelFieldType,
8
+ __generated,
8
9
  } from './ModelField';
9
10
  import {
10
11
  ModelRelationshipTypes,
@@ -198,7 +199,9 @@ function scalarFieldToGql(
198
199
  }
199
200
  }
200
201
 
201
- if (_default !== undefined) {
202
+ if (_default === __generated) {
203
+ field += ` @default`;
204
+ } else if (_default !== undefined) {
202
205
  field += ` @default(value: "${_default?.toString()}")`;
203
206
  }
204
207
 
@@ -68,12 +68,14 @@ export interface ConversationRoute {
68
68
  }
69
69
 
70
70
  // conversation types
71
- export interface ConversationSendMessageInput {
71
+ interface ConversationSendMessageInputObject {
72
72
  content: ConversationSendMessageInputContent[];
73
73
  aiContext?: string | Record<string, any>;
74
74
  toolConfiguration?: ToolConfiguration;
75
75
  }
76
76
 
77
+ export type ConversationSendMessageInput = ConversationSendMessageInputObject | string;
78
+
77
79
  interface ConversationListMessagesInput {
78
80
  limit?: number;
79
81
  nextToken?: string | null;
@@ -83,6 +85,11 @@ type ConversationOnMessageHandler = (message: ConversationMessage) => void;
83
85
 
84
86
  export interface Conversation {
85
87
  id: string;
88
+ createdAt: string;
89
+ updatedAt: string;
90
+
91
+ metadata?: Record<string, any>;
92
+ name?: string;
86
93
  /**
87
94
  * @experimental
88
95
  *
@@ -17,9 +17,13 @@ export const convertItemToConversation = (
17
17
  client: BaseClient,
18
18
  modelIntrospection: ModelIntrospectionSchema,
19
19
  conversationId: string,
20
+ conversationCreatedAt: string,
21
+ conversationUpdatedAt: string,
20
22
  conversationRouteName: string,
21
23
  conversationMessageModel: SchemaModel,
22
24
  getInternals: ClientInternalsGetter,
25
+ conversationMetadata?: Record<string, any>,
26
+ conversationName?: string,
23
27
  ): Conversation => {
24
28
  if (!conversationId) {
25
29
  throw new Error(
@@ -28,6 +32,10 @@ export const convertItemToConversation = (
28
32
  }
29
33
  return {
30
34
  id: conversationId,
35
+ createdAt: conversationCreatedAt,
36
+ updatedAt: conversationUpdatedAt,
37
+ metadata: conversationMetadata,
38
+ name: conversationName,
31
39
  onMessage: createOnMessageFunction(
32
40
  client as BaseBrowserClient,
33
41
  modelIntrospection,
@@ -41,9 +41,13 @@ export const createCreateConversationFunction =
41
41
  client,
42
42
  modelIntrospection,
43
43
  data?.id,
44
+ data?.createdAt,
45
+ data?.updatedAt,
44
46
  conversationRouteName,
45
47
  conversationMessageModel,
46
48
  getInternals,
49
+ data?.metadata,
50
+ data?.name,
47
51
  ),
48
52
  errors,
49
53
  };
@@ -44,9 +44,13 @@ export const createDeleteConversationFunction =
44
44
  client,
45
45
  modelIntrospection,
46
46
  data?.id,
47
+ data?.createdAt,
48
+ data?.updatedAt,
47
49
  conversationRouteName,
48
50
  conversationMessageModel,
49
51
  getInternals,
52
+ data?.metadata,
53
+ data?.name,
50
54
  )
51
55
  : data,
52
56
  errors,
@@ -44,9 +44,13 @@ export const createGetConversationFunction =
44
44
  client,
45
45
  modelIntrospection,
46
46
  data.id,
47
+ data.createdAt,
48
+ data.updatedAt,
47
49
  conversationRouteName,
48
50
  conversationMessageModel,
49
51
  getInternals,
52
+ data?.metadata,
53
+ data?.name,
50
54
  )
51
55
  : data,
52
56
  errors,
@@ -41,9 +41,13 @@ export const createListConversationsFunction =
41
41
  client,
42
42
  modelIntrospection,
43
43
  datum.id,
44
+ datum.createdAt,
45
+ datum.updatedAt,
44
46
  conversationRouteName,
45
47
  conversationMessageModel,
46
48
  getInternals,
49
+ datum?.metadata,
50
+ datum?.name,
47
51
  );
48
52
  }),
49
53
  nextToken,