@resistdesign/voltra 3.0.0-alpha.3 → 3.0.0-alpha.5

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 (225) hide show
  1. package/README.md +75 -0
  2. package/SearchTypes-DjN6YQzE.d.ts +577 -0
  3. package/Types-C7XjUjoF.d.ts +240 -0
  4. package/Validation-CFP59oIP.d.ts +226 -0
  5. package/api/index.d.ts +6 -0
  6. package/api/index.js +8000 -0
  7. package/app/index.d.ts +5 -0
  8. package/app/index.js +810 -0
  9. package/common/Testing/CLI.js +432 -0
  10. package/common/index.d.ts +4 -0
  11. package/common/index.js +1760 -0
  12. package/iac/index.d.ts +2 -0
  13. package/iac/index.js +1661 -0
  14. package/iac/packs/index.d.ts +1 -0
  15. package/iac/packs/index.js +1620 -0
  16. package/index-BkFZlfit.d.ts +112 -0
  17. package/index-C3-iD9Mh.d.ts +690 -0
  18. package/index-CK5Qwvfb.d.ts +5378 -0
  19. package/{src/iac/types/IaCTypes.d.ts → index-DcvJOZ_c.d.ts} +1018 -23
  20. package/index-IokxSNxm.d.ts +745 -0
  21. package/index.d.ts +13 -0
  22. package/index.js +11005 -0
  23. package/package.json +40 -41
  24. package/src/api/DataAccessControl.d.ts +0 -85
  25. package/src/api/DataAccessControl.js +0 -159
  26. package/src/api/ORM/DACUtils.d.ts +0 -60
  27. package/src/api/ORM/DACUtils.js +0 -197
  28. package/src/api/ORM/ListItemUtils.d.ts +0 -7
  29. package/src/api/ORM/ListItemUtils.js +0 -22
  30. package/src/api/ORM/ORMRouteMap.d.ts +0 -19
  31. package/src/api/ORM/ORMRouteMap.js +0 -82
  32. package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
  33. package/src/api/ORM/TypeInfoORMService.js +0 -581
  34. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
  35. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
  36. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
  37. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
  38. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
  39. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
  40. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
  41. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
  42. package/src/api/ORM/drivers/S3FileItemDBDriver.d.ts +0 -44
  43. package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
  44. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
  45. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
  46. package/src/api/ORM/drivers/common/Types.d.ts +0 -77
  47. package/src/api/ORM/drivers/common/Types.js +0 -14
  48. package/src/api/ORM/drivers/common/index.d.ts +0 -2
  49. package/src/api/ORM/drivers/common/index.js +0 -18
  50. package/src/api/ORM/drivers/index.d.ts +0 -3
  51. package/src/api/ORM/drivers/index.js +0 -19
  52. package/src/api/ORM/index.d.ts +0 -4
  53. package/src/api/ORM/index.js +0 -43
  54. package/src/api/Router/AWS.d.ts +0 -26
  55. package/src/api/Router/AWS.js +0 -76
  56. package/src/api/Router/Auth.d.ts +0 -2
  57. package/src/api/Router/Auth.js +0 -9
  58. package/src/api/Router/CORS.d.ts +0 -6
  59. package/src/api/Router/CORS.js +0 -27
  60. package/src/api/Router/Types.d.ts +0 -71
  61. package/src/api/Router/Types.js +0 -2
  62. package/src/api/Router/index.d.ts +0 -18
  63. package/src/api/Router/index.js +0 -145
  64. package/src/api/index.d.ts +0 -3
  65. package/src/api/index.js +0 -39
  66. package/src/app/index.d.ts +0 -1
  67. package/src/app/index.js +0 -37
  68. package/src/app/utils/ApplicationState.d.ts +0 -52
  69. package/src/app/utils/ApplicationState.js +0 -86
  70. package/src/app/utils/ApplicationStateLoader.d.ts +0 -46
  71. package/src/app/utils/ApplicationStateLoader.js +0 -57
  72. package/src/app/utils/Controller.d.ts +0 -4
  73. package/src/app/utils/Controller.js +0 -47
  74. package/src/app/utils/Debug.d.ts +0 -4
  75. package/src/app/utils/Debug.js +0 -30
  76. package/src/app/utils/EasyLayout.d.ts +0 -49
  77. package/src/app/utils/EasyLayout.js +0 -122
  78. package/src/app/utils/Route.d.ts +0 -28
  79. package/src/app/utils/Route.js +0 -102
  80. package/src/app/utils/Service.d.ts +0 -12
  81. package/src/app/utils/Service.js +0 -34
  82. package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
  83. package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
  84. package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
  85. package/src/app/utils/TypeInfoORMClient.js +0 -69
  86. package/src/app/utils/index.d.ts +0 -8
  87. package/src/app/utils/index.js +0 -24
  88. package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
  89. package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
  90. package/src/common/HelperTypes.d.ts +0 -3
  91. package/src/common/HelperTypes.js +0 -2
  92. package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
  93. package/src/common/IdGeneration/getSimpleId.js +0 -16
  94. package/src/common/IdGeneration/index.d.ts +0 -1
  95. package/src/common/IdGeneration/index.js +0 -17
  96. package/src/common/ItemRelationshipInfoTypes.d.ts +0 -46
  97. package/src/common/ItemRelationshipInfoTypes.js +0 -20
  98. package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
  99. package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
  100. package/src/common/ItemRelationships/index.d.ts +0 -1
  101. package/src/common/ItemRelationships/index.js +0 -17
  102. package/src/common/Logging/Utils.d.ts +0 -10
  103. package/src/common/Logging/Utils.js +0 -33
  104. package/src/common/Logging/index.d.ts +0 -1
  105. package/src/common/Logging/index.js +0 -17
  106. package/src/common/Routing.d.ts +0 -25
  107. package/src/common/Routing.js +0 -102
  108. package/src/common/SearchTypes.d.ts +0 -98
  109. package/src/common/SearchTypes.js +0 -39
  110. package/src/common/SearchUtils.d.ts +0 -22
  111. package/src/common/SearchUtils.js +0 -134
  112. package/src/common/SearchValidation.d.ts +0 -17
  113. package/src/common/SearchValidation.js +0 -90
  114. package/src/common/Storyboarding/Types.d.ts +0 -25
  115. package/src/common/Storyboarding/Types.js +0 -2
  116. package/src/common/StringTransformers.d.ts +0 -17
  117. package/src/common/StringTransformers.js +0 -36
  118. package/src/common/Testing/CLI.d.ts +0 -2
  119. package/src/common/Testing/CLI.js +0 -56
  120. package/src/common/Testing/Types.d.ts +0 -117
  121. package/src/common/Testing/Types.js +0 -19
  122. package/src/common/Testing/Utils.d.ts +0 -48
  123. package/src/common/Testing/Utils.js +0 -334
  124. package/src/common/Testing/index.d.ts +0 -2
  125. package/src/common/Testing/index.js +0 -18
  126. package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
  127. package/src/common/TypeInfoDataItemUtils.js +0 -55
  128. package/src/common/TypeInfoORM/Types.d.ts +0 -76
  129. package/src/common/TypeInfoORM/Types.js +0 -55
  130. package/src/common/TypeInfoORM/index.d.ts +0 -1
  131. package/src/common/TypeInfoORM/index.js +0 -17
  132. package/src/common/TypeParsing/Constants.d.ts +0 -1
  133. package/src/common/TypeParsing/Constants.js +0 -4
  134. package/src/common/TypeParsing/ParsingUtils/Constants.d.ts +0 -5
  135. package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
  136. package/src/common/TypeParsing/ParsingUtils/checkType.d.ts +0 -8
  137. package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
  138. package/src/common/TypeParsing/ParsingUtils/checkUnionType.d.ts +0 -6
  139. package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
  140. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
  141. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
  142. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
  143. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
  144. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
  145. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
  146. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
  147. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
  148. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
  149. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
  150. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +0 -3
  151. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
  152. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
  153. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
  154. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
  155. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
  156. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
  157. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
  158. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
  159. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
  160. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
  161. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
  162. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
  163. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
  164. package/src/common/TypeParsing/TypeInfo.d.ts +0 -142
  165. package/src/common/TypeParsing/TypeInfo.js +0 -13
  166. package/src/common/TypeParsing/TypeMapping.d.ts +0 -9
  167. package/src/common/TypeParsing/TypeMapping.js +0 -32
  168. package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
  169. package/src/common/TypeParsing/TypeParsing.js +0 -39
  170. package/src/common/TypeParsing/Utils.d.ts +0 -21
  171. package/src/common/TypeParsing/Utils.js +0 -94
  172. package/src/common/TypeParsing/Validation.d.ts +0 -92
  173. package/src/common/TypeParsing/Validation.js +0 -340
  174. package/src/common/TypeParsing/index.d.ts +0 -5
  175. package/src/common/TypeParsing/index.js +0 -44
  176. package/src/common/index.d.ts +0 -11
  177. package/src/common/index.js +0 -47
  178. package/src/iac/SimpleCFT.d.ts +0 -48
  179. package/src/iac/SimpleCFT.js +0 -82
  180. package/src/iac/index.d.ts +0 -9
  181. package/src/iac/index.js +0 -48
  182. package/src/iac/packs/auth/user-management.d.ts +0 -14
  183. package/src/iac/packs/auth/user-management.js +0 -302
  184. package/src/iac/packs/auth.d.ts +0 -19
  185. package/src/iac/packs/auth.js +0 -47
  186. package/src/iac/packs/build/utils.d.ts +0 -100
  187. package/src/iac/packs/build/utils.js +0 -23
  188. package/src/iac/packs/build.d.ts +0 -29
  189. package/src/iac/packs/build.js +0 -217
  190. package/src/iac/packs/cdn.d.ts +0 -12
  191. package/src/iac/packs/cdn.js +0 -126
  192. package/src/iac/packs/cloud-function.d.ts +0 -17
  193. package/src/iac/packs/cloud-function.js +0 -69
  194. package/src/iac/packs/database.d.ts +0 -29
  195. package/src/iac/packs/database.js +0 -27
  196. package/src/iac/packs/dns.d.ts +0 -13
  197. package/src/iac/packs/dns.js +0 -26
  198. package/src/iac/packs/file-storage.d.ts +0 -14
  199. package/src/iac/packs/file-storage.js +0 -71
  200. package/src/iac/packs/gateway.d.ts +0 -27
  201. package/src/iac/packs/gateway.js +0 -342
  202. package/src/iac/packs/index.d.ts +0 -11
  203. package/src/iac/packs/index.js +0 -27
  204. package/src/iac/packs/repo.d.ts +0 -10
  205. package/src/iac/packs/repo.js +0 -34
  206. package/src/iac/packs/ssl-certificate.d.ts +0 -10
  207. package/src/iac/packs/ssl-certificate.js +0 -36
  208. package/src/iac/types/CloudFormationResourceSpecification.d.ts +0 -2
  209. package/src/iac/types/Constants.d.ts +0 -9
  210. package/src/iac/types/Constants.js +0 -20
  211. package/src/iac/types/IaCTypes.js +0 -14
  212. package/src/iac/types/Renderers.d.ts +0 -12
  213. package/src/iac/types/Renderers.js +0 -112
  214. package/src/iac/types/Types.d.ts +0 -37
  215. package/src/iac/types/Types.js +0 -2
  216. package/src/iac/types/Utils.d.ts +0 -2
  217. package/src/iac/types/Utils.js +0 -60
  218. package/src/iac/types/generate.d.ts +0 -1
  219. package/src/iac/types/generate.js +0 -31
  220. package/src/iac/utils/index.d.ts +0 -36
  221. package/src/iac/utils/index.js +0 -105
  222. package/src/iac/utils/patch-utils.d.ts +0 -15
  223. package/src/iac/utils/patch-utils.js +0 -62
  224. package/src/index.d.ts +0 -178
  225. package/src/index.js +0 -214
