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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/dist/CoreController.d.ts +3 -7
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +3 -85
  4. package/dist/DatastreamService.d.ts +2 -4
  5. package/dist/DatastreamService.d.ts.map +1 -1
  6. package/dist/HarvestRunService.d.ts +3 -4
  7. package/dist/HarvestRunService.d.ts.map +1 -1
  8. package/dist/HarvestRunService.js +1 -1
  9. package/dist/QueueService.d.ts +1 -1
  10. package/dist/QueueService.d.ts.map +1 -1
  11. package/dist/RecordWriteOptions.d.ts +21 -0
  12. package/dist/RecordWriteOptions.d.ts.map +1 -0
  13. package/dist/RecordWriteOptions.js +17 -0
  14. package/dist/RecordsService.d.ts +14 -105
  15. package/dist/RecordsService.d.ts.map +1 -1
  16. package/dist/RecordsService.js +1 -44
  17. package/dist/SearchService.d.ts +1 -2
  18. package/dist/SearchService.d.ts.map +1 -1
  19. package/dist/StorageService.d.ts +20 -48
  20. package/dist/StorageService.d.ts.map +1 -1
  21. package/dist/StorageService.js +1 -19
  22. package/dist/StorageServiceResponse.d.ts +1 -22
  23. package/dist/StorageServiceResponse.d.ts.map +1 -1
  24. package/dist/StorageServiceResponse.js +4 -22
  25. package/dist/api-routes/groups/branding.d.ts +0 -8
  26. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  27. package/dist/api-routes/groups/branding.js +11 -86
  28. package/dist/api-routes/groups/dashboard-config.d.ts +9 -12
  29. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -1
  30. package/dist/api-routes/groups/dashboard-config.js +73 -136
  31. package/dist/api-routes/groups/forms.d.ts.map +1 -1
  32. package/dist/api-routes/groups/forms.js +2 -10
  33. package/dist/api-routes/groups/records.d.ts +0 -1
  34. package/dist/api-routes/groups/records.d.ts.map +1 -1
  35. package/dist/api-routes/groups/records.js +26 -141
  36. package/dist/api-routes/index.d.ts +0 -3
  37. package/dist/api-routes/index.d.ts.map +1 -1
  38. package/dist/api-routes/index.js +1 -4
  39. package/dist/api-routes/openapi.d.ts.map +1 -1
  40. package/dist/api-routes/openapi.js +5 -7
  41. package/dist/api-routes/request-extraction.d.ts.map +1 -1
  42. package/dist/api-routes/request-extraction.js +8 -10
  43. package/dist/api-routes/route-factory.d.ts.map +1 -1
  44. package/dist/api-routes/route-factory.js +1 -2
  45. package/dist/api-routes/route-registry.d.ts.map +1 -1
  46. package/dist/api-routes/route-registry.js +1 -3
  47. package/dist/api-routes/schemas/common.d.ts +0 -36
  48. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  49. package/dist/api-routes/schemas/common.js +5 -95
  50. package/dist/api-routes/schemas/responses.d.ts +1 -1424
  51. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  52. package/dist/api-routes/schemas/responses.js +60 -382
  53. package/dist/api-routes/types.d.ts +0 -1
  54. package/dist/api-routes/types.d.ts.map +1 -1
  55. package/dist/api-routes/validation.d.ts +1 -5
  56. package/dist/api-routes/validation.d.ts.map +1 -1
  57. package/dist/api-routes/validation.js +15 -14
  58. package/dist/bootstrap.d.ts +1 -3
  59. package/dist/bootstrap.d.ts.map +1 -1
  60. package/dist/bootstrap.js +41 -58
  61. package/dist/config/agendaQueue.config.d.ts +0 -3
  62. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  63. package/dist/config/agendaQueue.config.js +11 -29
  64. package/dist/config/branding.config.d.ts +0 -13
  65. package/dist/config/branding.config.d.ts.map +1 -1
  66. package/dist/config/branding.config.js +2 -34
  67. package/dist/config/brandingConfigurationDefaults.config.d.ts +0 -4
  68. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  69. package/dist/config/brandingConfigurationDefaults.config.js +3 -42
  70. package/dist/config/datapubs.config.d.ts +72 -0
  71. package/dist/config/datapubs.config.d.ts.map +1 -0
  72. package/dist/config/datapubs.config.js +74 -0
  73. package/dist/config/i18n.config.d.ts +4 -0
  74. package/dist/config/i18n.config.d.ts.map +1 -1
  75. package/dist/config/i18n.config.js +1 -1
  76. package/dist/config/index.d.ts +4 -12
  77. package/dist/config/index.d.ts.map +1 -1
  78. package/dist/config/index.js +4 -7
  79. package/dist/config/policies.config.d.ts.map +1 -1
  80. package/dist/config/policies.config.js +23 -37
  81. package/dist/config/raid.config.d.ts +4 -7
  82. package/dist/config/raid.config.d.ts.map +1 -1
  83. package/dist/config/raid.config.js +35 -21
  84. package/dist/config/record.config.d.ts +0 -3
  85. package/dist/config/record.config.d.ts.map +1 -1
  86. package/dist/config/record.config.js +35 -37
  87. package/dist/config/recordtype.config.d.ts +9 -32
  88. package/dist/config/recordtype.config.d.ts.map +1 -1
  89. package/dist/config/recordtype.config.js +7 -4
  90. package/dist/config/routes.config.d.ts.map +1 -1
  91. package/dist/config/routes.config.js +53 -135
  92. package/dist/config/session.config.d.ts +2 -2
  93. package/dist/config/session.config.d.ts.map +1 -1
  94. package/dist/config/workflow.config.d.ts +0 -6
  95. package/dist/config/workflow.config.d.ts.map +1 -1
  96. package/dist/config/workflow.config.js +1 -1
  97. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  98. package/dist/configmodels/AdminSidebarConfig.js +2 -4
  99. package/dist/configmodels/ConfigModels.d.ts +1 -1
  100. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  101. package/dist/configmodels/ConfigModels.js +9 -26
  102. package/dist/configmodels/FigsharePublishing.d.ts +103 -0
  103. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  104. package/dist/configmodels/FigsharePublishing.js +36 -2
  105. package/dist/controllers/AppConfigController.d.ts.map +1 -1
  106. package/dist/controllers/AppConfigController.js +1 -4
  107. package/dist/controllers/BrandingAppController.d.ts +7 -29
  108. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  109. package/dist/controllers/BrandingAppController.js +69 -265
  110. package/dist/controllers/BrandingController.d.ts +1 -24
  111. package/dist/controllers/BrandingController.d.ts.map +1 -1
  112. package/dist/controllers/BrandingController.js +43 -173
  113. package/dist/controllers/DashboardConfigController.d.ts +2 -6
  114. package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
  115. package/dist/controllers/DashboardConfigController.js +4 -18
  116. package/dist/controllers/DynamicAssetController.d.ts +5 -7
  117. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  118. package/dist/controllers/DynamicAssetController.js +12 -21
  119. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  120. package/dist/controllers/RecordAuditController.js +24 -6
  121. package/dist/controllers/RecordController.d.ts +4 -45
  122. package/dist/controllers/RecordController.d.ts.map +1 -1
  123. package/dist/controllers/RecordController.js +345 -778
  124. package/dist/controllers/index.d.ts.map +1 -1
  125. package/dist/controllers/index.js +1 -4
  126. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  127. package/dist/controllers/webservice/AdminController.js +3 -4
  128. package/dist/controllers/webservice/BrandingController.d.ts +1 -26
  129. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  130. package/dist/controllers/webservice/BrandingController.js +116 -292
  131. package/dist/controllers/webservice/DashboardConfigController.d.ts +17 -25
  132. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
  133. package/dist/controllers/webservice/DashboardConfigController.js +205 -90
  134. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  135. package/dist/controllers/webservice/FormManagementController.js +3 -37
  136. package/dist/controllers/webservice/RecordController.d.ts +1 -15
  137. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  138. package/dist/controllers/webservice/RecordController.js +267 -647
  139. package/dist/controllers/webservice/RecordTypeController.d.ts +1 -6
  140. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  141. package/dist/controllers/webservice/RecordTypeController.js +3 -21
  142. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  143. package/dist/controllers/webservice/SearchController.js +3 -7
  144. package/dist/hooks/defineRedboxHook.d.ts +0 -3
  145. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  146. package/dist/hooks/defineRedboxHook.js +1 -4
  147. package/dist/index.d.ts +25 -50
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +4 -90
  150. package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
  151. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  152. package/dist/loader/bootstrapShimRuntime.js +12 -20
  153. package/dist/loader/index.d.ts +0 -9
  154. package/dist/loader/index.d.ts.map +1 -1
  155. package/dist/loader/index.js +4 -93
  156. package/dist/middleware/redboxSession.d.ts.map +1 -1
  157. package/dist/middleware/redboxSession.js +15 -3
  158. package/dist/model/BuildResponse.d.ts +11 -25
  159. package/dist/model/BuildResponse.d.ts.map +1 -1
  160. package/dist/model/BuildResponse.js +3 -4
  161. package/dist/model/DashboardTypeResponseModel.d.ts +0 -6
  162. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  163. package/dist/model/DashboardTypeResponseModel.js +1 -7
  164. package/dist/model/DashboardViewResponseModel.d.ts +1 -5
  165. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
  166. package/dist/model/DashboardViewResponseModel.js +3 -6
  167. package/dist/model/RBValidationError.d.ts +0 -17
  168. package/dist/model/RBValidationError.d.ts.map +1 -1
  169. package/dist/model/RBValidationError.js +1 -37
  170. package/dist/model/RecordTypeResponseModel.d.ts +4 -12
  171. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  172. package/dist/model/RecordTypeResponseModel.js +2 -11
  173. package/dist/model/index.d.ts +1 -5
  174. package/dist/model/index.d.ts.map +1 -1
  175. package/dist/model/index.js +2 -5
  176. package/dist/model/storage/BrandingModel.d.ts +0 -7
  177. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  178. package/dist/model/storage/BrandingModel.js +1 -7
  179. package/dist/model/storage/DeletedRecordModel.d.ts +0 -35
  180. package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
  181. package/dist/model/storage/DeletedRecordModel.js +1 -62
  182. package/dist/model/storage/FigshareSyncModel.d.ts +126 -0
  183. package/dist/model/storage/FigshareSyncModel.d.ts.map +1 -0
  184. package/dist/model/storage/FigshareSyncModel.js +3 -0
  185. package/dist/model/storage/IntegrationAuditModel.d.ts +2 -16
  186. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  187. package/dist/model/storage/IntegrationAuditModel.js +1 -15
  188. package/dist/model/storage/RecordAuditModel.d.ts +4 -11
  189. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  190. package/dist/model/storage/RecordAuditModel.js +30 -8
  191. package/dist/model/storage/RecordModel.d.ts +3 -6
  192. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  193. package/dist/model/storage/RecordTypeModel.d.ts +0 -6
  194. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  195. package/dist/model/storage/RecordTypeModel.js +1 -4
  196. package/dist/model/storage/index.d.ts +10 -12
  197. package/dist/model/storage/index.d.ts.map +1 -1
  198. package/dist/model/storage/index.js +2 -24
  199. package/dist/policies/checkAuth.d.ts +6 -2
  200. package/dist/policies/checkAuth.d.ts.map +1 -1
  201. package/dist/policies/checkAuth.js +9 -32
  202. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  203. package/dist/policies/contentSecurityPolicy.js +2 -85
  204. package/dist/policies/index.d.ts +2 -3
  205. package/dist/policies/index.d.ts.map +1 -1
  206. package/dist/policies/index.js +2 -4
  207. package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
  208. package/dist/policies/validateApiContractRequest.js +11 -49
  209. package/dist/services/AgendaQueueService.d.ts +1 -1
  210. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  211. package/dist/services/AgendaQueueService.js +7 -4
  212. package/dist/services/AppConfigService.d.ts +0 -6
  213. package/dist/services/AppConfigService.d.ts.map +1 -1
  214. package/dist/services/AppConfigService.js +1 -23
  215. package/dist/services/AttachmentMetadataService.d.ts +0 -58
  216. package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
  217. package/dist/services/AttachmentMetadataService.js +8 -643
  218. package/dist/services/BrandingLogoService.d.ts +1 -6
  219. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  220. package/dist/services/BrandingLogoService.js +9 -77
  221. package/dist/services/BrandingService.d.ts +9 -171
  222. package/dist/services/BrandingService.d.ts.map +1 -1
  223. package/dist/services/BrandingService.js +68 -572
  224. package/dist/services/BrandingThemeCssService.d.ts +1 -17
  225. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  226. package/dist/services/BrandingThemeCssService.js +12 -71
  227. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  228. package/dist/services/BrandingThemeTokens.js +2 -1
  229. package/dist/services/DashboardConfigService.d.ts +54 -214
  230. package/dist/services/DashboardConfigService.d.ts.map +1 -1
  231. package/dist/services/DashboardConfigService.js +261 -829
  232. package/dist/services/DashboardTypesService.d.ts +4 -15
  233. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  234. package/dist/services/DashboardTypesService.js +139 -72
  235. package/dist/services/DoiService.d.ts +1 -1
  236. package/dist/services/DoiService.d.ts.map +1 -1
  237. package/dist/services/DoiService.js +45 -71
  238. package/dist/services/FigshareService.d.ts +15 -10
  239. package/dist/services/FigshareService.d.ts.map +1 -1
  240. package/dist/services/FigshareService.js +82 -583
  241. package/dist/services/FormRecordConsistencyService.d.ts +23 -8
  242. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  243. package/dist/services/FormRecordConsistencyService.js +70 -54
  244. package/dist/services/FormsService.d.ts +2 -91
  245. package/dist/services/FormsService.d.ts.map +1 -1
  246. package/dist/services/FormsService.js +64 -324
  247. package/dist/services/HarvestRunService.d.ts +3 -6
  248. package/dist/services/HarvestRunService.d.ts.map +1 -1
  249. package/dist/services/HarvestRunService.js +97 -161
  250. package/dist/services/I18nEntriesService.d.ts +2 -1
  251. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  252. package/dist/services/I18nEntriesService.js +45 -30
  253. package/dist/services/OniService.d.ts +62 -19
  254. package/dist/services/OniService.d.ts.map +1 -1
  255. package/dist/services/OniService.js +691 -223
  256. package/dist/services/RDMPService.d.ts +1 -1
  257. package/dist/services/RDMPService.d.ts.map +1 -1
  258. package/dist/services/RDMPService.js +5 -5
  259. package/dist/services/RaidService.d.ts +61 -19
  260. package/dist/services/RaidService.d.ts.map +1 -1
  261. package/dist/services/RaidService.js +530 -191
  262. package/dist/services/RecordTypesService.d.ts +0 -29
  263. package/dist/services/RecordTypesService.d.ts.map +1 -1
  264. package/dist/services/RecordTypesService.js +11 -106
  265. package/dist/services/RecordsService.d.ts +26 -313
  266. package/dist/services/RecordsService.d.ts.map +1 -1
  267. package/dist/services/RecordsService.js +763 -5089
  268. package/dist/services/SolrSearchService.d.ts +1 -1
  269. package/dist/services/SolrSearchService.d.ts.map +1 -1
  270. package/dist/services/SolrSearchService.js +12 -42
  271. package/dist/services/StandardDatastreamService.d.ts +5 -4
  272. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  273. package/dist/services/StandardDatastreamService.js +61 -106
  274. package/dist/services/TriggerService.d.ts.map +1 -1
  275. package/dist/services/TriggerService.js +30 -54
  276. package/dist/services/UsersService.d.ts +1 -2
  277. package/dist/services/UsersService.d.ts.map +1 -1
  278. package/dist/services/UsersService.js +283 -364
  279. package/dist/services/VocabularyService.d.ts +0 -2
  280. package/dist/services/VocabularyService.d.ts.map +1 -1
  281. package/dist/services/VocabularyService.js +2 -61
  282. package/dist/services/WorkflowStepsService.d.ts +0 -11
  283. package/dist/services/WorkflowStepsService.d.ts.map +1 -1
  284. package/dist/services/WorkflowStepsService.js +3 -32
  285. package/dist/services/WorkspaceService.d.ts +2 -2
  286. package/dist/services/WorkspaceService.d.ts.map +1 -1
  287. package/dist/services/WorkspaceService.js +5 -5
  288. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  289. package/dist/services/doi-v2/bindings.js +20 -3
  290. package/dist/services/doi-v2/config.d.ts +0 -1
  291. package/dist/services/doi-v2/config.d.ts.map +1 -1
  292. package/dist/services/doi-v2/config.js +5 -13
  293. package/dist/services/doi-v2/runtime.d.ts.map +1 -1
  294. package/dist/services/doi-v2/runtime.js +54 -14
  295. package/dist/services/figshare-v2/admin.d.ts +16 -0
  296. package/dist/services/figshare-v2/admin.d.ts.map +1 -0
  297. package/dist/services/figshare-v2/admin.js +283 -0
  298. package/dist/services/figshare-v2/assets.d.ts +20 -1
  299. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  300. package/dist/services/figshare-v2/assets.js +16 -1
  301. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  302. package/dist/services/figshare-v2/bindings.js +20 -3
  303. package/dist/services/figshare-v2/config.d.ts +8 -2
  304. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  305. package/dist/services/figshare-v2/config.js +31 -3
  306. package/dist/services/figshare-v2/execution.d.ts +25 -0
  307. package/dist/services/figshare-v2/execution.d.ts.map +1 -0
  308. package/dist/services/figshare-v2/execution.js +49 -0
  309. package/dist/services/figshare-v2/http.d.ts +6 -1
  310. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  311. package/dist/services/figshare-v2/http.js +69 -12
  312. package/dist/services/figshare-v2/identity.d.ts +12 -0
  313. package/dist/services/figshare-v2/identity.d.ts.map +1 -0
  314. package/dist/services/figshare-v2/identity.js +78 -0
  315. package/dist/services/figshare-v2/managed-assets.d.ts +9 -0
  316. package/dist/services/figshare-v2/managed-assets.d.ts.map +1 -0
  317. package/dist/services/figshare-v2/managed-assets.js +229 -0
  318. package/dist/services/figshare-v2/plan.d.ts.map +1 -1
  319. package/dist/services/figshare-v2/plan.js +2 -9
  320. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  321. package/dist/services/figshare-v2/runtime.js +58 -11
  322. package/dist/services/figshare-v2/source-intent.d.ts +9 -0
  323. package/dist/services/figshare-v2/source-intent.d.ts.map +1 -0
  324. package/dist/services/figshare-v2/source-intent.js +93 -0
  325. package/dist/services/figshare-v2/status.d.ts +4 -0
  326. package/dist/services/figshare-v2/status.d.ts.map +1 -0
  327. package/dist/services/figshare-v2/status.js +29 -0
  328. package/dist/services/figshare-v2/sync-store.d.ts +27 -0
  329. package/dist/services/figshare-v2/sync-store.d.ts.map +1 -0
  330. package/dist/services/figshare-v2/sync-store.js +139 -0
  331. package/dist/services/figshare-v2/types.d.ts +3 -0
  332. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  333. package/dist/services/figshare-v2/types.js +1 -1
  334. package/dist/services/figshare-v2/worker.d.ts +16 -0
  335. package/dist/services/figshare-v2/worker.d.ts.map +1 -0
  336. package/dist/services/figshare-v2/worker.js +572 -0
  337. package/dist/services/index.d.ts +0 -9
  338. package/dist/services/index.d.ts.map +1 -1
  339. package/dist/services/index.js +3 -45
  340. package/dist/utilities/TranslationHtml.d.ts +3 -0
  341. package/dist/utilities/TranslationHtml.d.ts.map +1 -0
  342. package/dist/utilities/TranslationHtml.js +46 -0
  343. package/dist/visitor/client.visitor.d.ts +0 -6
  344. package/dist/visitor/client.visitor.d.ts.map +1 -1
  345. package/dist/visitor/client.visitor.js +14 -59
  346. package/dist/visitor/construct.visitor.d.ts +1 -27
  347. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  348. package/dist/visitor/construct.visitor.js +177 -265
  349. package/dist/visitor/context-variables.visitor.d.ts +1 -3
  350. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  351. package/dist/visitor/context-variables.visitor.js +1 -15
  352. package/dist/visitor/data-value.visitor.d.ts +0 -6
  353. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  354. package/dist/visitor/data-value.visitor.js +1 -10
  355. package/dist/visitor/json-type-def.visitor.d.ts +0 -6
  356. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  357. package/dist/visitor/json-type-def.visitor.js +1 -10
  358. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +0 -11
  359. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  360. package/dist/visitor/migrate-config-v4-v5.visitor.js +133 -228
  361. package/dist/visitor/template.visitor.d.ts +2 -17
  362. package/dist/visitor/template.visitor.d.ts.map +1 -1
  363. package/dist/visitor/template.visitor.js +22 -60
  364. package/dist/visitor/validator.visitor.d.ts +7 -49
  365. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  366. package/dist/visitor/validator.visitor.js +178 -275
  367. package/dist/waterline-models/AttachmentMetadata.d.ts +0 -22
  368. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
  369. package/dist/waterline-models/AttachmentMetadata.js +3 -147
  370. package/dist/waterline-models/BrandingConfig.d.ts +0 -7
  371. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  372. package/dist/waterline-models/BrandingConfig.js +1 -16
  373. package/dist/waterline-models/BrandingConfigHistory.d.ts +2 -11
  374. package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
  375. package/dist/waterline-models/BrandingConfigHistory.js +1 -21
  376. package/dist/waterline-models/FigshareSync.d.ts +41 -0
  377. package/dist/waterline-models/FigshareSync.d.ts.map +1 -0
  378. package/dist/waterline-models/FigshareSync.js +168 -0
  379. package/dist/waterline-models/RecordType.d.ts +0 -9
  380. package/dist/waterline-models/RecordType.d.ts.map +1 -1
  381. package/dist/waterline-models/RecordType.js +1 -16
  382. package/dist/waterline-models/User.d.ts +2 -2
  383. package/dist/waterline-models/User.d.ts.map +1 -1
  384. package/dist/waterline-models/User.js +17 -12
  385. package/dist/waterline-models/index.d.ts +2 -2
  386. package/dist/waterline-models/index.d.ts.map +1 -1
  387. package/dist/waterline-models/index.js +4 -4
  388. package/package.json +46 -59
  389. package/dist/AttachmentStagingIdentity.d.ts +0 -3
  390. package/dist/AttachmentStagingIdentity.d.ts.map +0 -1
  391. package/dist/AttachmentStagingIdentity.js +0 -10
  392. package/dist/RecordConcurrencyObservability.d.ts +0 -51
  393. package/dist/RecordConcurrencyObservability.d.ts.map +0 -1
  394. package/dist/RecordConcurrencyObservability.js +0 -136
  395. package/dist/RecordEntityTag.d.ts +0 -31
  396. package/dist/RecordEntityTag.d.ts.map +0 -1
  397. package/dist/RecordEntityTag.js +0 -101
  398. package/dist/RecordFormFingerprint.d.ts +0 -7
  399. package/dist/RecordFormFingerprint.d.ts.map +0 -1
  400. package/dist/RecordFormFingerprint.js +0 -106
  401. package/dist/RecordHttpConcurrency.d.ts +0 -60
  402. package/dist/RecordHttpConcurrency.d.ts.map +0 -1
  403. package/dist/RecordHttpConcurrency.js +0 -181
  404. package/dist/RecordSaveResponse.d.ts +0 -219
  405. package/dist/RecordSaveResponse.d.ts.map +0 -1
  406. package/dist/RecordSaveResponse.js +0 -639
  407. package/dist/RecordStorageConcurrency.d.ts +0 -48
  408. package/dist/RecordStorageConcurrency.d.ts.map +0 -1
  409. package/dist/RecordStorageConcurrency.js +0 -103
  410. package/dist/RecordWriteClassification.d.ts +0 -12
  411. package/dist/RecordWriteClassification.d.ts.map +0 -1
  412. package/dist/RecordWriteClassification.js +0 -70
  413. package/dist/action-execution/audit.d.ts +0 -41
  414. package/dist/action-execution/audit.d.ts.map +0 -1
  415. package/dist/action-execution/audit.js +0 -122
  416. package/dist/action-execution/executor.d.ts +0 -24
  417. package/dist/action-execution/executor.d.ts.map +0 -1
  418. package/dist/action-execution/executor.js +0 -435
  419. package/dist/action-execution/failure.d.ts +0 -49
  420. package/dist/action-execution/failure.d.ts.map +0 -1
  421. package/dist/action-execution/failure.js +0 -129
  422. package/dist/action-execution/index.d.ts +0 -7
  423. package/dist/action-execution/index.d.ts.map +0 -1
  424. package/dist/action-execution/index.js +0 -23
  425. package/dist/action-execution/legacy-result.d.ts +0 -21
  426. package/dist/action-execution/legacy-result.d.ts.map +0 -1
  427. package/dist/action-execution/legacy-result.js +0 -70
  428. package/dist/action-execution/policy.d.ts +0 -12
  429. package/dist/action-execution/policy.d.ts.map +0 -1
  430. package/dist/action-execution/policy.js +0 -138
  431. package/dist/action-execution/types.d.ts +0 -121
  432. package/dist/action-execution/types.d.ts.map +0 -1
  433. package/dist/action-execution/types.js +0 -22
  434. package/dist/api-routes/groups/record-schemas.d.ts +0 -5
  435. package/dist/api-routes/groups/record-schemas.d.ts.map +0 -1
  436. package/dist/api-routes/groups/record-schemas.js +0 -181
  437. package/dist/api-routes/record-schema-openapi.d.ts +0 -26
  438. package/dist/api-routes/record-schema-openapi.d.ts.map +0 -1
  439. package/dist/api-routes/record-schema-openapi.js +0 -38
  440. package/dist/api-routes/record-schema-response.d.ts +0 -40
  441. package/dist/api-routes/record-schema-response.d.ts.map +0 -1
  442. package/dist/api-routes/record-schema-response.js +0 -89
  443. package/dist/config/recordSchema.config.d.ts +0 -68
  444. package/dist/config/recordSchema.config.d.ts.map +0 -1
  445. package/dist/config/recordSchema.config.js +0 -173
  446. package/dist/config/recordValidation.config.d.ts +0 -19
  447. package/dist/config/recordValidation.config.d.ts.map +0 -1
  448. package/dist/config/recordValidation.config.js +0 -10
  449. package/dist/configmodels/DashboardFieldCatalogue.d.ts +0 -67
  450. package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +0 -1
  451. package/dist/configmodels/DashboardFieldCatalogue.js +0 -174
  452. package/dist/configmodels/DashboardSettings.d.ts +0 -191
  453. package/dist/configmodels/DashboardSettings.d.ts.map +0 -1
  454. package/dist/configmodels/DashboardSettings.js +0 -705
  455. package/dist/configmodels/OniPublishing.d.ts +0 -205
  456. package/dist/configmodels/OniPublishing.d.ts.map +0 -1
  457. package/dist/configmodels/OniPublishing.js +0 -335
  458. package/dist/configmodels/RaidPublishing.d.ts +0 -97
  459. package/dist/configmodels/RaidPublishing.d.ts.map +0 -1
  460. package/dist/configmodels/RaidPublishing.js +0 -35
  461. package/dist/configmodels/WebAnalytics.d.ts +0 -55
  462. package/dist/configmodels/WebAnalytics.d.ts.map +0 -1
  463. package/dist/configmodels/WebAnalytics.js +0 -61
  464. package/dist/controllers/BrandingControllerSupport.d.ts +0 -20
  465. package/dist/controllers/BrandingControllerSupport.d.ts.map +0 -1
  466. package/dist/controllers/BrandingControllerSupport.js +0 -80
  467. package/dist/controllers/webservice/RecordSchemaController.d.ts +0 -32
  468. package/dist/controllers/webservice/RecordSchemaController.d.ts.map +0 -1
  469. package/dist/controllers/webservice/RecordSchemaController.js +0 -356
  470. package/dist/model/BrandingTypeface.d.ts +0 -70
  471. package/dist/model/BrandingTypeface.d.ts.map +0 -1
  472. package/dist/model/BrandingTypeface.js +0 -116
  473. package/dist/model/record-contract.d.ts +0 -42
  474. package/dist/model/record-contract.d.ts.map +0 -1
  475. package/dist/model/record-contract.js +0 -3
  476. package/dist/model/storage/record-schema.d.ts +0 -115
  477. package/dist/model/storage/record-schema.d.ts.map +0 -1
  478. package/dist/model/storage/record-schema.js +0 -3
  479. package/dist/record-contract/ajv-error-mapper.d.ts +0 -34
  480. package/dist/record-contract/ajv-error-mapper.d.ts.map +0 -1
  481. package/dist/record-contract/ajv-error-mapper.js +0 -153
  482. package/dist/record-contract/canonical-json.d.ts +0 -20
  483. package/dist/record-contract/canonical-json.d.ts.map +0 -1
  484. package/dist/record-contract/canonical-json.js +0 -126
  485. package/dist/record-contract/codes.d.ts +0 -36
  486. package/dist/record-contract/codes.d.ts.map +0 -1
  487. package/dist/record-contract/codes.js +0 -38
  488. package/dist/record-contract/contributor-registry.d.ts +0 -76
  489. package/dist/record-contract/contributor-registry.d.ts.map +0 -1
  490. package/dist/record-contract/contributor-registry.js +0 -126
  491. package/dist/record-contract/core-contributors.d.ts +0 -44
  492. package/dist/record-contract/core-contributors.d.ts.map +0 -1
  493. package/dist/record-contract/core-contributors.js +0 -395
  494. package/dist/record-contract/deep-freeze.d.ts +0 -3
  495. package/dist/record-contract/deep-freeze.d.ts.map +0 -1
  496. package/dist/record-contract/deep-freeze.js +0 -23
  497. package/dist/record-contract/index.d.ts +0 -13
  498. package/dist/record-contract/index.d.ts.map +0 -1
  499. package/dist/record-contract/index.js +0 -29
  500. package/dist/record-contract/json-pointer.d.ts +0 -20
  501. package/dist/record-contract/json-pointer.d.ts.map +0 -1
  502. package/dist/record-contract/json-pointer.js +0 -70
  503. package/dist/record-contract/json-schema-renderer.d.ts +0 -51
  504. package/dist/record-contract/json-schema-renderer.d.ts.map +0 -1
  505. package/dist/record-contract/json-schema-renderer.js +0 -450
  506. package/dist/record-contract/record-contract-compiler.d.ts +0 -42
  507. package/dist/record-contract/record-contract-compiler.d.ts.map +0 -1
  508. package/dist/record-contract/record-contract-compiler.js +0 -775
  509. package/dist/record-contract/record-contract-context.d.ts +0 -91
  510. package/dist/record-contract/record-contract-context.d.ts.map +0 -1
  511. package/dist/record-contract/record-contract-context.js +0 -39
  512. package/dist/record-contract/record-json-schema-artifact.d.ts +0 -74
  513. package/dist/record-contract/record-json-schema-artifact.d.ts.map +0 -1
  514. package/dist/record-contract/record-json-schema-artifact.js +0 -309
  515. package/dist/record-contract/record-json-schema-etag.d.ts +0 -15
  516. package/dist/record-contract/record-json-schema-etag.d.ts.map +0 -1
  517. package/dist/record-contract/record-json-schema-etag.js +0 -41
  518. package/dist/record-contract/types.d.ts +0 -151
  519. package/dist/record-contract/types.d.ts.map +0 -1
  520. package/dist/record-contract/types.js +0 -6
  521. package/dist/services/BrandingTypefaceService.d.ts +0 -74
  522. package/dist/services/BrandingTypefaceService.d.ts.map +0 -1
  523. package/dist/services/BrandingTypefaceService.js +0 -359
  524. package/dist/services/BrandingWoff2Inspector.d.ts +0 -17
  525. package/dist/services/BrandingWoff2Inspector.d.ts.map +0 -1
  526. package/dist/services/BrandingWoff2Inspector.js +0 -402
  527. package/dist/services/DashboardLegacyConversion.d.ts +0 -82
  528. package/dist/services/DashboardLegacyConversion.d.ts.map +0 -1
  529. package/dist/services/DashboardLegacyConversion.js +0 -427
  530. package/dist/services/RecordSchemaService.d.ts +0 -440
  531. package/dist/services/RecordSchemaService.d.ts.map +0 -1
  532. package/dist/services/RecordSchemaService.js +0 -3061
  533. package/dist/services/RecordValidationService.d.ts +0 -340
  534. package/dist/services/RecordValidationService.d.ts.map +0 -1
  535. package/dist/services/RecordValidationService.js +0 -1898
  536. package/dist/services/form-record-access-user.d.ts +0 -3
  537. package/dist/services/form-record-access-user.d.ts.map +0 -1
  538. package/dist/services/form-record-access-user.js +0 -23
  539. package/dist/services/integration-v2/bindings.d.ts +0 -3
  540. package/dist/services/integration-v2/bindings.d.ts.map +0 -1
  541. package/dist/services/integration-v2/bindings.js +0 -91
  542. package/dist/services/integration-v2/runtime.d.ts +0 -3
  543. package/dist/services/integration-v2/runtime.d.ts.map +0 -1
  544. package/dist/services/integration-v2/runtime.js +0 -50
  545. package/dist/services/internal-record-schema-authorization.d.ts +0 -8
  546. package/dist/services/internal-record-schema-authorization.d.ts.map +0 -1
  547. package/dist/services/internal-record-schema-authorization.js +0 -16
  548. package/dist/services/oni-v2/audit.d.ts +0 -19
  549. package/dist/services/oni-v2/audit.d.ts.map +0 -1
  550. package/dist/services/oni-v2/audit.js +0 -50
  551. package/dist/services/oni-v2/bindings.d.ts +0 -7
  552. package/dist/services/oni-v2/bindings.d.ts.map +0 -1
  553. package/dist/services/oni-v2/bindings.js +0 -31
  554. package/dist/services/oni-v2/config.d.ts +0 -12
  555. package/dist/services/oni-v2/config.d.ts.map +0 -1
  556. package/dist/services/oni-v2/config.js +0 -134
  557. package/dist/services/oni-v2/context.d.ts +0 -3
  558. package/dist/services/oni-v2/context.d.ts.map +0 -1
  559. package/dist/services/oni-v2/context.js +0 -17
  560. package/dist/services/oni-v2/crate.d.ts +0 -17
  561. package/dist/services/oni-v2/crate.d.ts.map +0 -1
  562. package/dist/services/oni-v2/crate.js +0 -504
  563. package/dist/services/oni-v2/flydriveOcflStore.d.ts +0 -69
  564. package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +0 -1
  565. package/dist/services/oni-v2/flydriveOcflStore.js +0 -325
  566. package/dist/services/oni-v2/ingestion.d.ts +0 -37
  567. package/dist/services/oni-v2/ingestion.d.ts.map +0 -1
  568. package/dist/services/oni-v2/ingestion.js +0 -91
  569. package/dist/services/oni-v2/mapping.d.ts +0 -17
  570. package/dist/services/oni-v2/mapping.d.ts.map +0 -1
  571. package/dist/services/oni-v2/mapping.js +0 -137
  572. package/dist/services/oni-v2/repository.d.ts +0 -9
  573. package/dist/services/oni-v2/repository.d.ts.map +0 -1
  574. package/dist/services/oni-v2/repository.js +0 -180
  575. package/dist/services/oni-v2/runtime.d.ts +0 -23
  576. package/dist/services/oni-v2/runtime.d.ts.map +0 -1
  577. package/dist/services/oni-v2/runtime.js +0 -121
  578. package/dist/services/oni-v2/templating.d.ts +0 -11
  579. package/dist/services/oni-v2/templating.d.ts.map +0 -1
  580. package/dist/services/oni-v2/templating.js +0 -27
  581. package/dist/services/oni-v2/types.d.ts +0 -100
  582. package/dist/services/oni-v2/types.d.ts.map +0 -1
  583. package/dist/services/oni-v2/types.js +0 -3
  584. package/dist/services/raid-v2/audit.d.ts +0 -10
  585. package/dist/services/raid-v2/audit.d.ts.map +0 -1
  586. package/dist/services/raid-v2/audit.js +0 -29
  587. package/dist/services/raid-v2/errors.d.ts +0 -85
  588. package/dist/services/raid-v2/errors.d.ts.map +0 -1
  589. package/dist/services/raid-v2/errors.js +0 -36
  590. package/dist/services/raid-v2/http.d.ts +0 -4
  591. package/dist/services/raid-v2/http.d.ts.map +0 -1
  592. package/dist/services/raid-v2/http.js +0 -84
  593. package/dist/services/raid-v2/logger.d.ts +0 -8
  594. package/dist/services/raid-v2/logger.d.ts.map +0 -1
  595. package/dist/services/raid-v2/logger.js +0 -30
  596. package/dist/services/raid-v2/mapping.d.ts +0 -9
  597. package/dist/services/raid-v2/mapping.d.ts.map +0 -1
  598. package/dist/services/raid-v2/mapping.js +0 -168
  599. package/dist/services/raid-v2/runtime.d.ts +0 -5
  600. package/dist/services/raid-v2/runtime.d.ts.map +0 -1
  601. package/dist/services/raid-v2/runtime.js +0 -135
  602. package/dist/services/raid-v2/tags.d.ts +0 -11
  603. package/dist/services/raid-v2/tags.d.ts.map +0 -1
  604. package/dist/services/raid-v2/tags.js +0 -12
  605. package/dist/services/raid-v2/types.d.ts +0 -66
  606. package/dist/services/raid-v2/types.d.ts.map +0 -1
  607. package/dist/services/raid-v2/types.js +0 -3
  608. package/dist/services/record-hooks/coordinator.d.ts +0 -64
  609. package/dist/services/record-hooks/coordinator.d.ts.map +0 -1
  610. package/dist/services/record-hooks/coordinator.js +0 -276
  611. package/dist/visitor/related-object-data-inline.visitor.d.ts +0 -31
  612. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +0 -1
  613. package/dist/visitor/related-object-data-inline.visitor.js +0 -96
  614. package/dist/waterline-models/DashboardConfiguration.d.ts +0 -29
  615. package/dist/waterline-models/DashboardConfiguration.d.ts.map +0 -1
  616. package/dist/waterline-models/DashboardConfiguration.js +0 -52
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.brandingVersionEntrySchema = exports.brandingTypefaceStateSchema = exports.brandingTypefaceFaceSchema = exports.brandingHistoryRecordSchema = exports.brandingLogoResponseSchema = exports.brandingRollbackResponseSchema = exports.brandingPublishResponseSchema = exports.brandingPreviewResponseSchema = exports.brandingDraftResponseSchema = exports.brandingConfigSchema = exports.roleSummarySchema = exports.supportAgreementYearSchema = exports.statusMessageResponseSchema = exports.userAuditResponseSchema = exports.userAuditSummarySchema = exports.userAuditRecordSchema = exports.userAuditActorSchema = exports.userLinkResponseSchema = exports.linkedUserSummarySchema = exports.recordPermissionSaveResponseSchema = exports.recordSaveFailureResponseSchema = exports.recordSaveSuccessResponseSchema = exports.storageServiceResponseSchema = exports.recordConcurrencyMetadataSchema = exports.recordConcurrentModificationConfigSchema = exports.recordFormFingerprintSchema = exports.recordEntityTagSchema = exports.recordRevisionSchema = exports.recordSaveIssueSchema = exports.recordAuthorizationSchema = exports.genericObjectSchema = exports.userApiTokenApiResponseSchema = exports.createUserApiResponseSchema = exports.listApiSummarySchema = exports.harvestRouteResponseSchema = exports.harvestRunDetailResponseSchema = exports.enhancedHarvestChunkResponseSchema = exports.harvestChunkRecordResponseSchema = exports.harvestRunAggregateCountsSchema = exports.harvestRunEventSchema = exports.harvestRunChunkSummarySchema = exports.harvestRunSummarySchema = exports.apiHarvestResponseSchema = exports.apiObjectActionResponseSchema = exports.apiActionResponseSchema = exports.apiErrorResponseSchema = exports.buildResponseTypeSchema = exports.dataResponseV2Schema = exports.errorResponseV2Schema = exports.errorResponseItemV2Schema = void 0;
4
- exports.appConfigValueSchema = exports.namedQueryResponseRecordSchema = exports.recordAuditEntrySchema = exports.datastreamUploadResponseSchema = exports.datastreamUploadResultSchema = exports.datastreamUploadFileSchema = exports.datastreamSummarySchema = exports.deletedRecordListItemSchema = exports.recordListItemSchema = exports.recordPermissionsReadResponseSchema = exports.objectMetadataReadResponseSchema = exports.recordMetadataReadResponseSchema = exports.recordReadMetadataSchema = exports.objectMetadataSchema = exports.recordMetadataSchema = exports.searchResultsSchema = exports.searchRecordSchema = exports.searchFacetSchema = exports.searchFacetValueSchema = exports.translationBundleSchema = exports.translationEntrySchema = exports.vocabularySchema = exports.vocabularyTreeNodeSchema = exports.vocabularyEntrySchema = exports.formSchema = exports.validationOperationDiscoverySchema = exports.recordTypeSchema = exports.recordTypeHooksSchema = exports.recordTypeHookOnEventSchema = exports.recordTypeHookDeclarationSchema = exports.relatedToSchema = exports.searchFilterSchema = exports.userRecordSchema = exports.brandingPublishStateResponseSchema = exports.brandingAdminStateSchema = void 0;
3
+ exports.translationEntrySchema = exports.vocabularySchema = exports.vocabularyTreeNodeSchema = exports.vocabularyEntrySchema = exports.formSchema = exports.recordTypeSchema = exports.recordTypeHooksSchema = exports.recordTypeHookOnEventSchema = exports.recordTypeHookDeclarationSchema = exports.relatedToSchema = exports.searchFilterSchema = exports.userRecordSchema = exports.brandingHistoryRecordSchema = exports.brandingLogoResponseSchema = exports.brandingRollbackResponseSchema = exports.brandingPublishResponseSchema = exports.brandingPreviewResponseSchema = exports.brandingDraftResponseSchema = exports.brandingConfigSchema = exports.roleSummarySchema = exports.supportAgreementYearSchema = exports.statusMessageResponseSchema = exports.userAuditResponseSchema = exports.userAuditSummarySchema = exports.userAuditRecordSchema = exports.userAuditActorSchema = exports.userLinkResponseSchema = exports.linkedUserSummarySchema = exports.storageServiceResponseSchema = exports.recordAuthorizationSchema = exports.genericObjectSchema = exports.userApiTokenApiResponseSchema = exports.createUserApiResponseSchema = exports.listApiSummarySchema = exports.harvestRouteResponseSchema = exports.harvestRunDetailResponseSchema = exports.enhancedHarvestChunkResponseSchema = exports.harvestChunkRecordResponseSchema = exports.harvestRunAggregateCountsSchema = exports.harvestRunEventSchema = exports.harvestRunChunkSummarySchema = exports.harvestRunSummarySchema = exports.apiHarvestResponseSchema = exports.apiObjectActionResponseSchema = exports.apiActionResponseSchema = exports.apiErrorResponseSchema = exports.buildResponseTypeSchema = exports.dataResponseV2Schema = exports.errorResponseV2Schema = exports.errorResponseItemV2Schema = void 0;
4
+ exports.appConfigValueSchema = exports.namedQueryResponseRecordSchema = exports.recordAuditEntrySchema = exports.datastreamUploadResponseSchema = exports.datastreamUploadResultSchema = exports.datastreamUploadFileSchema = exports.datastreamSummarySchema = exports.deletedRecordListItemSchema = exports.recordListItemSchema = exports.objectMetadataSchema = exports.recordMetadataSchema = exports.searchResultsSchema = exports.searchRecordSchema = exports.searchFacetSchema = exports.searchFacetValueSchema = exports.translationBundleSchema = void 0;
5
5
  exports.listApiResponseSchema = listApiResponseSchema;
