@researchdatabox/redbox-core 5.1.0-beta.12573 → 5.1.0-beta.13939
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.
- package/browser/redoc-library-loader.cjs +20 -0
- package/browser/redoc-standalone.js +143 -0
- package/dist/CoreBase.d.ts +43 -0
- package/dist/CoreBase.d.ts.map +1 -0
- package/dist/CoreBase.js +101 -0
- package/dist/CoreController.d.ts +23 -31
- package/dist/CoreController.d.ts.map +1 -1
- package/dist/CoreController.js +142 -131
- package/dist/CoreService.d.ts +13 -33
- package/dist/CoreService.d.ts.map +1 -1
- package/dist/CoreService.js +69 -95
- package/dist/HarvestRunService.d.ts +9 -1
- package/dist/HarvestRunService.d.ts.map +1 -1
- package/dist/HarvestRunService.js +1 -1
- package/dist/RecordRouteForm.d.ts +49 -0
- package/dist/RecordRouteForm.d.ts.map +1 -0
- package/dist/RecordRouteForm.js +188 -0
- package/dist/RecordSaveResponse.d.ts +4 -0
- package/dist/RecordSaveResponse.d.ts.map +1 -1
- package/dist/RecordSaveResponse.js +3 -2
- package/dist/action-execution/executor.d.ts +1 -1
- package/dist/action-execution/executor.d.ts.map +1 -1
- package/dist/action-execution/executor.js +19 -20
- package/dist/action-execution/legacy-result.d.ts +1 -1
- package/dist/action-execution/legacy-result.d.ts.map +1 -1
- package/dist/action-execution/legacy-result.js +43 -10
- package/dist/action-execution/types.d.ts +3 -3
- package/dist/action-execution/types.d.ts.map +1 -1
- package/dist/api-routes/groups/harvest-runs.d.ts +1 -0
- package/dist/api-routes/groups/harvest-runs.d.ts.map +1 -1
- package/dist/api-routes/groups/harvest-runs.js +24 -3
- package/dist/api-routes/groups/records.d.ts.map +1 -1
- package/dist/api-routes/groups/records.js +30 -21
- package/dist/api-routes/groups/reports.d.ts.map +1 -1
- package/dist/api-routes/groups/reports.js +3 -2
- package/dist/api-routes/helpers.d.ts +1 -1
- package/dist/api-routes/helpers.d.ts.map +1 -1
- package/dist/api-routes/helpers.js +10 -6
- package/dist/api-routes/openapi.d.ts.map +1 -1
- package/dist/api-routes/openapi.js +15 -1
- package/dist/api-routes/request-extraction.js +2 -2
- package/dist/api-routes/schemas/common.d.ts.map +1 -1
- package/dist/api-routes/schemas/common.js +7 -2
- package/dist/api-routes/schemas/responses.d.ts +38 -12
- package/dist/api-routes/schemas/responses.d.ts.map +1 -1
- package/dist/api-routes/schemas/responses.js +11 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +13 -3
- package/dist/config/agendaQueue.config.d.ts +5 -0
- package/dist/config/agendaQueue.config.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.js +29 -2
- package/dist/config/appConfigSecrets.config.d.ts +14 -0
- package/dist/config/appConfigSecrets.config.d.ts.map +1 -0
- package/dist/config/appConfigSecrets.config.js +8 -0
- package/dist/config/brandingConfigurationDefaults.config.d.ts +16 -3
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
- package/dist/config/brandingConfigurationDefaults.config.js +1 -1
- package/dist/config/dompurify.config.d.ts.map +1 -1
- package/dist/config/dompurify.config.js +3 -2
- package/dist/config/harvestRuns.config.d.ts +7 -0
- package/dist/config/harvestRuns.config.d.ts.map +1 -1
- package/dist/config/harvestRuns.config.js +2 -1
- package/dist/config/http.config.d.ts +3 -2
- package/dist/config/http.config.d.ts.map +1 -1
- package/dist/config/http.config.js +108 -12
- package/dist/config/i18n.config.d.ts +3 -0
- package/dist/config/i18n.config.d.ts.map +1 -1
- package/dist/config/i18n.config.js +1 -1
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -1
- package/dist/config/log.config.d.ts +33 -5
- package/dist/config/log.config.d.ts.map +1 -1
- package/dist/config/log.config.js +58 -54
- package/dist/config/record.config.d.ts +17 -0
- package/dist/config/record.config.d.ts.map +1 -1
- package/dist/config/record.config.js +7 -1
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +11 -2
- package/dist/config/session.config.d.ts +2 -2
- package/dist/config/session.config.d.ts.map +1 -1
- package/dist/config/solr.config.d.ts +8 -0
- package/dist/config/solr.config.d.ts.map +1 -1
- package/dist/config/solr.config.js +15 -2
- package/dist/config/storage.config.d.ts.map +1 -1
- package/dist/config/storage.config.js +9 -1
- package/dist/config/vocab.config.d.ts +1 -0
- package/dist/config/vocab.config.d.ts.map +1 -1
- package/dist/config/vocab.config.js +3 -3
- package/dist/config/webpack.config.d.ts.map +1 -1
- package/dist/config/webpack.config.js +23 -5
- package/dist/configmodels/ConfigModels.d.ts.map +1 -1
- package/dist/configmodels/ConfigModels.js +3 -2
- package/dist/configmodels/FigsharePublishing.d.ts +1 -1
- package/dist/controllers/ActionController.d.ts.map +1 -1
- package/dist/controllers/ActionController.js +8 -2
- package/dist/controllers/BrandingAppController.d.ts.map +1 -1
- package/dist/controllers/BrandingAppController.js +21 -2
- package/dist/controllers/DynamicAssetController.d.ts +9 -10
- package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
- package/dist/controllers/DynamicAssetController.js +67 -53
- package/dist/controllers/EmailController.d.ts.map +1 -1
- package/dist/controllers/EmailController.js +32 -14
- package/dist/controllers/ExportController.d.ts +9 -0
- package/dist/controllers/ExportController.d.ts.map +1 -1
- package/dist/controllers/ExportController.js +154 -3
- package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
- package/dist/controllers/FormVocabularyController.js +62 -33
- package/dist/controllers/RecordAuditController.d.ts.map +1 -1
- package/dist/controllers/RecordAuditController.js +4 -2
- package/dist/controllers/RecordController.d.ts +4 -1
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +248 -114
- package/dist/controllers/ReportController.d.ts +1 -0
- package/dist/controllers/ReportController.d.ts.map +1 -1
- package/dist/controllers/ReportController.js +40 -12
- package/dist/controllers/TranslationController.d.ts.map +1 -1
- package/dist/controllers/TranslationController.js +56 -16
- package/dist/controllers/UserController.d.ts +3 -1
- package/dist/controllers/UserController.d.ts.map +1 -1
- package/dist/controllers/UserController.js +178 -76
- package/dist/controllers/VocabularyController.d.ts +0 -1
- package/dist/controllers/VocabularyController.d.ts.map +1 -1
- package/dist/controllers/VocabularyController.js +18 -16
- package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
- package/dist/controllers/webservice/AdminController.js +2 -5
- package/dist/controllers/webservice/HarvestRunController.d.ts +1 -0
- package/dist/controllers/webservice/HarvestRunController.d.ts.map +1 -1
- package/dist/controllers/webservice/HarvestRunController.js +46 -2
- package/dist/controllers/webservice/IntegrationAuditController.d.ts +0 -1
- package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -1
- package/dist/controllers/webservice/IntegrationAuditController.js +13 -6
- package/dist/controllers/webservice/RecordController.d.ts +1 -1
- package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordController.js +13 -4
- package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
- package/dist/controllers/webservice/ReportController.js +15 -10
- package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/UserManagementController.js +17 -8
- package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
- package/dist/controllers/webservice/VocabularyController.js +19 -13
- package/dist/form-config/generated-view-only.d.ts.map +1 -1
- package/dist/form-config/generated-view-only.js +12 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/loader/index.d.ts +1 -0
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +56 -11
- package/dist/middleware/redboxSession.d.ts.map +1 -1
- package/dist/middleware/redboxSession.js +15 -3
- package/dist/middleware/requestChronicle.d.ts +14 -0
- package/dist/middleware/requestChronicle.d.ts.map +1 -0
- package/dist/middleware/requestChronicle.js +73 -0
- package/dist/model/BuildResponse.d.ts +7 -5
- package/dist/model/BuildResponse.d.ts.map +1 -1
- package/dist/model/RBValidationError.d.ts +18 -5
- package/dist/model/RBValidationError.d.ts.map +1 -1
- package/dist/model/RBValidationError.js +56 -17
- package/dist/model/storage/ExportJobModel.d.ts +33 -0
- package/dist/model/storage/ExportJobModel.d.ts.map +1 -0
- package/dist/model/storage/ExportJobModel.js +3 -0
- package/dist/model/storage/HarvestRunModel.d.ts +20 -0
- package/dist/model/storage/HarvestRunModel.d.ts.map +1 -1
- package/dist/model/storage/HarvestRunModel.js +2 -1
- package/dist/model/storage/index.d.ts +2 -1
- package/dist/model/storage/index.d.ts.map +1 -1
- package/dist/model/storage/index.js +1 -1
- package/dist/policies/checkAuth.d.ts.map +1 -1
- package/dist/policies/checkAuth.js +3 -2
- package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
- package/dist/policies/contentSecurityPolicy.js +7 -2
- package/dist/policies/noCache.d.ts.map +1 -1
- package/dist/policies/noCache.js +4 -3
- package/dist/record-contract/record-contract-compiler.d.ts.map +1 -1
- package/dist/record-contract/record-contract-compiler.js +3 -19
- package/dist/record-contract/record-contract-context.d.ts +2 -0
- package/dist/record-contract/record-contract-context.d.ts.map +1 -1
- package/dist/record-contract/record-contract-context.js +1 -1
- package/dist/responses/notFound.d.ts.map +1 -1
- package/dist/responses/notFound.js +6 -1
- package/dist/responses/serverError.d.ts.map +1 -1
- package/dist/responses/serverError.js +13 -3
- package/dist/sails.d.ts +27 -17
- package/dist/sails.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.d.ts +11 -2
- package/dist/services/AgendaQueueService.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.js +163 -51
- package/dist/services/AppConfigSecrets.d.ts +66 -0
- package/dist/services/AppConfigSecrets.d.ts.map +1 -0
- package/dist/services/AppConfigSecrets.js +396 -0
- package/dist/services/AppConfigService.d.ts +16 -1
- package/dist/services/AppConfigService.d.ts.map +1 -1
- package/dist/services/AppConfigService.js +283 -33
- package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
- package/dist/services/BrandingThemeCssService.js +32 -3
- package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
- package/dist/services/BrandingThemeTokens.js +10 -1
- package/dist/services/ConfigService.d.ts +1 -0
- package/dist/services/ConfigService.d.ts.map +1 -1
- package/dist/services/ConfigService.js +24 -9
- package/dist/services/DomSanitizerService.d.ts.map +1 -1
- package/dist/services/DomSanitizerService.js +19 -6
- package/dist/services/EmailService.d.ts +10 -2
- package/dist/services/EmailService.d.ts.map +1 -1
- package/dist/services/EmailService.js +53 -53
- package/dist/services/ExportService.d.ts +62 -0
- package/dist/services/ExportService.d.ts.map +1 -0
- package/dist/services/ExportService.js +609 -0
- package/dist/services/FormVocabularyService.d.ts.map +1 -1
- package/dist/services/FormVocabularyService.js +14 -4
- package/dist/services/FormsService.d.ts +3 -0
- package/dist/services/FormsService.d.ts.map +1 -1
- package/dist/services/FormsService.js +10 -3
- package/dist/services/HarvestRunService.d.ts +23 -1
- package/dist/services/HarvestRunService.d.ts.map +1 -1
- package/dist/services/HarvestRunService.js +155 -22
- package/dist/services/I18nEntriesService.d.ts +5 -0
- package/dist/services/I18nEntriesService.d.ts.map +1 -1
- package/dist/services/I18nEntriesService.js +55 -3
- package/dist/services/NamedQueryService.d.ts +1 -0
- package/dist/services/NamedQueryService.d.ts.map +1 -1
- package/dist/services/NamedQueryService.js +67 -31
- package/dist/services/RDMPService.d.ts.map +1 -1
- package/dist/services/RDMPService.js +69 -83
- package/dist/services/RaidService.d.ts.map +1 -1
- package/dist/services/RaidService.js +45 -11
- package/dist/services/RecordSchemaService.d.ts +3 -1
- package/dist/services/RecordSchemaService.d.ts.map +1 -1
- package/dist/services/RecordSchemaService.js +2 -1
- package/dist/services/RecordValidationService.d.ts +3 -0
- package/dist/services/RecordValidationService.d.ts.map +1 -1
- package/dist/services/RecordValidationService.js +25 -5
- package/dist/services/RecordsService.d.ts +10 -1
- package/dist/services/RecordsService.d.ts.map +1 -1
- package/dist/services/RecordsService.js +194 -93
- package/dist/services/ReportsService.d.ts +1 -0
- package/dist/services/ReportsService.d.ts.map +1 -1
- package/dist/services/ReportsService.js +10 -9
- package/dist/services/RvaImportService.d.ts.map +1 -1
- package/dist/services/RvaImportService.js +6 -5
- package/dist/services/SolrSearchService.d.ts +7 -2
- package/dist/services/SolrSearchService.d.ts.map +1 -1
- package/dist/services/SolrSearchService.js +205 -81
- package/dist/services/StorageManagerService.d.ts +5 -0
- package/dist/services/StorageManagerService.d.ts.map +1 -1
- package/dist/services/StorageManagerService.js +4 -1
- package/dist/services/TriggerService.d.ts.map +1 -1
- package/dist/services/TriggerService.js +64 -56
- package/dist/services/UsersService.d.ts +13 -1
- package/dist/services/UsersService.d.ts.map +1 -1
- package/dist/services/UsersService.js +191 -257
- package/dist/services/VocabularyService.d.ts +11 -1
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +120 -24
- package/dist/services/doi-v2/http.d.ts +3 -2
- package/dist/services/doi-v2/http.d.ts.map +1 -1
- package/dist/services/doi-v2/http.js +38 -4
- package/dist/services/doi-v2/runtime.d.ts +4 -3
- package/dist/services/doi-v2/runtime.d.ts.map +1 -1
- package/dist/services/doi-v2/runtime.js +52 -17
- package/dist/services/figshare-v2/assets.d.ts +1 -1
- package/dist/services/figshare-v2/assets.d.ts.map +1 -1
- package/dist/services/figshare-v2/assets.js +1 -1
- package/dist/services/figshare-v2/http.d.ts +3 -2
- package/dist/services/figshare-v2/http.d.ts.map +1 -1
- package/dist/services/figshare-v2/http.js +38 -4
- package/dist/services/figshare-v2/observability.d.ts.map +1 -1
- package/dist/services/figshare-v2/observability.js +3 -3
- package/dist/services/figshare-v2/runtime.d.ts +4 -3
- package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
- package/dist/services/figshare-v2/runtime.js +48 -13
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +8 -3
- package/dist/services/integration-v2/runtime.d.ts +1 -1
- package/dist/services/integration-v2/runtime.d.ts.map +1 -1
- package/dist/services/integration-v2/runtime.js +7 -7
- package/dist/services/oni-v2/audit.d.ts +3 -2
- package/dist/services/oni-v2/audit.d.ts.map +1 -1
- package/dist/services/oni-v2/audit.js +38 -4
- package/dist/services/oni-v2/bindings.d.ts +1 -1
- package/dist/services/oni-v2/bindings.d.ts.map +1 -1
- package/dist/services/oni-v2/bindings.js +37 -4
- package/dist/services/oni-v2/repository.d.ts +3 -2
- package/dist/services/oni-v2/repository.d.ts.map +1 -1
- package/dist/services/oni-v2/repository.js +42 -7
- package/dist/services/oni-v2/runtime.d.ts +5 -4
- package/dist/services/oni-v2/runtime.d.ts.map +1 -1
- package/dist/services/oni-v2/runtime.js +57 -19
- package/dist/services/oni-v2/templating.d.ts +4 -2
- package/dist/services/oni-v2/templating.d.ts.map +1 -1
- package/dist/services/oni-v2/templating.js +42 -7
- package/dist/services/raid-v2/audit.d.ts +1 -1
- package/dist/services/raid-v2/audit.d.ts.map +1 -1
- package/dist/services/raid-v2/audit.js +39 -5
- package/dist/services/raid-v2/errors.d.ts +9 -9
- package/dist/services/raid-v2/errors.js +44 -11
- package/dist/services/raid-v2/http.d.ts +1 -1
- package/dist/services/raid-v2/http.d.ts.map +1 -1
- package/dist/services/raid-v2/http.js +42 -8
- package/dist/services/raid-v2/logger.d.ts +1 -1
- package/dist/services/raid-v2/logger.d.ts.map +1 -1
- package/dist/services/raid-v2/logger.js +42 -8
- package/dist/services/raid-v2/mapping.d.ts +1 -1
- package/dist/services/raid-v2/mapping.d.ts.map +1 -1
- package/dist/services/raid-v2/mapping.js +41 -7
- package/dist/services/raid-v2/runtime.d.ts +1 -1
- package/dist/services/raid-v2/runtime.d.ts.map +1 -1
- package/dist/services/raid-v2/runtime.js +76 -34
- package/dist/services/raid-v2/tags.d.ts +8 -8
- package/dist/services/raid-v2/tags.d.ts.map +1 -1
- package/dist/services/raid-v2/tags.js +42 -9
- package/dist/services/record-hooks/coordinator.d.ts +11 -0
- package/dist/services/record-hooks/coordinator.d.ts.map +1 -1
- package/dist/services/record-hooks/coordinator.js +70 -6
- package/dist/storage/GridFSDriver.d.ts +16 -9
- package/dist/storage/GridFSDriver.d.ts.map +1 -1
- package/dist/storage/GridFSDriver.js +87 -33
- package/dist/storage/TusStorageManagerDataStore.d.ts +11 -1
- package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -1
- package/dist/storage/TusStorageManagerDataStore.js +190 -56
- package/dist/utilities/HarvestHistoryRetention.d.ts +17 -0
- package/dist/utilities/HarvestHistoryRetention.d.ts.map +1 -0
- package/dist/utilities/HarvestHistoryRetention.js +141 -0
- package/dist/utilities/HarvestRunIndexes.d.ts +12 -0
- package/dist/utilities/HarvestRunIndexes.d.ts.map +1 -0
- package/dist/utilities/HarvestRunIndexes.js +84 -0
- package/dist/utilities/PinoLoggerUtils.d.ts +9 -0
- package/dist/utilities/PinoLoggerUtils.d.ts.map +1 -0
- package/dist/utilities/PinoLoggerUtils.js +17 -0
- package/dist/utilities/RequestChronicle.d.ts +221 -0
- package/dist/utilities/RequestChronicle.d.ts.map +1 -0
- package/dist/utilities/RequestChronicle.js +770 -0
- package/dist/utilities/RequestChronicleContext.d.ts +6 -0
- package/dist/utilities/RequestChronicleContext.d.ts.map +1 -0
- package/dist/utilities/RequestChronicleContext.js +19 -0
- package/dist/utilities/RequestChronicleSettings.d.ts +29 -0
- package/dist/utilities/RequestChronicleSettings.d.ts.map +1 -0
- package/dist/utilities/RequestChronicleSettings.js +31 -0
- package/dist/utilities/TransactionUtils.d.ts +2 -1
- package/dist/utilities/TransactionUtils.d.ts.map +1 -1
- package/dist/utilities/TransactionUtils.js +1 -1
- package/dist/utilities/TranslationHtml.d.ts.map +1 -1
- package/dist/utilities/TranslationHtml.js +13 -5
- package/dist/utilities/VocabularyAdminAccess.d.ts +10 -0
- package/dist/utilities/VocabularyAdminAccess.d.ts.map +1 -0
- package/dist/utilities/VocabularyAdminAccess.js +42 -0
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +7 -2
- package/dist/visitor/context-variables.visitor.d.ts +1 -2
- package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
- package/dist/visitor/context-variables.visitor.js +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +5 -1
- package/dist/visitor/related-object-data-inline.visitor.d.ts +1 -1
- package/dist/visitor/related-object-data-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/related-object-data-inline.visitor.js +57 -23
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +4 -2
- package/dist/visitor/visitor-helpers.js +3 -3
- package/dist/visitor/vocab-inline.visitor.d.ts +1 -2
- package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/vocab-inline.visitor.js +1 -1
- package/dist/waterline-models/ExportJob.d.ts +38 -0
- package/dist/waterline-models/ExportJob.d.ts.map +1 -0
- package/dist/waterline-models/ExportJob.js +148 -0
- package/dist/waterline-models/HarvestRecordEvent.d.ts.map +1 -1
- package/dist/waterline-models/HarvestRecordEvent.js +3 -9
- package/dist/waterline-models/HarvestRun.d.ts +5 -1
- package/dist/waterline-models/HarvestRun.d.ts.map +1 -1
- package/dist/waterline-models/HarvestRun.js +13 -7
- package/dist/waterline-models/HarvestRunChunk.d.ts.map +1 -1
- package/dist/waterline-models/HarvestRunChunk.js +3 -7
- package/dist/waterline-models/User.d.ts +2 -2
- package/dist/waterline-models/User.d.ts.map +1 -1
- package/dist/waterline-models/User.js +3 -3
- package/dist/waterline-models/index.d.ts +2 -0
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +4 -1
- package/logfmt-transport.cjs +59 -0
- package/package.json +76 -45
- package/dist/Logger.d.ts +0 -16
- package/dist/Logger.d.ts.map +0 -1
- package/dist/Logger.js +0 -3
|
@@ -35,12 +35,16 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.Services = void 0;
|
|
37
37
|
const _ = __importStar(require("lodash"));
|
|
38
|
+
const HarvestHistoryRetention_1 = require("../utilities/HarvestHistoryRetention");
|
|
39
|
+
const harvestRuns_config_1 = require("../config/harvestRuns.config");
|
|
40
|
+
const HarvestRunIndexes_1 = require("../utilities/HarvestRunIndexes");
|
|
38
41
|
const node_crypto_1 = require("node:crypto");
|
|
39
42
|
const rxjs_1 = require("rxjs");
|
|
40
43
|
const CoreService_1 = require("../CoreService");
|
|
41
44
|
const HarvestRunService_1 = require("../HarvestRunService");
|
|
42
45
|
const APIHarvestResponse_1 = require("../model/APIHarvestResponse");
|
|
43
46
|
const HarvestRunModel_1 = require("../model/storage/HarvestRunModel");
|
|
47
|
+
const canonical_json_1 = require("../record-contract/canonical-json");
|
|
44
48
|
const recordSchema_config_1 = require("../config/recordSchema.config");
|
|
45
49
|
const RecordSaveResponse_1 = require("../RecordSaveResponse");
|
|
46
50
|
require("../waterline-models/types");
|
|
@@ -48,6 +52,10 @@ var Services;
|
|
|
48
52
|
(function (Services) {
|
|
49
53
|
class HarvestRunService extends CoreService_1.Services.Core.Service {
|
|
50
54
|
_exportedMethods = [
|
|
55
|
+
'init',
|
|
56
|
+
'pruneHistory',
|
|
57
|
+
'pruneHistoryJob',
|
|
58
|
+
'listRunChunks',
|
|
51
59
|
'submitCompatibilityRecords',
|
|
52
60
|
'submitLegacyRecords',
|
|
53
61
|
'submitChunk',
|
|
@@ -60,6 +68,30 @@ var Services;
|
|
|
60
68
|
super();
|
|
61
69
|
this.logHeader = 'HarvestRunService::';
|
|
62
70
|
}
|
|
71
|
+
async init() {
|
|
72
|
+
const datastore = HarvestRun.getDatastore();
|
|
73
|
+
if (datastore?.config?.adapter !== 'sails-mongo') {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (!datastore.manager) {
|
|
77
|
+
throw new Error('Harvest Mongo datastore manager is unavailable during initialization.');
|
|
78
|
+
}
|
|
79
|
+
await (0, HarvestRunIndexes_1.ensureHarvestRunIndexes)(datastore.manager);
|
|
80
|
+
}
|
|
81
|
+
async pruneHistory(options = {}) {
|
|
82
|
+
return this.runHistoryRetention(options);
|
|
83
|
+
}
|
|
84
|
+
async pruneHistoryJob(job) {
|
|
85
|
+
const result = await this.runHistoryRetention({}, job ? () => job.touch() : undefined);
|
|
86
|
+
this.logger.info(`${this.logHeader} History retention: ${JSON.stringify(result)}`);
|
|
87
|
+
}
|
|
88
|
+
async runHistoryRetention(options, heartbeat) {
|
|
89
|
+
const datastore = HarvestRun.getDatastore();
|
|
90
|
+
if (datastore?.config?.adapter !== 'sails-mongo' || !datastore.manager) {
|
|
91
|
+
throw new Error('Harvest history retention requires a Mongo datastore.');
|
|
92
|
+
}
|
|
93
|
+
return (0, HarvestHistoryRetention_1.pruneHarvestHistory)(datastore.manager, this.harvestRunConfig().retention, options, heartbeat);
|
|
94
|
+
}
|
|
63
95
|
asError(error) {
|
|
64
96
|
return error instanceof Error ? error : new Error(String(error));
|
|
65
97
|
}
|
|
@@ -108,6 +140,7 @@ var Services;
|
|
|
108
140
|
harvestRunConfig() {
|
|
109
141
|
const configured = (_.isPlainObject(sails.config?.harvestRuns) ? sails.config.harvestRuns : {});
|
|
110
142
|
return {
|
|
143
|
+
retention: { ...harvestRuns_config_1.harvestRuns.retention, ...configured.retention },
|
|
111
144
|
maxRecordsPerChunk: this.parsePositiveInt(configured.maxRecordsPerChunk, 250),
|
|
112
145
|
maxChunkBytes: this.parsePositiveInt(configured.maxChunkBytes, 5_000_000),
|
|
113
146
|
processingChunkTimeoutMinutes: this.parsePositiveInt(configured.processingChunkTimeoutMinutes, 30),
|
|
@@ -187,6 +220,20 @@ var Services;
|
|
|
187
220
|
isMetadataEqual(meta1, meta2) {
|
|
188
221
|
return _.isEqual(meta1, meta2);
|
|
189
222
|
}
|
|
223
|
+
legacyHarvestSource(metadata, merge) {
|
|
224
|
+
try {
|
|
225
|
+
return {
|
|
226
|
+
algorithm: 'redbox-legacy-harvest-source-v1',
|
|
227
|
+
metadataHash: (0, node_crypto_1.createHash)('sha256').update((0, canonical_json_1.serializeRedboxCanonicalJsonV1)(metadata), 'utf8').digest('hex'),
|
|
228
|
+
mode: merge ? 'merge' : 'replace',
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
// Non-JSON internal callers retain the strict metadata comparison.
|
|
233
|
+
// Never let a lossy serialization suppress a real source change.
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
190
237
|
async updateRunWithOptimisticRetry(run, criteriaFields, buildUpdates) {
|
|
191
238
|
const runId = String(run.id ?? '').trim();
|
|
192
239
|
if (_.isEmpty(runId)) {
|
|
@@ -322,6 +369,7 @@ var Services;
|
|
|
322
369
|
failed: Number(row.failed ?? 0),
|
|
323
370
|
chunksProcessed: Number(row.chunksProcessed ?? 0),
|
|
324
371
|
duplicateChunks: Number(row.duplicateChunks ?? 0),
|
|
372
|
+
historyRetention: row.historyRetention,
|
|
325
373
|
metadata: row.metadata ?? undefined,
|
|
326
374
|
});
|
|
327
375
|
}
|
|
@@ -373,10 +421,11 @@ var Services;
|
|
|
373
421
|
createdAt: String(row.createdAt ?? ''),
|
|
374
422
|
});
|
|
375
423
|
}
|
|
376
|
-
async findExistingHarvestRecord(harvestId, recordType) {
|
|
424
|
+
async findExistingHarvestRecord(brandId, harvestId, recordType) {
|
|
377
425
|
return (await Record.find({
|
|
378
426
|
harvestId,
|
|
379
427
|
'metaMetadata.type': recordType,
|
|
428
|
+
'metaMetadata.brandId': brandId,
|
|
380
429
|
}).meta({
|
|
381
430
|
enableExperimentalDeepTargets: true,
|
|
382
431
|
}));
|
|
@@ -405,10 +454,10 @@ var Services;
|
|
|
405
454
|
}
|
|
406
455
|
return byHarvestId;
|
|
407
456
|
}
|
|
408
|
-
async legacyUpdateHarvestRecord(brand, recordTypeModel, updateMode, body, oid, harvestId, user, context) {
|
|
457
|
+
async legacyUpdateHarvestRecord(brand, recordTypeModel, updateMode, body, oid, harvestId, user, context, harvestSource) {
|
|
409
458
|
const shouldMerge = updateMode === 'merge';
|
|
410
459
|
try {
|
|
411
|
-
const record = await RecordsService.getMeta(oid);
|
|
460
|
+
const record = _.cloneDeep(await RecordsService.getMeta(oid));
|
|
412
461
|
if (_.isEmpty(record)) {
|
|
413
462
|
return new APIHarvestResponse_1.APIHarvestResponse(harvestId, oid, false, `Failed to update meta, cannot find existing record with oid: ${oid}`);
|
|
414
463
|
}
|
|
@@ -416,6 +465,11 @@ var Services;
|
|
|
416
465
|
if (!_.isEmpty(sourceMetadata)) {
|
|
417
466
|
record['metaMetadata']['sourceMetadata'] = `${sourceMetadata}`;
|
|
418
467
|
}
|
|
468
|
+
// The source signature must commit with the metadata, never as a
|
|
469
|
+
// separate write. A failed save must not alter a cached snapshot.
|
|
470
|
+
// Omitted fields are restored by the save merge. Explicit null
|
|
471
|
+
// invalidates a prior legacy source after a compatibility write.
|
|
472
|
+
record['harvestSource'] = harvestSource ?? null;
|
|
419
473
|
const response = await RecordsService.updateMetaInternal({
|
|
420
474
|
actor: { kind: 'service', id: 'HarvestRunService.legacyUpdateHarvestRecord' },
|
|
421
475
|
authorization: { kind: 'service' },
|
|
@@ -439,7 +493,7 @@ var Services;
|
|
|
439
493
|
return result;
|
|
440
494
|
}
|
|
441
495
|
}
|
|
442
|
-
async legacyCreateHarvestRecord(brand, recordTypeModel, body, harvestId, updateMode, user, context) {
|
|
496
|
+
async legacyCreateHarvestRecord(brand, recordTypeModel, body, harvestId, updateMode, user, context, harvestSource) {
|
|
443
497
|
const metadata = body?.['metadata'];
|
|
444
498
|
const workflowStage = body?.['workflowStage'];
|
|
445
499
|
const request = {};
|
|
@@ -447,6 +501,8 @@ var Services;
|
|
|
447
501
|
request['harvestId'] = harvestId;
|
|
448
502
|
}
|
|
449
503
|
request['metadata'] = metadata == null ? body : metadata;
|
|
504
|
+
if (harvestSource)
|
|
505
|
+
request['harvestSource'] = harvestSource;
|
|
450
506
|
try {
|
|
451
507
|
const response = await RecordsService.create(brand, request, recordTypeModel, user, true, true, undefined, this.recordSaveContext(context, 'create'));
|
|
452
508
|
if (workflowStage) {
|
|
@@ -506,7 +562,7 @@ var Services;
|
|
|
506
562
|
}
|
|
507
563
|
async updateTrackedRecord(brand, recordTypeModel, metadata, oid, user, strategy, context) {
|
|
508
564
|
try {
|
|
509
|
-
const record = await RecordsService.getMeta(oid);
|
|
565
|
+
const record = _.cloneDeep(await RecordsService.getMeta(oid));
|
|
510
566
|
if (_.isEmpty(record)) {
|
|
511
567
|
return {
|
|
512
568
|
success: false,
|
|
@@ -515,6 +571,9 @@ var Services;
|
|
|
515
571
|
};
|
|
516
572
|
}
|
|
517
573
|
const previousRecord = _.cloneDeep(record);
|
|
574
|
+
// Tracked metadata no longer corresponds to the prior legacy source.
|
|
575
|
+
// Keep the original signature in previousRecord for compensation.
|
|
576
|
+
record['harvestSource'] = null;
|
|
518
577
|
const sourceMetadata = metadata['sourceMetadata'];
|
|
519
578
|
if (!_.isEmpty(sourceMetadata)) {
|
|
520
579
|
record['metaMetadata']['sourceMetadata'] = `${sourceMetadata}`;
|
|
@@ -1066,7 +1125,7 @@ var Services;
|
|
|
1066
1125
|
continue;
|
|
1067
1126
|
}
|
|
1068
1127
|
const recordRequest = (_.isPlainObject(record['recordRequest']) ? record['recordRequest'] : undefined);
|
|
1069
|
-
const existingRecord = await this.findExistingHarvestRecord(harvestId, recordType);
|
|
1128
|
+
const existingRecord = await this.findExistingHarvestRecord(this.resolveBrandId(brand), harvestId, recordType);
|
|
1070
1129
|
if (existingRecord.length === 0 || updateMode === 'create') {
|
|
1071
1130
|
recordResponses.push(await this.legacyCreateHarvestRecord(brand, recordTypeModel, (recordRequest ?? {}), harvestId, updateMode, user, saveContext));
|
|
1072
1131
|
continue;
|
|
@@ -1101,20 +1160,25 @@ var Services;
|
|
|
1101
1160
|
continue;
|
|
1102
1161
|
}
|
|
1103
1162
|
const metadata = (_.isPlainObject(record['metadata']) ? record['metadata'] : undefined);
|
|
1104
|
-
const
|
|
1163
|
+
const newMetadata = (metadata?.data ?? {});
|
|
1164
|
+
const harvestSource = this.legacyHarvestSource(newMetadata, merge);
|
|
1165
|
+
const existingRecord = await this.findExistingHarvestRecord(this.resolveBrandId(brand), harvestId, recordType);
|
|
1105
1166
|
if (existingRecord.length === 0) {
|
|
1106
|
-
responses.push(await this.legacyCreateHarvestRecord(brand, recordTypeModel,
|
|
1167
|
+
responses.push(await this.legacyCreateHarvestRecord(brand, recordTypeModel, newMetadata, harvestId, 'update', user, saveContext, harvestSource));
|
|
1107
1168
|
continue;
|
|
1108
1169
|
}
|
|
1109
1170
|
const updateMode = merge ? 'merge' : 'update';
|
|
1110
1171
|
const oid = String(existingRecord[0]?.redboxOid ?? '');
|
|
1111
1172
|
const oldMetadata = (existingRecord[0]?.metadata ?? {});
|
|
1112
|
-
|
|
1113
|
-
|
|
1173
|
+
// Save templates can enrich/normalize the stored metadata. Compare
|
|
1174
|
+
// with the last committed source as well as the exact stored snapshot.
|
|
1175
|
+
// Keep the raw signature when an exact normalized snapshot is replayed.
|
|
1176
|
+
if (this.isMetadataEqual(newMetadata, oldMetadata) ||
|
|
1177
|
+
(harvestSource !== undefined && _.isEqual(harvestSource, existingRecord[0]?.['harvestSource']))) {
|
|
1114
1178
|
responses.push(new APIHarvestResponse_1.APIHarvestResponse(harvestId, oid, true, `skip update of harvestId ${harvestId} oid ${oid} metadata sent is equal to metadata in existing record`));
|
|
1115
1179
|
continue;
|
|
1116
1180
|
}
|
|
1117
|
-
responses.push(await this.legacyUpdateHarvestRecord(brand, recordTypeModel, updateMode, newMetadata, oid, harvestId, user, saveContext));
|
|
1181
|
+
responses.push(await this.legacyUpdateHarvestRecord(brand, recordTypeModel, updateMode, newMetadata, oid, harvestId, user, saveContext, harvestSource));
|
|
1118
1182
|
}
|
|
1119
1183
|
return responses;
|
|
1120
1184
|
}
|
|
@@ -1152,12 +1216,64 @@ var Services;
|
|
|
1152
1216
|
contentHash,
|
|
1153
1217
|
}).sort('attempt DESC'));
|
|
1154
1218
|
}
|
|
1219
|
+
/**
|
|
1220
|
+
* Atomically reserve a Mongo run against retention before reading chunk history.
|
|
1221
|
+
* Reject expired runs with HTTP 409. The caller must invoke the returned release
|
|
1222
|
+
* function in finally; a process crash leaves the guard in place to preserve history.
|
|
1223
|
+
* Other adapters return a no-op release because retention requires MongoDB.
|
|
1224
|
+
*/
|
|
1225
|
+
async acquireSubmissionGuard(run) {
|
|
1226
|
+
const datastore = HarvestRun.getDatastore();
|
|
1227
|
+
// Retention is Mongo-only. Other adapters keep their existing submission path.
|
|
1228
|
+
if (datastore?.config?.adapter !== 'sails-mongo') {
|
|
1229
|
+
return async () => { };
|
|
1230
|
+
}
|
|
1231
|
+
const collection = this.getHarvestRunCollection();
|
|
1232
|
+
const nativeId = this.toNativeRunId(run.id, collection);
|
|
1233
|
+
if (!collection || !nativeId) {
|
|
1234
|
+
throw new Error('Cannot acquire harvest submission guard for the Mongo run.');
|
|
1235
|
+
}
|
|
1236
|
+
const claimed = this.extractUpdatedRun(await collection.findOneAndUpdate({ _id: nativeId, brandId: run.brandId, historyRetention: null }, [
|
|
1237
|
+
{
|
|
1238
|
+
$set: {
|
|
1239
|
+
activeSubmissions: { $add: [{ $ifNull: ['$activeSubmissions', 0] }, 1] },
|
|
1240
|
+
lastChunkAt: this.nowIso(),
|
|
1241
|
+
},
|
|
1242
|
+
},
|
|
1243
|
+
], { returnDocument: 'after' }));
|
|
1244
|
+
if (!claimed) {
|
|
1245
|
+
throw new HarvestRunService_1.HarvestRunServiceError('Harvest history has expired for this run. Submit a new sourceRunId.', 409);
|
|
1246
|
+
}
|
|
1247
|
+
return async () => {
|
|
1248
|
+
const released = this.extractUpdatedRun(await collection.findOneAndUpdate({ _id: nativeId, brandId: run.brandId, activeSubmissions: { $gt: 0 } }, { $inc: { activeSubmissions: -1 }, $set: { lastChunkAt: this.nowIso() } }, { returnDocument: 'after' }));
|
|
1249
|
+
if (!released) {
|
|
1250
|
+
throw new Error('Cannot release harvest submission guard.');
|
|
1251
|
+
}
|
|
1252
|
+
};
|
|
1253
|
+
}
|
|
1155
1254
|
async submitChunk(brand, recordTypeModel, requestBody, user, context) {
|
|
1156
1255
|
const request = this.validateTrackedChunkRequest(requestBody);
|
|
1157
1256
|
const saveContext = this.authoritativeHarvestContext(context);
|
|
1158
1257
|
const brandId = this.resolveBrandId(brand);
|
|
1159
1258
|
const recordTypeName = this.resolveRecordTypeName(recordTypeModel);
|
|
1160
1259
|
const run = await this.findOrCreateRun(brand, recordTypeModel, request, user);
|
|
1260
|
+
if (run.historyRetention) {
|
|
1261
|
+
throw new HarvestRunService_1.HarvestRunServiceError('Harvest history has expired for this run. Submit a new sourceRunId.', 409);
|
|
1262
|
+
}
|
|
1263
|
+
const release = await this.acquireSubmissionGuard(run);
|
|
1264
|
+
try {
|
|
1265
|
+
return await this.submitRunChunk(brand, recordTypeModel, request, user, saveContext, run, brandId, recordTypeName);
|
|
1266
|
+
}
|
|
1267
|
+
finally {
|
|
1268
|
+
await release();
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
/**
|
|
1272
|
+
* Process or deduplicate a chunk while the caller holds the submission guard.
|
|
1273
|
+
* Retries resume from persisted events; record changes and chunk checkpoints
|
|
1274
|
+
* finish before the caller releases the guard.
|
|
1275
|
+
*/
|
|
1276
|
+
async submitRunChunk(brand, recordTypeModel, request, user, saveContext, run, brandId, recordTypeName) {
|
|
1161
1277
|
const contentHash = this.buildChunkContentHash(brandId, recordTypeName, request);
|
|
1162
1278
|
const existingChunks = await this.findMatchingChunks(run.id, contentHash);
|
|
1163
1279
|
const processedChunk = existingChunks.find(chunk => chunk.status === HarvestRunModel_1.HarvestChunkStatus.processed);
|
|
@@ -1305,7 +1421,10 @@ var Services;
|
|
|
1305
1421
|
where.startedAt = startedAtFilters;
|
|
1306
1422
|
}
|
|
1307
1423
|
const total = await HarvestRun.count(where);
|
|
1308
|
-
const rows = (await HarvestRun.find(where)
|
|
1424
|
+
const rows = (await HarvestRun.find(where)
|
|
1425
|
+
.sort([{ startedAt: 'DESC' }, { id: 'DESC' }])
|
|
1426
|
+
.skip(skip)
|
|
1427
|
+
.limit(pageSize));
|
|
1309
1428
|
return {
|
|
1310
1429
|
rows: rows.map(row => this.toRunModel(row)),
|
|
1311
1430
|
total: Number(total ?? 0),
|
|
@@ -1317,16 +1436,16 @@ var Services;
|
|
|
1317
1436
|
if (!run) {
|
|
1318
1437
|
return null;
|
|
1319
1438
|
}
|
|
1320
|
-
const chunks =
|
|
1321
|
-
.
|
|
1322
|
-
.
|
|
1323
|
-
|
|
1324
|
-
.sort('createdAt DESC')
|
|
1325
|
-
.limit(20));
|
|
1439
|
+
const [chunks, events] = await Promise.all([
|
|
1440
|
+
this.listRunChunks(brand, runId, { page: 1, pageSize: 20 }),
|
|
1441
|
+
this.listRunEvents(brand, runId, { page: 1, pageSize: 20 }),
|
|
1442
|
+
]);
|
|
1326
1443
|
return {
|
|
1327
1444
|
run: this.toRunModel(run),
|
|
1328
|
-
chunks: chunks.
|
|
1329
|
-
|
|
1445
|
+
chunks: chunks.rows,
|
|
1446
|
+
chunksTotal: chunks.total,
|
|
1447
|
+
events: events.rows,
|
|
1448
|
+
eventsTotal: events.total,
|
|
1330
1449
|
aggregateCounts: {
|
|
1331
1450
|
totalProcessed: Number(run.totalProcessed ?? 0),
|
|
1332
1451
|
created: Number(run.created ?? 0),
|
|
@@ -1344,6 +1463,17 @@ var Services;
|
|
|
1344
1463
|
const run = (await HarvestRun.findOne({ id: runId, brandId }));
|
|
1345
1464
|
return !_.isNil(run);
|
|
1346
1465
|
}
|
|
1466
|
+
async listRunChunks(brand, runId, params) {
|
|
1467
|
+
const page = this.parsePositiveInt(params.page, 1);
|
|
1468
|
+
const pageSize = Math.min(100, this.parsePositiveInt(params.pageSize, 20));
|
|
1469
|
+
const where = { runId, brandId: this.resolveBrandId(brand) };
|
|
1470
|
+
const total = await HarvestRunChunk.count(where);
|
|
1471
|
+
const rows = (await HarvestRunChunk.find(where)
|
|
1472
|
+
.sort([{ submittedAt: 'ASC' }, { id: 'ASC' }])
|
|
1473
|
+
.skip((page - 1) * pageSize)
|
|
1474
|
+
.limit(pageSize));
|
|
1475
|
+
return { rows: rows.map(row => this.toChunkModel(row)), total: Number(total ?? 0) };
|
|
1476
|
+
}
|
|
1347
1477
|
async listRunEvents(brand, runId, params) {
|
|
1348
1478
|
const brandId = this.resolveBrandId(brand);
|
|
1349
1479
|
const page = this.parsePositiveInt(params.page, 1);
|
|
@@ -1353,6 +1483,9 @@ var Services;
|
|
|
1353
1483
|
runId,
|
|
1354
1484
|
brandId,
|
|
1355
1485
|
};
|
|
1486
|
+
if (!_.isEmpty(params.chunkId)) {
|
|
1487
|
+
where.chunkId = String(params.chunkId);
|
|
1488
|
+
}
|
|
1356
1489
|
if (!_.isEmpty(params.outcome)) {
|
|
1357
1490
|
where.outcome = String(params.outcome);
|
|
1358
1491
|
}
|
|
@@ -1367,7 +1500,7 @@ var Services;
|
|
|
1367
1500
|
}
|
|
1368
1501
|
const total = await HarvestRecordEvent.count(where);
|
|
1369
1502
|
const rows = (await HarvestRecordEvent.find(where)
|
|
1370
|
-
.sort(
|
|
1503
|
+
.sort([{ createdAt: 'DESC' }, { id: 'DESC' }])
|
|
1371
1504
|
.skip(skip)
|
|
1372
1505
|
.limit(pageSize));
|
|
1373
1506
|
return {
|
|
@@ -1378,4 +1511,4 @@ var Services;
|
|
|
1378
1511
|
}
|
|
1379
1512
|
Services.HarvestRunService = HarvestRunService;
|
|
1380
1513
|
})(Services || (exports.Services = Services = {}));
|
|
1381
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFydmVzdFJ1blNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSGFydmVzdFJ1blNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQTRCO0FBQzVCLDZDQUF5QztBQUN6QywrQkFBa0Q7QUFFbEQsZ0RBQXNEO0FBRXRELDREQU84QjtBQUM5QixvRUFBaUU7QUFLakUsc0VBYzBDO0FBRTFDLHVFQUFzRTtBQUN0RSw4REFLK0I7QUFJL0IscUNBQW1DO0FBdUNuQyxJQUFpQixRQUFRLENBdTBEeEI7QUF2MERELFdBQWlCLFFBQVE7SUFDdkIsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUSxDQUFDLElBQUksQ0FBQyxPQUFPO1FBQ3ZDLGdCQUFnQixHQUFhO1lBQzlDLDRCQUE0QjtZQUM1QixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLFVBQVU7WUFDVixRQUFRO1lBQ1IsV0FBVztZQUNYLGVBQWU7U0FDaEIsQ0FBQztRQUVGO1lBQ0UsS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDO1FBQ3pDLENBQUM7UUFFTyxPQUFPLENBQUMsS0FBYztZQUM1QixPQUFPLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVPLGNBQWMsQ0FBQyxLQUE2QjtZQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM5QixPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxLQUFLLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUks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
|
|
1514
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFydmVzdFJ1blNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvSGFydmVzdFJ1blNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQTRCO0FBRTVCLGtGQUk4QztBQUM5QyxxRUFBaUY7QUFDakYsc0VBQXlFO0FBQ3pFLDZDQUF5QztBQUN6QywrQkFBa0Q7QUFFbEQsZ0RBQXNEO0FBRXRELDREQU84QjtBQUM5QixvRUFBaUU7QUFLakUsc0VBZ0IwQztBQUUxQyxzRUFBbUY7QUFDbkYsdUVBQXNFO0FBQ3RFLDhEQUsrQjtBQUkvQixxQ0FBbUM7QUE0Q25DLElBQWlCLFFBQVEsQ0E2L0R4QjtBQTcvREQsV0FBaUIsUUFBUTtJQUN2QixNQUFhLGlCQUFrQixTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFDdkMsZ0JBQWdCLEdBQWE7WUFDOUMsTUFBTTtZQUNOLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLFVBQVU7WUFDVixRQUFRO1lBQ1IsV0FBVztZQUNYLGVBQWU7U0FDaEIsQ0FBQztRQUVGO1lBQ0UsS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDO1FBQ3pDLENBQUM7UUFFTSxLQUFLLENBQUMsSUFBSTtZQUNmLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQWdFLENBQUM7WUFDMUcsSUFBSSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sS0FBSyxhQUFhLEVBQUUsQ0FBQztnQkFDakQsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUM7WUFD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
|