@researchdatabox/redbox-core 0.0.1-beta.9909 → 5.0.0-RC1

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 (377) hide show
  1. package/dist/CoreController.d.ts +12 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +91 -52
  4. package/dist/CoreService.d.ts +8 -1
  5. package/dist/CoreService.d.ts.map +1 -1
  6. package/dist/CoreService.js +8 -1
  7. package/dist/RecordsService.d.ts +2 -0
  8. package/dist/RecordsService.d.ts.map +1 -1
  9. package/dist/SearchService.d.ts +1 -1
  10. package/dist/SearchService.d.ts.map +1 -1
  11. package/dist/StorageService.d.ts +3 -1
  12. package/dist/StorageService.d.ts.map +1 -1
  13. package/dist/api-routes/groups/branding.d.ts +1 -0
  14. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  15. package/dist/api-routes/groups/branding.js +19 -2
  16. package/dist/api-routes/groups/export.js +2 -2
  17. package/dist/api-routes/groups/figshare-crosswalks.d.ts +11 -0
  18. package/dist/api-routes/groups/figshare-crosswalks.d.ts.map +1 -0
  19. package/dist/api-routes/groups/figshare-crosswalks.js +171 -0
  20. package/dist/api-routes/groups/figshare-vocabulary.d.ts +12 -0
  21. package/dist/api-routes/groups/figshare-vocabulary.d.ts.map +1 -0
  22. package/dist/api-routes/groups/figshare-vocabulary.js +248 -0
  23. package/dist/api-routes/groups/search.js +4 -4
  24. package/dist/api-routes/groups/users.js +3 -3
  25. package/dist/api-routes/helpers.d.ts +4 -4
  26. package/dist/api-routes/helpers.d.ts.map +1 -1
  27. package/dist/api-routes/helpers.js +3 -4
  28. package/dist/api-routes/index.d.ts +2 -0
  29. package/dist/api-routes/index.d.ts.map +1 -1
  30. package/dist/api-routes/index.js +3 -1
  31. package/dist/api-routes/openapi.js +1 -1
  32. package/dist/api-routes/request-extraction.d.ts +2 -2
  33. package/dist/api-routes/request-extraction.d.ts.map +1 -1
  34. package/dist/api-routes/request-extraction.js +1 -1
  35. package/dist/api-routes/route-registry.d.ts.map +1 -1
  36. package/dist/api-routes/route-registry.js +5 -1
  37. package/dist/api-routes/schemas/common.d.ts +19 -19
  38. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  39. package/dist/api-routes/schemas/common.js +3 -2
  40. package/dist/api-routes/schemas/responses.d.ts +352 -7032
  41. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  42. package/dist/api-routes/schemas/responses.js +2 -2
  43. package/dist/api-routes/types.d.ts +2 -2
  44. package/dist/api-routes/types.d.ts.map +1 -1
  45. package/dist/api-routes/validation.js +1 -1
  46. package/dist/bootstrap.d.ts.map +1 -1
  47. package/dist/bootstrap.js +5 -1
  48. package/dist/config/agendaQueue.config.d.ts +11 -5
  49. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  50. package/dist/config/agendaQueue.config.js +27 -19
  51. package/dist/config/auth.config.d.ts.map +1 -1
  52. package/dist/config/auth.config.js +4 -1
  53. package/dist/config/brandingConfigurationDefaults.config.d.ts +1 -1
  54. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  55. package/dist/config/brandingConfigurationDefaults.config.js +22 -227
  56. package/dist/config/dashboardtype.config.d.ts +7 -0
  57. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  58. package/dist/config/dashboardtype.config.js +9 -89
  59. package/dist/config/dashboardview.config.d.ts +7 -0
  60. package/dist/config/dashboardview.config.d.ts.map +1 -1
  61. package/dist/config/dashboardview.config.js +9 -134
  62. package/dist/config/emailnotification.config.d.ts.map +1 -1
  63. package/dist/config/emailnotification.config.js +2 -1
  64. package/dist/config/http.config.d.ts +2 -0
  65. package/dist/config/http.config.d.ts.map +1 -1
  66. package/dist/config/http.config.js +47 -1
  67. package/dist/config/jsonld.config.d.ts.map +1 -1
  68. package/dist/config/jsonld.config.js +2 -21
  69. package/dist/config/record.config.d.ts.map +1 -1
  70. package/dist/config/record.config.js +2 -9
  71. package/dist/config/recordtype.config.d.ts +8 -0
  72. package/dist/config/recordtype.config.d.ts.map +1 -1
  73. package/dist/config/recordtype.config.js +10 -660
  74. package/dist/config/reusableContributorFormDefinitions.config.d.ts +1 -1
  75. package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
  76. package/dist/config/reusableContributorFormDefinitions.config.js +307 -202
  77. package/dist/config/reusableViewFormDefinitions.config.d.ts.map +1 -1
  78. package/dist/config/reusableViewFormDefinitions.config.js +15 -4
  79. package/dist/config/routes.config.d.ts.map +1 -1
  80. package/dist/config/routes.config.js +13 -3
  81. package/dist/config/solr.config.d.ts +1 -0
  82. package/dist/config/solr.config.d.ts.map +1 -1
  83. package/dist/config/solr.config.js +3 -2
  84. package/dist/config/static_assets.config.d.ts +2 -0
  85. package/dist/config/static_assets.config.d.ts.map +1 -1
  86. package/dist/config/static_assets.config.js +4 -2
  87. package/dist/config/storage.config.d.ts.map +1 -1
  88. package/dist/config/storage.config.js +7 -1
  89. package/dist/config/views.config.d.ts.map +1 -1
  90. package/dist/config/views.config.js +2 -6
  91. package/dist/config/vocab.config.d.ts +4 -0
  92. package/dist/config/vocab.config.d.ts.map +1 -1
  93. package/dist/config/vocab.config.js +1 -1
  94. package/dist/config/workflow.config.d.ts +7 -0
  95. package/dist/config/workflow.config.d.ts.map +1 -1
  96. package/dist/config/workflow.config.js +9 -194
  97. package/dist/config/workspacetype.config.d.ts +7 -0
  98. package/dist/config/workspacetype.config.d.ts.map +1 -1
  99. package/dist/config/workspacetype.config.js +9 -10
  100. package/dist/configmodels/ConfigModels.d.ts +1 -1
  101. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  102. package/dist/configmodels/ConfigModels.js +9 -1
  103. package/dist/configmodels/DoiPublishing.d.ts +1 -1
  104. package/dist/configmodels/DoiPublishing.d.ts.map +1 -1
  105. package/dist/configmodels/FigsharePublishing.d.ts +746 -217
  106. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  107. package/dist/configmodels/FigsharePublishing.js +181 -190
  108. package/dist/configmodels/IntegrationNotificationConfig.d.ts +133 -0
  109. package/dist/configmodels/IntegrationNotificationConfig.d.ts.map +1 -0
  110. package/dist/configmodels/IntegrationNotificationConfig.js +64 -0
  111. package/dist/constants/export.d.ts +2 -0
  112. package/dist/constants/export.d.ts.map +1 -0
  113. package/dist/constants/export.js +8 -0
  114. package/dist/controllers/AdminController.d.ts.map +1 -1
  115. package/dist/controllers/AdminController.js +1 -1
  116. package/dist/controllers/AsynchController.d.ts +4 -1
  117. package/dist/controllers/AsynchController.d.ts.map +1 -1
  118. package/dist/controllers/AsynchController.js +118 -9
  119. package/dist/controllers/BrandingAppController.d.ts +2 -0
  120. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  121. package/dist/controllers/BrandingAppController.js +40 -2
  122. package/dist/controllers/BrandingController.d.ts +8 -0
  123. package/dist/controllers/BrandingController.d.ts.map +1 -1
  124. package/dist/controllers/BrandingController.js +45 -1
  125. package/dist/controllers/ExportController.d.ts.map +1 -1
  126. package/dist/controllers/ExportController.js +6 -10
  127. package/dist/controllers/RecordAuditController.d.ts +2 -0
  128. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  129. package/dist/controllers/RecordAuditController.js +55 -1
  130. package/dist/controllers/RecordController.d.ts +5 -1
  131. package/dist/controllers/RecordController.d.ts.map +1 -1
  132. package/dist/controllers/RecordController.js +51 -21
  133. package/dist/controllers/UserController.d.ts.map +1 -1
  134. package/dist/controllers/UserController.js +3 -2
  135. package/dist/controllers/VocabularyController.js +4 -4
  136. package/dist/controllers/index.d.ts.map +1 -1
  137. package/dist/controllers/index.js +7 -1
  138. package/dist/controllers/webservice/BrandingController.d.ts +1 -0
  139. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  140. package/dist/controllers/webservice/BrandingController.js +69 -10
  141. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  142. package/dist/controllers/webservice/ExportController.js +6 -10
  143. package/dist/controllers/webservice/FigshareCrosswalkController.d.ts +20 -0
  144. package/dist/controllers/webservice/FigshareCrosswalkController.d.ts.map +1 -0
  145. package/dist/controllers/webservice/FigshareCrosswalkController.js +184 -0
  146. package/dist/controllers/webservice/FigshareVocabularyController.d.ts +21 -0
  147. package/dist/controllers/webservice/FigshareVocabularyController.d.ts.map +1 -0
  148. package/dist/controllers/webservice/FigshareVocabularyController.js +223 -0
  149. package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -1
  150. package/dist/controllers/webservice/IntegrationAuditController.js +1 -1
  151. package/dist/controllers/webservice/RecordController.d.ts +6 -1
  152. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  153. package/dist/controllers/webservice/RecordController.js +64 -13
  154. package/dist/controllers/webservice/UserManagementController.d.ts +5 -3
  155. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  156. package/dist/controllers/webservice/UserManagementController.js +140 -9
  157. package/dist/controllers/webservice/figshare-vocabulary-errors.d.ts +14 -0
  158. package/dist/controllers/webservice/figshare-vocabulary-errors.d.ts.map +1 -0
  159. package/dist/controllers/webservice/figshare-vocabulary-errors.js +39 -0
  160. package/dist/form-config/index.d.ts +7 -0
  161. package/dist/form-config/index.d.ts.map +1 -1
  162. package/dist/form-config/index.js +8 -5
  163. package/dist/hooks/defineRedboxHook.d.ts +11 -2
  164. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  165. package/dist/hooks/defineRedboxHook.js +36 -7
  166. package/dist/hooks/hookDiscovery.d.ts +20 -0
  167. package/dist/hooks/hookDiscovery.d.ts.map +1 -0
  168. package/dist/hooks/hookDiscovery.js +186 -0
  169. package/dist/hooks/hookResources.d.ts +23 -0
  170. package/dist/hooks/hookResources.d.ts.map +1 -0
  171. package/dist/hooks/hookResources.js +136 -0
  172. package/dist/hooks/index.d.ts +4 -0
  173. package/dist/hooks/index.d.ts.map +1 -1
  174. package/dist/hooks/index.js +14 -2
  175. package/dist/index.d.ts +6 -1
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +15 -2
  178. package/dist/loader/index.d.ts +2 -0
  179. package/dist/loader/index.d.ts.map +1 -1
  180. package/dist/loader/index.js +82 -64
  181. package/dist/model/storage/BrandingModel.d.ts +2 -0
  182. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  183. package/dist/model/storage/BrandingModel.js +3 -1
  184. package/dist/model/storage/IntegrationAuditModel.d.ts +2 -0
  185. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  186. package/dist/model/storage/IntegrationAuditModel.js +3 -1
  187. package/dist/policies/i18nLanguages.d.ts.map +1 -1
  188. package/dist/policies/i18nLanguages.js +1 -1
  189. package/dist/policies/menuResolver.d.ts.map +1 -1
  190. package/dist/policies/menuResolver.js +1 -1
  191. package/dist/policies/setLang.d.ts.map +1 -1
  192. package/dist/policies/setLang.js +1 -1
  193. package/dist/responses/badRequest.d.ts.map +1 -1
  194. package/dist/responses/badRequest.js +3 -2
  195. package/dist/responses/created.d.ts.map +1 -1
  196. package/dist/responses/created.js +3 -2
  197. package/dist/responses/forbidden.d.ts.map +1 -1
  198. package/dist/responses/forbidden.js +3 -2
  199. package/dist/responses/ok.d.ts.map +1 -1
  200. package/dist/responses/ok.js +3 -2
  201. package/dist/responses/serverError.d.ts.map +1 -1
  202. package/dist/responses/serverError.js +3 -2
  203. package/dist/responses/siteTitle.d.ts.map +1 -1
  204. package/dist/responses/siteTitle.js +1 -1
  205. package/dist/services/AgendaQueueService.d.ts +1 -0
  206. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  207. package/dist/services/AgendaQueueService.js +24 -9
  208. package/dist/services/BrandingLogoService.d.ts +25 -1
  209. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  210. package/dist/services/BrandingLogoService.js +56 -5
  211. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  212. package/dist/services/BrandingThemeTokens.js +2 -1
  213. package/dist/services/DoiService.js +5 -5
  214. package/dist/services/EmailService.d.ts +12 -4
  215. package/dist/services/EmailService.d.ts.map +1 -1
  216. package/dist/services/EmailService.js +28 -19
  217. package/dist/services/FigshareService.d.ts +12 -7
  218. package/dist/services/FigshareService.d.ts.map +1 -1
  219. package/dist/services/FigshareService.js +258 -104
  220. package/dist/services/FigshareVocabularyService.d.ts +442 -0
  221. package/dist/services/FigshareVocabularyService.d.ts.map +1 -0
  222. package/dist/services/FigshareVocabularyService.js +1802 -0
  223. package/dist/services/FormVocabularyService.d.ts.map +1 -1
  224. package/dist/services/FormVocabularyService.js +28 -7
  225. package/dist/services/HarvestRunService.d.ts.map +1 -1
  226. package/dist/services/HarvestRunService.js +1 -1
  227. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  228. package/dist/services/I18nEntriesService.js +26 -4
  229. package/dist/services/IntegrationAuditService.d.ts +58 -0
  230. package/dist/services/IntegrationAuditService.d.ts.map +1 -1
  231. package/dist/services/IntegrationAuditService.js +292 -15
  232. package/dist/services/IntegrationNotificationService.d.ts +55 -0
  233. package/dist/services/IntegrationNotificationService.d.ts.map +1 -0
  234. package/dist/services/IntegrationNotificationService.js +271 -0
  235. package/dist/services/NamedQueryService.d.ts.map +1 -1
  236. package/dist/services/NamedQueryService.js +3 -16
  237. package/dist/services/OniService.d.ts.map +1 -1
  238. package/dist/services/OniService.js +3 -5
  239. package/dist/services/RDMPService.d.ts +2 -0
  240. package/dist/services/RDMPService.d.ts.map +1 -1
  241. package/dist/services/RDMPService.js +49 -33
  242. package/dist/services/RecordsService.d.ts +9 -2
  243. package/dist/services/RecordsService.d.ts.map +1 -1
  244. package/dist/services/RecordsService.js +66 -46
  245. package/dist/services/ReportsService.d.ts +0 -5
  246. package/dist/services/ReportsService.d.ts.map +1 -1
  247. package/dist/services/ReportsService.js +22 -31
  248. package/dist/services/SolrSearchService.d.ts +10 -2
  249. package/dist/services/SolrSearchService.d.ts.map +1 -1
  250. package/dist/services/SolrSearchService.js +110 -52
  251. package/dist/services/StandardDatastreamService.d.ts +7 -0
  252. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  253. package/dist/services/StandardDatastreamService.js +127 -27
  254. package/dist/services/TemplateService.d.ts +1 -15
  255. package/dist/services/TemplateService.d.ts.map +1 -1
  256. package/dist/services/TemplateService.js +7 -47
  257. package/dist/services/UsersService.d.ts.map +1 -1
  258. package/dist/services/UsersService.js +19 -16
  259. package/dist/services/ViewUtilsService.d.ts +5 -1
  260. package/dist/services/ViewUtilsService.d.ts.map +1 -1
  261. package/dist/services/ViewUtilsService.js +38 -46
  262. package/dist/services/VocabularyService.d.ts +11 -2
  263. package/dist/services/VocabularyService.d.ts.map +1 -1
  264. package/dist/services/VocabularyService.js +46 -20
  265. package/dist/services/doi-v2/audit.d.ts.map +1 -1
  266. package/dist/services/doi-v2/audit.js +1 -1
  267. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  268. package/dist/services/doi-v2/bindings.js +2 -11
  269. package/dist/services/doi-v2/payload.d.ts.map +1 -1
  270. package/dist/services/doi-v2/payload.js +32 -18
  271. package/dist/services/figshare-v2/assets.d.ts +2 -1
  272. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  273. package/dist/services/figshare-v2/assets.js +144 -89
  274. package/dist/services/figshare-v2/audit.d.ts +7 -0
  275. package/dist/services/figshare-v2/audit.d.ts.map +1 -0
  276. package/dist/services/figshare-v2/audit.js +30 -0
  277. package/dist/services/figshare-v2/bindings.d.ts +28 -3
  278. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  279. package/dist/services/figshare-v2/bindings.js +76 -17
  280. package/dist/services/figshare-v2/categories.d.ts +142 -0
  281. package/dist/services/figshare-v2/categories.d.ts.map +1 -0
  282. package/dist/services/figshare-v2/categories.js +408 -0
  283. package/dist/services/figshare-v2/config.d.ts +10 -0
  284. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  285. package/dist/services/figshare-v2/config.js +64 -2
  286. package/dist/services/figshare-v2/context.d.ts +18 -1
  287. package/dist/services/figshare-v2/context.d.ts.map +1 -1
  288. package/dist/services/figshare-v2/context.js +35 -2
  289. package/dist/services/figshare-v2/embargo.d.ts.map +1 -1
  290. package/dist/services/figshare-v2/embargo.js +6 -4
  291. package/dist/services/figshare-v2/http.d.ts +20 -1
  292. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  293. package/dist/services/figshare-v2/http.js +85 -9
  294. package/dist/services/figshare-v2/metadata.d.ts.map +1 -1
  295. package/dist/services/figshare-v2/metadata.js +150 -35
  296. package/dist/services/figshare-v2/observability.d.ts +1 -2
  297. package/dist/services/figshare-v2/observability.d.ts.map +1 -1
  298. package/dist/services/figshare-v2/observability.js +7 -45
  299. package/dist/services/figshare-v2/runtime.d.ts +5 -2
  300. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  301. package/dist/services/figshare-v2/runtime.js +59 -37
  302. package/dist/services/figshare-v2/types.d.ts +18 -0
  303. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  304. package/dist/services/figshare-v2/types.js +1 -1
  305. package/dist/services/figshare-v2/vocabulary-errors.d.ts +39 -0
  306. package/dist/services/figshare-v2/vocabulary-errors.d.ts.map +1 -0
  307. package/dist/services/figshare-v2/vocabulary-errors.js +68 -0
  308. package/dist/services/index.d.ts +6 -0
  309. package/dist/services/index.d.ts.map +1 -1
  310. package/dist/services/index.js +13 -2
  311. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -1
  312. package/dist/storage/TusStorageManagerDataStore.js +14 -1
  313. package/dist/transformers/ExportJSONTransformer.d.ts +1 -1
  314. package/dist/transformers/ExportJSONTransformer.d.ts.map +1 -1
  315. package/dist/transformers/ExportJSONTransformer.js +3 -3
  316. package/dist/utilities/ContextVariableUtils.d.ts +3 -1
  317. package/dist/utilities/ContextVariableUtils.d.ts.map +1 -1
  318. package/dist/utilities/ContextVariableUtils.js +25 -7
  319. package/dist/utilities/PromiseUtils.d.ts +9 -0
  320. package/dist/utilities/PromiseUtils.d.ts.map +1 -0
  321. package/dist/utilities/PromiseUtils.js +27 -0
  322. package/dist/utilities/RedactionUtils.d.ts +3 -0
  323. package/dist/utilities/RedactionUtils.d.ts.map +1 -0
  324. package/dist/utilities/RedactionUtils.js +55 -0
  325. package/dist/visitor/client.visitor.d.ts +7 -0
  326. package/dist/visitor/client.visitor.d.ts.map +1 -1
  327. package/dist/visitor/client.visitor.js +135 -30
  328. package/dist/visitor/construct.visitor.d.ts +6 -0
  329. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  330. package/dist/visitor/construct.visitor.js +153 -108
  331. package/dist/visitor/data-value.visitor.d.ts +3 -0
  332. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  333. package/dist/visitor/data-value.visitor.js +6 -1
  334. package/dist/visitor/json-type-def.visitor.d.ts +4 -0
  335. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  336. package/dist/visitor/json-type-def.visitor.js +25 -4
  337. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +9 -3
  338. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  339. package/dist/visitor/migrate-config-v4-v5.visitor.js +211 -148
  340. package/dist/visitor/template.visitor.d.ts +3 -0
  341. package/dist/visitor/template.visitor.d.ts.map +1 -1
  342. package/dist/visitor/template.visitor.js +6 -1
  343. package/dist/visitor/validator.visitor.d.ts +3 -1
  344. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  345. package/dist/visitor/validator.visitor.js +8 -2
  346. package/dist/visitor/visitor-helpers.js +2 -2
  347. package/dist/waterline-models/BrandingConfig.d.ts +2 -0
  348. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  349. package/dist/waterline-models/BrandingConfig.js +6 -1
  350. package/dist/waterline-models/FigshareVocabularyCategory.d.ts +38 -0
  351. package/dist/waterline-models/FigshareVocabularyCategory.d.ts.map +1 -0
  352. package/dist/waterline-models/FigshareVocabularyCategory.js +157 -0
  353. package/dist/waterline-models/FigshareVocabularyCrosswalk.d.ts +37 -0
  354. package/dist/waterline-models/FigshareVocabularyCrosswalk.d.ts.map +1 -0
  355. package/dist/waterline-models/FigshareVocabularyCrosswalk.js +153 -0
  356. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.d.ts +37 -0
  357. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.d.ts.map +1 -0
  358. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.js +138 -0
  359. package/dist/waterline-models/FigshareVocabularySource.d.ts +45 -0
  360. package/dist/waterline-models/FigshareVocabularySource.d.ts.map +1 -0
  361. package/dist/waterline-models/FigshareVocabularySource.js +149 -0
  362. package/dist/waterline-models/FigshareVocabularySyncRun.d.ts +70 -0
  363. package/dist/waterline-models/FigshareVocabularySyncRun.d.ts.map +1 -0
  364. package/dist/waterline-models/FigshareVocabularySyncRun.js +237 -0
  365. package/dist/waterline-models/Vocabulary.d.ts +3 -1
  366. package/dist/waterline-models/Vocabulary.d.ts.map +1 -1
  367. package/dist/waterline-models/Vocabulary.js +9 -3
  368. package/dist/waterline-models/index.d.ts +10 -0
  369. package/dist/waterline-models/index.d.ts.map +1 -1
  370. package/dist/waterline-models/index.js +16 -1
  371. package/package.json +28 -31
  372. package/dist/form-config/dataRecord-1.0-draft.d.ts +0 -4
  373. package/dist/form-config/dataRecord-1.0-draft.d.ts.map +0 -1
  374. package/dist/form-config/dataRecord-1.0-draft.js +0 -1042
  375. package/dist/form-config/default-1.0-draft.d.ts +0 -4
  376. package/dist/form-config/default-1.0-draft.d.ts.map +0 -1
  377. package/dist/form-config/default-1.0-draft.js +0 -1156
