@resistdesign/voltra 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (375) hide show
  1. package/README.md +327 -7
  2. package/api/DBX/DBXAsserts.d.ts +95 -0
  3. package/api/DBX/DBXRequest.d.ts +5 -0
  4. package/api/DBX/DBXRuntime.d.ts +5 -0
  5. package/api/DBX/DBXScenarioConfig.d.ts +9 -0
  6. package/api/DBX/DBXSeed.d.ts +124 -0
  7. package/api/DBX/DBXTypes.d.ts +176 -0
  8. package/api/DBX/index.d.ts +8 -0
  9. package/api/DataAccessControl.d.ts +220 -0
  10. package/api/Indexing/API.d.ts +224 -0
  11. package/api/Indexing/Cursor.d.ts +101 -0
  12. package/api/Indexing/Handler/Config.d.ts +39 -0
  13. package/api/Indexing/Handler.d.ts +166 -0
  14. package/api/Indexing/Trace.d.ts +54 -0
  15. package/api/Indexing/Types.d.ts +204 -0
  16. package/api/Indexing/ddb/AwsSdkV3Adapter.d.ts +8 -0
  17. package/api/Indexing/ddb/Types.d.ts +169 -0
  18. package/api/Indexing/docId.d.ts +27 -0
  19. package/api/Indexing/exact/ExactDdb.d.ts +58 -0
  20. package/api/Indexing/exact/ExactIndex.d.ts +90 -0
  21. package/api/Indexing/exact/ExactS3.d.ts +41 -0
  22. package/api/Indexing/fieldQualification.d.ts +12 -0
  23. package/api/Indexing/fulltext/FullTextDdbBackend.d.ts +210 -0
  24. package/api/Indexing/fulltext/FullTextMemoryBackend.d.ts +93 -0
  25. package/api/Indexing/fulltext/Schema.d.ts +164 -0
  26. package/api/Indexing/hashUniversal.d.ts +13 -0
  27. package/api/Indexing/index.d.ts +45 -0
  28. package/api/Indexing/lossy/LossyDdb.d.ts +43 -0
  29. package/api/Indexing/lossy/LossyIndex.d.ts +72 -0
  30. package/api/Indexing/lossy/LossyS3.d.ts +40 -0
  31. package/api/Indexing/rel/Cursor.d.ts +25 -0
  32. package/api/Indexing/rel/Handlers.d.ts +143 -0
  33. package/api/Indexing/rel/RelationalDdb.d.ts +169 -0
  34. package/api/Indexing/rel/RelationalInMemoryBackend.d.ts +38 -0
  35. package/api/Indexing/rel/Types.d.ts +69 -0
  36. package/api/Indexing/structured/Cursor.d.ts +26 -0
  37. package/api/Indexing/structured/Handlers.d.ts +128 -0
  38. package/api/Indexing/structured/SearchStructured.d.ts +44 -0
  39. package/api/Indexing/structured/StructuredDdb.d.ts +166 -0
  40. package/api/Indexing/structured/StructuredDdbBackend.d.ts +109 -0
  41. package/api/Indexing/structured/StructuredInMemoryBackend.d.ts +34 -0
  42. package/api/Indexing/structured/StructuredInMemoryIndex.d.ts +58 -0
  43. package/api/Indexing/structured/StructuredStringLike.d.ts +25 -0
  44. package/api/Indexing/structured/StructuredWriter.d.ts +61 -0
  45. package/api/Indexing/structured/Types.d.ts +126 -0
  46. package/api/Indexing/structured/index.d.ts +9 -0
  47. package/api/Indexing/tokenize.d.ts +31 -0
  48. package/api/ORM/DACUtils.d.ts +270 -0
  49. package/api/ORM/ListItemUtils.d.ts +40 -0
  50. package/api/ORM/ORMRouteMap.d.ts +55 -0
  51. package/api/ORM/TypeInfoORMService.d.ts +555 -0
  52. package/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +229 -0
  53. package/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +89 -0
  54. package/api/ORM/drivers/InMemoryDataItemDBDriver/ConfigTypes.d.ts +4 -0
  55. package/api/ORM/drivers/InMemoryDataItemDBDriver.d.ts +55 -0
  56. package/api/ORM/drivers/InMemoryFileItemDBDriver/ConfigTypes.d.ts +13 -0
  57. package/api/ORM/drivers/InMemoryFileItemDBDriver.d.ts +98 -0
  58. package/api/ORM/drivers/InMemoryItemRelationshipDBDriver.d.ts +16 -0
  59. package/api/ORM/drivers/IndexingRelationshipDriver.d.ts +123 -0
  60. package/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +322 -0
  61. package/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +118 -0
  62. package/{src/api → api}/ORM/drivers/S3FileItemDBDriver.d.ts +27 -0
  63. package/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +36 -0
  64. package/{src/api → api}/ORM/drivers/common/Types.d.ts +120 -0
  65. package/api/ORM/drivers/index.d.ts +7 -0
  66. package/api/ORM/index.d.ts +7 -0
  67. package/api/ORM/indexing/criteriaToStructuredWhere.d.ts +17 -0
  68. package/api/Router/AWS.d.ts +80 -0
  69. package/api/Router/Auth.d.ts +14 -0
  70. package/api/Router/CORS.d.ts +66 -0
  71. package/{src/api → api}/Router/Types.d.ts +70 -4
  72. package/api/Router/index.d.ts +89 -0
  73. package/api/index.d.ts +68 -0
  74. package/api/index.js +9204 -0
  75. package/app/forms/Engine.d.ts +20 -0
  76. package/app/forms/core/createAutoField.d.ts +35 -0
  77. package/app/forms/core/createFormRenderer.d.ts +24 -0
  78. package/app/forms/core/getFieldKind.d.ts +14 -0
  79. package/app/forms/core/index.d.ts +11 -0
  80. package/app/forms/core/mergeSuites.d.ts +22 -0
  81. package/app/forms/core/resolveSuite.d.ts +14 -0
  82. package/app/forms/core/types.d.ts +153 -0
  83. package/app/forms/index.d.ts +9 -0
  84. package/app/forms/types.d.ts +156 -0
  85. package/app/helpers/styled.d.ts +3 -0
  86. package/app/index.d.ts +98 -0
  87. package/app/index.js +1386 -0
  88. package/{src/app → app}/utils/ApplicationState.d.ts +115 -0
  89. package/{src/app → app}/utils/ApplicationStateLoader.d.ts +40 -0
  90. package/app/utils/Controller.d.ts +10 -0
  91. package/app/utils/Debug.d.ts +14 -0
  92. package/app/utils/EasyLayout.d.ts +89 -0
  93. package/app/utils/History.d.ts +148 -0
  94. package/app/utils/Route.d.ts +129 -0
  95. package/app/utils/RouteHistory.d.ts +26 -0
  96. package/app/utils/Service.d.ts +45 -0
  97. package/app/utils/TypeInfoORMAPIUtils.d.ts +94 -0
  98. package/app/utils/TypeInfoORMClient.d.ts +103 -0
  99. package/app/utils/easy-layout/computeAreaBounds.d.ts +5 -0
  100. package/app/utils/easy-layout/computeTracks.d.ts +16 -0
  101. package/app/utils/easy-layout/index.d.ts +5 -0
  102. package/app/utils/easy-layout/parseTemplate.d.ts +12 -0
  103. package/app/utils/easy-layout/types.d.ts +52 -0
  104. package/app/utils/easy-layout/validateAreas.d.ts +5 -0
  105. package/app/utils/index.d.ts +23 -0
  106. package/{src/common/TypeParsing → build}/TypeMapping.d.ts +8 -0
  107. package/build/TypeParsing.d.ts +10 -0
  108. package/build/index.d.ts +15 -0
  109. package/build/index.js +579 -0
  110. package/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +9 -0
  111. package/common/CommandLine/index.d.ts +6 -0
  112. package/common/HelperTypes.d.ts +9 -0
  113. package/common/IdGeneration/getSimpleId.d.ts +8 -0
  114. package/{src/common → common}/ItemRelationshipInfoTypes.d.ts +19 -1
  115. package/common/ItemRelationships/ItemRelationshipValidation.d.ts +21 -0
  116. package/common/Logging/Utils.d.ts +19 -0
  117. package/common/Routing.d.ts +67 -0
  118. package/common/SearchTypes.d.ts +248 -0
  119. package/common/SearchUtils.d.ts +55 -0
  120. package/{src/common → common}/SearchValidation.d.ts +10 -0
  121. package/{src/common → common}/StringTransformers.d.ts +11 -0
  122. package/common/Testing/CLI.d.ts +6 -0
  123. package/common/Testing/CLI.js +432 -0
  124. package/{src/common → common}/Testing/Types.d.ts +103 -4
  125. package/{src/common → common}/Testing/Utils.d.ts +65 -1
  126. package/common/Testing/index.d.ts +8 -0
  127. package/common/TypeInfoDataItemUtils.d.ts +39 -0
  128. package/common/TypeInfoORM/Types.d.ts +342 -0
  129. package/common/TypeParsing/Constants.d.ts +4 -0
  130. package/{src/common → common}/TypeParsing/ParsingUtils/Constants.d.ts +3 -0
  131. package/{src/common → common}/TypeParsing/ParsingUtils/checkType.d.ts +6 -0
  132. package/{src/common → common}/TypeParsing/ParsingUtils/checkUnionType.d.ts +6 -0
  133. package/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +8 -0
  134. package/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +12 -0
  135. package/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +14 -0
  136. package/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +18 -0
  137. package/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +9 -0
  138. package/{src/common → common}/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +6 -0
  139. package/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +11 -0
  140. package/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +12 -0
  141. package/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +11 -0
  142. package/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +9 -0
  143. package/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +11 -0
  144. package/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +8 -0
  145. package/{src/common → common}/TypeParsing/TypeInfo.d.ts +61 -1
  146. package/{src/common → common}/TypeParsing/Utils.d.ts +26 -0
  147. package/{src/common → common}/TypeParsing/Validation.d.ts +105 -0
  148. package/common/TypeParsing/index.d.ts +8 -0
  149. package/common/index.d.ts +50 -0
  150. package/common/index.js +413 -0
  151. package/{src/iac → iac}/SimpleCFT.d.ts +46 -2
  152. package/iac/index.d.ts +40 -0
  153. package/iac/index.js +258 -0
  154. package/iac/packs/auth/user-management.d.ts +80 -0
  155. package/iac/packs/auth.d.ts +86 -0
  156. package/iac/packs/build/utils.d.ts +289 -0
  157. package/iac/packs/build.d.ts +92 -0
  158. package/iac/packs/cdn.d.ts +33 -0
  159. package/iac/packs/cloud-function.d.ts +67 -0
  160. package/{src/iac → iac}/packs/database.d.ts +4 -1
  161. package/{src/iac → iac}/packs/dns.d.ts +22 -1
  162. package/iac/packs/file-storage.d.ts +46 -0
  163. package/iac/packs/gateway.d.ts +79 -0
  164. package/iac/packs/index.d.ts +60 -0
  165. package/iac/packs/index.js +1622 -0
  166. package/iac/packs/repo.d.ts +28 -0
  167. package/iac/packs/ssl-certificate.d.ts +28 -0
  168. package/{src/iac → iac}/types/Constants.d.ts +15 -0
  169. package/iac/types/Renderers.d.ts +96 -0
  170. package/iac/types/Types.d.ts +131 -0
  171. package/iac/types/Utils.d.ts +9 -0
  172. package/{src/iac → iac}/utils/index.d.ts +56 -5
  173. package/iac/utils/patch-utils.d.ts +66 -0
  174. package/native/forms/createNativeFormRenderer.d.ts +21 -0
  175. package/native/forms/index.d.ts +8 -0
  176. package/native/forms/primitives/index.d.ts +48 -0
  177. package/native/forms/suite.d.ts +15 -0
  178. package/native/index.d.ts +15 -0
  179. package/native/index.js +1323 -0
  180. package/native/utils/EasyLayout.d.ts +88 -0
  181. package/native/utils/History.d.ts +113 -0
  182. package/native/utils/NativeRoute.d.ts +44 -0
  183. package/native/utils/Route.d.ts +50 -0
  184. package/native/utils/index.d.ts +11 -0
  185. package/package.json +87 -42
  186. package/web/forms/UI.d.ts +67 -0
  187. package/web/forms/createWebFormRenderer.d.ts +21 -0
  188. package/web/forms/index.d.ts +9 -0
  189. package/web/forms/primitives/index.d.ts +21 -0
  190. package/web/forms/suite.d.ts +15 -0
  191. package/web/index.d.ts +15 -0
  192. package/web/index.js +1297 -0
  193. package/web/utils/EasyLayout.d.ts +47 -0
  194. package/web/utils/Route.d.ts +20 -0
  195. package/web/utils/index.d.ts +7 -0
  196. package/src/api/DataAccessControl.d.ts +0 -85
  197. package/src/api/DataAccessControl.js +0 -159
  198. package/src/api/ORM/DACUtils.d.ts +0 -60
  199. package/src/api/ORM/DACUtils.js +0 -197
  200. package/src/api/ORM/ListItemUtils.d.ts +0 -7
  201. package/src/api/ORM/ListItemUtils.js +0 -22
  202. package/src/api/ORM/ORMRouteMap.d.ts +0 -19
  203. package/src/api/ORM/ORMRouteMap.js +0 -82
  204. package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
  205. package/src/api/ORM/TypeInfoORMService.js +0 -581
  206. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
  207. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
  208. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
  209. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
  210. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
  211. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
  212. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
  213. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
  214. package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
  215. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
  216. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
  217. package/src/api/ORM/drivers/common/Types.js +0 -14
  218. package/src/api/ORM/drivers/common/index.js +0 -18
  219. package/src/api/ORM/drivers/index.d.ts +0 -3
  220. package/src/api/ORM/drivers/index.js +0 -19
  221. package/src/api/ORM/index.d.ts +0 -4
  222. package/src/api/ORM/index.js +0 -43
  223. package/src/api/Router/AWS.d.ts +0 -26
  224. package/src/api/Router/AWS.js +0 -76
  225. package/src/api/Router/Auth.d.ts +0 -2
  226. package/src/api/Router/Auth.js +0 -9
  227. package/src/api/Router/CORS.d.ts +0 -6
  228. package/src/api/Router/CORS.js +0 -27
  229. package/src/api/Router/Types.js +0 -2
  230. package/src/api/Router/index.d.ts +0 -18
  231. package/src/api/Router/index.js +0 -145
  232. package/src/api/index.d.ts +0 -3
  233. package/src/api/index.js +0 -39
  234. package/src/app/index.d.ts +0 -1
  235. package/src/app/index.js +0 -37
  236. package/src/app/utils/ApplicationState.js +0 -86
  237. package/src/app/utils/ApplicationStateLoader.js +0 -57
  238. package/src/app/utils/Controller.d.ts +0 -4
  239. package/src/app/utils/Controller.js +0 -47
  240. package/src/app/utils/Debug.d.ts +0 -4
  241. package/src/app/utils/Debug.js +0 -30
  242. package/src/app/utils/EasyLayout.d.ts +0 -49
  243. package/src/app/utils/EasyLayout.js +0 -122
  244. package/src/app/utils/Route.d.ts +0 -28
  245. package/src/app/utils/Route.js +0 -102
  246. package/src/app/utils/Service.d.ts +0 -12
  247. package/src/app/utils/Service.js +0 -34
  248. package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
  249. package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
  250. package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
  251. package/src/app/utils/TypeInfoORMClient.js +0 -69
  252. package/src/app/utils/index.d.ts +0 -8
  253. package/src/app/utils/index.js +0 -24
  254. package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
  255. package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
  256. package/src/common/HelperTypes.d.ts +0 -3
  257. package/src/common/HelperTypes.js +0 -2
  258. package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
  259. package/src/common/IdGeneration/getSimpleId.js +0 -16
  260. package/src/common/IdGeneration/index.js +0 -17
  261. package/src/common/ItemRelationshipInfoTypes.js +0 -20
  262. package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
  263. package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
  264. package/src/common/ItemRelationships/index.js +0 -17
  265. package/src/common/Logging/Utils.d.ts +0 -10
  266. package/src/common/Logging/Utils.js +0 -33
  267. package/src/common/Logging/index.js +0 -17
  268. package/src/common/Routing.d.ts +0 -25
  269. package/src/common/Routing.js +0 -102
  270. package/src/common/SearchTypes.d.ts +0 -98
  271. package/src/common/SearchTypes.js +0 -39
  272. package/src/common/SearchUtils.d.ts +0 -22
  273. package/src/common/SearchUtils.js +0 -134
  274. package/src/common/SearchValidation.js +0 -90
  275. package/src/common/Storyboarding/Types.d.ts +0 -25
  276. package/src/common/Storyboarding/Types.js +0 -2
  277. package/src/common/StringTransformers.js +0 -36
  278. package/src/common/Testing/CLI.d.ts +0 -2
  279. package/src/common/Testing/CLI.js +0 -56
  280. package/src/common/Testing/Types.js +0 -19
  281. package/src/common/Testing/Utils.js +0 -334
  282. package/src/common/Testing/index.d.ts +0 -2
  283. package/src/common/Testing/index.js +0 -18
  284. package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
  285. package/src/common/TypeInfoDataItemUtils.js +0 -55
  286. package/src/common/TypeInfoORM/Types.d.ts +0 -76
  287. package/src/common/TypeInfoORM/Types.js +0 -55
  288. package/src/common/TypeInfoORM/index.js +0 -17
  289. package/src/common/TypeParsing/Constants.d.ts +0 -1
  290. package/src/common/TypeParsing/Constants.js +0 -4
  291. package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
  292. package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
  293. package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
  294. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
  295. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
  296. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
  297. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
  298. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
  299. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
  300. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
  301. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
  302. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
  303. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
  304. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
  305. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
  306. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
  307. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
  308. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
  309. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
  310. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
  311. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
  312. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
  313. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
  314. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
  315. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
  316. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
  317. package/src/common/TypeParsing/TypeInfo.js +0 -13
  318. package/src/common/TypeParsing/TypeMapping.js +0 -32
  319. package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
  320. package/src/common/TypeParsing/TypeParsing.js +0 -39
  321. package/src/common/TypeParsing/Utils.js +0 -94
  322. package/src/common/TypeParsing/Validation.js +0 -340
  323. package/src/common/TypeParsing/index.d.ts +0 -5
  324. package/src/common/TypeParsing/index.js +0 -44
  325. package/src/common/index.d.ts +0 -11
  326. package/src/common/index.js +0 -47
  327. package/src/iac/SimpleCFT.js +0 -82
  328. package/src/iac/index.d.ts +0 -9
  329. package/src/iac/index.js +0 -48
  330. package/src/iac/packs/auth/user-management.d.ts +0 -14
  331. package/src/iac/packs/auth/user-management.js +0 -302
  332. package/src/iac/packs/auth.d.ts +0 -19
  333. package/src/iac/packs/auth.js +0 -47
  334. package/src/iac/packs/build/utils.d.ts +0 -100
  335. package/src/iac/packs/build/utils.js +0 -23
  336. package/src/iac/packs/build.d.ts +0 -29
  337. package/src/iac/packs/build.js +0 -217
  338. package/src/iac/packs/cdn.d.ts +0 -12
  339. package/src/iac/packs/cdn.js +0 -113
  340. package/src/iac/packs/cloud-function.d.ts +0 -17
  341. package/src/iac/packs/cloud-function.js +0 -69
  342. package/src/iac/packs/database.js +0 -27
  343. package/src/iac/packs/dns.js +0 -26
  344. package/src/iac/packs/file-storage.d.ts +0 -14
  345. package/src/iac/packs/file-storage.js +0 -71
  346. package/src/iac/packs/gateway.d.ts +0 -27
  347. package/src/iac/packs/gateway.js +0 -342
  348. package/src/iac/packs/index.d.ts +0 -11
  349. package/src/iac/packs/index.js +0 -27
  350. package/src/iac/packs/repo.d.ts +0 -10
  351. package/src/iac/packs/repo.js +0 -34
  352. package/src/iac/packs/ssl-certificate.d.ts +0 -10
  353. package/src/iac/packs/ssl-certificate.js +0 -36
  354. package/src/iac/types/Constants.js +0 -20
  355. package/src/iac/types/IaCTypes.js +0 -14
  356. package/src/iac/types/Renderers.d.ts +0 -12
  357. package/src/iac/types/Renderers.js +0 -112
  358. package/src/iac/types/Types.d.ts +0 -37
  359. package/src/iac/types/Types.js +0 -2
  360. package/src/iac/types/Utils.d.ts +0 -2
  361. package/src/iac/types/Utils.js +0 -60
  362. package/src/iac/types/generate.js +0 -31
  363. package/src/iac/utils/index.js +0 -105
  364. package/src/iac/utils/patch-utils.d.ts +0 -15
  365. package/src/iac/utils/patch-utils.js +0 -62
  366. package/src/index.d.ts +0 -178
  367. package/src/index.js +0 -214
  368. /package/{src/api → api}/ORM/drivers/common/index.d.ts +0 -0
  369. /package/{src/common → common}/IdGeneration/index.d.ts +0 -0
  370. /package/{src/common → common}/ItemRelationships/index.d.ts +0 -0
  371. /package/{src/common → common}/Logging/index.d.ts +0 -0
  372. /package/{src/common → common}/TypeInfoORM/index.d.ts +0 -0
  373. /package/{src/iac → iac}/types/CloudFormationResourceSpecification.d.ts +0 -0
  374. /package/{src/iac → iac}/types/IaCTypes.d.ts +0 -0
  375. /package/{src/iac → iac}/types/generate.d.ts +0 -0