package/README.md CHANGED
@@ -14,6 +14,33 @@
14
14
  yarn add @resistdesign/voltra
15
15
  ```
16
16
 
17
+ ### Imports
18
+
19
+ Prefer the public entrypoints below to keep imports stable and IDE auto-imports clean.
20
+
21
+ Preferred:
22
+
23
+ ```ts
24
+ import { IaC } from "@resistdesign/voltra";
25
+ import { Packs } from "@resistdesign/voltra/iac";
26
+ import { addDNS } from "@resistdesign/voltra/iac/packs";
27
+ ```
28
+
29
+ Not supported:
30
+
31
+ ```ts
32
+ import addDNS from "@resistdesign/voltra/iac/packs/dns";
33
+ ```
34
+
35
+ Public entrypoints:
36
+
37
+ - `@resistdesign/voltra`
38
+ - `@resistdesign/voltra/api`
39
+ - `@resistdesign/voltra/app`
40
+ - `@resistdesign/voltra/common`
41
+ - `@resistdesign/voltra/iac`
42
+ - `@resistdesign/voltra/iac/packs`
43
+
17
44
  ## With our powers combined!
18
45
 
19
46
  <table style="border: 0 solid black;">
@@ -41,6 +68,35 @@ front-end apps.</td>
41
68
  | ORM: TypeScript Type Driven Auto-generated Data Contexts with Relationships | | Typed Build Spec Creation |
42
69
  | | | Typed Resource Parameters |
43
70
 
71
+ ## Docs Site
72
+
73
+ The docs site is both reference documentation and a canonical usage example.
74
+ Key pieces:
75
+
76
+ - Astro app in `site/app` builds the UI into `site-dist/app` via `yarn site:build:app`.
77
+ - API bundle for the docs site is built by `yarn site:build:api` (see `site/build-api.mjs`) and written to `site-dist/api`.
78
+ - The IaC demo template is generated by `yarn site:build:iac` from `site/iac/index.ts` and written to `site-dist/iac/index.yml`.
79
+
80
+ API docs flow:
81
+
82
+ 1) `yarn doc` generates TypeDoc output into `docs/`.
83
+ 2) `yarn doc-to-site` copies `docs/` into `site-dist/app/`.
84
+ 3) `yarn site:build:app` runs Astro and then `yarn finalize-site` to refresh the docs site with API docs.
85
+
86
+ ## IaC Type Generation
87
+
88
+ IaC types are generated from the AWS CloudFormation resource specification.
89
+ When updating, follow this flow:
90
+
91
+ 1) Download the latest CloudFormation resource specification JSON from AWS (region: `us-east-1`).
92
+ 2) Replace the contents of `src/iac/types/CloudFormationResourceSpecification.ts` with the JSON payload (as the exported data).
93
+ 3) Run `yarn iac:types:gen` to regenerate `dist/IaCTypes.ts`.
94
+ 4) Verify `dist/IaCTypes.ts` looks correct, then commit both files.
95
+
96
+ Notes:
97
+ - `src/iac/types/IaCTypes.ts` and `src/iac/types/CloudFormationResourceSpecification.ts` are generated artifacts; do not edit by hand.
98
+ - The generator entrypoint is `src/iac/types/generate.ts` and uses `src/iac/types/Renderers.ts` for output.
99
+
44
100
  ## Releasing
45
101
 
46
102
  Voltra publishes npm packages from GitHub Releases. The release tag is used verbatim
@@ -70,3 +126,22 @@ When the GitHub Release is marked as a prerelease, the npm publish step uses the
70
126
  ```bash