@@ -51,20 +51,23 @@ var Services;
51
51
  // Discover supported languages by scanning language-defaults directory
52
52
  const localesDir = path.join(sails.config.appPath, 'language-defaults');
53
53
  const supported = [];
54
+ const namespaces = sails?.config?.i18n?.next?.init?.ns || ['translation'];
54
55
  if (languages && languages.length > 0) {
55
56
  supported.push(...languages);
56
57
  }
57
58
  else {
58
59
  if (fs.existsSync(localesDir)) {
59
60
  const entries = fs.readdirSync(localesDir, { withFileTypes: true });
60
- supported.push(...entries.filter(d => d.isDirectory()).map(d => d.name));
61
+ supported.push(...entries
62
+ .filter(d => d.isDirectory())
63
+ .filter(d => namespaces.some(ns => fs.existsSync(path.join(localesDir, d.name, `${ns}.json`))))
64
+ .map(d => d.name));
61
65
  }
62
66
  // Fallback to config if no directories found
63
67
  if (supported.length === 0) {
64
68
  supported.push(...(sails?.config?.i18n?.next?.init?.supportedLngs || ['en']));
65
69
  }
66
70
  }
67
- const namespaces = sails?.config?.i18n?.next?.init?.ns || ['translation'];
68
71
  // Default brand