package/iac/index.js ADDED
@@ -0,0 +1,258 @@
1
+ import YAML from 'yaml';
2
+
3
+ // src/iac/utils/patch-utils.ts
4
+ var DEFAULT_MERGE_STRATEGY = "transpose";
5
+ var getValuePathString = (valuePathArray = []) => valuePathArray.map((p) => encodeURIComponent(p)).join("/");
6
+ var getValuePathArray = (valuePathString = "") => valuePathString.split("/").map((p) => decodeURIComponent(p));
7
+ var isConstructedFrom = (value, constructorReference) => value !== null && typeof value === "object" && "constructor" in value && value.constructor === constructorReference;
8
+ var mergeValues = (valuePathArray = [], existingValue, newValue, mergeStrategyMap = {}) => {
9
+ const valuePathString = getValuePathString(valuePathArray);
10
+ const arrayIndexWildcardValuePathString = getValuePathString(
11
+ valuePathArray.map((p) => typeof p === "number" ? "#" : p)
12
+ );
13
+ const {
14
+ [valuePathString]: {
15
+ strategy: specificKeyMergeStrategy = DEFAULT_MERGE_STRATEGY,
16
+ data: specificKeyMergeStrategyData = void 0
17
+ } = {},
18
+ [arrayIndexWildcardValuePathString]: {
19
+ strategy: arrayIndexWildcardMergeStrategy = DEFAULT_MERGE_STRATEGY,
20
+ data: arrayIndexWildcardMergeStrategyData = void 0
21
+ } = {}
22
+ } = mergeStrategyMap;
23
+ const mergeStrategy = valuePathString in mergeStrategyMap ? specificKeyMergeStrategy : arrayIndexWildcardMergeStrategy;
24
+ const mergeStrategyData = valuePathString in mergeStrategyMap ? specificKeyMergeStrategyData : arrayIndexWildcardMergeStrategyData;
25
+ let mergedValue = typeof newValue !== "undefined" ? newValue : existingValue;
26
+ if (mergeStrategy !== "replace") {
27
+ if (isConstructedFrom(existingValue, Array) && isConstructedFrom(newValue, Array)) {
28
+ if (mergeStrategy === "accumulate") {
29
+ mergedValue = [...existingValue, ...newValue];
30
+ } else if (mergeStrategy === "accumulate-unique") {
31
+ mergedValue = [
32
+ ...existingValue,
33
+ ...newValue.filter((item) => existingValue.indexOf(item) === -1)
34
+ ];
35
+ } else if (mergeStrategy === "accumulate-unique-by") {
36
+ const existingItemMap = {};
37
+ const newItemMap = {};
38
+ for (let i = 0; i < existingValue.length; i++) {
39
+ const existingItem = existingValue[i];
40
+ if (existingItem && typeof existingItem === "object") {
41
+ const identifier = mergeStrategyData instanceof Function ? mergeStrategyData(existingItem) : existingItem[mergeStrategyData];
42
+ existingItemMap[identifier] = existingItem;
43
+ }
44
+ }
45
+ for (let j = 0; j < newValue.length; j++) {
46
+ const newItem = newValue[j];
47
+ if (newItem && typeof newItem === "object") {
48
+ const identifier = mergeStrategyData instanceof Function ? mergeStrategyData(newItem) : newItem[mergeStrategyData];
49
+ newItemMap[identifier] = newItem;
50
+ }
51
+ }
52
+ mergedValue = Object.keys({
53
+ ...existingItemMap,
54
+ ...newItemMap
55
+ }).map(
56
+ (id, index) => mergeValues(
57
+ [...valuePathArray, index],
58
+ existingItemMap[id],
59
+ newItemMap[id],
60
+ mergeStrategyMap
61
+ )
62
+ );
63
+ } else if (mergeStrategy === "transpose") {
64
+ const fullLength = Math.max(existingValue.length, newValue.length);
65
+ mergedValue = [...new Array(fullLength)].map(
66
+ (_empty, index) => mergeValues(
67
+ [...valuePathArray, index],
68
+ existingValue[index],
69
+ newValue[index],
70
+ mergeStrategyMap
71
+ )
72
+ );
73
+ }
74
+ } else if (isConstructedFrom(existingValue, Object) && isConstructedFrom(newValue, Object)) {
75
+ mergedValue = Object.keys({ ...existingValue, ...newValue }).reduce(
76
+ (acc, k) => ({
77
+ ...acc,
78
+ [k]: mergeValues(
79
+ [...valuePathArray, k],
80
+ existingValue[k],
81
+ newValue[k],
82
+ mergeStrategyMap
83
+ )
84
+ }),
85
+ {}
86
+ );
87
+ }
88
+ }
89
+ return mergedValue;
90
+ };
91
+
92
+ // src/iac/utils/index.ts
93
+ var addParameter = (parameterInfo, template) => {
94
+ const { ParameterId, Parameter, Label, Group } = parameterInfo;
95
+ const {
96
+ Parameters,
97
+ Metadata: {
98
+ "AWS::CloudFormation::Interface": {
99
+ ParameterGroups = [],
100
+ ParameterLabels = {}
101
+ } = {}
102
+ } = {}
103
+ } = template;
104
+ let NewParameterGroups = ParameterGroups;
105
+ if (Group) {
106
+ const GroupObject = ParameterGroups.filter(
107
+ (g) => g.Label?.default === Group
108
+ )[0];
109
+ NewParameterGroups = GroupObject ? ParameterGroups.map(
110
+ (g) => g.Label?.default === Group ? {
111
+ ...g,
112
+ Parameters: [...g.Parameters || [], ParameterId]
113
+ } : g
114
+ ) : [
115
+ ...ParameterGroups,
116
+ {
117
+ Label: {
118
+ default: Group
119
+ },
120
+ Parameters: [ParameterId]
121
+ }
122
+ ];
123
+ }
124
+ return {
125
+ ...template,
126
+ Parameters: {
127
+ ...Parameters,
128
+ [ParameterId]: Parameter
129
+ },
130
+ Metadata: {
131
+ ...template.Metadata,
132
+ "AWS::CloudFormation::Interface": {
133
+ ...template?.Metadata?.["AWS::CloudFormation::Interface"],
134
+ ParameterGroups: NewParameterGroups,
135
+ ParameterLabels: {
136
+ ...ParameterLabels,
137
+ [ParameterId]: {
138
+ default: Label
139
+ }
140
+ }
141
+ }
142
+ }
143
+ };
144
+ };
145
+ var addParameters = (parameters, template) => parameters.reduce((acc, p) => addParameter(p, acc), template);
146
+ var patchTemplate = (patch, template) => mergeValues([], template, patch, {
147
+ [getValuePathString([
148
+ // Parameter Groups
149
+ "Metadata",
150
+ "AWS::CloudFormation::Interface",
151
+ "ParameterGroups"
152
+ ])]: {
153
+ strategy: "accumulate-unique-by",
154
+ data: (pG) => pG?.Label?.default
155
+ },
156
+ [getValuePathString([
157
+ // Parameter Group Parameter Ids
158
+ "Metadata",
159
+ "AWS::CloudFormation::Interface",
160
+ "ParameterGroups",
161
+ "#",
162
+ "Parameters"
163
+ ])]: {
164
+ strategy: "accumulate-unique"
165
+ }
166
+ });
167
+ var createResourcePack = (creator) => (params, template) => {
168
+ const patch = creator(params);
169
+ return patchTemplate(patch, template);
170
+ };
171
+ var SimpleCFT = class {
172
+ /**
173
+ * Create a SimpleCFT template wrapper.
174
+ *
175
+ * @param template - Initial CloudFormation template.
176
+ */
177
+ constructor(template = {
178
+ AWSTemplateFormatVersion: "2010-09-09"
179
+ }) {
180
+ this.template = template;
181
+ }
182
+ /**
183
+ * Apply a pack with configuration to the stack template.
184
+ * @see `@resistdesign/voltra/iac` and `@resistdesign/voltra/iac/packs` for examples.
185
+ * */
186
+ applyPack = (pack, params) => {
187
+ this.template = pack(params, this.template);
188
+ return this;
189
+ };
190
+ /**
191
+ * Apply a patch to the stack template.
192
+ *
193
+ * @param patch - Template patch to merge.
194
+ * */
195
+ patch = (patch) => {
196
+ this.template = patchTemplate(patch, this.template);
197
+ return this;
198
+ };
199
+ /**
200
+ * Add a stack parameter including its descriptive info and an optional parameter group.
201
+ *
202
+ * @param parameter - Parameter definition and metadata.
203
+ * */
204
+ addParameter = (parameter) => {
205
+ this.template = addParameter(parameter, this.template);
206
+ return this;
207
+ };
208
+ /**
209
+ * Add a group of stack parameters including their descriptive info and an optional parameter group.
210
+ *
211
+ * @param group - Parameter group definition.
212
+ * */
213
+ addParameterGroup = ({ Label: Group, Parameters }) => {
214
+ const parameterIds = Object.keys(Parameters);
215
+ const parameterList = parameterIds.map((ParameterId) => {
216
+ const { Label, ...Parameter } = Parameters[ParameterId];
217
+ return {
218
+ Group,
219
+ ParameterId,
220
+ Label,
221
+ Parameter
222
+ };
223
+ });
224
+ this.template = addParameters(parameterList, this.template);
225
+ return this;
226
+ };
227
+ /**
228
+ * Use a modification to dynamically apply various changes at once.
229
+ *
230
+ * @param modification - Modification callback to apply.
231
+ * */
232
+ modify = (modification) => {
233
+ modification(this);
234
+ return this;
235
+ };
236
+ /**
237
+ * Convert the stack template to a string.
238
+ *
239
+ * @returns JSON string representation of the template.
240
+ * */
241
+ toString = () => JSON.stringify(this.template, null, 2);
242
+ /**
243
+ * Convert the stack template to a JSON object.
244
+ *
245
+ * @returns Template JSON object.
246
+ * */
247
+ toJSON = () => this.template;
248
+ /**
249
+ * Convert the stack template to a YAML string.
250
+ *
251
+ * @returns YAML string representation of the template.
252
+ * */
253
+ toYAML = () => YAML.stringify(this.template, {
254
+ aliasDuplicateObjects: false
255
+ });
256
+ };
257
+
258
+ export { DEFAULT_MERGE_STRATEGY, SimpleCFT, addParameter, addParameters, createResourcePack, getValuePathArray, getValuePathString, isConstructedFrom, mergeValues, patchTemplate };
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Configuration for adding Cognito user management resources.
3
+ */
4
+ type AddUserManagementConfigBase = {
5
+ /**
6
+ * Base id for Cognito resources.
7
+ */
8
+ id: string;
9
+ /**
10
+ * IAM role name for authenticated users.
11
+ */
12
+ authRoleName: string;
13
+ /**
14
+ * IAM role name for unauthenticated users.
15
+ */
16
+ unauthRoleName: string;
17
+ /**
18
+ * OAuth callback URLs.
19
+ */
20
+ callbackUrls?: any[];
21
+ /**
22
+ * OAuth logout URLs.
23
+ */
24
+ logoutUrls?: any[];
25
+ /**
26
+ * Alias target DNS name for the base domain record.
27
+ */
28
+ baseDomainRecordAliasTargetDNSName?: any;
29
+ /**
30
+ * API Gateway REST API id for authenticated access.
31
+ */
32
+ apiGatewayRESTAPIId?: any;
33
+ /**
34
+ * API Gateway stage name for authenticated access.
35
+ */
36
+ apiStageName?: any;
37
+ };
38
+ type AddUserManagementConfigWithDomain = AddUserManagementConfigBase & {
39
+ /**
40
+ * Enable a custom Cognito user pool domain and associated Route53 records.
41
+ *
42
+ * Defaults to `true`.
43
+ */
44
+ enableUserPoolDomain?: true;
45
+ /**
46
+ * Base domain name for the user pool.
47
+ */
48
+ domainName: any;
49
+ /**
50
+ * Hosted zone id for DNS records.
51
+ */
52
+ hostedZoneId: any;
53
+ /**
54
+ * SSL certificate ARN for the user pool domain.
55
+ */
56
+ sslCertificateArn: any;
57
+ };
58
+ type AddUserManagementConfigWithoutDomain = AddUserManagementConfigBase & {
59
+ /**
60
+ * Disable custom Cognito user pool domain resources.
61
+ */
62
+ enableUserPoolDomain: false;
63
+ domainName?: never;
64
+ hostedZoneId?: never;
65
+ sslCertificateArn?: never;
66
+ baseDomainRecordAliasTargetDNSName?: never;
67
+ };
68
+ /**
69
+ * Configuration for {@link addUserManagement}.
70
+ */
71
+ export type AddUserManagementConfig = AddUserManagementConfigWithDomain | AddUserManagementConfigWithoutDomain;
72
+ /**
73
+ * Add Cognito user management resources to a template.
74
+ *
75
+ * @param config - User management configuration.
76
+ * @returns CloudFormation template fragment.
77
+ * @group Resource Packs
78
+ */
79
+ export declare const addUserManagement: import("../..").ResourcePackApplier<AddUserManagementConfig>;
80
+ export {};
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Configuration for the auth pack.
3
+ */
4
+ type AddAuthConfigBase = {
5
+ /**
6
+ * Cognito user pool resource id.
7
+ */
8
+ userManagementId: string;
9
+ /**
10
+ * IAM role name for authenticated users.
11
+ */
12
+ authRoleName: string;
13
+ /**
14
+ * IAM role name for unauthenticated users.
15
+ */
16
+ unauthRoleName: string;
17
+ /**
18
+ * API Gateway REST API id for the backend.
19
+ */
20
+ apiCloudFunctionGatewayId: string;
21
+ /**
22
+ * API Gateway stage name for the backend.
23
+ */
24
+ apiStageName: string;
25
+ /**
26
+ * Resource id for the admin group.
27
+ */
28
+ adminGroupId: string;
29
+ /**
30
+ * Cognito group name for admins.
31
+ */
32
+ userManagementAdminGroupName: string;
33
+ /**
34
+ * OAuth callback URLs.
35
+ */
36
+ callbackUrls: any[];
37
+ /**
38
+ * OAuth logout URLs.
39
+ */
40
+ logoutUrls: any[];
41
+ };
42
+ type AddAuthConfigWithUserPoolDomain = AddAuthConfigBase & {
43
+ /**
44
+ * Enable a custom Cognito user pool domain and associated Route53 records.
45
+ *
46
+ * Defaults to `true`.
47
+ */
48
+ enableUserPoolDomain?: true;
49
+ /**
50
+ * Parameter name for Route53 hosted zone id.
51
+ */
52
+ hostedZoneIdParameterName: string;
53
+ /**
54
+ * Parameter name for base domain.
55
+ */
56
+ domainNameParameterName: string;
57
+ /**
58
+ * SSL certificate resource id for the user pool domain.
59
+ */
60
+ sslCertificateId: string;
61
+ /**
62
+ * CloudFront distribution id for the main CDN.
63
+ */
64
+ mainCDNCloudFrontId: string;
65
+ };
66
+ type AddAuthConfigWithoutUserPoolDomain = AddAuthConfigBase & {
67
+ /**
68
+ * Disable custom Cognito user pool domain resources.
69
+ */
70
+ enableUserPoolDomain: false;
71
+ hostedZoneIdParameterName?: never;
72
+ domainNameParameterName?: never;
73
+ sslCertificateId?: never;
74
+ mainCDNCloudFrontId?: never;
75
+ };
76
+ /**
77
+ * Configuration for {@link addAuth}.
78
+ */
79
+ export type AddAuthConfig = AddAuthConfigWithUserPoolDomain | AddAuthConfigWithoutUserPoolDomain;
80
+ /**
81
+ * Add auth resources including user management and an admin group.
82
+ *
83
+ * @group Resource Packs
84
+ */
85
+ export declare const addAuth: import("..").ResourcePackApplier<AddAuthConfig>;
86
+ export {};
@@ -0,0 +1,289 @@
1
+ /**
2
+ * Require at least one key from the provided type.
3
+ *
4
+ * @typeParam T - Base object type.
5
+ * @typeParam U - Helper mapped type.
6
+ */
7
+ export type AtLeastOne<T, U = {
8
+ [K in keyof T]: Pick<T, K>;
9
+ }> = Partial<T> & U[keyof U];
10
+ /**
11
+ * Helper functions for generating CLI commands in build specs.
12
+ */
13
+ export declare const COMMAND_HELPERS: {
14
+ updateFunction: ({ cloudFunctionArn, codeZipFilePath, }: {
15
+ cloudFunctionArn: string;
16
+ codeZipFilePath: string;
17
+ }) => string;
18
+ copyDirectoryToS3: ({ s3Domain, directoryPath, }: {
19
+ s3Domain: string;
20
+ directoryPath: string;
21
+ }) => string;
22
+ cloudFrontInvalidation: ({ cloudFrontDistributionId, pathsToInvalidate, }: {
23
+ cloudFrontDistributionId: string;
24
+ pathsToInvalidate?: string[];
25
+ }) => string;
26
+ addNPMTokenWithNPMRC: ({ npmToken }: {
27
+ npmToken: string;
28
+ }) => string;
29
+ };
30
+ /**
31
+ * Linux user name string.
32
+ */
33
+ export type LinuxUserNameString = string;
34
+ /**
35
+ * Flag value for yes/no configuration fields.
36
+ */
37
+ export type YesOrNo = "yes" | "no";
38
+ /**
39
+ * BuildSpec environment configuration.
40
+ */
41
+ export interface Env {
42
+ /**
43
+ * Shell to use for command execution.
44
+ */
45
+ shell?: "bash" | "/bin/sh" | "powershell.exe" | "cmd.exe" | string;
46
+ /**
47
+ * Environment variables to expose.
48
+ */
49
+ variables?: Record<string, string>;
50
+ /**
51
+ * SSM parameter store references.
52
+ */
53
+ "parameter-store"?: Record<string, string>;
54
+ /**
55
+ * Exported variable names.
56
+ */
57
+ "exported-variables"?: string[];
58
+ /**
59
+ * Secrets Manager references.
60
+ */
61
+ "secrets-manager"?: Record<string, `${string}:${string}:${string}:${string}`>;
62
+ /**
63
+ * Whether to enable git credential helper.
64
+ */
65
+ "git-credential-helper"?: YesOrNo;
66
+ }
67
+ /**
68
+ * BuildSpec proxy configuration.
69
+ */
70
+ export interface Proxy {
71
+ /**
72
+ * Whether to upload build artifacts via proxy.
73
+ */
74
+ "upload-artifacts"?: YesOrNo;
75
+ /**
76
+ * Whether to proxy logs.
77
+ */
78
+ logs?: YesOrNo;
79
+ }
80
+ /**
81
+ * BuildSpec batch build configuration.
82
+ */
83
+ export interface Batch {
84
+ /**
85
+ * Whether to fail fast for batch builds.
86
+ */
87
+ "fast-fail"?: boolean;
88
+ /**
89
+ * Batch build list config.
90
+ */
91
+ "build-list"?: any;
92
+ /**
93
+ * Batch build matrix config.
94
+ */
95
+ "build-matrix"?: any;
96
+ /**
97
+ * Batch build graph config.
98
+ */
99
+ "build-graph"?: any;
100
+ [key: string]: any;
101
+ }
102
+ /**
103
+ * BuildSpec phase configuration.
104
+ */
105
+ export interface Phase {
106
+ /**
107
+ * Runtime versions for this phase.
108
+ */
109
+ "runtime-versions"?: Record<string, any>;
110
+ /**
111
+ * User to run commands as.
112
+ */
113
+ "run-as"?: LinuxUserNameString;
114
+ /**
115
+ * Behavior when a command fails.
116
+ */
117
+ "on-failure"?: "ABORT" | "CONTINUE";
118
+ /**
119
+ * Commands to run during the phase.
120
+ */
121
+ commands: string[];
122
+ /**
123
+ * Commands to always run at the end of the phase.
124
+ */
125
+ finally?: string[];
126
+ }
127
+ /**
128
+ * BuildSpec phase collection (at least one phase required).
129
+ */
130
+ export type PhaseConfig = AtLeastOne<{
131
+ install: Phase;
132
+ pre_build: Phase;
133
+ build: Phase;
134
+ post_build: Phase;
135
+ }>;
136
+ /**
137
+ * Report group configuration for build reports.
138
+ */
139
+ export interface ReportGroupNameOrArn {
140
+ /**
141
+ * Report files to include.
142
+ */
143
+ files?: string[];
144
+ /**
145
+ * Base directory for report files.
146
+ */
147
+ "base-directory"?: string;
148
+ /**
149
+ * Whether to discard path prefixes.
150
+ */
151
+ "discard-paths"?: string;
152
+ /**
153
+ * Report file format.
154
+ */
155
+ "file-format"?: string;
156
+ }
157
+ /**
158
+ * Reports configuration for BuildSpec.
159
+ */
160
+ export interface Reports {
161
+ /**
162
+ * Report group name or ARN.
163
+ */
164
+ "report-group-name-or-arn"?: ReportGroupNameOrArn;
165
+ }
166
+ /**
167
+ * Artifact identifier configuration.
168
+ */
169
+ export interface ArtifactIdentifier {
170
+ /**
171
+ * Artifact file list.
172
+ */
173
+ files?: string[];
174
+ /**
175
+ * Artifact name.
176
+ */
177
+ name?: string;
178
+ /**
179
+ * Whether to discard path prefixes.
180
+ */
181
+ "discard-paths"?: string;
182
+ /**
183
+ * Base directory for artifact files.
184
+ */
185
+ "base-directory"?: string;
186
+ }
187
+ /**
188
+ * Secondary artifacts configuration.
189
+ */
190
+ export interface SecondaryArtifacts {
191
+ /**
192
+ * Artifact identifier for secondary artifacts.
193
+ */
194
+ artifactIdentifier?: ArtifactIdentifier;
195
+ }
196
+ /**
197
+ * Artifacts configuration for BuildSpec.
198
+ */
199
+ export interface Artifacts {
200
+ /**
201
+ * Artifact file list.
202
+ */
203
+ files?: string[];
204
+ /**
205
+ * Artifact name.
206
+ */
207
+ name?: string;
208
+ /**
209
+ * Whether to discard path prefixes.
210
+ */
211
+ "discard-paths"?: string;
212
+ /**
213
+ * Base directory for artifact files.
214
+ */
215
+ "base-directory"?: string;
216
+ /**
217
+ * Paths to exclude from artifacts.
218
+ */
219
+ "exclude-paths"?: string;
220
+ /**
221
+ * Whether to enable symlinks in artifacts.
222
+ */
223
+ "enable-symlinks"?: string;
224
+ /**
225
+ * S3 prefix for artifact upload.
226
+ */
227
+ "s3-prefix"?: string;
228
+ /**
229
+ * Secondary artifacts configuration.
230
+ */
231
+ "secondary-artifacts"?: SecondaryArtifacts;
232
+ }
233
+ /**
234
+ * Cache configuration for BuildSpec.
235
+ */
236
+ export interface Cache {
237
+ /**
238
+ * Cache paths to persist between builds.
239
+ */
240
+ paths?: string[];
241
+ }
242
+ /**
243
+ * BuildSpec configuration object.
244
+ */
245
+ export interface BuildSpec {
246
+ /**
247
+ * Build spec version.
248
+ */
249
+ version?: number;
250
+ /**
251
+ * User to run build commands as.
252
+ */
253
+ "run-as"?: LinuxUserNameString;
254
+ /**
255
+ * Environment configuration.
256
+ */
257
+ env?: Env;
258
+ /**
259
+ * Proxy configuration.
260
+ */
261
+ proxy?: Proxy;
262
+ /**
263
+ * Batch build configuration.
264
+ */
265
+ batch?: Batch;
266
+ /**
267
+ * Build phases configuration.
268
+ */
269
+ phases: PhaseConfig;
270
+ /**
271
+ * Reports configuration.
272
+ */
273
+ reports?: Reports;
274
+ /**
275
+ * Artifacts configuration.
276
+ */
277
+ artifacts?: Artifacts;
278
+ /**
279
+ * Cache configuration.
280
+ */
281
+ cache?: Cache;
282
+ }
283
+ /**
284
+ * Create a build spec YAML string for a build pipeline (CI/CD).
285
+ *
286
+ * @param config - Build spec configuration.
287
+ * @returns YAML string for the build spec.
288
+ */
289
+ export declare const createBuildSpec: ({ version, phases }: BuildSpec) => string;