71
127
  yarn add @resistdesign/voltra@next
72
128
  ```
129
+
130
+ ## Project
131
+
132
+ ### Build and test commands
133
+
134
+ ```bash
135
+ yarn build
136
+ yarn test
137
+ yarn test:gen
138
+ yarn doc
139
+ yarn start
140
+ yarn site:build:app
141
+ ```
142
+
143
+ ### Contribution guidelines
144
+
145
+ - Use Conventional Commits (`feat:`, `fix:`, `doc:`, `chore:`) with optional scopes.
146
+ - Keep subjects imperative and concise.
147
+ - Include test commands run (or reasons for skipping) in PR descriptions.
@@ -0,0 +1,577 @@
1
+ /**
2
+ * TypeInfo definitions and tags used across parsing and validation.
3
+ */
4
+ /**
5
+ * A set of possible operations for a type or field value.
6
+ */
7
+ declare enum TypeOperation {
8
+ /**
9
+ * Create operation.
10
+ */
11
+ CREATE = "CREATE",
12
+ /**
13
+ * Read operation.
14
+ */
15
+ READ = "READ",
16
+ /**
17
+ * Update operation.
18
+ */
19
+ UPDATE = "UPDATE",
20
+ /**
21
+ * Delete operation.
22
+ */
23
+ DELETE = "DELETE"
24
+ }
25
+ /**
26
+ * A map of denied operations for a type or field value.
27
+ * */
28
+ type DeniedOperations = Partial<Record<TypeOperation, boolean>>;
29
+ /**
30
+ * Voltra supported `TypeInfo` tags.
31
+ * */
32
+ type SupportedTags = Partial<{
33
+ /**
34
+ * The human-readable label for the type.
35
+ * */
36
+ label: string;
37
+ /**
38
+ * Operations that will be denied at the type level.
39
+ * */
40
+ deniedOperations: DeniedOperations;
41
+ /**
42
+ * Whether a pagination UI should enable full paging or just expect cursor-based paging.
43
+ * */
44
+ fullPaging: boolean;
45
+ /**
46
+ * Whether this type will be persisted in a storage solution.
47
+ * */
48
+ persisted: boolean;
49
+ }>;
50
+ /**
51
+ * Voltra supported `TypeInfoField` tags.
52
+ * */
53
+ type SupportedFieldTags = Partial<{
54
+ /**
55
+ * Is this field the primary (uniquely identifying) field for the type?
56
+ * */
57
+ primaryField: boolean;
58
+ /**
59
+ * The human-readable label for the field.
60
+ * */
61
+ label: string;
62
+ /**
63
+ * The format or "type" for the field inout.
64
+ * Example: "number", "email", "tel", etc.
65
+ * */
66
+ format: string;
67
+ /**
68
+ * Allows a custom entry in a select input.
69
+ * */
70
+ allowCustomSelection: boolean;
71
+ /**
72
+ * A custom type name used to process the field value with custom validators and/or other custom application features.
73
+ * */
74
+ customType: string;
75
+ /**
76
+ * Whether this field is displayed in forms, information displays, lists, etc.
77
+ * */
78
+ hidden: boolean;
79
+ /**
80
+ * Whether a pagination UI should enable full paging or just expect cursor-based paging.
81
+ * NOTE: This is only used when the field has type reference.
82
+ * */
83
+ fullPaging: boolean;
84
+ /**
85
+ * A set of constraints for the field value.
86
+ * */
87
+ constraints: Partial<{
88
+ /**
89
+ * The default value for the field.
90
+ */
91
+ defaultValue: any;
92
+ /**
93
+ * The step increment for the field.
94
+ * */
95
+ step: number;
96
+ /**
97
+ * The minimum value for the field.
98
+ * */
99
+ min: number;
100
+ /**
101
+ * The maximum value for the field.
102
+ * */
103
+ max: number;
104
+ /**
105
+ * A regex pattern used to validate the field value.
106
+ * */
107
+ pattern: string;
108
+ }>;
109
+ /**
110
+ * Operations that will be denied at the field level.
111
+ * */
112
+ deniedOperations: DeniedOperations;
113
+ }>;
114
+ /**
115
+ * The set of acceptable literal value types.
116
+ */
117
+ type LiteralValue = string | number | boolean | null;
118
+ /**
119
+ * The set of acceptable type keywords.
120
+ */
121
+ type TypeKeyword = "string" | "number" | "boolean";
122
+ /**
123
+ * Information about a field in a type definition.
124
+ */
125
+ type TypeInfoField = {
126
+ /**
127
+ * Scalar type keyword for the field.
128
+ */
129
+ type: TypeKeyword;
130
+ /**
131
+ * Referenced TypeInfo type name, when relational.
132
+ */
133
+ typeReference?: string;
134
+ /**
135
+ * Whether the field is an array.
136
+ */
137
+ array: boolean;
138
+ /**
139
+ * Whether the field is read-only.
140
+ */
141
+ readonly: boolean;
142
+ /**
143
+ * Whether the field is optional.
144
+ */
145
+ optional: boolean;
146
+ /**
147
+ * Allowed literal values for the field.
148
+ */
149
+ possibleValues?: LiteralValue[];
150
+ /**
151
+ * Optional field tags and constraints.
152
+ */
153
+ tags?: SupportedFieldTags;
154
+ };
155
+ /**
156
+ * Information about a type definition.
157
+ */
158
+ type TypeInfo = {
159
+ /**
160
+ * Primary field name for the type.
161
+ */
162
+ primaryField?: string;
163
+ /**
164
+ * Map of field names to field definitions.
165
+ */
166
+ fields?: Record<string, TypeInfoField>;
167
+ /**
168
+ * Optional type-level tags.
169
+ */
170
+ tags?: SupportedTags;
171
+ /**
172
+ * Field name groupings for union type definitions.
173
+ */
174
+ unionFieldSets?: string[][];
175
+ };
176
+ /**
177
+ * A map of type information maps.
178
+ */
179
+ type TypeInfoMap = Record<string, TypeInfo>;
180
+ /**
181
+ * The necessary information to use a {@link TypeInfo} with the entire {@link TypeInfoMap} containing it.
182
+ * */
183
+ type TypeInfoPack = {
184
+ /**
185
+ * Entry type name to resolve.
186
+ */
187
+ entryTypeName: string;
188
+ /**
189
+ * Type info map containing the entry type.
190
+ */
191
+ typeInfoMap: TypeInfoMap;
192
+ };
193
+ /**
194
+ * An actual data item described by type info.
195
+ * */
196
+ type TypeInfoDataItem = Record<string, LiteralValue | LiteralValue[]>;
197
+
198
+ type TypeInfo$1_DeniedOperations = DeniedOperations;
199
+ type TypeInfo$1_LiteralValue = LiteralValue;
200
+ type TypeInfo$1_SupportedFieldTags = SupportedFieldTags;
201
+ type TypeInfo$1_SupportedTags = SupportedTags;
202
+ type TypeInfo$1_TypeInfo = TypeInfo;
203
+ type TypeInfo$1_TypeInfoDataItem = TypeInfoDataItem;
204
+ type TypeInfo$1_TypeInfoField = TypeInfoField;
205
+ type TypeInfo$1_TypeInfoMap = TypeInfoMap;
206
+ type TypeInfo$1_TypeInfoPack = TypeInfoPack;
207
+ type TypeInfo$1_TypeKeyword = TypeKeyword;
208
+ type TypeInfo$1_TypeOperation = TypeOperation;
209
+ declare const TypeInfo$1_TypeOperation: typeof TypeOperation;
210
+ declare namespace TypeInfo$1 {
211
+ export { type TypeInfo$1_DeniedOperations as DeniedOperations, type TypeInfo$1_LiteralValue as LiteralValue, type TypeInfo$1_SupportedFieldTags as SupportedFieldTags, type TypeInfo$1_SupportedTags as SupportedTags, type TypeInfo$1_TypeInfo as TypeInfo, type TypeInfo$1_TypeInfoDataItem as TypeInfoDataItem, type TypeInfo$1_TypeInfoField as TypeInfoField, type TypeInfo$1_TypeInfoMap as TypeInfoMap, type TypeInfo$1_TypeInfoPack as TypeInfoPack, type TypeInfo$1_TypeKeyword as TypeKeyword, TypeInfo$1_TypeOperation as TypeOperation };
212
+ }
213
+
214
+ /**
215
+ * Expand inferred types for clearer IntelliSense/display.
216
+ *
217
+ * @typeParam T - Type to expand.
218
+ */
219
+ type ExpandComplexType<T> = {
220
+ [K in keyof T]: T[K];
221
+ } & {};
222
+ declare const HelperTypes: {};
223
+
224
+ type HelperTypes$1_ExpandComplexType<T> = ExpandComplexType<T>;
225
+ declare const HelperTypes$1_HelperTypes: typeof HelperTypes;
226
+ declare namespace HelperTypes$1 {
227
+ export { type HelperTypes$1_ExpandComplexType as ExpandComplexType, HelperTypes$1_HelperTypes as HelperTypes };
228
+ }
229
+
230
+ /**
231
+ * Relationship info types used by ORM and relationship utilities.
232
+ */
233
+
234
+ /**
235
+ * The keys for item relationship info.
236
+ * */
237
+ declare enum ItemRelationshipInfoKeys {
238
+ /**
239
+ * Relationship origin type name.
240
+ * */
241
+ fromTypeName = "fromTypeName",
242
+ /**
243
+ * Relationship origin field name.
244
+ * */
245
+ fromTypeFieldName = "fromTypeFieldName",
246
+ /**
247
+ * Relationship origin primary field value.
248
+ * */
249
+ fromTypePrimaryFieldValue = "fromTypePrimaryFieldValue",
250
+ /**
251
+ * Relationship destination primary field value.
252
+ * */
253
+ toTypePrimaryFieldValue = "toTypePrimaryFieldValue"
254
+ }
255
+ /**
256
+ * The identifying keys for item relationship info.
257
+ * */
258
+ declare enum ItemRelationshipInfoIdentifyingKeys {
259
+ /**
260
+ * Identifier value for a relationship item.
261
+ * */
262
+ id = "id"
263
+ }
264
+ /**
265
+ * The basis for an `ItemRelationshipInfo` without an assigned identifier.
266
+ * */
267
+ type BaseItemRelationshipInfo = Record<ItemRelationshipInfoKeys, string>;
268
+ /**
269
+ * An item containing the information about a relationship between two items.
270
+ * */
271
+ type ItemRelationshipInfo = BaseItemRelationshipInfo & Record<ItemRelationshipInfoIdentifyingKeys, string>;
272
+ /**
273
+ * The origination portion of an `ItemRelationshipInfo`.
274
+ * */
275
+ type ItemRelationshipOriginInfo = Record<ItemRelationshipInfoKeys.fromTypeName | ItemRelationshipInfoKeys.fromTypeFieldName, string>;
276
+ /**
277
+ * The origination portion of an `ItemRelationshipInfo` for a specific item and field relationship.
278
+ * */
279
+ type ItemRelationshipOriginItemInfo = ExpandComplexType<ItemRelationshipOriginInfo & Record<ItemRelationshipInfoKeys.fromTypePrimaryFieldValue, string>>;
280
+ /**
281
+ * The destination portion of an `ItemRelationshipInfo` for a specific, related item.
282
+ * */
283
+ type ItemRelationshipDestinationItemInfo = Record<ItemRelationshipInfoKeys.toTypePrimaryFieldValue, string>;
284
+ /**
285
+ * The originating item info portion of an `ItemRelationshipInfo`.
286
+ *
287
+ * Used for relationship originating from a specific item, regardless of field relationship.
288
+ * */
289
+ type ItemRelationshipOriginatingItemInfo = Record<ItemRelationshipInfoKeys.fromTypeName | ItemRelationshipInfoKeys.fromTypePrimaryFieldValue, string>;
290
+ /**
291
+ * One of the various types describing an item relationship.
292
+ * */
293
+ type ItemRelationshipInfoType = BaseItemRelationshipInfo | ItemRelationshipInfo | ItemRelationshipOriginInfo | ItemRelationshipOriginItemInfo;
294
+
295
+ type ItemRelationshipInfoTypes_BaseItemRelationshipInfo = BaseItemRelationshipInfo;
296
+ type ItemRelationshipInfoTypes_ItemRelationshipDestinationItemInfo = ItemRelationshipDestinationItemInfo;
297
+ type ItemRelationshipInfoTypes_ItemRelationshipInfo = ItemRelationshipInfo;
298
+ type ItemRelationshipInfoTypes_ItemRelationshipInfoIdentifyingKeys = ItemRelationshipInfoIdentifyingKeys;
299
+ declare const ItemRelationshipInfoTypes_ItemRelationshipInfoIdentifyingKeys: typeof ItemRelationshipInfoIdentifyingKeys;
300
+ type ItemRelationshipInfoTypes_ItemRelationshipInfoKeys = ItemRelationshipInfoKeys;
301
+ declare const ItemRelationshipInfoTypes_ItemRelationshipInfoKeys: typeof ItemRelationshipInfoKeys;
302
+ type ItemRelationshipInfoTypes_ItemRelationshipInfoType = ItemRelationshipInfoType;
303
+ type ItemRelationshipInfoTypes_ItemRelationshipOriginInfo = ItemRelationshipOriginInfo;
304
+ type ItemRelationshipInfoTypes_ItemRelationshipOriginItemInfo = ItemRelationshipOriginItemInfo;
305
+ type ItemRelationshipInfoTypes_ItemRelationshipOriginatingItemInfo = ItemRelationshipOriginatingItemInfo;
306
+ declare namespace ItemRelationshipInfoTypes {
307
+ export { type ItemRelationshipInfoTypes_BaseItemRelationshipInfo as BaseItemRelationshipInfo, type ItemRelationshipInfoTypes_ItemRelationshipDestinationItemInfo as ItemRelationshipDestinationItemInfo, type ItemRelationshipInfoTypes_ItemRelationshipInfo as ItemRelationshipInfo, ItemRelationshipInfoTypes_ItemRelationshipInfoIdentifyingKeys as ItemRelationshipInfoIdentifyingKeys, ItemRelationshipInfoTypes_ItemRelationshipInfoKeys as ItemRelationshipInfoKeys, type ItemRelationshipInfoTypes_ItemRelationshipInfoType as ItemRelationshipInfoType, type ItemRelationshipInfoTypes_ItemRelationshipOriginInfo as ItemRelationshipOriginInfo, type ItemRelationshipInfoTypes_ItemRelationshipOriginItemInfo as ItemRelationshipOriginItemInfo, type ItemRelationshipInfoTypes_ItemRelationshipOriginatingItemInfo as ItemRelationshipOriginatingItemInfo };
308
+ }
309
+
310
+ /**
311
+ * Search-related types used by list/search APIs.
312
+ */
313
+
314
+ /**
315
+ * The logical operators for a search criteria.
316
+ * */
317
+ declare enum LogicalOperators {
318
+ /**
319
+ * Require all criteria to match.
320
+ * */
321
+ AND = "AND",
322
+ /**
323
+ * Require any criteria to match.
324
+ * */
325
+ OR = "OR"
326
+ }
327
+ /**
328
+ * The comparison operators for a field criterion.
329
+ * */
330
+ declare enum ComparisonOperators {
331
+ /**
332
+ * Field value equals the criterion value.
333
+ * */
334
+ EQUALS = "EQUALS",
335
+ /**
336
+ * Field value does not equal the criterion value.
337
+ * */
338
+ NOT_EQUALS = "NOT_EQUALS",
339
+ /**
340
+ * Field value is greater than the criterion value.
341
+ * */
342
+ GREATER_THAN = "GREATER_THAN",
343
+ /**
344
+ * Field value is greater than or equal to the criterion value.
345
+ * */
346
+ GREATER_THAN_OR_EQUAL = "GREATER_THAN_OR_EQUAL",
347
+ /**
348
+ * Field value is less than the criterion value.
349
+ * */
350
+ LESS_THAN = "LESS_THAN",
351
+ /**
352
+ * Field value is less than or equal to the criterion value.
353
+ * */
354
+ LESS_THAN_OR_EQUAL = "LESS_THAN_OR_EQUAL",
355
+ /**
356
+ * Field value is in the provided options.
357
+ * */
358
+ IN = "IN",
359
+ /**
360
+ * Field value is not in the provided options.
361
+ * */
362
+ NOT_IN = "NOT_IN",
363
+ /**
364
+ * Field value contains the criterion value as a substring.
365
+ * */
366
+ LIKE = "LIKE",
367
+ /**
368
+ * Field value does not contain the criterion value as a substring.
369
+ * */
370
+ NOT_LIKE = "NOT_LIKE",
371
+ /**
372
+ * Field value exists and is not null.
373
+ * */
374
+ EXISTS = "EXISTS",
375
+ /**
376
+ * Field value is missing or null.
377
+ * */
378
+ NOT_EXISTS = "NOT_EXISTS",
379
+ /**
380
+ * Field value is not empty.
381
+ * */
382
+ IS_NOT_EMPTY = "IS_NOT_EMPTY",
383
+ /**
384
+ * Field value is empty.
385
+ * */
386
+ IS_EMPTY = "IS_EMPTY",
387
+ /**
388
+ * Field value is within an inclusive range.
389
+ * */
390
+ BETWEEN = "BETWEEN",
391
+ /**
392
+ * Field value is outside an inclusive range.
393
+ * */
394
+ NOT_BETWEEN = "NOT_BETWEEN",
395
+ /**
396
+ * Field value array contains the criterion value.
397
+ * */
398
+ CONTAINS = "CONTAINS",
399
+ /**
400
+ * Field value array does not contain the criterion value.
401
+ * */
402
+ NOT_CONTAINS = "NOT_CONTAINS",
403
+ /**
404
+ * Field value starts with the criterion value.
405
+ * */
406
+ STARTS_WITH = "STARTS_WITH",
407
+ /**
408
+ * Field value ends with the criterion value.
409
+ * */
410
+ ENDS_WITH = "ENDS_WITH",
411
+ /**
412
+ * Field value does not start with the criterion value.
413
+ * */
414
+ DOES_NOT_START_WITH = "DOES_NOT_START_WITH",
415
+ /**
416
+ * Field value does not end with the criterion value.
417
+ * */
418
+ DOES_NOT_END_WITH = "DOES_NOT_END_WITH"
419
+ }
420
+ /**
421
+ * The field criterion for a search criteria.
422
+ * */
423
+ type FieldCriterion = {
424
+ /**
425
+ * Field name to compare.
426
+ * */
427
+ fieldName: string;
428
+ /**
429
+ * Comparison operator to apply.
430
+ * */
431
+ operator?: ComparisonOperators;
432
+ /**
433
+ * Custom operator label when using backend-specific operators.
434
+ * */
435
+ customOperator?: string;
436
+ /**
437
+ * Primary comparison value.
438
+ * */
439
+ value?: any;
440
+ /**
441
+ * Comparison value options (e.g., IN/BETWEEN).
442
+ * */
443
+ valueOptions?: any[];
444
+ };
445
+ /**
446
+ * The criteria for a search.
447
+ * */
448
+ type SearchCriteria = {
449
+ /**
450
+ * Logical operator to apply across field criteria.
451
+ * */
452
+ logicalOperator: LogicalOperators;
453
+ /**
454
+ * Field-level criteria to evaluate.
455
+ * */
456
+ fieldCriteria: FieldCriterion[];
457
+ };
458
+ /**
459
+ * The results from a request to list items.
460
+ * */
461
+ type ListItemsResults<ItemType extends Record<any, any>> = {
462
+ /**
463
+ * Cursor for paging into the next page, when available.
464
+ * */
465
+ cursor?: string;
466
+ /**
467
+ * Items returned by the request.
468
+ * */
469
+ items: ItemType[];
470
+ };
471
+ /**
472
+ * The information used to sort a list of items by a specified field.
473
+ * */
474
+ type SortField = {
475
+ /**
476
+ * Field name to sort by.
477
+ * */
478
+ field?: string;
479
+ /**
480
+ * Whether to reverse sort order.
481
+ * */
482
+ reverse?: boolean;
483
+ };
484
+ /**
485
+ * The data used to page a specific set of search results that uses full paging.
486
+ * @see SupportedTags.fullPaging
487
+ * */
488
+ type StandardExpandedPagingCursor = {
489
+ /**
490
+ * Current page number.
491
+ * */
492
+ currentPage?: number;
493
+ /**
494
+ * Total number of pages available.
495
+ * */
496
+ totalPages?: number;
497
+ };
498
+ /**
499
+ * The information for paging through a list of items.
500
+ * */
501
+ type PagingInfo = {
502
+ /**
503
+ * Items per page to request.
504
+ * */
505
+ itemsPerPage?: number;
506
+ /**
507
+ * Cursor token for paging.
508
+ * */
509
+ cursor?: string;
510
+ };
511
+ /**
512
+ * Configuration for full-text search requests.
513
+ * */
514
+ type TextSearchConfig = {
515
+ /**
516
+ * Text query to search for.
517
+ * */
518
+ query: string;
519
+ /**
520
+ * Index mode to use when searching.
521
+ * */
522
+ mode?: "lossy" | "exact";
523
+ /**
524
+ * Optional index field name.
525
+ * */
526
+ indexField?: string;
527
+ };
528
+ /**
529
+ * The configuration for listing and searching for items.
530
+ * */
531
+ type ListItemsConfig = PagingInfo & {
532
+ /**
533
+ * Structured search criteria.
534
+ * */
535
+ criteria?: SearchCriteria;
536
+ /**
537
+ * Sort fields to apply.
538
+ * */
539
+ sortFields?: SortField[];
540
+ /**
541
+ * Full-text search configuration.
542
+ * */
543
+ text?: TextSearchConfig;
544
+ };
545
+ /**
546
+ * A configuration for listing relationships.
547
+ * */
548
+ type ListRelationshipsConfig = PagingInfo & {
549
+ /**
550
+ * Relationship origin info used to filter related records.
551
+ * */
552
+ relationshipItemOrigin: ItemRelationshipOriginItemInfo;
553
+ };
554
+ /**
555
+ * The results from a request to list relationships.
556
+ * */
557
+ type ListRelationshipsResults = ListItemsResults<ItemRelationshipInfo>;
558
+
559
+ type SearchTypes_ComparisonOperators = ComparisonOperators;
560
+ declare const SearchTypes_ComparisonOperators: typeof ComparisonOperators;
561
+ type SearchTypes_FieldCriterion = FieldCriterion;
562
+ type SearchTypes_ListItemsConfig = ListItemsConfig;
563
+ type SearchTypes_ListItemsResults<ItemType extends Record<any, any>> = ListItemsResults<ItemType>;
564
+ type SearchTypes_ListRelationshipsConfig = ListRelationshipsConfig;
565
+ type SearchTypes_ListRelationshipsResults = ListRelationshipsResults;
566
+ type SearchTypes_LogicalOperators = LogicalOperators;
567
+ declare const SearchTypes_LogicalOperators: typeof LogicalOperators;
568
+ type SearchTypes_PagingInfo = PagingInfo;
569
+ type SearchTypes_SearchCriteria = SearchCriteria;
570
+ type SearchTypes_SortField = SortField;
571
+ type SearchTypes_StandardExpandedPagingCursor = StandardExpandedPagingCursor;
572
+ type SearchTypes_TextSearchConfig = TextSearchConfig;
573
+ declare namespace SearchTypes {
574
+ export { SearchTypes_ComparisonOperators as ComparisonOperators, type SearchTypes_FieldCriterion as FieldCriterion, type SearchTypes_ListItemsConfig as ListItemsConfig, type SearchTypes_ListItemsResults as ListItemsResults, type SearchTypes_ListRelationshipsConfig as ListRelationshipsConfig, type SearchTypes_ListRelationshipsResults as ListRelationshipsResults, SearchTypes_LogicalOperators as LogicalOperators, type SearchTypes_PagingInfo as PagingInfo, type SearchTypes_SearchCriteria as SearchCriteria, type SearchTypes_SortField as SortField, type SearchTypes_StandardExpandedPagingCursor as StandardExpandedPagingCursor, type SearchTypes_TextSearchConfig as TextSearchConfig };
575
+ }
576
+
577
+ export { type BaseItemRelationshipInfo as B, ComparisonOperators as C, type ExpandComplexType as E, type FieldCriterion as F, HelperTypes$1 as H, type ItemRelationshipInfo as I, type ListRelationshipsConfig as L, type SearchCriteria as S, type TypeInfoDataItem as T, type ListItemsResults as a, type ListItemsConfig as b, TypeOperation as c, type TypeKeyword as d, type TypeInfoField as e, type TypeInfoMap as f, type TypeInfo as g, TypeInfo$1 as h, type SortField as i, type ItemRelationshipInfoType as j, ItemRelationshipInfoKeys as k, ItemRelationshipInfoTypes as l, SearchTypes as m, type TypeInfoPack as n, ItemRelationshipInfoIdentifyingKeys as o, type LiteralValue as p, type ItemRelationshipOriginatingItemInfo as q, type ItemRelationshipOriginInfo as r };