69
72
  const defaultBrand = BrandingService.getBrand('default');
70
73
  if (!defaultBrand) {
@@ -140,6 +143,15 @@ var Services;
140
143
  const result = {};
141
144
  for (const flatKey of Object.keys(flatObj || {})) {
142
145
  const parts = flatKey.split('.');
146
+ let poisoned = false;
147
+ for (const part of parts) {
148
+ if (part === '__proto__' || part === 'constructor' || part === 'prototype') {
149
+ poisoned = true;
150
+ break;
151
+ }
152
+ }
153
+ if (poisoned)
154
+ continue;
143
155
  let cursor = result;
144
156
  for (let i = 0; i < parts.length; i++) {
145
157
  const p = parts[i];
@@ -160,6 +172,11 @@ var Services;
160
172
  if (!obj)
161
173
  return;
162
174
  const parts = String(dottedKey).split('.');
175
+ for (const part of parts) {
176
+ if (part === '__proto__' || part === 'constructor' || part === 'prototype') {
177
+ return;
178
+ }
179
+ }
163
180
  let cursor = obj;
164
181
  for (let i = 0; i < parts.length; i++) {
165
182
  const p = parts[i];
@@ -179,11 +196,16 @@ var Services;
179
196
  if (!obj)
180
197
  return;
181
198
  const parts = String(dottedKey).split('.');
199
+ for (const part of parts) {
200
+ if (part === '__proto__' || part === 'constructor' || part === 'prototype') {
201
+ return;
202
+ }
203
+ }
182
204
  let cursor = obj;
183
205
  for (let i = 0; i < parts.length - 1; i++) {
184
206
  const p = parts[i];
185
207
  if (cursor[p] == null || typeof cursor[p] !== 'object')
186
- return; // nothing to remove
208
+ return;
187
209
  cursor = cursor[p];
188
210
  }
189
211
  delete cursor[parts[parts.length - 1]];
@@ -544,4 +566,4 @@ var Services;
544
566
  ], I18nEntries);
545
567
  Services.I18nEntries = I18nEntries;
546
568
  })(Services || (exports.Services = Services = {}));