6
6
  const zod_openapi_1 = require("../zod-openapi");
7
- const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
8
7
  function withOpenApi(schema, metadata) {
9
8
  return schema.openapi(metadata);
10
9
  }
@@ -56,10 +55,8 @@ const messageDetailsSchema = zod_openapi_1.z.object({
56
55
  message: zod_openapi_1.z.string(),
57
56
  details: zod_openapi_1.z.string(),
58
57
  });
59
- exports.apiErrorResponseSchema = withOpenApi(messageDetailsSchema.extend({
60
- details: zod_openapi_1.z.string().optional(),
61
- }), {
62
- description: 'Legacy API error response with a message and optional details',
58
+ exports.apiErrorResponseSchema = withOpenApi(messageDetailsSchema, {
59
+ description: 'Legacy API error response with message and details fields',
63
60
  });
64
61
  exports.apiActionResponseSchema = withOpenApi(messageDetailsSchema, {
65
62
  description: 'Legacy API action response with message and details fields',
@@ -166,7 +163,10 @@ exports.harvestRunDetailResponseSchema = withOpenApi(zod_openapi_1.z.object({
166
163
  events: zod_openapi_1.z.array(exports.harvestRunEventSchema),
167
164
  aggregateCounts: exports.harvestRunAggregateCountsSchema,
168
165
  }), { description: 'Harvest run detail response' });
169
- exports.harvestRouteResponseSchema = withOpenApi(zod_openapi_1.z.union([zod_openapi_1.z.array(exports.apiHarvestResponseSchema), exports.enhancedHarvestChunkResponseSchema]), { description: 'Harvest response for legacy and tracked payloads' });
166
+ exports.harvestRouteResponseSchema = withOpenApi(zod_openapi_1.z.union([
167
+ zod_openapi_1.z.array(exports.apiHarvestResponseSchema),
168
+ exports.enhancedHarvestChunkResponseSchema,
169
+ ]), { description: 'Harvest response for legacy and tracked payloads' });
170
170
  exports.listApiSummarySchema = withOpenApi(zod_openapi_1.z.object({
171
171
  numFound: zod_openapi_1.z.number().int(),
172
172
  page: zod_openapi_1.z.number().int(),
@@ -202,163 +202,15 @@ exports.recordAuthorizationSchema = withOpenApi(zod_openapi_1.z.object({
202
202
  editRoles: zod_openapi_1.z.array(zod_openapi_1.z.string()).optional(),
203
203
  viewRoles: zod_openapi_1.z.array(zod_openapi_1.z.string()).optional(),
204
204
  }), { description: 'Record authorization payload' });
205
- const recordSaveLineageSegmentSchema = zod_openapi_1.z.union([
206
- zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_SAVE_LINEAGE_LIMITS.maxSegmentLength),
207
- zod_openapi_1.z.number().int().nonnegative(),
208
- ]);
209
- const recordSaveLineagePathSchema = zod_openapi_1.z.array(recordSaveLineageSegmentSchema).max(sails_ng_common_1.RECORD_SAVE_LINEAGE_LIMITS.maxSegments);
210
- const recordSaveTargetFieldSchema = zod_openapi_1.z.object({
211
- formConfig: recordSaveLineagePathSchema.optional(),
212
- dataModel: recordSaveLineagePathSchema.optional(),
213
- angularComponents: recordSaveLineagePathSchema.optional(),
214
- layout: recordSaveLineagePathSchema.optional(),
215
- });
216
- const recordSaveLineagePathsSchema = recordSaveTargetFieldSchema.extend({
217
- angularComponentsJsonPointer: zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_SAVE_LINEAGE_LIMITS.maxPointerLength).optional(),
218
- layoutJsonPointer: zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_SAVE_LINEAGE_LIMITS.maxPointerLength).optional(),
219
- });
220
- const recordSaveValidatorParametersSchema = zod_openapi_1.z
221
- .object({
222
- requiredThreshold: zod_openapi_1.z.number().finite().optional(),
223
- actualLength: zod_openapi_1.z.number().finite().optional(),
224
- requiredLength: zod_openapi_1.z.number().finite().optional(),
225
- required: zod_openapi_1.z.boolean().optional(),
226
- controlCount: zod_openapi_1.z.number().finite().optional(),
227
- valueCount: zod_openapi_1.z.number().finite().optional(),
228
- multiSelect: zod_openapi_1.z.boolean().optional(),
229
- sourceType: zod_openapi_1.z.enum(['static', 'vocabulary', 'query', 'service']).optional(),
230
- })
231
- .strict();
232
- exports.recordSaveIssueSchema = withOpenApi(zod_openapi_1.z
233
- .object({
234
- code: zod_openapi_1.z
235
- .string()
236
- .max(sails_ng_common_1.RECORD_SAVE_PUBLIC_FIELD_LIMITS.maxCodeLength)
237
- .regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN)
238
- .optional(),
239
- message: zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_SAVE_MESSAGE_MAX_LENGTH),
240
- field: zod_openapi_1.z
241
- .string()
242
- .max(sails_ng_common_1.RECORD_SAVE_PUBLIC_FIELD_LIMITS.maxFieldLength)
243
- .regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN)
244
- .optional(),
245
- pointer: zod_openapi_1.z
246
- .string()
247
- .max(sails_ng_common_1.RECORD_SAVE_PUBLIC_FIELD_LIMITS.maxPointerLength)
248
- .refine(sails_ng_common_1.isRecordSaveJsonPointer)
249
- .optional(),
250
- expected: zod_openapi_1.z
251
- .object({
252
- type: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_SAVE_EXPECTED_JSON_TYPES),
253
- })
254
- .strict()
255
- .optional(),
256
- attachmentId: zod_openapi_1.z
257
- .string()
258
- .max(sails_ng_common_1.RECORD_SAVE_PUBLIC_FIELD_LIMITS.maxAttachmentIdLength)
259
- .regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN)
260
- .optional(),
261
- class: zod_openapi_1.z
262
- .string()
263
- .max(sails_ng_common_1.RECORD_SAVE_VALIDATOR_CLASS_MAX_LENGTH)
264
- .regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN)
265
- .optional(),
266
- params: recordSaveValidatorParametersSchema.optional(),
267
- targetField: recordSaveTargetFieldSchema.optional(),
268
- lineagePaths: recordSaveLineagePathsSchema.optional(),
269
- })
270
- .strict(), { description: 'Safe, field-addressable save issue with bounded validator metadata' });
271
- const recordSaveProblemSchema = withOpenApi(zod_openapi_1.z.union([
272
- zod_openapi_1.z
273
- .object({
274
- kind: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_SAVE_PROBLEM_KINDS),
275
- source: zod_openapi_1.z.literal('schema'),
276
- phase: zod_openapi_1.z.literal('schema'),
277
- issues: zod_openapi_1.z.array(exports.recordSaveIssueSchema),
278
- })
279
- .strict(),
280
- zod_openapi_1.z
281
- .object({
282
- kind: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_SAVE_PROBLEM_KINDS),
283
- phase: zod_openapi_1.z.enum(['pre-save', 'persistence', 'attachments', 'post-save', 'response', 'transport']),
284
- issues: zod_openapi_1.z.array(exports.recordSaveIssueSchema),
285
- })
286
- .strict(),
287
- ]), { description: 'A save phase problem and its safe display issues' });
288
- exports.recordRevisionSchema = withOpenApi(zod_openapi_1.z.number().int().min(0).max(sails_ng_common_1.RECORD_REVISION_MAX), {
289
- description: 'Server-owned monotonic aggregate record revision',
290
- example: 7,
291
- });
292
- exports.recordEntityTagSchema = withOpenApi(zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_ENTITY_TAG_MAX_LENGTH).regex(sails_ng_common_1.RECORD_ENTITY_TAG_PATTERN), {
293
- description: 'Opaque strong entity tag for one record lifecycle representation',
294
- example: '"rb-record-v1.7.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"',
295
- });
296
- exports.recordFormFingerprintSchema = withOpenApi(zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_FORM_FINGERPRINT_MAX_LENGTH).regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN), { description: 'Opaque fingerprint of the authoritative generated browser-form contract' });
297
- exports.recordConcurrentModificationConfigSchema = withOpenApi(zod_openapi_1.z
298
- .object({
299
- mode: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_CONCURRENT_MODIFICATION_MODES),
300
- })
301
- .strict(), { description: 'Record-type optimistic concurrency policy' });
302
- exports.recordConcurrencyMetadataSchema = withOpenApi(zod_openapi_1.z
303
- .object({
304
- mode: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_CONCURRENT_MODIFICATION_MODES).optional(),
305
- revision: exports.recordRevisionSchema.optional(),
306
- expectedRevision: exports.recordRevisionSchema.optional(),
307
- currentRevision: exports.recordRevisionSchema.optional(),
308
- entityTag: exports.recordEntityTagSchema.optional(),
309
- formFingerprint: exports.recordFormFingerprintSchema.optional(),
310
- resolution: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_CONCURRENCY_RESOLUTIONS).optional(),
311
- resolutionOfRequestId: zod_openapi_1.z.string().regex(sails_ng_common_1.RECORD_SAVE_REQUEST_ID_PATTERN).optional(),
312
- })
313
- .strict(), { description: 'Bounded diagnostic concurrency facts; resolution labels are never authority' });
314
- const recordAttachmentCompletionItemSchema = withOpenApi(zod_openapi_1.z.object({
315
- field: zod_openapi_1.z.string(),
316
- attachmentId: zod_openapi_1.z.string(),
317
- fileId: zod_openapi_1.z.string().optional(),
318
- operation: zod_openapi_1.z.enum(['add', 'finalize', 'delete']),
319
- status: zod_openapi_1.z.enum(['completed', 'incomplete', 'unknown']),
320
- code: zod_openapi_1.z.string().optional(),
321
- }), { description: 'Per-attachment completion fact' });
322
- const recordSaveCompletionSchema = withOpenApi(zod_openapi_1.z.object({
323
- attachments: zod_openapi_1.z.object({
324
- status: zod_openapi_1.z.enum(['not-required', 'completed', 'incomplete', 'unknown']),
325
- items: zod_openapi_1.z.array(recordAttachmentCompletionItemSchema),
326
- }),
327
- }), { description: 'Item-specific completion details for a record save' });
328
205
  exports.storageServiceResponseSchema = withOpenApi(zod_openapi_1.z.object({
329
206
  success: zod_openapi_1.z.boolean(),
330
207
  oid: zod_openapi_1.z.string(),
331
208
  message: zod_openapi_1.z.string(),
332
- data: zod_openapi_1.z.unknown().optional(),
333
209
  metadata: exports.genericObjectSchema.nullable(),
334
210
  details: zod_openapi_1.z.union([zod_openapi_1.z.string(), exports.genericObjectSchema]).optional(),
335
211
  totalItems: zod_openapi_1.z.number().int(),
336
212
  items: zod_openapi_1.z.array(exports.genericObjectSchema),
337
- outcome: zod_openapi_1.z.enum(['saved', 'saved-with-warnings', 'not-saved', 'unknown']).optional(),
338
- problems: zod_openapi_1.z.array(recordSaveProblemSchema).optional(),
339
- completion: recordSaveCompletionSchema.optional(),
340
- requestId: zod_openapi_1.z.string().uuid().optional(),
341
- concurrency: exports.recordConcurrencyMetadataSchema.optional(),
342
213
  }), { description: 'Storage service response envelope' });
