@researchdatabox/redbox-core 5.0.2 → 5.0.4-beta.12498

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 (548) hide show
  1. package/dist/AttachmentStagingIdentity.d.ts +3 -0
  2. package/dist/AttachmentStagingIdentity.d.ts.map +1 -0
  3. package/dist/AttachmentStagingIdentity.js +10 -0
  4. package/dist/CoreController.d.ts +7 -3
  5. package/dist/CoreController.d.ts.map +1 -1
  6. package/dist/CoreController.js +85 -3
  7. package/dist/DatastreamService.d.ts +4 -0
  8. package/dist/DatastreamService.d.ts.map +1 -1
  9. package/dist/HarvestRunService.d.ts +4 -3
  10. package/dist/HarvestRunService.d.ts.map +1 -1
  11. package/dist/HarvestRunService.js +1 -1
  12. package/dist/RecordConcurrencyObservability.d.ts +51 -0
  13. package/dist/RecordConcurrencyObservability.d.ts.map +1 -0
  14. package/dist/RecordConcurrencyObservability.js +136 -0
  15. package/dist/RecordEntityTag.d.ts +31 -0
  16. package/dist/RecordEntityTag.d.ts.map +1 -0
  17. package/dist/RecordEntityTag.js +101 -0
  18. package/dist/RecordFormFingerprint.d.ts +7 -0
  19. package/dist/RecordFormFingerprint.d.ts.map +1 -0
  20. package/dist/RecordFormFingerprint.js +106 -0
  21. package/dist/RecordHttpConcurrency.d.ts +60 -0
  22. package/dist/RecordHttpConcurrency.d.ts.map +1 -0
  23. package/dist/RecordHttpConcurrency.js +181 -0
  24. package/dist/RecordSaveResponse.d.ts +219 -0
  25. package/dist/RecordSaveResponse.d.ts.map +1 -0
  26. package/dist/RecordSaveResponse.js +639 -0
  27. package/dist/RecordStorageConcurrency.d.ts +48 -0
  28. package/dist/RecordStorageConcurrency.d.ts.map +1 -0
  29. package/dist/RecordStorageConcurrency.js +103 -0
  30. package/dist/RecordWriteClassification.d.ts +12 -0
  31. package/dist/RecordWriteClassification.d.ts.map +1 -0
  32. package/dist/RecordWriteClassification.js +70 -0
  33. package/dist/RecordsService.d.ts +105 -12
  34. package/dist/RecordsService.d.ts.map +1 -1
  35. package/dist/RecordsService.js +44 -1
  36. package/dist/SearchService.d.ts +2 -1
  37. package/dist/SearchService.d.ts.map +1 -1
  38. package/dist/StorageService.d.ts +48 -8
  39. package/dist/StorageService.d.ts.map +1 -1
  40. package/dist/StorageService.js +19 -1
  41. package/dist/StorageServiceResponse.d.ts +22 -1
  42. package/dist/StorageServiceResponse.d.ts.map +1 -1
  43. package/dist/StorageServiceResponse.js +22 -4
  44. package/dist/action-execution/audit.d.ts +41 -0
  45. package/dist/action-execution/audit.d.ts.map +1 -0
  46. package/dist/action-execution/audit.js +122 -0
  47. package/dist/action-execution/executor.d.ts +24 -0
  48. package/dist/action-execution/executor.d.ts.map +1 -0
  49. package/dist/action-execution/executor.js +435 -0
  50. package/dist/action-execution/failure.d.ts +49 -0
  51. package/dist/action-execution/failure.d.ts.map +1 -0
  52. package/dist/action-execution/failure.js +129 -0
  53. package/dist/action-execution/index.d.ts +7 -0
  54. package/dist/action-execution/index.d.ts.map +1 -0
  55. package/dist/action-execution/index.js +23 -0
  56. package/dist/action-execution/legacy-result.d.ts +21 -0
  57. package/dist/action-execution/legacy-result.d.ts.map +1 -0
  58. package/dist/action-execution/legacy-result.js +70 -0
  59. package/dist/action-execution/policy.d.ts +12 -0
  60. package/dist/action-execution/policy.d.ts.map +1 -0
  61. package/dist/action-execution/policy.js +138 -0
  62. package/dist/action-execution/types.d.ts +121 -0
  63. package/dist/action-execution/types.d.ts.map +1 -0
  64. package/dist/action-execution/types.js +22 -0
  65. package/dist/api-routes/groups/branding.d.ts +8 -0
  66. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  67. package/dist/api-routes/groups/branding.js +86 -11
  68. package/dist/api-routes/groups/dashboard-config.d.ts +12 -9
  69. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -1
  70. package/dist/api-routes/groups/dashboard-config.js +136 -73
  71. package/dist/api-routes/groups/forms.d.ts.map +1 -1
  72. package/dist/api-routes/groups/forms.js +10 -2
  73. package/dist/api-routes/groups/record-schemas.d.ts +5 -0
  74. package/dist/api-routes/groups/record-schemas.d.ts.map +1 -0
  75. package/dist/api-routes/groups/record-schemas.js +181 -0
  76. package/dist/api-routes/groups/records.d.ts +1 -0
  77. package/dist/api-routes/groups/records.d.ts.map +1 -1
  78. package/dist/api-routes/groups/records.js +141 -26
  79. package/dist/api-routes/index.d.ts +3 -0
  80. package/dist/api-routes/index.d.ts.map +1 -1
  81. package/dist/api-routes/index.js +4 -1
  82. package/dist/api-routes/openapi.d.ts.map +1 -1
  83. package/dist/api-routes/openapi.js +7 -5
  84. package/dist/api-routes/record-schema-openapi.d.ts +26 -0
  85. package/dist/api-routes/record-schema-openapi.d.ts.map +1 -0
  86. package/dist/api-routes/record-schema-openapi.js +38 -0
  87. package/dist/api-routes/record-schema-response.d.ts +40 -0
  88. package/dist/api-routes/record-schema-response.d.ts.map +1 -0
  89. package/dist/api-routes/record-schema-response.js +89 -0
  90. package/dist/api-routes/request-extraction.d.ts.map +1 -1
  91. package/dist/api-routes/request-extraction.js +10 -8
  92. package/dist/api-routes/route-factory.d.ts.map +1 -1
  93. package/dist/api-routes/route-factory.js +2 -1
  94. package/dist/api-routes/route-registry.d.ts.map +1 -1
  95. package/dist/api-routes/route-registry.js +3 -1
  96. package/dist/api-routes/schemas/common.d.ts +36 -0
  97. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  98. package/dist/api-routes/schemas/common.js +95 -5
  99. package/dist/api-routes/schemas/responses.d.ts +1424 -1
  100. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  101. package/dist/api-routes/schemas/responses.js +382 -60
  102. package/dist/api-routes/types.d.ts +1 -0
  103. package/dist/api-routes/types.d.ts.map +1 -1
  104. package/dist/api-routes/validation.d.ts +5 -1
  105. package/dist/api-routes/validation.d.ts.map +1 -1
  106. package/dist/api-routes/validation.js +14 -15
  107. package/dist/bootstrap.d.ts +3 -1
  108. package/dist/bootstrap.d.ts.map +1 -1
  109. package/dist/bootstrap.js +58 -41
  110. package/dist/config/agendaQueue.config.d.ts +3 -0
  111. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  112. package/dist/config/agendaQueue.config.js +29 -2
  113. package/dist/config/branding.config.d.ts +13 -0
  114. package/dist/config/branding.config.d.ts.map +1 -1
  115. package/dist/config/branding.config.js +34 -2
  116. package/dist/config/brandingConfigurationDefaults.config.d.ts +4 -0
  117. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  118. package/dist/config/brandingConfigurationDefaults.config.js +42 -3
  119. package/dist/config/index.d.ts +12 -4
  120. package/dist/config/index.d.ts.map +1 -1
  121. package/dist/config/index.js +7 -4
  122. package/dist/config/policies.config.d.ts.map +1 -1
  123. package/dist/config/policies.config.js +37 -23
  124. package/dist/config/raid.config.d.ts +7 -4
  125. package/dist/config/raid.config.d.ts.map +1 -1
  126. package/dist/config/raid.config.js +21 -35
  127. package/dist/config/record.config.d.ts +3 -0
  128. package/dist/config/record.config.d.ts.map +1 -1
  129. package/dist/config/record.config.js +37 -35
  130. package/dist/config/recordSchema.config.d.ts +68 -0
  131. package/dist/config/recordSchema.config.d.ts.map +1 -0
  132. package/dist/config/recordSchema.config.js +173 -0
  133. package/dist/config/recordValidation.config.d.ts +19 -0
  134. package/dist/config/recordValidation.config.d.ts.map +1 -0
  135. package/dist/config/recordValidation.config.js +10 -0
  136. package/dist/config/recordtype.config.d.ts +32 -9
  137. package/dist/config/recordtype.config.d.ts.map +1 -1
  138. package/dist/config/recordtype.config.js +4 -7
  139. package/dist/config/routes.config.d.ts.map +1 -1
  140. package/dist/config/routes.config.js +135 -53
  141. package/dist/config/workflow.config.d.ts +6 -0
  142. package/dist/config/workflow.config.d.ts.map +1 -1
  143. package/dist/config/workflow.config.js +1 -1
  144. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  145. package/dist/configmodels/AdminSidebarConfig.js +4 -2
  146. package/dist/configmodels/ConfigModels.d.ts +1 -1
  147. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  148. package/dist/configmodels/ConfigModels.js +26 -9
  149. package/dist/configmodels/DashboardFieldCatalogue.d.ts +67 -0
  150. package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +1 -0
  151. package/dist/configmodels/DashboardFieldCatalogue.js +174 -0
  152. package/dist/configmodels/DashboardSettings.d.ts +191 -0
  153. package/dist/configmodels/DashboardSettings.d.ts.map +1 -0
  154. package/dist/configmodels/DashboardSettings.js +705 -0
  155. package/dist/configmodels/OniPublishing.d.ts +205 -0
  156. package/dist/configmodels/OniPublishing.d.ts.map +1 -0
  157. package/dist/configmodels/OniPublishing.js +335 -0
  158. package/dist/configmodels/RaidPublishing.d.ts +97 -0
  159. package/dist/configmodels/RaidPublishing.d.ts.map +1 -0
  160. package/dist/configmodels/RaidPublishing.js +35 -0
  161. package/dist/configmodels/WebAnalytics.d.ts +55 -0
  162. package/dist/configmodels/WebAnalytics.d.ts.map +1 -0
  163. package/dist/configmodels/WebAnalytics.js +61 -0
  164. package/dist/controllers/AppConfigController.d.ts.map +1 -1
  165. package/dist/controllers/AppConfigController.js +4 -1
  166. package/dist/controllers/BrandingAppController.d.ts +29 -7
  167. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  168. package/dist/controllers/BrandingAppController.js +265 -69
  169. package/dist/controllers/BrandingController.d.ts +24 -1
  170. package/dist/controllers/BrandingController.d.ts.map +1 -1
  171. package/dist/controllers/BrandingController.js +173 -43
  172. package/dist/controllers/BrandingControllerSupport.d.ts +20 -0
  173. package/dist/controllers/BrandingControllerSupport.d.ts.map +1 -0
  174. package/dist/controllers/BrandingControllerSupport.js +80 -0
  175. package/dist/controllers/DashboardConfigController.d.ts +6 -2
  176. package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
  177. package/dist/controllers/DashboardConfigController.js +18 -4
  178. package/dist/controllers/DynamicAssetController.d.ts +7 -5
  179. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  180. package/dist/controllers/DynamicAssetController.js +21 -12
  181. package/dist/controllers/RecordController.d.ts +46 -5
  182. package/dist/controllers/RecordController.d.ts.map +1 -1
  183. package/dist/controllers/RecordController.js +815 -347
  184. package/dist/controllers/index.d.ts.map +1 -1
  185. package/dist/controllers/index.js +4 -1
  186. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  187. package/dist/controllers/webservice/AdminController.js +4 -3
  188. package/dist/controllers/webservice/BrandingController.d.ts +26 -1
  189. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  190. package/dist/controllers/webservice/BrandingController.js +292 -116
  191. package/dist/controllers/webservice/DashboardConfigController.d.ts +25 -17
  192. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
  193. package/dist/controllers/webservice/DashboardConfigController.js +90 -205
  194. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  195. package/dist/controllers/webservice/FormManagementController.js +37 -3
  196. package/dist/controllers/webservice/RecordController.d.ts +15 -1
  197. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  198. package/dist/controllers/webservice/RecordController.js +664 -271
  199. package/dist/controllers/webservice/RecordSchemaController.d.ts +32 -0
  200. package/dist/controllers/webservice/RecordSchemaController.d.ts.map +1 -0
  201. package/dist/controllers/webservice/RecordSchemaController.js +356 -0
  202. package/dist/controllers/webservice/RecordTypeController.d.ts +6 -1
  203. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  204. package/dist/controllers/webservice/RecordTypeController.js +21 -3
  205. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  206. package/dist/controllers/webservice/SearchController.js +7 -3
  207. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  208. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  209. package/dist/hooks/defineRedboxHook.js +4 -1
  210. package/dist/index.d.ts +50 -23
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +90 -2
  213. package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
  214. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  215. package/dist/loader/bootstrapShimRuntime.js +20 -12
  216. package/dist/loader/index.d.ts +9 -0
  217. package/dist/loader/index.d.ts.map +1 -1
  218. package/dist/loader/index.js +93 -4
  219. package/dist/model/BrandingTypeface.d.ts +70 -0
  220. package/dist/model/BrandingTypeface.d.ts.map +1 -0
  221. package/dist/model/BrandingTypeface.js +116 -0
  222. package/dist/model/BuildResponse.d.ts +25 -11
  223. package/dist/model/BuildResponse.d.ts.map +1 -1
  224. package/dist/model/BuildResponse.js +4 -3
  225. package/dist/model/DashboardTypeResponseModel.d.ts +6 -0
  226. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  227. package/dist/model/DashboardTypeResponseModel.js +7 -1
  228. package/dist/model/DashboardViewResponseModel.d.ts +5 -1
  229. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
  230. package/dist/model/DashboardViewResponseModel.js +6 -3
  231. package/dist/model/RBValidationError.d.ts +17 -0
  232. package/dist/model/RBValidationError.d.ts.map +1 -1
  233. package/dist/model/RBValidationError.js +37 -1
  234. package/dist/model/RecordTypeResponseModel.d.ts +12 -4
  235. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  236. package/dist/model/RecordTypeResponseModel.js +11 -2
  237. package/dist/model/index.d.ts +5 -1
  238. package/dist/model/index.d.ts.map +1 -1
  239. package/dist/model/index.js +5 -2
  240. package/dist/model/record-contract.d.ts +42 -0
  241. package/dist/model/record-contract.d.ts.map +1 -0
  242. package/dist/model/record-contract.js +3 -0
  243. package/dist/model/storage/BrandingModel.d.ts +7 -0
  244. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  245. package/dist/model/storage/BrandingModel.js +7 -1
  246. package/dist/model/storage/DeletedRecordModel.d.ts +35 -0
  247. package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
  248. package/dist/model/storage/DeletedRecordModel.js +62 -1
  249. package/dist/model/storage/IntegrationAuditModel.d.ts +16 -2
  250. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  251. package/dist/model/storage/IntegrationAuditModel.js +15 -1
  252. package/dist/model/storage/RecordAuditModel.d.ts +11 -1
  253. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  254. package/dist/model/storage/RecordAuditModel.js +8 -2
  255. package/dist/model/storage/RecordModel.d.ts +6 -0
  256. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  257. package/dist/model/storage/RecordTypeModel.d.ts +6 -0
  258. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  259. package/dist/model/storage/RecordTypeModel.js +4 -1
  260. package/dist/model/storage/index.d.ts +12 -10
  261. package/dist/model/storage/index.d.ts.map +1 -1
  262. package/dist/model/storage/index.js +24 -2
  263. package/dist/model/storage/record-schema.d.ts +115 -0
  264. package/dist/model/storage/record-schema.d.ts.map +1 -0
  265. package/dist/model/storage/record-schema.js +3 -0
  266. package/dist/policies/checkAuth.d.ts +2 -6
  267. package/dist/policies/checkAuth.d.ts.map +1 -1
  268. package/dist/policies/checkAuth.js +32 -9
  269. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  270. package/dist/policies/contentSecurityPolicy.js +85 -2
  271. package/dist/policies/index.d.ts +3 -2
  272. package/dist/policies/index.d.ts.map +1 -1
  273. package/dist/policies/index.js +4 -2
  274. package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
  275. package/dist/policies/validateApiContractRequest.js +49 -11
  276. package/dist/record-contract/ajv-error-mapper.d.ts +34 -0
  277. package/dist/record-contract/ajv-error-mapper.d.ts.map +1 -0
  278. package/dist/record-contract/ajv-error-mapper.js +153 -0
  279. package/dist/record-contract/canonical-json.d.ts +20 -0
  280. package/dist/record-contract/canonical-json.d.ts.map +1 -0
  281. package/dist/record-contract/canonical-json.js +126 -0
  282. package/dist/record-contract/codes.d.ts +36 -0
  283. package/dist/record-contract/codes.d.ts.map +1 -0
  284. package/dist/record-contract/codes.js +38 -0
  285. package/dist/record-contract/contributor-registry.d.ts +76 -0
  286. package/dist/record-contract/contributor-registry.d.ts.map +1 -0
  287. package/dist/record-contract/contributor-registry.js +126 -0
  288. package/dist/record-contract/core-contributors.d.ts +44 -0
  289. package/dist/record-contract/core-contributors.d.ts.map +1 -0
  290. package/dist/record-contract/core-contributors.js +395 -0
  291. package/dist/record-contract/deep-freeze.d.ts +3 -0
  292. package/dist/record-contract/deep-freeze.d.ts.map +1 -0
  293. package/dist/record-contract/deep-freeze.js +23 -0
  294. package/dist/record-contract/index.d.ts +13 -0
  295. package/dist/record-contract/index.d.ts.map +1 -0
  296. package/dist/record-contract/index.js +29 -0
  297. package/dist/record-contract/json-pointer.d.ts +20 -0
  298. package/dist/record-contract/json-pointer.d.ts.map +1 -0
  299. package/dist/record-contract/json-pointer.js +70 -0
  300. package/dist/record-contract/json-schema-renderer.d.ts +51 -0
  301. package/dist/record-contract/json-schema-renderer.d.ts.map +1 -0
  302. package/dist/record-contract/json-schema-renderer.js +450 -0
  303. package/dist/record-contract/record-contract-compiler.d.ts +42 -0
  304. package/dist/record-contract/record-contract-compiler.d.ts.map +1 -0
  305. package/dist/record-contract/record-contract-compiler.js +775 -0
  306. package/dist/record-contract/record-contract-context.d.ts +91 -0
  307. package/dist/record-contract/record-contract-context.d.ts.map +1 -0
  308. package/dist/record-contract/record-contract-context.js +39 -0
  309. package/dist/record-contract/record-json-schema-artifact.d.ts +74 -0
  310. package/dist/record-contract/record-json-schema-artifact.d.ts.map +1 -0
  311. package/dist/record-contract/record-json-schema-artifact.js +309 -0
  312. package/dist/record-contract/record-json-schema-etag.d.ts +15 -0
  313. package/dist/record-contract/record-json-schema-etag.d.ts.map +1 -0
  314. package/dist/record-contract/record-json-schema-etag.js +41 -0
  315. package/dist/record-contract/types.d.ts +151 -0
  316. package/dist/record-contract/types.d.ts.map +1 -0
  317. package/dist/record-contract/types.js +6 -0
  318. package/dist/services/AppConfigService.d.ts +6 -0
  319. package/dist/services/AppConfigService.d.ts.map +1 -1
  320. package/dist/services/AppConfigService.js +23 -1
  321. package/dist/services/AttachmentMetadataService.d.ts +58 -0
  322. package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
  323. package/dist/services/AttachmentMetadataService.js +643 -8
  324. package/dist/services/BrandingLogoService.d.ts +6 -1
  325. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  326. package/dist/services/BrandingLogoService.js +77 -9
  327. package/dist/services/BrandingService.d.ts +171 -9
  328. package/dist/services/BrandingService.d.ts.map +1 -1
  329. package/dist/services/BrandingService.js +572 -68
  330. package/dist/services/BrandingThemeCssService.d.ts +17 -1
  331. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  332. package/dist/services/BrandingThemeCssService.js +71 -9
  333. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  334. package/dist/services/BrandingThemeTokens.js +2 -1
  335. package/dist/services/BrandingTypefaceService.d.ts +74 -0
  336. package/dist/services/BrandingTypefaceService.d.ts.map +1 -0
  337. package/dist/services/BrandingTypefaceService.js +359 -0
  338. package/dist/services/BrandingWoff2Inspector.d.ts +17 -0
  339. package/dist/services/BrandingWoff2Inspector.d.ts.map +1 -0
  340. package/dist/services/BrandingWoff2Inspector.js +402 -0
  341. package/dist/services/DashboardConfigService.d.ts +214 -54
  342. package/dist/services/DashboardConfigService.d.ts.map +1 -1
  343. package/dist/services/DashboardConfigService.js +829 -261
  344. package/dist/services/DashboardLegacyConversion.d.ts +82 -0
  345. package/dist/services/DashboardLegacyConversion.d.ts.map +1 -0
  346. package/dist/services/DashboardLegacyConversion.js +427 -0
  347. package/dist/services/DashboardTypesService.d.ts +15 -4
  348. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  349. package/dist/services/DashboardTypesService.js +72 -139
  350. package/dist/services/DoiService.d.ts +1 -1
  351. package/dist/services/DoiService.d.ts.map +1 -1
  352. package/dist/services/DoiService.js +71 -45
  353. package/dist/services/FigshareService.d.ts +1 -1
  354. package/dist/services/FigshareService.d.ts.map +1 -1
  355. package/dist/services/FigshareService.js +73 -32
  356. package/dist/services/FormRecordConsistencyService.d.ts +8 -23
  357. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  358. package/dist/services/FormRecordConsistencyService.js +54 -70
  359. package/dist/services/FormsService.d.ts +91 -2
  360. package/dist/services/FormsService.d.ts.map +1 -1
  361. package/dist/services/FormsService.js +324 -64
  362. package/dist/services/HarvestRunService.d.ts +6 -3
  363. package/dist/services/HarvestRunService.d.ts.map +1 -1
  364. package/dist/services/HarvestRunService.js +161 -97
  365. package/dist/services/I18nEntriesService.d.ts +1 -0
  366. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  367. package/dist/services/I18nEntriesService.js +26 -6
  368. package/dist/services/OniService.d.ts +19 -62
  369. package/dist/services/OniService.d.ts.map +1 -1
  370. package/dist/services/OniService.js +223 -691
  371. package/dist/services/RDMPService.d.ts +1 -1
  372. package/dist/services/RDMPService.d.ts.map +1 -1
  373. package/dist/services/RDMPService.js +5 -5
  374. package/dist/services/RaidService.d.ts +19 -61
  375. package/dist/services/RaidService.d.ts.map +1 -1
  376. package/dist/services/RaidService.js +191 -530
  377. package/dist/services/RecordSchemaService.d.ts +440 -0
  378. package/dist/services/RecordSchemaService.d.ts.map +1 -0
  379. package/dist/services/RecordSchemaService.js +3061 -0
  380. package/dist/services/RecordTypesService.d.ts +29 -0
  381. package/dist/services/RecordTypesService.d.ts.map +1 -1
  382. package/dist/services/RecordTypesService.js +106 -11
  383. package/dist/services/RecordValidationService.d.ts +340 -0
  384. package/dist/services/RecordValidationService.d.ts.map +1 -0
  385. package/dist/services/RecordValidationService.js +1898 -0
  386. package/dist/services/RecordsService.d.ts +313 -22
  387. package/dist/services/RecordsService.d.ts.map +1 -1
  388. package/dist/services/RecordsService.js +4948 -509
  389. package/dist/services/SolrSearchService.d.ts +1 -1
  390. package/dist/services/SolrSearchService.d.ts.map +1 -1
  391. package/dist/services/SolrSearchService.js +42 -12
  392. package/dist/services/StandardDatastreamService.d.ts +4 -0
  393. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  394. package/dist/services/StandardDatastreamService.js +109 -45
  395. package/dist/services/TriggerService.d.ts.map +1 -1
  396. package/dist/services/TriggerService.js +54 -30
  397. package/dist/services/UsersService.d.ts +2 -1
  398. package/dist/services/UsersService.d.ts.map +1 -1
  399. package/dist/services/UsersService.js +364 -283
  400. package/dist/services/VocabularyService.d.ts +2 -0
  401. package/dist/services/VocabularyService.d.ts.map +1 -1
  402. package/dist/services/VocabularyService.js +61 -2
  403. package/dist/services/WorkflowStepsService.d.ts +11 -0
  404. package/dist/services/WorkflowStepsService.d.ts.map +1 -1
  405. package/dist/services/WorkflowStepsService.js +32 -3
  406. package/dist/services/WorkspaceService.d.ts +2 -2
  407. package/dist/services/WorkspaceService.d.ts.map +1 -1
  408. package/dist/services/WorkspaceService.js +5 -5
  409. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  410. package/dist/services/doi-v2/bindings.js +3 -20
  411. package/dist/services/doi-v2/config.d.ts +1 -0
  412. package/dist/services/doi-v2/config.d.ts.map +1 -1
  413. package/dist/services/doi-v2/config.js +13 -5
  414. package/dist/services/doi-v2/runtime.d.ts.map +1 -1
  415. package/dist/services/doi-v2/runtime.js +14 -54
  416. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  417. package/dist/services/figshare-v2/bindings.js +3 -20
  418. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  419. package/dist/services/figshare-v2/runtime.js +11 -58
  420. package/dist/services/form-record-access-user.d.ts +3 -0
  421. package/dist/services/form-record-access-user.d.ts.map +1 -0
  422. package/dist/services/form-record-access-user.js +23 -0
  423. package/dist/services/index.d.ts +9 -0
  424. package/dist/services/index.d.ts.map +1 -1
  425. package/dist/services/index.js +45 -3
  426. package/dist/services/integration-v2/bindings.d.ts +3 -0
  427. package/dist/services/integration-v2/bindings.d.ts.map +1 -0
  428. package/dist/services/integration-v2/bindings.js +91 -0
  429. package/dist/services/integration-v2/runtime.d.ts +3 -0
  430. package/dist/services/integration-v2/runtime.d.ts.map +1 -0
  431. package/dist/services/integration-v2/runtime.js +50 -0
  432. package/dist/services/internal-record-schema-authorization.d.ts +8 -0
  433. package/dist/services/internal-record-schema-authorization.d.ts.map +1 -0
  434. package/dist/services/internal-record-schema-authorization.js +16 -0
  435. package/dist/services/oni-v2/audit.d.ts +19 -0
  436. package/dist/services/oni-v2/audit.d.ts.map +1 -0
  437. package/dist/services/oni-v2/audit.js +50 -0
  438. package/dist/services/oni-v2/bindings.d.ts +7 -0
  439. package/dist/services/oni-v2/bindings.d.ts.map +1 -0
  440. package/dist/services/oni-v2/bindings.js +31 -0
  441. package/dist/services/oni-v2/config.d.ts +12 -0
  442. package/dist/services/oni-v2/config.d.ts.map +1 -0
  443. package/dist/services/oni-v2/config.js +134 -0
  444. package/dist/services/oni-v2/context.d.ts +3 -0
  445. package/dist/services/oni-v2/context.d.ts.map +1 -0
  446. package/dist/services/oni-v2/context.js +17 -0
  447. package/dist/services/oni-v2/crate.d.ts +17 -0
  448. package/dist/services/oni-v2/crate.d.ts.map +1 -0
  449. package/dist/services/oni-v2/crate.js +504 -0
  450. package/dist/services/oni-v2/flydriveOcflStore.d.ts +69 -0
  451. package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +1 -0
  452. package/dist/services/oni-v2/flydriveOcflStore.js +325 -0
  453. package/dist/services/oni-v2/ingestion.d.ts +37 -0
  454. package/dist/services/oni-v2/ingestion.d.ts.map +1 -0
  455. package/dist/services/oni-v2/ingestion.js +91 -0
  456. package/dist/services/oni-v2/mapping.d.ts +17 -0
  457. package/dist/services/oni-v2/mapping.d.ts.map +1 -0
  458. package/dist/services/oni-v2/mapping.js +137 -0
  459. package/dist/services/oni-v2/repository.d.ts +9 -0
  460. package/dist/services/oni-v2/repository.d.ts.map +1 -0
  461. package/dist/services/oni-v2/repository.js +180 -0
  462. package/dist/services/oni-v2/runtime.d.ts +23 -0
  463. package/dist/services/oni-v2/runtime.d.ts.map +1 -0
  464. package/dist/services/oni-v2/runtime.js +121 -0
  465. package/dist/services/oni-v2/templating.d.ts +11 -0
  466. package/dist/services/oni-v2/templating.d.ts.map +1 -0
  467. package/dist/services/oni-v2/templating.js +27 -0
  468. package/dist/services/oni-v2/types.d.ts +100 -0
  469. package/dist/services/oni-v2/types.d.ts.map +1 -0
  470. package/dist/services/oni-v2/types.js +3 -0
  471. package/dist/services/raid-v2/audit.d.ts +10 -0
  472. package/dist/services/raid-v2/audit.d.ts.map +1 -0
  473. package/dist/services/raid-v2/audit.js +29 -0
  474. package/dist/services/raid-v2/errors.d.ts +85 -0
  475. package/dist/services/raid-v2/errors.d.ts.map +1 -0
  476. package/dist/services/raid-v2/errors.js +36 -0
  477. package/dist/services/raid-v2/http.d.ts +4 -0
  478. package/dist/services/raid-v2/http.d.ts.map +1 -0
  479. package/dist/services/raid-v2/http.js +84 -0
  480. package/dist/services/raid-v2/logger.d.ts +8 -0
  481. package/dist/services/raid-v2/logger.d.ts.map +1 -0
  482. package/dist/services/raid-v2/logger.js +30 -0
  483. package/dist/services/raid-v2/mapping.d.ts +9 -0
  484. package/dist/services/raid-v2/mapping.d.ts.map +1 -0
  485. package/dist/services/raid-v2/mapping.js +168 -0
  486. package/dist/services/raid-v2/runtime.d.ts +5 -0
  487. package/dist/services/raid-v2/runtime.d.ts.map +1 -0
  488. package/dist/services/raid-v2/runtime.js +135 -0
  489. package/dist/services/raid-v2/tags.d.ts +11 -0
  490. package/dist/services/raid-v2/tags.d.ts.map +1 -0
  491. package/dist/services/raid-v2/tags.js +12 -0
  492. package/dist/services/raid-v2/types.d.ts +66 -0
  493. package/dist/services/raid-v2/types.d.ts.map +1 -0
  494. package/dist/services/raid-v2/types.js +3 -0
  495. package/dist/services/record-hooks/coordinator.d.ts +64 -0
  496. package/dist/services/record-hooks/coordinator.d.ts.map +1 -0
  497. package/dist/services/record-hooks/coordinator.js +276 -0
  498. package/dist/visitor/client.visitor.d.ts +6 -0
  499. package/dist/visitor/client.visitor.d.ts.map +1 -1
  500. package/dist/visitor/client.visitor.js +59 -14
  501. package/dist/visitor/construct.visitor.d.ts +27 -1
  502. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  503. package/dist/visitor/construct.visitor.js +265 -177
  504. package/dist/visitor/context-variables.visitor.d.ts +3 -1
  505. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  506. package/dist/visitor/context-variables.visitor.js +15 -1
  507. package/dist/visitor/data-value.visitor.d.ts +6 -0
  508. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  509. package/dist/visitor/data-value.visitor.js +10 -1
  510. package/dist/visitor/json-type-def.visitor.d.ts +6 -0
  511. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  512. package/dist/visitor/json-type-def.visitor.js +10 -1
  513. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +11 -0
  514. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  515. package/dist/visitor/migrate-config-v4-v5.visitor.js +228 -133
  516. package/dist/visitor/related-object-data-inline.visitor.d.ts +31 -0
  517. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +1 -0
  518. package/dist/visitor/related-object-data-inline.visitor.js +96 -0
  519. package/dist/visitor/template.visitor.d.ts +17 -2
  520. package/dist/visitor/template.visitor.d.ts.map +1 -1
  521. package/dist/visitor/template.visitor.js +60 -22
  522. package/dist/visitor/validator.visitor.d.ts +49 -7
  523. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  524. package/dist/visitor/validator.visitor.js +275 -178
  525. package/dist/waterline-models/AttachmentMetadata.d.ts +22 -0
  526. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
  527. package/dist/waterline-models/AttachmentMetadata.js +147 -3
  528. package/dist/waterline-models/BrandingConfig.d.ts +7 -0
  529. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  530. package/dist/waterline-models/BrandingConfig.js +16 -1
  531. package/dist/waterline-models/BrandingConfigHistory.d.ts +11 -2
  532. package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
  533. package/dist/waterline-models/BrandingConfigHistory.js +21 -1
  534. package/dist/waterline-models/DashboardConfiguration.d.ts +29 -0
  535. package/dist/waterline-models/DashboardConfiguration.d.ts.map +1 -0
  536. package/dist/waterline-models/DashboardConfiguration.js +52 -0
  537. package/dist/waterline-models/RecordType.d.ts +9 -0
  538. package/dist/waterline-models/RecordType.d.ts.map +1 -1
  539. package/dist/waterline-models/RecordType.js +16 -1
  540. package/dist/waterline-models/User.d.ts.map +1 -1
  541. package/dist/waterline-models/User.js +10 -15
  542. package/dist/waterline-models/index.d.ts +2 -0
  543. package/dist/waterline-models/index.d.ts.map +1 -1
  544. package/dist/waterline-models/index.js +4 -1
  545. package/package.json +60 -47
  546. package/dist/config/datapubs.config.d.ts +0 -72
  547. package/dist/config/datapubs.config.d.ts.map +0 -1
  548. package/dist/config/datapubs.config.js +0 -74
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedboxCanonicalJsonError = void 0;
4
+ exports.normalizeRedboxCanonicalJsonV1 = normalizeRedboxCanonicalJsonV1;
5
+ exports.serializeRedboxCanonicalJsonV1 = serializeRedboxCanonicalJsonV1;
6
+ const deep_freeze_1 = require("./deep-freeze");
7
+ /** A value Redbox Canonical JSON v1 cannot represent without silently changing it. */
8
+ class RedboxCanonicalJsonError extends Error {
9
+ reason;
10
+ path;
11
+ constructor(reason, path, message) {
12
+ super(message);
13
+ this.reason = reason;
14
+ this.path = path;
15
+ this.name = 'RedboxCanonicalJsonError';
16
+ }
17
+ }
18
+ exports.RedboxCanonicalJsonError = RedboxCanonicalJsonError;
19
+ function compareLexicographically(left, right) {
20
+ return left < right ? -1 : left > right ? 1 : 0;
21
+ }
22
+ function childPath(path, key) {
23
+ return `${path}[${JSON.stringify(key)}]`;
24
+ }
25
+ function isPlainObject(value) {
26
+ const prototype = Object.getPrototypeOf(value);
27
+ return prototype === Object.prototype || prototype === null;
28
+ }
29
+ function normalizedArray(value, path, ancestors) {
30
+ if (Object.getOwnPropertySymbols(value).length > 0) {
31
+ throw new RedboxCanonicalJsonError('symbol-property', path, `${path} contains a symbol property, which Redbox Canonical JSON v1 rejects.`);
32
+ }
33
+ const names = Object.getOwnPropertyNames(value);
34
+ const expectedPropertyCount = value.length + 1;
35
+ if (names.length !== expectedPropertyCount || !names.includes('length')) {
36
+ throw new RedboxCanonicalJsonError('sparse-or-extended-array', path, `${path} is sparse or has extended array properties, which Redbox Canonical JSON v1 rejects.`);
37
+ }
38
+ const result = [];
39
+ for (let index = 0; index < value.length; index += 1) {
40
+ const property = String(index);
41
+ if (!Object.prototype.hasOwnProperty.call(value, property)) {
42
+ throw new RedboxCanonicalJsonError('sparse-or-extended-array', path, `${path} is sparse, which Redbox Canonical JSON v1 rejects.`);
43
+ }
44
+ const descriptor = Object.getOwnPropertyDescriptor(value, property);
45
+ if (!descriptor || !descriptor.enumerable || !('value' in descriptor)) {
46
+ throw new RedboxCanonicalJsonError('sparse-or-extended-array', `${path}[${index}]`, `${path}[${index}] is not an ordinary array item.`);
47
+ }
48
+ result.push(normalizeValue(descriptor.value, `${path}[${index}]`, ancestors));
49
+ }
50
+ return result;
51
+ }
52
+ function normalizedObject(value, path, ancestors) {
53
+ if (!isPlainObject(value)) {
54
+ throw new RedboxCanonicalJsonError('non-plain-object', path, `${path} is not a plain JSON object, which Redbox Canonical JSON v1 rejects.`);
55
+ }
56
+ if (Object.getOwnPropertySymbols(value).length > 0) {
57
+ throw new RedboxCanonicalJsonError('symbol-property', path, `${path} contains a symbol property, which Redbox Canonical JSON v1 rejects.`);
58
+ }
59
+ const descriptors = Object.getOwnPropertyDescriptors(value);
60
+ const result = Object.create(null);
61
+ for (const key of Object.keys(descriptors).sort(compareLexicographically)) {
62
+ const descriptor = descriptors[key];
63
+ const propertyPath = childPath(path, key);
64
+ if (!descriptor.enumerable) {
65
+ throw new RedboxCanonicalJsonError('non-enumerable-property', propertyPath, `${propertyPath} is non-enumerable, which Redbox Canonical JSON v1 rejects.`);
66
+ }
67
+ if (!('value' in descriptor)) {
68
+ throw new RedboxCanonicalJsonError('accessor-property', propertyPath, `${propertyPath} is an accessor, which Redbox Canonical JSON v1 rejects without invoking it.`);
69
+ }
70
+ result[key] = normalizeValue(descriptor.value, propertyPath, ancestors);
71
+ }
72
+ return result;
73
+ }
74
+ function normalizeValue(value, path, ancestors) {
75
+ if (value === null || typeof value === 'string' || typeof value === 'boolean') {
76
+ return value;
77
+ }
78
+ if (typeof value === 'number') {
79
+ if (!Number.isFinite(value)) {
80
+ throw new RedboxCanonicalJsonError('non-finite-number', path, `${path} contains a non-finite number, which Redbox Canonical JSON v1 rejects.`);
81
+ }
82
+ return Object.is(value, -0) ? 0 : value;
83
+ }
84
+ if (typeof value !== 'object') {
85
+ throw new RedboxCanonicalJsonError('non-json-type', path, `${path} contains ${typeof value}, which Redbox Canonical JSON v1 rejects.`);
86
+ }
87
+ if (ancestors.has(value)) {
88
+ throw new RedboxCanonicalJsonError('cycle', path, `${path} contains a cycle, which Redbox Canonical JSON v1 rejects.`);
89
+ }
90
+ ancestors.add(value);
91
+ try {
92
+ return Array.isArray(value) ? normalizedArray(value, path, ancestors) : normalizedObject(value, path, ancestors);
93
+ }
94
+ finally {
95
+ ancestors.delete(value);
96
+ }
97
+ }
98
+ function serializeNormalized(value) {
99
+ if (value === null || typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {
100
+ return JSON.stringify(value);
101
+ }
102
+ if (Array.isArray(value)) {
103
+ return `[${value.map(serializeNormalized).join(',')}]`;
104
+ }
105
+ const objectValue = value;
106
+ return `{${Object.keys(objectValue)
107
+ .sort(compareLexicographically)
108
+ .map(key => `${JSON.stringify(key)}:${serializeNormalized(objectValue[key])}`)
109
+ .join(',')}}`;
110
+ }
111
+ /**
112
+ * Clone and validate a value using Redbox Canonical JSON format v1 rules.
113
+ *
114
+ * V1 accepts only ordinary JSON values, preserves array order, converts -0 to
115
+ * JSON's ordinary `0`, and orders object keys lexicographically by UTF-16 code
116
+ * units. It deliberately rejects every value JSON.stringify would omit or
117
+ * silently rewrite, as well as cycles, accessors, and non-plain objects.
118
+ */
119
+ function normalizeRedboxCanonicalJsonV1(value) {
120
+ return (0, deep_freeze_1.freezeDeep)(normalizeValue(value, '$', new Set()));
121
+ }
122
+ /** Serialize a value as Redbox Canonical JSON format v1. */
123
+ function serializeRedboxCanonicalJsonV1(value) {
124
+ return serializeNormalized(normalizeRedboxCanonicalJsonV1(value));
125
+ }
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fub25pY2FsLWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVjb3JkLWNvbnRyYWN0L2Nhbm9uaWNhbC1qc29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVMQSx3RUFFQztBQUdELHdFQUVDO0FBN0xELCtDQUEyQztBQVkzQyxzRkFBc0Y7QUFDdEYsTUFBYSx3QkFBeUIsU0FBUSxLQUFLO0lBRS9CO0lBQ0E7SUFGbEIsWUFDa0IsTUFBc0MsRUFDdEMsSUFBWSxFQUM1QixPQUFlO1FBRWYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSkMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0M7UUFDdEMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUk1QixJQUFJLENBQUMsSUFBSSxHQUFHLDBCQUEwQixDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQVRELDREQVNDO0FBRUQsU0FBUyx3QkFBd0IsQ0FBQyxJQUFZLEVBQUUsS0FBYTtJQUMzRCxPQUFPLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsSUFBWSxFQUFFLEdBQVc7SUFDMUMsT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFDM0MsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLEtBQWE7SUFDbEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxPQUFPLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUyxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUM7QUFDOUQsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUN0QixLQUF5QixFQUN6QixJQUFZLEVBQ1osU0FB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
@@ -0,0 +1,36 @@
1
+ export declare const RECORD_SCHEMA_PROBLEM_CODES: {
2
+ readonly CONFIG_INVALID: "record-schema.config-invalid";
3
+ readonly AUTHENTICATION_REQUIRED: "record-schema.authentication-required";
4
+ readonly INVALID_REQUEST: "record-schema.invalid-request";
5
+ readonly NOT_FOUND: "record-schema.not-found";
6
+ readonly FORBIDDEN: "record-schema.forbidden";
7
+ readonly NOT_RESOLVABLE: "record-schema.not-resolvable";
8
+ readonly LIMIT_EXCEEDED: "record-schema.limit-exceeded";
9
+ readonly INVALID_CONTRACT: "record-schema.invalid-contract";
10
+ readonly UNAVAILABLE: "record-schema.unavailable";
11
+ readonly STORAGE_UNAVAILABLE: "record-schema.storage-unavailable";
12
+ readonly ARTIFACT_WRITE_FAILED: "record-schema.artifact-write-failed";
13
+ readonly GRANT_WRITE_FAILED: "record-schema.grant-write-failed";
14
+ readonly DIGEST_COLLISION: "record-schema.digest-collision";
15
+ readonly REFERENCE_INVALID: "record-schema.reference-invalid";
16
+ readonly REFERENCE_KEY_COLLISION: "record-schema.reference-key-collision";
17
+ readonly ARTIFACT_NOT_FOUND: "record-schema.artifact-not-found";
18
+ readonly LIMIT_DEPTH: "record-schema.limit-depth";
19
+ readonly LIMIT_PROPERTIES: "record-schema.limit-properties";
20
+ readonly LIMIT_DOCUMENT_BYTES: "record-schema.limit-document-bytes";
21
+ readonly LIMIT_DIAGNOSTICS: "record-schema.limit-diagnostics";
22
+ readonly LIMIT_CONTRIBUTOR_TIMEOUT: "record-schema.limit-contributor-timeout";
23
+ readonly CONTRIBUTOR_INVALID: "record-schema.contributor-invalid";
24
+ readonly CONTRIBUTOR_DUPLICATE: "record-schema.contributor-duplicate";
25
+ readonly CONTRIBUTOR_FAILED: "record-schema.contributor-failed";
26
+ readonly UNSUPPORTED_COMPONENT: "record-schema.unsupported-component";
27
+ readonly PRECONDITION_FAILED: "record-schema.precondition-failed";
28
+ readonly TYPE: "record-schema.type";
29
+ readonly ADDITIONAL_PROPERTY: "record-schema.additional-property";
30
+ readonly REQUIRED: "record-schema.required";
31
+ readonly ENUM: "record-schema.enum";
32
+ readonly ARRAY_ITEM: "record-schema.array-item";
33
+ readonly VALIDATION_GENERIC: "record-schema.validation";
34
+ };
35
+ export type RecordSchemaProblemCode = (typeof RECORD_SCHEMA_PROBLEM_CODES)[keyof typeof RECORD_SCHEMA_PROBLEM_CODES];
36
+ //# sourceMappingURL=codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/record-contract/codes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RECORD_SCHEMA_PROBLEM_CODES = void 0;
4
+ exports.RECORD_SCHEMA_PROBLEM_CODES = {
5
+ CONFIG_INVALID: 'record-schema.config-invalid',
6
+ AUTHENTICATION_REQUIRED: 'record-schema.authentication-required',
7
+ INVALID_REQUEST: 'record-schema.invalid-request',
8
+ NOT_FOUND: 'record-schema.not-found',
9
+ FORBIDDEN: 'record-schema.forbidden',
10
+ NOT_RESOLVABLE: 'record-schema.not-resolvable',
11
+ LIMIT_EXCEEDED: 'record-schema.limit-exceeded',
12
+ INVALID_CONTRACT: 'record-schema.invalid-contract',
13
+ UNAVAILABLE: 'record-schema.unavailable',
14
+ STORAGE_UNAVAILABLE: 'record-schema.storage-unavailable',
15
+ ARTIFACT_WRITE_FAILED: 'record-schema.artifact-write-failed',
16
+ GRANT_WRITE_FAILED: 'record-schema.grant-write-failed',
17
+ DIGEST_COLLISION: 'record-schema.digest-collision',
18
+ REFERENCE_INVALID: 'record-schema.reference-invalid',
19
+ REFERENCE_KEY_COLLISION: 'record-schema.reference-key-collision',
20
+ ARTIFACT_NOT_FOUND: 'record-schema.artifact-not-found',
21
+ LIMIT_DEPTH: 'record-schema.limit-depth',
22
+ LIMIT_PROPERTIES: 'record-schema.limit-properties',
23
+ LIMIT_DOCUMENT_BYTES: 'record-schema.limit-document-bytes',
24
+ LIMIT_DIAGNOSTICS: 'record-schema.limit-diagnostics',
25
+ LIMIT_CONTRIBUTOR_TIMEOUT: 'record-schema.limit-contributor-timeout',
26
+ CONTRIBUTOR_INVALID: 'record-schema.contributor-invalid',
27
+ CONTRIBUTOR_DUPLICATE: 'record-schema.contributor-duplicate',
28
+ CONTRIBUTOR_FAILED: 'record-schema.contributor-failed',
29
+ UNSUPPORTED_COMPONENT: 'record-schema.unsupported-component',
30
+ PRECONDITION_FAILED: 'record-schema.precondition-failed',
31
+ TYPE: 'record-schema.type',
32
+ ADDITIONAL_PROPERTY: 'record-schema.additional-property',
33
+ REQUIRED: 'record-schema.required',
34
+ ENUM: 'record-schema.enum',
35
+ ARRAY_ITEM: 'record-schema.array-item',
36
+ VALIDATION_GENERIC: 'record-schema.validation',
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVjb3JkLWNvbnRyYWN0L2NvZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsMkJBQTJCLEdBQUc7SUFDekMsY0FBYyxFQUFFLDhCQUE4QjtJQUU5Qyx1QkFBdUIsRUFBRSx1Q0FBdUM7SUFDaEUsZUFBZSxFQUFFLCtCQUErQjtJQUNoRCxTQUFTLEVBQUUseUJBQXlCO0lBQ3BDLFNBQVMsRUFBRSx5QkFBeUI7SUFDcEMsY0FBYyxFQUFFLDhCQUE4QjtJQUM5QyxjQUFjLEVBQUUsOEJBQThCO0lBQzlDLGdCQUFnQixFQUFFLGdDQUFnQztJQUNsRCxXQUFXLEVBQUUsMkJBQTJCO0lBRXhDLG1CQUFtQixFQUFFLG1DQUFtQztJQUN4RCxxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsa0JBQWtCLEVBQUUsa0NBQWtDO0lBQ3RELGdCQUFnQixFQUFFLGdDQUFnQztJQUNsRCxpQkFBaUIsRUFBRSxpQ0FBaUM7SUFDcEQsdUJBQXVCLEVBQUUsdUNBQXVDO0lBQ2hFLGtCQUFrQixFQUFFLGtDQUFrQztJQUV0RCxXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLGdCQUFnQixFQUFFLGdDQUFnQztJQUNsRCxvQkFBb0IsRUFBRSxvQ0FBb0M7SUFDMUQsaUJBQWlCLEVBQUUsaUNBQWlDO0lBQ3BELHlCQUF5QixFQUFFLHlDQUF5QztJQUVwRSxtQkFBbUIsRUFBRSxtQ0FBbUM7SUFDeEQscUJBQXFCLEVBQUUscUNBQXFDO0lBQzVELGtCQUFrQixFQUFFLGtDQUFrQztJQUN0RCxxQkFBcUIsRUFBRSxxQ0FBcUM7SUFFNUQsbUJBQW1CLEVBQUUsbUNBQW1DO0lBRXhELElBQUksRUFBRSxvQkFBb0I7SUFDMUIsbUJBQW1CLEVBQUUsbUNBQW1DO0lBQ3hELFFBQVEsRUFBRSx3QkFBd0I7SUFDbEMsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixVQUFVLEVBQUUsMEJBQTBCO0lBQ3RDLGtCQUFrQixFQUFFLDBCQUEwQjtDQUN0QyxDQUFDIn0=
@@ -0,0 +1,76 @@
1
+ import type { FormComponentDefinitionFrame } from '@researchdatabox/sails-ng-common';
2
+ import type { ContractNode, ContractObjectNode, RecordContractDiagnostic, RecordContractPointer, RecordContractPublicContext } from './types';
3
+ export type RecordContractContributorNullability = 'non-null' | 'nullable' | 'configuration';
4
+ export interface RecordContractCompileChildrenOptions {
5
+ readonly definitionKey?: string;
6
+ }
7
+ export interface RecordContractContributorCompileContext {
8
+ readonly component: Readonly<FormComponentDefinitionFrame>;
9
+ readonly pointer: RecordContractPointer;
10
+ readonly publicContext: RecordContractPublicContext;
11
+ compileChildren(components: readonly FormComponentDefinitionFrame[], parent: RecordContractPointer, options?: RecordContractCompileChildrenOptions): Promise<ContractObjectNode>;
12
+ }
13
+ export type RecordContractComponentContribution = {
14
+ readonly kind: 'node';
15
+ readonly node: ContractNode;
16
+ readonly diagnostics?: readonly RecordContractDiagnostic[];
17
+ } | {
18
+ readonly kind: 'non-persisting';
19
+ readonly children?: readonly FormComponentDefinitionFrame[];
20
+ };
21
+ interface RecordContractContributorBase {
22
+ readonly key: string;
23
+ readonly version: string;
24
+ readonly nullability: RecordContractContributorNullability;
25
+ }
26
+ export interface RecordContractComponentContributor extends RecordContractContributorBase {
27
+ readonly kind: 'component';
28
+ readonly componentType: string;
29
+ /** RFC 6901 pointers relative to the component's form-owned field root. */
30
+ readonly ownedPointers: readonly string[];
31
+ compile(context: RecordContractContributorCompileContext): RecordContractComponentContribution | Promise<RecordContractComponentContribution>;
32
+ }
33
+ export type RecordContractContributor = RecordContractComponentContributor;
34
+ export interface RecordContractContributorRegistration {
35
+ readonly contributor: RecordContractContributor;
36
+ readonly source: 'core' | 'hook';
37
+ readonly packageName?: string;
38
+ }
39
+ export declare const RECORD_CONTRACT_REGISTRATION_CODES: {
40
+ readonly INVALID_KEY: "record-contract.registration.invalid-key";
41
+ readonly INVALID_VERSION: "record-contract.registration.invalid-version";
42
+ readonly INVALID_COMPONENT_TYPE: "record-contract.registration.invalid-component-type";
43
+ readonly INVALID_POINTER: "record-contract.registration.invalid-pointer";
44
+ readonly DUPLICATE_KEY: "record-contract.registration.duplicate-key";
45
+ readonly DUPLICATE_COMPONENT: "record-contract.registration.duplicate-component";
46
+ readonly OVERLAPPING_ROOT: "record-contract.registration.overlapping-root";
47
+ readonly INVALID_EXPORT: "record-contract.registration.invalid-export";
48
+ };
49
+ export type RecordContractRegistrationCode = (typeof RECORD_CONTRACT_REGISTRATION_CODES)[keyof typeof RECORD_CONTRACT_REGISTRATION_CODES];
50
+ export interface RecordContractRegistrationIssue {
51
+ readonly code: RecordContractRegistrationCode;
52
+ readonly key: string;
53
+ readonly detail: string;
54
+ }
55
+ export declare class RecordContractContributorRegistrationError extends Error {
56
+ readonly issues: readonly RecordContractRegistrationIssue[];
57
+ constructor(issues: readonly RecordContractRegistrationIssue[]);
58
+ }
59
+ export interface RecordContractContributorRegistryOptions {
60
+ readonly additionalIssues?: readonly RecordContractRegistrationIssue[];
61
+ }
62
+ /** Immutable, deterministically ordered registry validated at its construction boundary. */
63
+ export declare class RecordContractContributorRegistry {
64
+ #private;
65
+ constructor(registrations: readonly RecordContractContributorRegistration[], options?: RecordContractContributorRegistryOptions);
66
+ registrations(): readonly RecordContractContributorRegistration[];
67
+ component(componentType: string): RecordContractContributorRegistration | undefined;
68
+ }
69
+ export interface RecordContractContributorDiscoveryState {
70
+ readonly registrations: readonly RecordContractContributorRegistration[];
71
+ readonly registrationIssues: readonly RecordContractRegistrationIssue[];
72
+ readonly componentTypes: readonly string[];
73
+ }
74
+ export declare function recordContractContributorDiscoveryState(registrations: readonly RecordContractContributorRegistration[], registrationIssues?: readonly RecordContractRegistrationIssue[]): RecordContractContributorDiscoveryState;
75
+ export {};
76
+ //# sourceMappingURL=contributor-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributor-registry.d.ts","sourceRoot":"","sources":["../../src/record-contract/contributor-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecordContractContributorRegistry = exports.RecordContractContributorRegistrationError = exports.RECORD_CONTRACT_REGISTRATION_CODES = void 0;
4
+ exports.recordContractContributorDiscoveryState = recordContractContributorDiscoveryState;
5
+ const json_pointer_1 = require("./json-pointer");
6
+ exports.RECORD_CONTRACT_REGISTRATION_CODES = {
7
+ INVALID_KEY: 'record-contract.registration.invalid-key',
8
+ INVALID_VERSION: 'record-contract.registration.invalid-version',
9
+ INVALID_COMPONENT_TYPE: 'record-contract.registration.invalid-component-type',
10
+ INVALID_POINTER: 'record-contract.registration.invalid-pointer',
11
+ DUPLICATE_KEY: 'record-contract.registration.duplicate-key',
12
+ DUPLICATE_COMPONENT: 'record-contract.registration.duplicate-component',
13
+ OVERLAPPING_ROOT: 'record-contract.registration.overlapping-root',
14
+ INVALID_EXPORT: 'record-contract.registration.invalid-export',
15
+ };
16
+ class RecordContractContributorRegistrationError extends Error {
17
+ issues;
18
+ constructor(issues) {
19
+ const sorted = sortRegistrationIssues(issues);
20
+ super(`Invalid record-contract contributor registrations:\n${sorted
21
+ .map(issue => `- ${issue.code} [${issue.key}]: ${issue.detail}`)
22
+ .join('\n')}`);
23
+ this.name = 'RecordContractContributorRegistrationError';
24
+ this.issues = Object.freeze(sorted.map(item => Object.freeze({ ...item })));
25
+ }
26
+ }
27
+ exports.RecordContractContributorRegistrationError = RecordContractContributorRegistrationError;
28
+ const STABLE_KEY = /^[a-z0-9][a-z0-9._:/-]*$/;
29
+ const STABLE_VERSION = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
30
+ const COMPONENT_TYPE = /^[A-Za-z][A-Za-z0-9_.:-]*$/;
31
+ function sortRegistrationIssues(issues) {
32
+ return [...issues].sort((left, right) => left.code.localeCompare(right.code) ||
33
+ left.key.localeCompare(right.key) ||
34
+ left.detail.localeCompare(right.detail));
35
+ }
36
+ function registrationSortKey(registration) {
37
+ const contributor = registration.contributor;
38
+ return `${contributor.componentType}:${contributor.key}:${registration.packageName ?? ''}`;
39
+ }
40
+ function immutableRegistration(registration) {
41
+ const contributor = Object.freeze({
42
+ ...registration.contributor,
43
+ ownedPointers: Object.freeze([...registration.contributor.ownedPointers]),
44
+ });
45
+ return Object.freeze({
46
+ contributor,
47
+ source: registration.source,
48
+ ...(registration.packageName === undefined ? {} : { packageName: registration.packageName }),
49
+ });
50
+ }
51
+ function issue(code, key, detail) {
52
+ return { code, key, detail };
53
+ }
54
+ /** Immutable, deterministically ordered registry validated at its construction boundary. */
55
+ class RecordContractContributorRegistry {
56
+ #registrations;
57
+ #components;
58
+ constructor(registrations, options = {}) {
59
+ const ordered = registrations
60
+ .map(immutableRegistration)
61
+ .sort((left, right) => registrationSortKey(left).localeCompare(registrationSortKey(right)));
62
+ const issues = [...(options.additionalIssues ?? [])];
63
+ const keys = new Map();
64
+ const components = new Map();
65
+ for (const registration of ordered) {
66
+ const contributor = registration.contributor;
67
+ const key = contributor.key.trim();
68
+ if (!STABLE_KEY.test(key)) {
69
+ issues.push(issue(exports.RECORD_CONTRACT_REGISTRATION_CODES.INVALID_KEY, contributor.key, 'Expected a stable lowercase key.'));
70
+ }
71
+ if (!STABLE_VERSION.test(contributor.version)) {
72
+ issues.push(issue(exports.RECORD_CONTRACT_REGISTRATION_CODES.INVALID_VERSION, contributor.key, 'Expected a non-blank stable version.'));
73
+ }
74
+ if (keys.has(key)) {
75
+ issues.push(issue(exports.RECORD_CONTRACT_REGISTRATION_CODES.DUPLICATE_KEY, key, 'Contributor key is already registered.'));
76
+ }
77
+ else {
78
+ keys.set(key, registration);
79
+ }
80
+ if (!COMPONENT_TYPE.test(contributor.componentType)) {
81
+ issues.push(issue(exports.RECORD_CONTRACT_REGISTRATION_CODES.INVALID_COMPONENT_TYPE, contributor.key, `Invalid component type ${JSON.stringify(contributor.componentType)}.`));
82
+ }
83
+ if (components.has(contributor.componentType)) {
84
+ issues.push(issue(exports.RECORD_CONTRACT_REGISTRATION_CODES.DUPLICATE_COMPONENT, contributor.componentType, 'Component type is already registered.'));
85
+ }
86
+ else {
87
+ components.set(contributor.componentType, registration);
88
+ }
89
+ if (contributor.ownedPointers.length === 0) {
90
+ issues.push(issue(exports.RECORD_CONTRACT_REGISTRATION_CODES.INVALID_POINTER, contributor.key, 'A component contributor must declare at least one owned pointer.'));
91
+ }
92
+ const owned = [];
93
+ for (const pointer of contributor.ownedPointers) {
94
+ if (!(0, json_pointer_1.isRecordContractPointer)(pointer)) {
95
+ issues.push(issue(exports.RECORD_CONTRACT_REGISTRATION_CODES.INVALID_POINTER, contributor.key, `Invalid relative owned pointer ${JSON.stringify(pointer)}.`));
96
+ }
97
+ else if (owned.some(existing => (0, json_pointer_1.recordContractPointersOverlap)(existing, pointer))) {
98
+ issues.push(issue(exports.RECORD_CONTRACT_REGISTRATION_CODES.OVERLAPPING_ROOT, contributor.key, `Owned pointer ${JSON.stringify(pointer)} overlaps another owned pointer.`));
99
+ }
100
+ else {
101
+ owned.push((0, json_pointer_1.recordContractPointer)(pointer));
102
+ }
103
+ }
104
+ }
105
+ if (issues.length > 0) {
106
+ throw new RecordContractContributorRegistrationError(issues);
107
+ }
108
+ this.#registrations = Object.freeze(ordered);
109
+ this.#components = components;
110
+ }
111
+ registrations() {
112
+ return this.#registrations;
113
+ }
114
+ component(componentType) {
115
+ return this.#components.get(componentType);
116
+ }
117
+ }
118
+ exports.RecordContractContributorRegistry = RecordContractContributorRegistry;
119
+ function recordContractContributorDiscoveryState(registrations, registrationIssues = []) {
120
+ return Object.freeze({
121
+ registrations: Object.freeze([...registrations]),
122
+ registrationIssues: Object.freeze(sortRegistrationIssues(registrationIssues).map(item => Object.freeze({ ...item }))),
123
+ componentTypes: Object.freeze([...new Set(registrations.map(registration => registration.contributor.componentType))].sort((left, right) => left < right ? -1 : left > right ? 1 : 0)),
124
+ });
125
+ }
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJpYnV0b3ItcmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVjb3JkLWNvbnRyYWN0L2NvbnRyaWJ1dG9yLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdRQSwwRkFlQztBQXRRRCxpREFBK0c7QUFzRGxHLFFBQUEsa0NBQWtDLEdBQUc7SUFDaEQsV0FBVyxFQUFFLDBDQUEwQztJQUN2RCxlQUFlLEVBQUUsOENBQThDO0lBQy9ELHNCQUFzQixFQUFFLHFEQUFxRDtJQUM3RSxlQUFlLEVBQUUsOENBQThDO0lBQy9ELGFBQWEsRUFBRSw0Q0FBNEM7SUFDM0QsbUJBQW1CLEVBQUUsa0RBQWtEO0lBQ3ZFLGdCQUFnQixFQUFFLCtDQUErQztJQUNqRSxjQUFjLEVBQUUsNkNBQTZDO0NBQ3JELENBQUM7QUFXWCxNQUFhLDBDQUEyQyxTQUFRLEtBQUs7SUFDbkQsTUFBTSxDQUE2QztJQUVuRSxZQUFtQixNQUFrRDtRQUNuRSxNQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxLQUFLLENBQ0gsdURBQXVELE1BQU07YUFDMUQsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxHQUFHLE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksR0FBRyw0Q0FBNEMsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRjtBQWJELGdHQWFDO0FB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
@@ -0,0 +1,44 @@
1
+ import type { RecordContractComponentContributor } from './contributor-registry';
2
+ export type CoreRecordContractComponentClassification = 'scalar' | 'object' | 'array' | 'specialized' | 'container' | 'non-persisting';
3
+ /** Closed inventory used by startup/CI coverage checks. */
4
+ export declare const CORE_RECORD_CONTRACT_COMPONENT_INVENTORY: {
5
+ readonly AccordionComponent: "container";
6
+ readonly AccordionPanelComponent: "container";
7
+ readonly CancelButtonComponent: "non-persisting";
8
+ readonly CheckboxInputComponent: "scalar";
9
+ readonly CheckboxTreeComponent: "specialized";
10
+ readonly ContentComponent: "non-persisting";
11
+ readonly DataLocationComponent: "specialized";
12
+ readonly DateInputComponent: "scalar";
13
+ readonly DeleteButtonComponent: "non-persisting";
14
+ readonly DropdownInputComponent: "scalar";
15
+ readonly FileUploadComponent: "specialized";
16
+ readonly GroupComponent: "object";
17
+ readonly IntegrationStatusComponent: "non-persisting";
18
+ readonly MapComponent: "specialized";
19
+ readonly PDFListComponent: "specialized";
20
+ readonly PublishDataLocationRefreshComponent: "non-persisting";
21
+ readonly PublishDataLocationSelectorComponent: "specialized";
22
+ readonly QuestionTreeComponent: "specialized";
23
+ readonly RadioInputComponent: "scalar";
24
+ readonly RecordMetadataRetrieverComponent: "non-persisting";
25
+ readonly RecordSelectorComponent: "specialized";
26
+ readonly RelatedObjectDataComponent: "non-persisting";
27
+ readonly RepeatableComponent: "array";
28
+ readonly ReusableComponent: "container";
29
+ readonly RichTextEditorComponent: "scalar";
30
+ readonly SaveButtonComponent: "non-persisting";
31
+ readonly SaveStatusComponent: "non-persisting";
32
+ readonly SimpleInputComponent: "scalar";
33
+ readonly SuggestedValidationSummaryComponent: "non-persisting";
34
+ readonly TabComponent: "container";
35
+ readonly TabContentComponent: "container";
36
+ readonly TabNavButtonComponent: "non-persisting";
37
+ readonly TextAreaComponent: "scalar";
38
+ readonly TypeaheadInputComponent: "specialized";
39
+ readonly ValidationSummaryComponent: "non-persisting";
40
+ readonly WorkspaceSelectorComponent: "non-persisting";
41
+ };
42
+ export type CoreRecordContractComponentType = keyof typeof CORE_RECORD_CONTRACT_COMPONENT_INVENTORY;
43
+ export declare function createCoreRecordContractContributors(): readonly RecordContractComponentContributor[];
44
+ //# sourceMappingURL=core-contributors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-contributors.d.ts","sourceRoot":"","sources":["../../src/record-contract/core-contributors.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,kCAAkC,EAGnC,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,yCAAyC,GACnD,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAEjF,2DAA2D;AAC3D,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCmC,CAAC;AAEzF,MAAM,MAAM,+BAA+B,GAAG,MAAM,OAAO,wCAAwC,CAAC;AA4YpG,wBAAgB,oCAAoC,IAAI,SAAS,kCAAkC,EAAE,CA0EpG"}