547
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSTE4bkVudHJpZXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0kxOG5FbnRyaWVzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEZBQTBGO0FBQzFGLEVBQUU7QUFDRiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRix1RUFBdUU7QUFDdkUsdUVBQXVFO0FBQ3ZFLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFDdEMsRUFBRTtBQUNGLGtFQUFrRTtBQUNsRSxpRUFBaUU7QUFDakUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLDBFQUEwRTtBQUMxRSw4REFBOEQ7Ozs7Ozs7OztBQUU5RCxnREFBc0Q7QUFFdEQsc0dBQXlGO0FBS3pGLElBQWlCLFFBQVEsQ0FzakJ4QjtBQXRqQkQsV0FBaUIsUUFBUTtJQVN2QixTQUFnQixRQUFRLENBQUMsR0FBWTtRQUNuQyxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQztJQUM5RSxDQUFDO0lBRmUsaUJBQVEsV0FFdkIsQ0FBQTtJQUVEOzs7O09BSUc7SUFFSCxJQUFhLFdBQVcsR0FBeEIsTUFBYSxXQUFZLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUdwRDs7OztXQUlHO1FBQ0ksS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFvQjtZQUN6QyxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ25DLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUV2Qyx1RUFBdUU7Z0JBQ3ZFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1B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
569
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSTE4bkVudHJpZXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0kxOG5FbnRyaWVzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEZBQTBGO0FBQzFGLEVBQUU7QUFDRiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRix1RUFBdUU7QUFDdkUsdUVBQXVFO0FBQ3ZFLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFDdEMsRUFBRTtBQUNGLGtFQUFrRTtBQUNsRSxpRUFBaUU7QUFDakUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLDBFQUEwRTtBQUMxRSw4REFBOEQ7Ozs7Ozs7OztBQUU5RCxnREFBc0Q7QUFFdEQsc0dBQXlGO0FBS3pGLElBQWlCLFFBQVEsQ0Ewa0J4QjtBQTFrQkQsV0FBaUIsUUFBUTtJQVN2QixTQUFnQixRQUFRLENBQUMsR0FBWTtRQUNuQyxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQztJQUM5RSxDQUFDO0lBRmUsaUJBQVEsV0FFdkIsQ0FBQTtJQUVEOzs7O09BSUc7SUFFSCxJQUFhLFdBQVcsR0FBeEIsTUFBYSxXQUFZLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUdwRDs7OztXQUlHO1FBQ0ksS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFvQjtZQUN6QyxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ25DLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUV2Qyx1RUFBdUU7Z0JBQ3ZFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1B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
@@ -47,6 +47,36 @@ export type IntegrationAuditTraceLogResult = {
47
47
  rows: IntegrationAuditTraceRecord[];
48
48
  total: number;
49
49
  };