343
- exports.recordSaveSuccessResponseSchema = withOpenApi(zod_openapi_1.z.union([
344
- exports.storageServiceResponseSchema,
345
- zod_openapi_1.z.object({ data: exports.storageServiceResponseSchema, meta: exports.storageServiceResponseSchema }),
346
- ]), { description: 'Legacy v1 record-save response or the v2 {data, meta} envelope' });
347
- exports.recordSaveFailureResponseSchema = withOpenApi(zod_openapi_1.z.union([
348
- exports.apiErrorResponseSchema,
349
- zod_openapi_1.z.object({
350
- errors: zod_openapi_1.z.array(exports.errorResponseItemV2Schema),
351
- meta: zod_openapi_1.z.union([exports.storageServiceResponseSchema, zod_openapi_1.z.object({}).strict()]),
352
- }),
353
- ]), {
354
- description: 'Legacy v1 error or v2 {errors, meta}; early policy failures may use empty meta while save-boundary failures retain typed result metadata',
355
- });
356
- exports.recordPermissionSaveResponseSchema = withOpenApi(zod_openapi_1.z.union([
357
- exports.recordAuthorizationSchema.nullable(),
358
- zod_openapi_1.z.object({ data: exports.recordAuthorizationSchema.nullable(), meta: exports.storageServiceResponseSchema }),
359
- ]), {
360
- description: 'Legacy v1 authorization body or v2 authorization data with the authoritative typed save result in meta; data is null when the successful mutation removes current view access',
361
- });
362
214
  exports.linkedUserSummarySchema = withOpenApi(zod_openapi_1.z.object({
363
215
  id: zod_openapi_1.z.string(),
364
216
  username: zod_openapi_1.z.string(),
@@ -425,15 +277,12 @@ exports.supportAgreementYearSchema = withOpenApi(zod_openapi_1.z.object({
425
277
  agreedSupportDays: zod_openapi_1.z.number(),
426
278
  usedSupportDays: zod_openapi_1.z.number(),
427
279
  }), { description: 'Annual support agreement usage' });
428
- exports.roleSummarySchema = withOpenApi(zod_openapi_1.z
429
- .object({
280
+ exports.roleSummarySchema = withOpenApi(zod_openapi_1.z.object({
430
281
  id: zod_openapi_1.z.string(),
431
282
  name: zod_openapi_1.z.string(),
432
283
  branding: brandingReferenceSchema.optional(),
433
- })
434
- .passthrough(), { description: 'Role summary' });
435
- exports.brandingConfigSchema = withOpenApi(zod_openapi_1.z
436
- .object({
284
+ }).passthrough(), { description: 'Role summary' });
285
+ exports.brandingConfigSchema = withOpenApi(zod_openapi_1.z.object({
437
286
  id: zod_openapi_1.z.string(),
438
287
  name: zod_openapi_1.z.string(),
439
288
  css: zod_openapi_1.z.string(),
@@ -443,8 +292,7 @@ exports.brandingConfigSchema = withOpenApi(zod_openapi_1.z
443
292
  logo: jsonObjectSchema.optional(),
444
293
  roles: zod_openapi_1.z.array(exports.roleSummarySchema).optional(),
445
294
  supportAgreementInformation: jsonObjectSchema.optional(),
446
- })
447
- .passthrough(), { description: 'Branding configuration record' });
295
+ }).passthrough(), { description: 'Branding configuration record' });
448
296
  exports.brandingDraftResponseSchema = withOpenApi(zod_openapi_1.z.object({
449
297
  branding: exports.brandingConfigSchema,
450
298
  }), { description: 'Saved branding draft response' });
@@ -469,93 +317,15 @@ exports.brandingRollbackResponseSchema = withOpenApi(zod_openapi_1.z.object({
469
317
  exports.brandingLogoResponseSchema = withOpenApi(zod_openapi_1.z.object({
470
318
  hash: zod_openapi_1.z.string(),
471
319
  }), { description: 'Branding logo upload response' });
472
- exports.brandingHistoryRecordSchema = withOpenApi(zod_openapi_1.z
473
- .object({
320
+ exports.brandingHistoryRecordSchema = withOpenApi(zod_openapi_1.z.object({
474
321
  branding: brandingReferenceSchema,
475
322
  version: zod_openapi_1.z.number().int(),
476
323
  hash: zod_openapi_1.z.string(),
477
324
  css: zod_openapi_1.z.string().optional(),
478
325
  variables: jsonObjectSchema.optional(),
479
- typeface: jsonObjectSchema.optional(),
480
- actorId: zod_openapi_1.z.string().optional(),
481
- actorDisplayName: zod_openapi_1.z.string().optional(),
482
- restoredFromVersion: zod_openapi_1.z.number().int().optional(),
483
326
  dateCreated: dateTimeSchema.optional(),
484
- })
485
- .passthrough(), { description: 'Branding history entry' });
486
- exports.brandingTypefaceFaceSchema = withOpenApi(zod_openapi_1.z
487
- .object({
488
- slot: zod_openapi_1.z.string(),
489
- sha256: zod_openapi_1.z.string(),
490
- originalFilename: zod_openapi_1.z.string(),
491
- sizeBytes: zod_openapi_1.z.number().int(),
492
- uploadedAt: zod_openapi_1.z.string(),
493
- inspection: jsonObjectSchema,
494
- warnings: zod_openapi_1.z.array(zod_openapi_1.z.string()),
495
- })
496
- .passthrough(), { description: 'Brand typeface face metadata (no font bytes or storage keys)' });
497
- exports.brandingTypefaceStateSchema = withOpenApi(zod_openapi_1.z
498
- .object({
499
- mode: zod_openapi_1.z.string(),
500
- faces: zod_openapi_1.z.object({}).passthrough(),
501
- })
502
- .passthrough(), { description: 'Brand typeface state (default typography or custom faces)' });
503
- exports.brandingVersionEntrySchema = withOpenApi(zod_openapi_1.z
504
- .object({
505
- id: zod_openapi_1.z.string(),
506
- version: zod_openapi_1.z.number().int(),
507
- hash: zod_openapi_1.z.string(),
508
- dateCreated: zod_openapi_1.z.string().optional(),
509
- actorId: zod_openapi_1.z.string().optional(),
510
- actorDisplayName: zod_openapi_1.z.string().optional(),
511
- restoredFromVersion: zod_openapi_1.z.number().int().optional(),
512
- variables: jsonObjectSchema.optional(),
513
- typeface: exports.brandingTypefaceStateSchema.optional(),
514
- })
515
- .passthrough(), { description: 'Retained branding version' });
516
- exports.brandingAdminStateSchema = withOpenApi(zod_openapi_1.z
517
- .object({
518
- branding: zod_openapi_1.z.object({ id: zod_openapi_1.z.string(), name: zod_openapi_1.z.string() }).passthrough(),
519
- active: zod_openapi_1.z
520
- .object({
521
- version: zod_openapi_1.z.number().int(),
522
- hash: zod_openapi_1.z.string(),
523
- variables: jsonObjectSchema.optional(),
524
- typeface: exports.brandingTypefaceStateSchema.optional(),
525
- })
526
- .passthrough(),
527
- draft: zod_openapi_1.z
528
- .object({
529
- revision: zod_openapi_1.z.number().int(),
530
- variables: jsonObjectSchema.optional(),
531
- typeface: exports.brandingTypefaceStateSchema.optional(),
532
- dirty: zod_openapi_1.z.object({ colours: zod_openapi_1.z.boolean(), typeface: zod_openapi_1.z.boolean() }).passthrough(),
533
- })
534
- .passthrough(),
535
- versions: zod_openapi_1.z.array(exports.brandingVersionEntrySchema),
536
- limits: zod_openapi_1.z
537
- .object({
538
- faceMaxBytes: zod_openapi_1.z.number().int(),
539
- familyMaxBytes: zod_openapi_1.z.number().int(),
540
- historyMaxVersions: zod_openapi_1.z.number().int(),
541
- })
542
- .passthrough(),
543
- healthWarnings: zod_openapi_1.z.array(jsonObjectSchema),
544
- })
545
- .passthrough(), { description: 'Canonical branding Admin state' });
546
- exports.brandingPublishStateResponseSchema = withOpenApi(zod_openapi_1.z
547
- .object({
548
- branding: zod_openapi_1.z.object({ id: zod_openapi_1.z.string(), name: zod_openapi_1.z.string() }).passthrough(),
549
- active: jsonObjectSchema,
550
- draft: jsonObjectSchema,
551
- versions: zod_openapi_1.z.array(exports.brandingVersionEntrySchema),
552
- limits: jsonObjectSchema,
553
- healthWarnings: zod_openapi_1.z.array(jsonObjectSchema),
554
- idempotent: zod_openapi_1.z.boolean().optional(),
555
- })
556
- .passthrough(), { description: 'Branding publish/restore response (complete Admin state)' });
557
- exports.userRecordSchema = withOpenApi(zod_openapi_1.z
558
- .object({
327
+ }).passthrough(), { description: 'Branding history entry' });
328
+ exports.userRecordSchema = withOpenApi(zod_openapi_1.z.object({
559
329
  id: zod_openapi_1.z.string(),
560
330
  username: zod_openapi_1.z.string(),
561
331
  type: zod_openapi_1.z.string(),
@@ -573,44 +343,32 @@ exports.userRecordSchema = withOpenApi(zod_openapi_1.z
573
343
  disabledByPrimaryUsername: zod_openapi_1.z.string().optional(),
574
344
  workspaceApps: zod_openapi_1.z.array(jsonObjectSchema).optional(),
575
345
  roles: zod_openapi_1.z.array(exports.roleSummarySchema).optional(),
576
- })
577
- .passthrough(), { description: 'User record response' });
578
- exports.searchFilterSchema = withOpenApi(zod_openapi_1.z
579
- .object({
346
+ }).passthrough(), { description: 'User record response' });
347
+ exports.searchFilterSchema = withOpenApi(zod_openapi_1.z.object({
580
348
  name: zod_openapi_1.z.string(),
581
349
  title: zod_openapi_1.z.string(),
582
350
  type: zod_openapi_1.z.string(),
583
351
  typeLabel: zod_openapi_1.z.string(),
584
- })
585
- .passthrough(), { description: 'Record type search filter' });
586
- exports.relatedToSchema = withOpenApi(zod_openapi_1.z
587
- .object({
352
+ }).passthrough(), { description: 'Record type search filter' });
353
+ exports.relatedToSchema = withOpenApi(zod_openapi_1.z.object({
588
354
  recordType: zod_openapi_1.z.string(),
589
355
  foreignField: zod_openapi_1.z.string(),
590
- })
591
- .passthrough(), { description: 'Record type relation mapping' });
592
- exports.recordTypeHookDeclarationSchema = withOpenApi(zod_openapi_1.z
593
- .object({
356
+ }).passthrough(), { description: 'Record type relation mapping' });
357
+ exports.recordTypeHookDeclarationSchema = withOpenApi(zod_openapi_1.z.object({
594
358
  function: zod_openapi_1.z.string(),
595
359
  options: jsonObjectSchema,
596
- })
597
- .passthrough(), { description: 'Record type hook declaration' });
598
- exports.recordTypeHookOnEventSchema = withOpenApi(zod_openapi_1.z
599
- .object({
360
+ }).passthrough(), { description: 'Record type hook declaration' });
361
+ exports.recordTypeHookOnEventSchema = withOpenApi(zod_openapi_1.z.object({
600
362
  pre: zod_openapi_1.z.array(exports.recordTypeHookDeclarationSchema),
601
363
  post: zod_openapi_1.z.array(exports.recordTypeHookDeclarationSchema),
602
364
  postSync: zod_openapi_1.z.array(exports.recordTypeHookDeclarationSchema),
603
- })
604
- .passthrough(), { description: 'Record type hook event handlers' });
605
- exports.recordTypeHooksSchema = withOpenApi(zod_openapi_1.z
606
- .object({
365
+ }).passthrough(), { description: 'Record type hook event handlers' });
366
+ exports.recordTypeHooksSchema = withOpenApi(zod_openapi_1.z.object({
607
367
  onCreate: exports.recordTypeHookOnEventSchema,
608
368
  onUpdate: exports.recordTypeHookOnEventSchema,
609
369
  onDelete: exports.recordTypeHookOnEventSchema,
610
- })
611
- .passthrough(), { description: 'Record type hooks configuration' });
612
- exports.recordTypeSchema = withOpenApi(zod_openapi_1.z
613
- .object({
370
+ }).passthrough(), { description: 'Record type hooks configuration' });
371
+ exports.recordTypeSchema = withOpenApi(zod_openapi_1.z.object({
614
372
  key: zod_openapi_1.z.string().optional(),
615
373
  name: zod_openapi_1.z.string(),
616
374
  branding: zod_openapi_1.z.union([zod_openapi_1.z.string(), zod_openapi_1.z.number(), exports.brandingConfigSchema]).optional(),
@@ -623,32 +381,14 @@ exports.recordTypeSchema = withOpenApi(zod_openapi_1.z
623
381
  relatedTo: zod_openapi_1.z.array(exports.relatedToSchema).optional(),
624
382
  hooks: exports.recordTypeHooksSchema.optional(),
625
383
  dashboard: jsonObjectSchema.optional(),
626
- concurrentModification: exports.recordConcurrentModificationConfigSchema.optional(),
627
- recordSchemaCreateResolver: zod_openapi_1.z.string().optional(),
628
- })
629
- .passthrough(), { description: 'Record type configuration' });
630
- exports.validationOperationDiscoverySchema = withOpenApi(zod_openapi_1.z
631
- .object({
632
- name: zod_openapi_1.z.string().max(sails_ng_common_1.VALIDATION_OPERATION_NAME_MAX_LENGTH).regex(sails_ng_common_1.VALIDATION_OPERATION_NAME_PATTERN),
633
- label: zod_openapi_1.z.string().max(sails_ng_common_1.VALIDATION_OPERATION_LABEL_MAX_LENGTH).optional(),
634
- description: zod_openapi_1.z.string().max(sails_ng_common_1.VALIDATION_OPERATION_DESCRIPTION_MAX_LENGTH).optional(),
635
- allowedTargetSteps: zod_openapi_1.z.array(zod_openapi_1.z.string().max(128).regex(sails_ng_common_1.RECORD_VALIDATION_REFERENCE_PATTERN)).optional(),
636
- })
637
- .strict(), {
638
- description: 'Caller-authorized validation operation metadata. allowedTargetSteps are actor-authorized transition ' +
639
- 'targets applicable to the operation; unrestricted policies include every actor-authorized target.',
640
- });
641
- exports.formSchema = withOpenApi(zod_openapi_1.z
642
- .object({
384
+ }).passthrough(), { description: 'Record type configuration' });
385
+ exports.formSchema = withOpenApi(zod_openapi_1.z.object({
643
386
  id: zod_openapi_1.z.string().optional(),
644
387
  name: zod_openapi_1.z.string(),
645
388
  branding: zod_openapi_1.z.union([zod_openapi_1.z.string(), zod_openapi_1.z.number(), exports.brandingConfigSchema]).optional(),
646
389
  configuration: jsonObjectSchema.optional(),
647
- validationOperations: zod_openapi_1.z.array(exports.validationOperationDiscoverySchema).optional(),
648
- })
649
- .passthrough(), { description: 'Form definition' });
650
- exports.vocabularyEntrySchema = withOpenApi(zod_openapi_1.z
651
- .object({
390
+ }).passthrough(), { description: 'Form definition' });
391
+ exports.vocabularyEntrySchema = withOpenApi(zod_openapi_1.z.object({
652
392
  id: zod_openapi_1.z.string().optional(),
653
393
  vocabulary: brandingReferenceSchema.optional(),
654
394
  label: zod_openapi_1.z.string(),
@@ -659,13 +399,11 @@ exports.vocabularyEntrySchema = withOpenApi(zod_openapi_1.z
659
399
  identifier: zod_openapi_1.z.string().optional(),
660
400
  order: zod_openapi_1.z.number().int().optional(),
661
401
  historical: zod_openapi_1.z.boolean().optional(),
662
- })
663
- .passthrough(), { description: 'Vocabulary entry' });
402
+ }).passthrough(), { description: 'Vocabulary entry' });
664
403
  exports.vocabularyTreeNodeSchema = withOpenApi(exports.vocabularyEntrySchema.extend({
665
404
  children: zod_openapi_1.z.array(exports.vocabularyEntrySchema).optional(),
666
405
  }), { description: 'Vocabulary tree node' });
667
- exports.vocabularySchema = withOpenApi(zod_openapi_1.z
668
- .object({
406
+ exports.vocabularySchema = withOpenApi(zod_openapi_1.z.object({
669
407
  id: zod_openapi_1.z.string().optional(),
670
408
  branding: zod_openapi_1.z.union([zod_openapi_1.z.string(), zod_openapi_1.z.number(), exports.brandingConfigSchema]).optional(),
671
409
  description: zod_openapi_1.z.string().optional(),
@@ -679,10 +417,8 @@ exports.vocabularySchema = withOpenApi(zod_openapi_1.z
679
417
  sourceId: zod_openapi_1.z.string().optional(),
680
418
  sourceVersionId: zod_openapi_1.z.string().optional(),
681
419
  type: zod_openapi_1.z.string().optional(),
682
- })
683
- .passthrough(), { description: 'Vocabulary record' });
684
- exports.translationEntrySchema = withOpenApi(zod_openapi_1.z
685
- .object({
420
+ }).passthrough(), { description: 'Vocabulary record' });
421
+ exports.translationEntrySchema = withOpenApi(zod_openapi_1.z.object({
686
422
  id: zod_openapi_1.z.string().optional(),
687
423
  branding: brandingReferenceSchema.optional(),
688
424
  bundle: brandingReferenceSchema.optional(),
@@ -693,10 +429,8 @@ exports.translationEntrySchema = withOpenApi(zod_openapi_1.z
693
429
  namespace: zod_openapi_1.z.string().optional(),
694
430
  uid: zod_openapi_1.z.string().optional(),
695
431
  value: jsonValueSchema,
696
- })
697
- .passthrough(), { description: 'Translation entry' });
698
- exports.translationBundleSchema = withOpenApi(zod_openapi_1.z
699
- .object({
432
+ }).passthrough(), { description: 'Translation entry' });
433
+ exports.translationBundleSchema = withOpenApi(zod_openapi_1.z.object({
700
434
  id: zod_openapi_1.z.string().optional(),
701
435
  branding: brandingReferenceSchema.optional(),
702
436
  data: jsonObjectSchema,
@@ -706,89 +440,42 @@ exports.translationBundleSchema = withOpenApi(zod_openapi_1.z
706
440
  locale: zod_openapi_1.z.string(),
707
441
  namespace: zod_openapi_1.z.string().optional(),
708
442
  uid: zod_openapi_1.z.string().optional(),
709
- })
710
- .passthrough(), { description: 'Translation bundle' });
711
- exports.searchFacetValueSchema = withOpenApi(zod_openapi_1.z
712
- .object({
443
+ }).passthrough(), { description: 'Translation bundle' });
444
+ exports.searchFacetValueSchema = withOpenApi(zod_openapi_1.z.object({
713
445
  value: zod_openapi_1.z.string(),
714
446
  count: zod_openapi_1.z.number().int(),
715
- })
716
- .passthrough(), { description: 'Search facet value' });
717
- exports.searchFacetSchema = withOpenApi(zod_openapi_1.z
718
- .object({
447
+ }).passthrough(), { description: 'Search facet value' });
448
+ exports.searchFacetSchema = withOpenApi(zod_openapi_1.z.object({
719
449
  name: zod_openapi_1.z.string(),
720
450
  values: zod_openapi_1.z.array(exports.searchFacetValueSchema),
721
- })
722
- .passthrough(), { description: 'Search facet summary' });
723
- exports.searchRecordSchema = withOpenApi(zod_openapi_1.z
724
- .object({
451
+ }).passthrough(), { description: 'Search facet summary' });
452
+ exports.searchRecordSchema = withOpenApi(zod_openapi_1.z.object({
725
453
  hasEditAccess: zod_openapi_1.z.boolean(),
726
- })
727
- .passthrough(), { description: 'Search result record' });
728
- exports.searchResultsSchema = withOpenApi(zod_openapi_1.z
729
- .object({
454
+ }).passthrough(), { description: 'Search result record' });
455
+ exports.searchResultsSchema = withOpenApi(zod_openapi_1.z.object({
730
456
  records: zod_openapi_1.z.array(exports.searchRecordSchema),
731
457
  facets: zod_openapi_1.z.array(exports.searchFacetSchema).optional(),
732
458
  totalItems: zod_openapi_1.z.number().int(),
733
- })
734
- .passthrough(), { description: 'Search response payload' });
459
+ }).passthrough(), { description: 'Search response payload' });
735
460
  exports.recordMetadataSchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), { description: 'Record metadata payload' });
736
461
  exports.objectMetadataSchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), { description: 'Object metadata payload' });
737
- exports.recordReadMetadataSchema = withOpenApi(zod_openapi_1.z.object({
738
- oid: zod_openapi_1.z.string(),
739
- revision: exports.recordRevisionSchema,
740
- entityTag: exports.recordEntityTagSchema,
741
- }), { description: 'Typed identity and revision metadata for an individual record representation' });
742
- exports.recordMetadataReadResponseSchema = withOpenApi(zod_openapi_1.z.union([
743
- exports.recordMetadataSchema,
744
- zod_openapi_1.z.object({ data: exports.recordMetadataSchema, meta: exports.recordReadMetadataSchema.passthrough() }),
745
- ]), { description: 'Legacy v1 record metadata or v2 data with typed revision metadata' });
746
- exports.objectMetadataReadResponseSchema = withOpenApi(zod_openapi_1.z.union([
747
- exports.objectMetadataSchema,
748
- zod_openapi_1.z.object({ data: exports.objectMetadataSchema, meta: exports.recordReadMetadataSchema.passthrough() }),
749
- ]), { description: 'Legacy v1 object metadata or v2 data with typed revision metadata' });
750
- exports.recordPermissionsReadResponseSchema = withOpenApi(zod_openapi_1.z.union([
751
- exports.recordAuthorizationSchema,
752
- zod_openapi_1.z.object({ data: exports.recordAuthorizationSchema, meta: exports.recordReadMetadataSchema.passthrough() }),
753
- ]), { description: 'Legacy v1 permissions or v2 permissions with typed revision metadata' });
754
- exports.recordListItemSchema = withOpenApi(zod_openapi_1.z
755
- .object({
462
+ exports.recordListItemSchema = withOpenApi(zod_openapi_1.z.object({
756
463
  oid: zod_openapi_1.z.string(),
757
- revision: exports.recordRevisionSchema,
758
464
  title: zod_openapi_1.z.string().optional(),
759
465
  metadata: jsonObjectSchema,
760
466
  dateCreated: dateTimeSchema.optional(),
761
467
  dateModified: dateTimeSchema.optional(),
762
468
  hasEditAccess: zod_openapi_1.z.boolean(),
763
- })
764
- .passthrough(), { description: 'Record list item' });
765
- exports.deletedRecordListItemSchema = withOpenApi(zod_openapi_1.z
766
- .object({
469
+ }).passthrough(), { description: 'Record list item' });
470
+ exports.deletedRecordListItemSchema = withOpenApi(zod_openapi_1.z.object({
767
471
  oid: zod_openapi_1.z.string(),
768
- revision: exports.recordRevisionSchema,
769
- lifecycleState: zod_openapi_1.z.enum(['delete-pending', 'deleted', 'restore-pending', 'purge-pending', 'recovery-required']),
770
- lifecycle: zod_openapi_1.z
771
- .object({
772
- kind: zod_openapi_1.z.enum(['delete', 'restore', 'purge']),
773
- attempts: zod_openapi_1.z.number().int().nonnegative(),
774
- startedAt: dateTimeSchema,
775
- updatedAt: dateTimeSchema,
776
- errorCode: zod_openapi_1.z
777
- .string()
778
- .max(64)
779
- .regex(/^[a-z0-9][a-z0-9-]{0,63}$/)
780
- .optional(),
781
- })
782
- .optional(),
783
472
  title: zod_openapi_1.z.string().optional(),
784
473
  deletedRecord: jsonObjectSchema,
785
474
  dateCreated: dateTimeSchema.optional(),
786
475
  dateModified: dateTimeSchema.optional(),
787
476
  dateDeleted: dateTimeSchema.optional(),
788
- })
789
- .passthrough(), { description: 'Deleted record list item' });
790
- exports.datastreamSummarySchema = withOpenApi(zod_openapi_1.z
791
- .object({
477
+ }).passthrough(), { description: 'Deleted record list item' });
478
+ exports.datastreamSummarySchema = withOpenApi(zod_openapi_1.z.object({
792
479
  dateUpdated: dateTimeSchema.optional(),
793
480
  label: zod_openapi_1.z.string().optional(),
794
481
  contentType: zod_openapi_1.z.string().optional(),
@@ -800,35 +487,26 @@ exports.datastreamSummarySchema = withOpenApi(zod_openapi_1.z
800
487
  name: zod_openapi_1.z.string().optional(),
801
488
  mimeType: zod_openapi_1.z.string().optional(),
802
489
  size: zod_openapi_1.z.number().optional(),
803
- })
804
- .passthrough(), { description: 'Record datastream summary' });
805
- exports.datastreamUploadFileSchema = withOpenApi(zod_openapi_1.z
806
- .object({
490
+ }).passthrough(), { description: 'Record datastream summary' });
491
+ exports.datastreamUploadFileSchema = withOpenApi(zod_openapi_1.z.object({
807
492
  fileId: zod_openapi_1.z.string(),
808
493
  metadata: jsonObjectSchema.optional(),
809
- })
810
- .passthrough(), { description: 'Uploaded datastream file reference' });
811
- exports.datastreamUploadResultSchema = withOpenApi(zod_openapi_1.z
812
- .object({
494
+ }).passthrough(), { description: 'Uploaded datastream file reference' });
495
+ exports.datastreamUploadResultSchema = withOpenApi(zod_openapi_1.z.object({
813
496
  success: zod_openapi_1.z.boolean(),
814
497
  message: zod_openapi_1.z.string(),
815
498
  fileIds: zod_openapi_1.z.array(exports.datastreamUploadFileSchema).optional(),
816
- })
817
- .passthrough(), { description: 'Datastream upload result' });
499
+ }).passthrough(), { description: 'Datastream upload result' });
818
500
  exports.datastreamUploadResponseSchema = withOpenApi(zod_openapi_1.z.object({
819
501
  message: exports.datastreamUploadResultSchema,
820
502
  }), { description: 'Datastream upload response' });
821
503
  exports.recordAuditEntrySchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), { description: 'Record audit entry' });
822
- exports.namedQueryResponseRecordSchema = withOpenApi(zod_openapi_1.z
823
- .object({
504
+ exports.namedQueryResponseRecordSchema = withOpenApi(zod_openapi_1.z.object({
824
505
  oid: zod_openapi_1.z.string(),
825
506
  title: zod_openapi_1.z.string(),
826
507
  metadata: jsonObjectSchema,
827
508
  lastSaveDate: dateTimeSchema.nullable(),
828
509
  dateCreated: dateTimeSchema.nullable(),
829
- })
830
- .passthrough(), { description: 'Named query result record' });
831
- exports.appConfigValueSchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), {
832
- description: 'Application configuration payload',
833
- });
834
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1yb3V0ZXMvc2NoZW1hcy9yZXNwb25zZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQXNRQSxzREFRQztBQTlRRCxnREFBbUM7QUFJbkMsc0VBcUIwQztBQUUxQyxTQUFTLFdBQVcsQ0FBb0IsTUFBUyxFQUFFLFFBQWlDO0lBQ2xGLE9BQVEsTUFBMkUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDeEcsQ0FBQztBQUVELE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUFDLGVBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7SUFDdkUsV0FBVyxFQUFFLGdDQUFnQztDQUM5QyxDQUFDLENBQUM7QUFFVSxRQUFBLHlCQUF5QixHQUFHLFdBQVcsQ0FDbEQsZUFBQyxDQUFDLE1BQU0sQ0FBQztJQUNQLEVBQUUsRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pCLE1BQU0sRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLElBQUksRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLEtBQUssRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE1BQU0sRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxlQUFDO1NBQ04sTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLGVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDOUIsU0FBUyxFQUFFLGVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDaEMsTUFBTSxFQUFFLGVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDOUIsQ0FBQztT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
510
+ }).passthrough(), { description: 'Named query result record' });
511
+ exports.appConfigValueSchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), { description: 'Application configuration payload' });
512
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1yb3V0ZXMvc2NoZW1hcy9yZXNwb25zZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQThPQSxzREFRQztBQXRQRCxnREFBbUM7QUFLbkMsU0FBUyxXQUFXLENBQW9CLE1BQVMsRUFBRSxRQUFpQztJQUNoRixPQUFRLE1BQTJFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzFHLENBQUM7QUFFRCxNQUFNLHdCQUF3QixHQUFHLFdBQVcsQ0FBQyxlQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO0lBQ3JFLFdBQVcsRUFBRSxnQ0FBZ0M7Q0FDaEQsQ0FBQyxDQUFDO0FBRVUsUUFBQSx5QkFBeUIsR0FBRyxXQUFXLENBQ2hELGVBQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxFQUFFLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QixNQUFNLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixJQUFJLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixNQUFNLEVBQUUsZUFBQztTQUNKLE1BQU0sQ0FBQztRQUNKLE9BQU8sRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQzlCLFNBQVMsRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ2hDLE1BQU0sRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQ2hDLENBQUM7U0FDRCxPQUFPLEVBQUU7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