50
+ export type IntegrationOutcomeSeverity = 'none' | 'pending' | 'in-progress' | 'success' | 'warning' | 'error';
51
+ export type IntegrationOutcome = {
52
+ state: string;
53
+ severity: IntegrationOutcomeSeverity;
54
+ labelKey: string;
55
+ helpKey?: string;
56
+ };
57
+ export type IntegrationStatusRecordContext = {
58
+ citationDoi?: string;
59
+ workflowStage?: string;
60
+ };
61
+ export type IntegrationStatusSummary = {
62
+ integrationName: string;
63
+ status: string;
64
+ integrationAction?: string;
65
+ startedAt: string;
66
+ completedAt?: string;
67
+ durationMs?: number;
68
+ message?: string;
69
+ keyResult?: Record<string, unknown>;
70
+ traceId: string;
71
+ outcome?: IntegrationOutcome;
72
+ synthesized?: boolean;
73
+ };
74
+ /**
75
+ * Maps an integration status summary to a user-facing outcome (badge/label).
76
+ * Hooks register a mapper for their custom integration name via
77
+ * {@link Services.IntegrationAuditService.registerOutcomeMapper}.
78
+ */
79
+ export type IntegrationOutcomeMapper = (summary: IntegrationStatusSummary, ctx: IntegrationStatusRecordContext) => IntegrationOutcome | undefined;
50
80
  type IntegrationAuditOptions = {
51
81
  brandId?: string;
52
82
  integrationName?: IntegrationAuditName;
@@ -77,6 +107,14 @@ export declare namespace Services {
77
107
  private mergeSummaries;
78
108
  private buildAuditEntry;
79
109
  private persistEntry;
110
+ /**
111
+ * Fire-and-forget enqueue that never lets a failure escape. AgendaQueueService.now
112
+ * is async and can throw synchronously (e.g. an unknown job) or reject later, so a
113
+ * plain try/catch around the call is not enough — the returned promise's rejection
114
+ * would surface as an unhandled rejection and crash the process. This swallows both.
115
+ */
116
+ private safeQueueNow;
117
+ private enqueueNotification;
80
118
  private queueOrPersist;
81
119
  startAudit(oid: string, action: IntegrationAuditAction, opts?: IntegrationAuditOptions): IntegrationAuditContext;
82
120
  completeAudit(ctx: IntegrationAuditContext | null | undefined, result?: AnyRecord): void;
@@ -85,6 +123,7 @@ export declare namespace Services {
85
123
  private getString;
86
124
  private getTimestampValue;
87
125
  private getRowSortTimestamp;
126
+ private getTraceFallbackIdentity;
88
127
  private getStatusRank;
89
128
  private buildEventId;
90
129
  private buildSpanEvents;
@@ -93,8 +132,27 @@ export declare namespace Services {
93
132
  private buildTraceRecord;
94
133
  private getAllIntegrationAuditRows;
95
134
  getTraceAuditLog(params: IntegrationAuditParams): Promise<IntegrationAuditTraceLogResult>;
135
+ private extractKeyResult;
136
+ getStatusSummary(params: IntegrationAuditParams): Promise<IntegrationStatusSummary[]>;
137
+ private makeOutcome;
138
+ private isPublishedStage;
139
+ private isDoiUpdateAction;
140
+ private mapDoiOutcome;
141
+ private mapFigshareOutcome;
142
+ private readonly outcomeMappers;
143
+ /**
144
+ * Registers an outcome mapper for a custom integration name so the
145
+ * integration-status component can render a badge/label for it. Hooks call
146
+ * this at lift time (e.g. on the 'ready' sails event). The integration name
147
+ * is matched case-insensitively; the last registration for a name wins.
148
+ */
149
+ registerOutcomeMapper(integrationName: string, mapper: IntegrationOutcomeMapper): void;
150
+ getStatusSummaryWithOutcomes(params: IntegrationAuditParams, ctx: IntegrationStatusRecordContext): Promise<IntegrationStatusSummary[]>;
96
151
  storeIntegrationAudit(job: AnyRecord): void;
97
152
  }
98
153
  }
154
+ declare global {
155
+ let IntegrationAuditService: Services.IntegrationAuditService;
156
+ }
99
157
  export {};
100
158
  //# sourceMappingURL=IntegrationAuditService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntegrationAuditService.d.ts","sourceRoot":"","sources":["../../src/services/IntegrationAuditService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IntegrationAuditService.d.ts","sourceRoot":"","sources":["../../src/services/IntegrationAuditService.ts"],"names":[],"mappings":"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"}