@harperfast/harper 5.2.13 → 5.3.0-beta.1
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/agent/mcpTools.ts +1 -1
- package/agent/session.ts +25 -14
- package/bin/cliOperations.ts +58 -9
- package/bin/copyDb.ts +282 -59
- package/bin/deploySetup.ts +16 -5
- package/bin/harper.ts +1 -1
- package/bin/help.ts +4 -1
- package/bin/lite.ts +4 -1
- package/bin/restart.ts +120 -4
- package/bin/run.ts +6 -11
- package/bin/upgrade.js +7 -3
- package/bin/workloadIdentity.ts +119 -0
- package/components/Application.ts +3436 -242
- package/components/ApplicationScope.ts +8 -0
- package/components/EntryHandler.ts +59 -39
- package/components/OptionsWatcher.ts +440 -98
- package/components/RuntimeModuleTracker.ts +38 -7
- package/components/Scope.ts +56 -15
- package/components/awaitRestart.ts +84 -0
- package/components/componentLoader.ts +381 -32
- package/components/componentPreparationLock.ts +16 -5
- package/components/deploymentOperations.ts +4 -1
- package/components/deploymentRecorder.ts +9 -2
- package/components/mcp/adapters/harperHttp.ts +4 -0
- package/components/mcp/listChanged.ts +4 -0
- package/components/mcp/toolRegistry.ts +2 -0
- package/components/mcp/tools/operations.ts +9 -0
- package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
- package/components/operations.js +537 -113
- package/components/operationsValidation.js +98 -3
- package/components/packageComponent.ts +25 -1
- package/components/requestRestart.ts +11 -0
- package/components/status/ComponentStatusRegistry.ts +59 -0
- package/config/RootConfigWatcher.ts +240 -40
- package/config/configReadRetry.ts +62 -0
- package/config/configUtils.ts +357 -48
- package/config/harperConfigEnvVars.ts +170 -27
- package/config/parseConfigFile.ts +34 -0
- package/config/readConfigFileSync.ts +44 -0
- package/config/watcherArming.ts +59 -0
- package/config-root.schema.json +33 -0
- package/dataLayer/blobBackup.ts +160 -50
- package/dataLayer/delete.ts +6 -1
- package/dataLayer/harperBridge/ResourceBridge.ts +80 -10
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
- package/dataLayer/hdbInfoController.ts +34 -1
- package/dataLayer/insert.ts +44 -1
- package/dataLayer/rocksdbBackup.ts +53 -10
- package/dataLayer/schema.ts +11 -1
- package/dataLayer/schemaDescribe.ts +8 -1
- package/dist/agent/mcpTools.js +1 -1
- package/dist/agent/mcpTools.js.map +1 -1
- package/dist/agent/session.d.ts +22 -0
- package/dist/agent/session.js +26 -15
- package/dist/agent/session.js.map +1 -1
- package/dist/bin/cliOperations.js +61 -9
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/copyDb.d.ts +12 -1
- package/dist/bin/copyDb.js +248 -60
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/deploySetup.d.ts +2 -0
- package/dist/bin/deploySetup.js +11 -3
- package/dist/bin/deploySetup.js.map +1 -1
- package/dist/bin/harper.js +1 -1
- package/dist/bin/harper.js.map +1 -1
- package/dist/bin/help.js +4 -1
- package/dist/bin/help.js.map +1 -1
- package/dist/bin/lite.js +4 -1
- package/dist/bin/lite.js.map +1 -1
- package/dist/bin/restart.js +91 -6
- package/dist/bin/restart.js.map +1 -1
- package/dist/bin/run.js +4 -10
- package/dist/bin/run.js.map +1 -1
- package/dist/bin/upgrade.js +4 -3
- package/dist/bin/upgrade.js.map +1 -1
- package/dist/bin/workloadIdentity.d.ts +18 -0
- package/dist/bin/workloadIdentity.js +100 -0
- package/dist/bin/workloadIdentity.js.map +1 -0
- package/dist/components/Application.d.ts +235 -17
- package/dist/components/Application.js +3038 -238
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +8 -0
- package/dist/components/ApplicationScope.js +7 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/EntryHandler.js +26 -10
- package/dist/components/EntryHandler.js.map +1 -1
- package/dist/components/OptionsWatcher.d.ts +4 -0
- package/dist/components/OptionsWatcher.js +440 -99
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/components/RuntimeModuleTracker.js +40 -6
- package/dist/components/RuntimeModuleTracker.js.map +1 -1
- package/dist/components/Scope.js +52 -13
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/awaitRestart.d.ts +33 -0
- package/dist/components/awaitRestart.js +61 -0
- package/dist/components/awaitRestart.js.map +1 -0
- package/dist/components/componentLoader.d.ts +38 -1
- package/dist/components/componentLoader.js +313 -24
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/componentPreparationLock.d.ts +5 -0
- package/dist/components/componentPreparationLock.js +14 -6
- package/dist/components/componentPreparationLock.js.map +1 -1
- package/dist/components/deploymentOperations.js +4 -1
- package/dist/components/deploymentOperations.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +4 -2
- package/dist/components/deploymentRecorder.js +1 -0
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/adapters/harperHttp.js +4 -0
- package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
- package/dist/components/mcp/listChanged.js +5 -0
- package/dist/components/mcp/listChanged.js.map +1 -1
- package/dist/components/mcp/toolRegistry.d.ts +1 -0
- package/dist/components/mcp/toolRegistry.js.map +1 -1
- package/dist/components/mcp/tools/operations.d.ts +5 -0
- package/dist/components/mcp/tools/operations.js +9 -0
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
- package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
- package/dist/components/operations.d.ts +28 -0
- package/dist/components/operations.js +476 -113
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +97 -3
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/packageComponent.js +24 -0
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/components/requestRestart.d.ts +1 -0
- package/dist/components/requestRestart.js +7 -0
- package/dist/components/requestRestart.js.map +1 -1
- package/dist/components/status/ComponentStatusRegistry.d.ts +0 -4
- package/dist/components/status/ComponentStatusRegistry.js +63 -0
- package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
- package/dist/config/RootConfigWatcher.d.ts +9 -1
- package/dist/config/RootConfigWatcher.js +228 -37
- package/dist/config/RootConfigWatcher.js.map +1 -1
- package/dist/config/configReadRetry.d.ts +8 -0
- package/dist/config/configReadRetry.js +62 -0
- package/dist/config/configReadRetry.js.map +1 -0
- package/dist/config/configUtils.d.ts +11 -2
- package/dist/config/configUtils.js +304 -47
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/harperConfigEnvVars.d.ts +16 -0
- package/dist/config/harperConfigEnvVars.js +162 -25
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/config/parseConfigFile.d.ts +4 -0
- package/dist/config/parseConfigFile.js +35 -0
- package/dist/config/parseConfigFile.js.map +1 -0
- package/dist/config/readConfigFileSync.d.ts +1 -0
- package/dist/config/readConfigFileSync.js +47 -0
- package/dist/config/readConfigFileSync.js.map +1 -0
- package/dist/config/watcherArming.d.ts +15 -0
- package/dist/config/watcherArming.js +59 -0
- package/dist/config/watcherArming.js.map +1 -0
- package/dist/dataLayer/blobBackup.d.ts +49 -20
- package/dist/dataLayer/blobBackup.js +139 -50
- package/dist/dataLayer/blobBackup.js.map +1 -1
- package/dist/dataLayer/delete.js +1 -1
- package/dist/dataLayer/delete.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.js +72 -12
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
- package/dist/dataLayer/hdbInfoController.d.ts +10 -0
- package/dist/dataLayer/hdbInfoController.js +30 -1
- package/dist/dataLayer/hdbInfoController.js.map +1 -1
- package/dist/dataLayer/insert.d.ts +9 -1
- package/dist/dataLayer/insert.js +30 -0
- package/dist/dataLayer/insert.js.map +1 -1
- package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
- package/dist/dataLayer/rocksdbBackup.js +45 -8
- package/dist/dataLayer/rocksdbBackup.js.map +1 -1
- package/dist/dataLayer/schema.js +8 -0
- package/dist/dataLayer/schema.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +8 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +55 -0
- package/dist/resources/DatabaseTransaction.d.ts +77 -0
- package/dist/resources/DatabaseTransaction.js +586 -54
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +2 -1
- package/dist/resources/LMDBTransaction.js +43 -6
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
- package/dist/resources/PrimaryRocksDatabase.js +49 -5
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +20 -0
- package/dist/resources/RecordEncoder.js +110 -9
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/RequestTarget.d.ts +2 -0
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.js +117 -24
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +28 -1
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/RocksIndexStore.d.ts +6 -1
- package/dist/resources/RocksIndexStore.js +24 -9
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +24 -1
- package/dist/resources/RocksTransactionLogStore.js +160 -49
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +165 -10
- package/dist/resources/Table.js +1805 -303
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +10 -3
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +181 -2
- package/dist/resources/auditStore.js +640 -29
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/blob.d.ts +129 -9
- package/dist/resources/blob.js +992 -114
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/branchDatabase.d.ts +48 -0
- package/dist/resources/branchDatabase.js +892 -0
- package/dist/resources/branchDatabase.js.map +1 -0
- package/dist/resources/crdt.js +50 -12
- package/dist/resources/crdt.js.map +1 -1
- package/dist/resources/dataLoader.js +3 -4
- package/dist/resources/dataLoader.js.map +1 -1
- package/dist/resources/databases.d.ts +157 -14
- package/dist/resources/databases.js +1462 -325
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/defineTable.d.ts +10 -2
- package/dist/resources/defineTable.js +9 -1
- package/dist/resources/defineTable.js.map +1 -1
- package/dist/resources/derivedIndexRegistry.d.ts +5 -0
- package/dist/resources/derivedIndexRegistry.js +68 -0
- package/dist/resources/derivedIndexRegistry.js.map +1 -0
- package/dist/resources/derivedIndexRuntime.d.ts +215 -0
- package/dist/resources/derivedIndexRuntime.js +2027 -0
- package/dist/resources/derivedIndexRuntime.js.map +1 -0
- package/dist/resources/graphql.d.ts +1 -1
- package/dist/resources/graphql.js +52 -16
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +103 -9
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +854 -41
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
- package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
- package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
- package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
- package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
- package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
- package/dist/resources/longLivedTransactions.d.ts +71 -0
- package/dist/resources/longLivedTransactions.js +358 -0
- package/dist/resources/longLivedTransactions.js.map +1 -0
- package/dist/resources/models/backendRegistry.d.ts +26 -0
- package/dist/resources/models/backendRegistry.js +60 -2
- package/dist/resources/models/backendRegistry.js.map +1 -1
- package/dist/resources/models/bootstrap.d.ts +33 -1
- package/dist/resources/models/bootstrap.js +416 -31
- package/dist/resources/models/bootstrap.js.map +1 -1
- package/dist/resources/nodeIdMapping.d.ts +5 -0
- package/dist/resources/nodeIdMapping.js +49 -0
- package/dist/resources/nodeIdMapping.js.map +1 -1
- package/dist/resources/recordLock.d.ts +123 -0
- package/dist/resources/recordLock.js +315 -0
- package/dist/resources/recordLock.js.map +1 -0
- package/dist/resources/recordLockCoordinator.d.ts +557 -0
- package/dist/resources/recordLockCoordinator.js +2565 -0
- package/dist/resources/recordLockCoordinator.js.map +1 -0
- package/dist/resources/replayLogs.d.ts +14 -1
- package/dist/resources/replayLogs.js +157 -24
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/replayLogsGuards.d.ts +94 -7
- package/dist/resources/replayLogsGuards.js +111 -7
- package/dist/resources/replayLogsGuards.js.map +1 -1
- package/dist/resources/replicatedApplyFailure.d.ts +16 -0
- package/dist/resources/replicatedApplyFailure.js +63 -0
- package/dist/resources/replicatedApplyFailure.js.map +1 -0
- package/dist/resources/scheduler/scheduler.js +3 -3
- package/dist/resources/scheduler/scheduler.js.map +1 -1
- package/dist/resources/search.d.ts +10 -4
- package/dist/resources/search.js +283 -37
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/tracked.d.ts +5 -1
- package/dist/resources/tracked.js +74 -23
- package/dist/resources/tracked.js.map +1 -1
- package/dist/resources/transactionBroadcast.d.ts +1 -1
- package/dist/resources/transactionBroadcast.js +2 -2
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/auth.js +61 -30
- package/dist/security/auth.js.map +1 -1
- package/dist/security/authn/oidc/claims.d.ts +22 -0
- package/dist/security/authn/oidc/claims.js +71 -0
- package/dist/security/authn/oidc/claims.js.map +1 -0
- package/dist/security/authn/oidc/identityToken.d.ts +27 -0
- package/dist/security/authn/oidc/identityToken.js +111 -0
- package/dist/security/authn/oidc/identityToken.js.map +1 -0
- package/dist/security/authn/oidc/jwks.d.ts +25 -0
- package/dist/security/authn/oidc/jwks.js +261 -0
- package/dist/security/authn/oidc/jwks.js.map +1 -0
- package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
- package/dist/security/authn/oidc/providers/generic.js +34 -0
- package/dist/security/authn/oidc/providers/generic.js.map +1 -0
- package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
- package/dist/security/authn/oidc/providers/githubActions.js +129 -0
- package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
- package/dist/security/authn/oidc/providers/index.d.ts +37 -0
- package/dist/security/authn/oidc/providers/index.js +24 -0
- package/dist/security/authn/oidc/providers/index.js.map +1 -0
- package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
- package/dist/security/authn/oidc/tokenExchange.js +306 -0
- package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
- package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
- package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
- package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
- package/dist/security/authn/oidc/types.d.ts +38 -0
- package/dist/security/authn/oidc/types.js +6 -0
- package/dist/security/authn/oidc/types.js.map +1 -0
- package/dist/security/certificateVerification/index.js +40 -11
- package/dist/security/certificateVerification/index.js.map +1 -1
- package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
- package/dist/security/certificateVerification/trustedIssuers.js +79 -0
- package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
- package/dist/security/certificateVerification/types.d.ts +1 -0
- package/dist/security/credentialProvenance.d.ts +35 -0
- package/dist/security/credentialProvenance.js +51 -0
- package/dist/security/credentialProvenance.js.map +1 -0
- package/dist/security/credentialRejection.d.ts +4 -0
- package/dist/security/credentialRejection.js +24 -0
- package/dist/security/credentialRejection.js.map +1 -0
- package/dist/security/deferredAuthentication.d.ts +36 -0
- package/dist/security/deferredAuthentication.js +70 -0
- package/dist/security/deferredAuthentication.js.map +1 -0
- package/dist/security/impersonation.d.ts +21 -0
- package/dist/security/impersonation.js +108 -9
- package/dist/security/impersonation.js.map +1 -1
- package/dist/security/jsLoader.d.ts +6 -0
- package/dist/security/jsLoader.js +77 -15
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/keys.js +301 -71
- package/dist/security/keys.js.map +1 -1
- package/dist/security/operationScope.d.ts +21 -0
- package/dist/security/operationScope.js +36 -0
- package/dist/security/operationScope.js.map +1 -0
- package/dist/security/permissionsTranslator.js +21 -0
- package/dist/security/permissionsTranslator.js.map +1 -1
- package/dist/security/tokenAuthentication.d.ts +19 -1
- package/dist/security/tokenAuthentication.js +191 -10
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/security/user.js +4 -3
- package/dist/security/user.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
- package/dist/server/DurableSubscriptionsSession.js +67 -10
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/REST.js +106 -2
- package/dist/server/REST.js.map +1 -1
- package/dist/server/graphqlQuerying.js +4 -0
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +16 -1
- package/dist/server/http.js +122 -17
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +8 -1
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/jobs/jobProcess.js +6 -2
- package/dist/server/jobs/jobProcess.js.map +1 -1
- package/dist/server/jobs/jobs.js +4 -1
- package/dist/server/jobs/jobs.js.map +1 -1
- package/dist/server/liveSubscriptionAuth.d.ts +26 -4
- package/dist/server/liveSubscriptionAuth.js +105 -39
- package/dist/server/liveSubscriptionAuth.js.map +1 -1
- package/dist/server/loadRootComponents.js +49 -10
- package/dist/server/loadRootComponents.js.map +1 -1
- package/dist/server/mqtt.d.ts +2 -0
- package/dist/server/mqtt.js +165 -30
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/nodeName.d.ts +2 -0
- package/dist/server/nodeName.js +107 -23
- package/dist/server/nodeName.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +27 -0
- package/dist/server/serverHelpers/Headers.js +145 -1
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
- package/dist/server/serverHelpers/Request.d.ts +5 -10
- package/dist/server/serverHelpers/Request.js +38 -136
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +11 -0
- package/dist/server/serverHelpers/contentTypes.js +221 -40
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
- package/dist/server/serverHelpers/deployValidationState.js +9 -19
- package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
- package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
- package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
- package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
- package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
- package/dist/server/serverHelpers/registeredOperations.js +74 -21
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
- package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
- package/dist/server/serverHelpers/requestSanitization.js +20 -0
- package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.js +6 -3
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
- package/dist/server/serverHelpers/serverUtilities.js +178 -29
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
- package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
- package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
- package/dist/server/serverHelpers/uwsServer.js +19 -1
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/static.js +24 -28
- package/dist/server/static.js.map +1 -1
- package/dist/server/storageReclamation.d.ts +5 -0
- package/dist/server/storageReclamation.js +17 -1
- package/dist/server/storageReclamation.js.map +1 -1
- package/dist/server/threads/isolatedApplications.d.ts +47 -0
- package/dist/server/threads/isolatedApplications.js +171 -0
- package/dist/server/threads/isolatedApplications.js.map +1 -0
- package/dist/server/threads/itc.d.ts +7 -2
- package/dist/server/threads/itc.js +5 -1
- package/dist/server/threads/itc.js.map +1 -1
- package/dist/server/threads/logRotationTransport.d.ts +1 -0
- package/dist/server/threads/logRotationTransport.js +33 -0
- package/dist/server/threads/logRotationTransport.js.map +1 -0
- package/dist/server/threads/manageThreads.d.ts +83 -3
- package/dist/server/threads/manageThreads.js +769 -75
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.d.ts +1 -0
- package/dist/server/threads/socketRouter.js +277 -31
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadHeapMemory.d.ts +2 -0
- package/dist/server/threads/threadHeapMemory.js +31 -0
- package/dist/server/threads/threadHeapMemory.js.map +1 -0
- package/dist/server/threads/threadServer.js +76 -22
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/sqlEngine/config.d.ts +1 -3
- package/dist/sqlEngine/config.js +19 -16
- package/dist/sqlEngine/config.js.map +1 -1
- package/dist/sqlTranslator/index.d.ts +1 -1
- package/dist/sqlTranslator/index.js +30 -7
- package/dist/sqlTranslator/index.js.map +1 -1
- package/dist/upgrade/directives/5-3-0.d.ts +7 -0
- package/dist/upgrade/directives/5-3-0.js +148 -0
- package/dist/upgrade/directives/5-3-0.js.map +1 -0
- package/dist/upgrade/directives/directivesController.js +2 -1
- package/dist/upgrade/directives/directivesController.js.map +1 -1
- package/dist/utility/OperationFunctionCaller.js +2 -1
- package/dist/utility/OperationFunctionCaller.js.map +1 -1
- package/dist/utility/common_utils.d.ts +16 -0
- package/dist/utility/common_utils.js +32 -6
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/componentNames.d.ts +8 -0
- package/dist/utility/componentNames.js +12 -1
- package/dist/utility/componentNames.js.map +1 -1
- package/dist/utility/environment/environmentManager.js +3 -6
- package/dist/utility/environment/environmentManager.js.map +1 -1
- package/dist/utility/environment/systemInformation.d.ts +1 -0
- package/dist/utility/environment/systemInformation.js +1 -0
- package/dist/utility/environment/systemInformation.js.map +1 -1
- package/dist/utility/errors/commonErrors.d.ts +2 -0
- package/dist/utility/errors/commonErrors.js +2 -0
- package/dist/utility/errors/commonErrors.js.map +1 -1
- package/dist/utility/errors/hdbError.d.ts +33 -0
- package/dist/utility/errors/hdbError.js +58 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/globalSchema.d.ts +18 -0
- package/dist/utility/hdbTerms.d.ts +18 -0
- package/dist/utility/hdbTerms.js +20 -2
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +2 -0
- package/dist/utility/logging/harper_logger.js +286 -30
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
- package/dist/utility/logging/logGenerationCoordinator.js +184 -0
- package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
- package/dist/utility/logging/logRotation.d.ts +46 -0
- package/dist/utility/logging/logRotation.js +365 -0
- package/dist/utility/logging/logRotation.js.map +1 -0
- package/dist/utility/logging/logRotator.d.ts +1 -1
- package/dist/utility/logging/logRotator.js +192 -85
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/nodeIdentity.d.ts +9 -0
- package/dist/utility/nodeIdentity.js +58 -0
- package/dist/utility/nodeIdentity.js.map +1 -0
- package/dist/utility/npmUtilities.js +11 -7
- package/dist/utility/npmUtilities.js.map +1 -1
- package/dist/utility/operationPermissions.d.ts +3 -1
- package/dist/utility/operationPermissions.js +16 -1
- package/dist/utility/operationPermissions.js.map +1 -1
- package/dist/utility/operation_authorization.d.ts +10 -7
- package/dist/utility/operation_authorization.js +212 -41
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/watchPath.d.ts +29 -0
- package/dist/utility/watchPath.js +68 -0
- package/dist/utility/watchPath.js.map +1 -0
- package/dist/utility/watcherFallback.d.ts +41 -0
- package/dist/utility/watcherFallback.js +153 -0
- package/dist/utility/watcherFallback.js.map +1 -1
- package/dist/validation/configValidator.d.ts +12 -0
- package/dist/validation/configValidator.js +205 -75
- package/dist/validation/configValidator.js.map +1 -1
- package/dist/validation/installValidator.js +12 -0
- package/dist/validation/installValidator.js.map +1 -1
- package/dist/validation/validationWrapper.d.ts +11 -0
- package/dist/validation/validationWrapper.js +16 -3
- package/dist/validation/validationWrapper.js.map +1 -1
- package/index.ts +8 -0
- package/json/systemSchema.json +55 -0
- package/npm-shrinkwrap.json +286 -194
- package/package.json +15 -7
- package/resources/DESIGN.md +219 -52
- package/resources/DatabaseTransaction.ts +657 -52
- package/resources/LMDBTransaction.ts +46 -6
- package/resources/PrimaryRocksDatabase.ts +46 -7
- package/resources/RecordEncoder.ts +124 -9
- package/resources/RequestTarget.ts +2 -0
- package/resources/Resource.ts +114 -22
- package/resources/ResourceInterface.ts +31 -0
- package/resources/RocksIndexStore.ts +30 -9
- package/resources/RocksTransactionLogStore.ts +188 -51
- package/resources/Table.ts +1960 -301
- package/resources/analytics/write.ts +10 -3
- package/resources/auditStore.ts +647 -32
- package/resources/blob.ts +1029 -110
- package/resources/branchDatabase.ts +941 -0
- package/resources/crdt.ts +76 -12
- package/resources/dataLoader.ts +3 -4
- package/resources/databases.ts +1584 -320
- package/resources/defineTable.ts +18 -2
- package/resources/derivedIndexRegistry.ts +56 -0
- package/resources/derivedIndexRuntime.ts +2292 -0
- package/resources/graphql.ts +72 -17
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +911 -48
- package/resources/indexes/hnswDerivedIndex.ts +531 -0
- package/resources/indexes/hnswPlaneBinding.ts +174 -0
- package/resources/longLivedTransactions.ts +360 -0
- package/resources/models/backendRegistry.ts +84 -2
- package/resources/models/bootstrap.ts +473 -28
- package/resources/nodeIdMapping.ts +50 -0
- package/resources/recordLock.ts +419 -0
- package/resources/recordLockCoordinator.ts +3043 -0
- package/resources/replayLogs.ts +152 -26
- package/resources/replayLogsGuards.ts +171 -8
- package/resources/replicatedApplyFailure.ts +77 -0
- package/resources/scheduler/scheduler.ts +4 -4
- package/resources/search.ts +288 -46
- package/resources/tracked.ts +73 -22
- package/resources/transactionBroadcast.ts +3 -3
- package/security/auth.ts +68 -29
- package/security/authn/oidc/claims.ts +72 -0
- package/security/authn/oidc/identityToken.ts +129 -0
- package/security/authn/oidc/jwks.ts +260 -0
- package/security/authn/oidc/providers/generic.ts +40 -0
- package/security/authn/oidc/providers/githubActions.ts +137 -0
- package/security/authn/oidc/providers/index.ts +52 -0
- package/security/authn/oidc/tokenExchange.ts +300 -0
- package/security/authn/oidc/trustPolicyOperations.ts +343 -0
- package/security/authn/oidc/types.ts +41 -0
- package/security/certificateVerification/index.ts +54 -13
- package/security/certificateVerification/trustedIssuers.ts +76 -0
- package/security/certificateVerification/types.ts +1 -0
- package/security/credentialProvenance.ts +47 -0
- package/security/credentialRejection.ts +22 -0
- package/security/deferredAuthentication.ts +71 -0
- package/security/impersonation.ts +117 -12
- package/security/jsLoader.ts +83 -18
- package/security/keys.ts +298 -72
- package/security/operationScope.ts +33 -0
- package/security/permissionsTranslator.js +23 -0
- package/security/tokenAuthentication.ts +233 -12
- package/security/user.ts +4 -3
- package/server/DESIGN.md +194 -16
- package/server/DurableSubscriptionsSession.ts +71 -11
- package/server/REST.ts +115 -4
- package/server/graphqlQuerying.ts +4 -0
- package/server/http.ts +133 -20
- package/server/itc/serverHandlers.js +8 -1
- package/server/jobs/jobProcess.ts +8 -2
- package/server/jobs/jobs.ts +4 -1
- package/server/liveSubscriptionAuth.ts +129 -46
- package/server/loadRootComponents.js +50 -8
- package/server/mqtt.ts +179 -38
- package/server/nodeName.ts +103 -21
- package/server/serverHelpers/Headers.ts +135 -0
- package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
- package/server/serverHelpers/Request.ts +33 -131
- package/server/serverHelpers/contentTypes.ts +217 -36
- package/server/serverHelpers/deployValidationState.ts +24 -13
- package/server/serverHelpers/operationAuthorizationState.ts +34 -3
- package/server/serverHelpers/registeredOperations.ts +79 -22
- package/server/serverHelpers/requestSanitization.ts +15 -0
- package/server/serverHelpers/serverHandlers.js +6 -3
- package/server/serverHelpers/serverUtilities.ts +232 -40
- package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
- package/server/serverHelpers/uwsServer.ts +17 -2
- package/server/static.ts +23 -29
- package/server/storageReclamation.ts +15 -2
- package/server/threads/isolatedApplications.ts +157 -0
- package/server/threads/itc.js +11 -1
- package/server/threads/logRotationTransport.ts +40 -0
- package/server/threads/manageThreads.js +771 -66
- package/server/threads/socketRouter.ts +291 -30
- package/server/threads/threadHeapMemory.ts +26 -0
- package/server/threads/threadServer.js +73 -22
- package/sqlTranslator/index.ts +31 -8
- package/studio/web/assets/{Chat-4RrB5134.js → Chat-D3j-1yY1.js} +1 -1
- package/studio/web/assets/{FloatingChat-omlNMDcJ.js → FloatingChat-BxJGYcfB.js} +3 -3
- package/studio/web/assets/{apiToken-Bke3wvfZ.js → apiToken-CT55oWOe.js} +1 -1
- package/studio/web/assets/{applications-DvFDYJgK.js → applications-D9Ct9_vm.js} +1 -1
- package/studio/web/assets/{cssMode-C1vRa7zh.js → cssMode-DV8H7VwA.js} +1 -1
- package/studio/web/assets/{editor-3XRWEDWX.js → editor-uatc0unt.js} +1 -1
- package/studio/web/assets/{html-CTY5tdMr.js → html-Bm6D6paN.js} +1 -1
- package/studio/web/assets/{htmlMode-CG1vSD9t.js → htmlMode-CEn7tpLG.js} +1 -1
- package/studio/web/assets/{index-Dfpeofdu.js → index-BIXW6Pu4.js} +5 -5
- package/studio/web/assets/{index.lazy-B1VOIv-t.js → index.lazy-UI7L-Vrk.js} +1 -1
- package/studio/web/assets/{javascript-CJeJzGnI.js → javascript-CJ0G3AFZ.js} +1 -1
- package/studio/web/assets/{jsonMode-CYPBwM82.js → jsonMode-DQADAYEa.js} +1 -1
- package/studio/web/assets/{languageServices-IKH4GUHl.js → languageServices-CAQJXWcI.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-BC8_gxKG.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
- package/studio/web/assets/{notifications-BfKBpYcq.js → notifications-BbxTU6Aw.js} +1 -1
- package/studio/web/assets/{notifications-DFbArTfC.js → notifications-Cvb3P1lB.js} +1 -1
- package/studio/web/assets/{profile-Q4-T6c-S.js → profile-Yyb7gsvL.js} +1 -1
- package/studio/web/assets/{regions-CtkV0xje.js → regions-OgjGHlU5.js} +1 -1
- package/studio/web/assets/{register-1ZZuMsiA.js → register-6qwNEOY3.js} +2 -2
- package/studio/web/assets/{setComponentFile-ZWLcWv5X.js → setComponentFile-BilDMtgB.js} +1 -1
- package/studio/web/assets/{setup-DWprJyJy.js → setup-J6qJ7OIU.js} +2 -2
- package/studio/web/assets/{status--aNm8isn.js → status-0RWGcfyD.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-Cq_lt3XD.js → toggleHighContrast-BIn-vErT.js} +1 -1
- package/studio/web/assets/{tsMode-pjgytARx.js → tsMode-DgUXku4d.js} +1 -1
- package/studio/web/assets/{typescript-Cdg0mqUh.js → typescript-C9orXcsM.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-RZhaY8Rn.js → useEntityRestURL-BEoXXbUB.js} +1 -1
- package/studio/web/assets/{workers-BgoXIqQe.js → workers-JVzSDmgx.js} +1 -1
- package/studio/web/assets/{xml-BwSeDMiP.js → xml-Cq-S8S4X.js} +1 -1
- package/studio/web/assets/{yaml-DotCUG5l.js → yaml-sfoRdh1M.js} +1 -1
- package/studio/web/index.html +1 -1
- package/upgrade/directives/5-3-0.ts +132 -0
- package/upgrade/directives/directivesController.ts +2 -1
- package/utility/OperationFunctionCaller.ts +2 -1
- package/utility/common_utils.ts +30 -5
- package/utility/componentNames.ts +12 -0
- package/utility/environment/environmentManager.ts +3 -7
- package/utility/environment/systemInformation.ts +7 -0
- package/utility/errors/commonErrors.ts +4 -0
- package/utility/errors/hdbError.ts +57 -0
- package/utility/hdbTerms.ts +19 -0
- package/utility/logging/harper_logger.ts +278 -26
- package/utility/logging/logGenerationCoordinator.ts +196 -0
- package/utility/logging/logRotation.ts +367 -0
- package/utility/logging/logRotator.ts +213 -81
- package/utility/nodeIdentity.ts +45 -0
- package/utility/npmUtilities.ts +12 -8
- package/utility/operationPermissions.ts +18 -1
- package/utility/operation_authorization.ts +231 -42
- package/utility/watchPath.ts +63 -0
- package/utility/watcherFallback.ts +148 -0
- package/validation/configValidator.ts +215 -75
- package/validation/installValidator.ts +15 -0
- package/validation/validationWrapper.ts +18 -4
|
@@ -36,7 +36,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.UDS_PATH_MAX_BYTES = exports.routeConstraints = void 0;
|
|
39
|
+
exports.UDS_PATH_MAX_BYTES = exports.routeConstraints = exports.LEGACY_SQL_APPLICATION_KEYS = void 0;
|
|
40
|
+
exports.isLegacySqlApplicationEntry = isLegacySqlApplicationEntry;
|
|
41
|
+
exports.validateModelsBlock = validateModelsBlock;
|
|
40
42
|
exports.configValidator = configValidator;
|
|
41
43
|
exports.getDomainSocketPathLengthWarning = getDomainSocketPathLengthWarning;
|
|
42
44
|
exports.routesValidator = routesValidator;
|
|
@@ -50,18 +52,44 @@ const hdbLogger = __importStar(require("../utility/logging/harper_logger.js"));
|
|
|
50
52
|
const hdbUtils = __importStar(require("../utility/common_utils.js"));
|
|
51
53
|
const hdbTerms = __importStar(require("../utility/hdbTerms.js"));
|
|
52
54
|
const domainSocket_ts_1 = require("../utility/domainSocket.js");
|
|
55
|
+
const nodeIdentity_ts_1 = require("../utility/nodeIdentity.js");
|
|
56
|
+
const logRotation_ts_1 = require("../utility/logging/logRotation.js");
|
|
53
57
|
const validator = __importStar(require("./validationWrapper.js"));
|
|
54
58
|
const DEFAULT_LOG_FOLDER = 'log';
|
|
55
59
|
const DEFAULT_COMPONENTS_FOLDER = 'components';
|
|
56
60
|
const INVALID_SIZE_UNIT_MSG = 'Invalid logging.rotation.maxSize unit. Available units are G, M or K';
|
|
57
61
|
const INVALID_INTERVAL_UNIT_MSG = 'Invalid logging.rotation.interval unit. Available units are D (days), H (hours), M (months) or m (minutes)';
|
|
58
|
-
const INVALID_MAX_SIZE_VALUE_MSG = "Invalid logging.rotation.maxSize value. Value should be a number followed by unit e.g. '10M'";
|
|
62
|
+
const INVALID_MAX_SIZE_VALUE_MSG = "Invalid logging.rotation.maxSize value. Value should be a positive number followed by unit e.g. '10M'";
|
|
59
63
|
const INVALID_INTERVAL_VALUE_MSG = "Invalid logging.rotation.interval value. Value should be a number followed by unit e.g. '10D'";
|
|
60
64
|
const INVALID_RETENTION_UNIT_MSG = 'Invalid logging.rotation.retention unit. Available units are D (days), H (hours), M (months) or m (minutes)';
|
|
61
65
|
const INVALID_RETENTION_VALUE_MSG = "Invalid logging.rotation.retention value. Value should be a number followed by unit e.g. '30D'";
|
|
62
66
|
// Units accepted for rotation durations, matching convertToMS: note capital M (months) vs lowercase m (minutes).
|
|
63
67
|
const VALID_ROTATION_DURATION_UNITS = ['D', 'd', 'H', 'h', 'M', 'm'];
|
|
64
68
|
const UNDEFINED_OPS_API = 'rootPath config parameter is undefined';
|
|
69
|
+
/**
|
|
70
|
+
* What `deploy_component` writes into a root-config entry, plus the deployment-level keys
|
|
71
|
+
* componentLoader reads off it — the shape of a `sql` application deployed before the name was
|
|
72
|
+
* reserved. Closed to new keys: nothing new may take this shape.
|
|
73
|
+
*/
|
|
74
|
+
exports.LEGACY_SQL_APPLICATION_KEYS = [
|
|
75
|
+
'package',
|
|
76
|
+
'files',
|
|
77
|
+
'path',
|
|
78
|
+
'install',
|
|
79
|
+
'credentials',
|
|
80
|
+
'loadComponent',
|
|
81
|
+
'urlPath',
|
|
82
|
+
'host',
|
|
83
|
+
'branchedDatabases',
|
|
84
|
+
'network',
|
|
85
|
+
'port',
|
|
86
|
+
'securePort',
|
|
87
|
+
];
|
|
88
|
+
function isLegacySqlApplicationEntry(value) {
|
|
89
|
+
if (typeof value !== 'object' || value === null)
|
|
90
|
+
return false;
|
|
91
|
+
return exports.LEGACY_SQL_APPLICATION_KEYS.some((key) => Object.hasOwn(value, key));
|
|
92
|
+
}
|
|
65
93
|
// Directory-path validation. The previous `([...]+)+$` nested quantifier
|
|
66
94
|
// backtracked catastrophically (ReDoS), hanging the CLI at 100% CPU on any
|
|
67
95
|
// value with a character outside its allow-list after a run of valid ones — a
|
|
@@ -84,6 +112,10 @@ const DIRECTORY_PATH_PATTERN = /^(?!\s*$)[^\x00-\x1f\x7f\x80-\x9f\u2028\u2029]+$
|
|
|
84
112
|
const portConstraints = joi_1.default.alternatives([number.min(0), string])
|
|
85
113
|
.optional()
|
|
86
114
|
.empty(null);
|
|
115
|
+
// node.hostname / replication.hostname must be a bare host, not a URL (utility/nodeIdentity.ts).
|
|
116
|
+
// `Joi.any` (not `string`) so validateBareHost reports a non-string with its own reason.
|
|
117
|
+
const bareHostConstraints = joi_1.default.any().custom(validateBareHost).optional().empty(null);
|
|
118
|
+
const nodeUrlConstraints = string.custom(validateNodeUrl).optional().empty(null);
|
|
87
119
|
// Controlled-flow ("directional") replication fields. A route's `replicates` is either a boolean
|
|
88
120
|
// (full replication on/off) or an object describing per-direction flow; `sends`/`receives` and
|
|
89
121
|
// `sendsTo`/`receivesFrom` are also accepted as top-level route keys (iterateRoutes normalizes both
|
|
@@ -129,6 +161,86 @@ exports.routeConstraints = joi_1.default.alternatives([
|
|
|
129
161
|
.empty(null),
|
|
130
162
|
array.items(string),
|
|
131
163
|
]);
|
|
164
|
+
// Models — `models:` block opts a deployment into the per-backend registry.
|
|
165
|
+
// Per-backend shape is validated by a discriminated alternative on the
|
|
166
|
+
// `backend` field. Phase 2 (#629) lands ollama; Phase 3 (#630) lands openai.
|
|
167
|
+
//
|
|
168
|
+
// `.unknown(false)` on each known backend's schema turns field-name typos
|
|
169
|
+
// (`bakend: ollama`, `hsot: ...`) into boot-blocking validation errors.
|
|
170
|
+
// Without it, Joi's top-level `allowUnknown: true` propagates and typos
|
|
171
|
+
// silently survive into bootstrap. Unknown backend types (anything not in
|
|
172
|
+
// the `switch` list) fall through to a permissive schema so future Harper
|
|
173
|
+
// versions or third-party components can register their own backends
|
|
174
|
+
// without core schema edits — `bootstrapModels` logs+skips at runtime.
|
|
175
|
+
//
|
|
176
|
+
// `requestTimeoutMs: min(1)` (not `min(0)`) so the meaning is unambiguous:
|
|
177
|
+
// omit the field for "no timeout". `0` would validate but `composeSignal`
|
|
178
|
+
// treats it as "no timeout" via `if (!timeoutMs)`, surprising a test that
|
|
179
|
+
// sets 0 to mean "fail immediately".
|
|
180
|
+
const commonEntryFields = {
|
|
181
|
+
model: string.optional(),
|
|
182
|
+
requestTimeoutMs: number.min(1).optional(),
|
|
183
|
+
// Ordered fallback group — other logical names tried, in order, after this one (#1326).
|
|
184
|
+
fallback: joi_1.default.array().items(string).optional(),
|
|
185
|
+
};
|
|
186
|
+
const ollamaEntrySchema = joi_1.default.object({
|
|
187
|
+
backend: string.valid('ollama').required(),
|
|
188
|
+
host: string.optional(),
|
|
189
|
+
...commonEntryFields,
|
|
190
|
+
}).unknown(false);
|
|
191
|
+
const openaiEntrySchema = joi_1.default.object({
|
|
192
|
+
backend: string.valid('openai').required(),
|
|
193
|
+
// `apiKey` may be a literal secret or a `${ENV_VAR}` placeholder; both
|
|
194
|
+
// are syntactically strings. `bootstrap.ts` runs `expandEnvVarsDeep`
|
|
195
|
+
// before construction; the backend rejects unresolved placeholders
|
|
196
|
+
// with an explicit error pointing at the env-var name.
|
|
197
|
+
apiKey: string.required(),
|
|
198
|
+
baseUrl: string.optional(),
|
|
199
|
+
organization: string.optional(),
|
|
200
|
+
...commonEntryFields,
|
|
201
|
+
}).unknown(false);
|
|
202
|
+
const anthropicEntrySchema = joi_1.default.object({
|
|
203
|
+
backend: string.valid('anthropic').required(),
|
|
204
|
+
// Same secret-handling posture as openai's `apiKey`.
|
|
205
|
+
apiKey: string.required(),
|
|
206
|
+
baseUrl: string.optional(),
|
|
207
|
+
...commonEntryFields,
|
|
208
|
+
}).unknown(false);
|
|
209
|
+
const bedrockEntrySchema = joi_1.default.object({
|
|
210
|
+
backend: string.valid('bedrock').required(),
|
|
211
|
+
// AWS credentials resolve via the SDK chain (env / shared file / IAM
|
|
212
|
+
// roles for service accounts) — no apiKey field. `region` is
|
|
213
|
+
// effectively required (Bedrock is regional) but the backend can
|
|
214
|
+
// fall back to AWS_REGION env, so we leave it optional here.
|
|
215
|
+
region: string.optional(),
|
|
216
|
+
...commonEntryFields,
|
|
217
|
+
}).unknown(false);
|
|
218
|
+
const unknownBackendEntrySchema = joi_1.default.object({
|
|
219
|
+
backend: string.required(),
|
|
220
|
+
}).unknown(true);
|
|
221
|
+
const modelEntrySchema = joi_1.default.alternatives().conditional('.backend', {
|
|
222
|
+
switch: [
|
|
223
|
+
{ is: 'ollama', then: ollamaEntrySchema },
|
|
224
|
+
{ is: 'openai', then: openaiEntrySchema },
|
|
225
|
+
{ is: 'anthropic', then: anthropicEntrySchema },
|
|
226
|
+
{ is: 'bedrock', then: bedrockEntrySchema },
|
|
227
|
+
],
|
|
228
|
+
otherwise: unknownBackendEntrySchema,
|
|
229
|
+
});
|
|
230
|
+
const modelsSchema = joi_1.default.object({
|
|
231
|
+
embedding: joi_1.default.object().pattern(joi_1.default.string(), modelEntrySchema).optional(),
|
|
232
|
+
generative: joi_1.default.object().pattern(joi_1.default.string(), modelEntrySchema).optional(),
|
|
233
|
+
});
|
|
234
|
+
/**
|
|
235
|
+
* Validate a `models:` block on its own — the hot-reload path applies a watched file's block
|
|
236
|
+
* without the full boot validation, and must enforce the same schema boot does.
|
|
237
|
+
*/
|
|
238
|
+
function validateModelsBlock(models) {
|
|
239
|
+
// `allowUnknown: true` mirrors the boot path, whose top-level option propagates into this
|
|
240
|
+
// subtree: a sibling of embedding/generative that boots must not block a reload. Entry-level
|
|
241
|
+
// strictness is preserved by each backend schema's `.unknown(false)`.
|
|
242
|
+
return modelsSchema.validate(models, { abortEarly: false, allowUnknown: true, errors: { wrap: { label: "'" } } });
|
|
243
|
+
}
|
|
132
244
|
let hdbRoot;
|
|
133
245
|
let skipFsVal = false;
|
|
134
246
|
function configValidator(configJson, skipFsValidation = false) {
|
|
@@ -179,76 +291,38 @@ function configValidator(configJson, skipFsValidation = false) {
|
|
|
179
291
|
application: mcpApplicationSchema.optional(),
|
|
180
292
|
session: mcpSessionSchema.optional(),
|
|
181
293
|
});
|
|
182
|
-
//
|
|
183
|
-
//
|
|
184
|
-
//
|
|
185
|
-
//
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
//
|
|
195
|
-
//
|
|
196
|
-
//
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
host: string.optional(),
|
|
207
|
-
...commonEntryFields,
|
|
208
|
-
}).unknown(false);
|
|
209
|
-
const openaiEntrySchema = joi_1.default.object({
|
|
210
|
-
backend: string.valid('openai').required(),
|
|
211
|
-
// `apiKey` may be a literal secret or a `${ENV_VAR}` placeholder; both
|
|
212
|
-
// are syntactically strings. `bootstrap.ts` runs `expandEnvVarsDeep`
|
|
213
|
-
// before construction; the backend rejects unresolved placeholders
|
|
214
|
-
// with an explicit error pointing at the env-var name.
|
|
215
|
-
apiKey: string.required(),
|
|
216
|
-
baseUrl: string.optional(),
|
|
217
|
-
organization: string.optional(),
|
|
218
|
-
...commonEntryFields,
|
|
219
|
-
}).unknown(false);
|
|
220
|
-
const anthropicEntrySchema = joi_1.default.object({
|
|
221
|
-
backend: string.valid('anthropic').required(),
|
|
222
|
-
// Same secret-handling posture as openai's `apiKey`.
|
|
223
|
-
apiKey: string.required(),
|
|
224
|
-
baseUrl: string.optional(),
|
|
225
|
-
...commonEntryFields,
|
|
226
|
-
}).unknown(false);
|
|
227
|
-
const bedrockEntrySchema = joi_1.default.object({
|
|
228
|
-
backend: string.valid('bedrock').required(),
|
|
229
|
-
// AWS credentials resolve via the SDK chain (env / shared file / IAM
|
|
230
|
-
// roles for service accounts) — no apiKey field. `region` is
|
|
231
|
-
// effectively required (Bedrock is regional) but the backend can
|
|
232
|
-
// fall back to AWS_REGION env, so we leave it optional here.
|
|
233
|
-
region: string.optional(),
|
|
234
|
-
...commonEntryFields,
|
|
235
|
-
}).unknown(false);
|
|
236
|
-
const unknownBackendEntrySchema = joi_1.default.object({
|
|
237
|
-
backend: string.required(),
|
|
238
|
-
}).unknown(true);
|
|
239
|
-
const modelEntrySchema = joi_1.default.alternatives().conditional('.backend', {
|
|
240
|
-
switch: [
|
|
241
|
-
{ is: 'ollama', then: ollamaEntrySchema },
|
|
242
|
-
{ is: 'openai', then: openaiEntrySchema },
|
|
243
|
-
{ is: 'anthropic', then: anthropicEntrySchema },
|
|
244
|
-
{ is: 'bedrock', then: bedrockEntrySchema },
|
|
245
|
-
],
|
|
246
|
-
otherwise: unknownBackendEntrySchema,
|
|
247
|
-
});
|
|
248
|
-
const modelsSchema = joi_1.default.object({
|
|
249
|
-
embedding: joi_1.default.object().pattern(joi_1.default.string(), modelEntrySchema).optional(),
|
|
250
|
-
generative: joi_1.default.object().pattern(joi_1.default.string(), modelEntrySchema).optional(),
|
|
294
|
+
// `convert: false` — validateConfig() only writes the coerced value back into configDoc for
|
|
295
|
+
// threads/componentsRoot/logging/storage/operationsApi, not sql, so leaving Joi's default
|
|
296
|
+
// convert:true on here would accept a quoted `allowFullScan: "true"` and then silently drop
|
|
297
|
+
// it (getSqlEngineConfig()'s typeof guard rejects the still-unconverted string).
|
|
298
|
+
const sqlSettingsSchema = joi_1.default.object({
|
|
299
|
+
engine: string.valid('legacy', 'new', 'auto').optional(),
|
|
300
|
+
allowFullScan: boolean.optional(),
|
|
301
|
+
maxSortRows: number.integer().min(1).optional(),
|
|
302
|
+
maxHashRows: number.integer().min(1).optional(),
|
|
303
|
+
})
|
|
304
|
+
.unknown(false)
|
|
305
|
+
.prefs({ convert: false });
|
|
306
|
+
// An application deployed under the name before it was reserved still boots; validateConfig()
|
|
307
|
+
// warns to rename it. Selected positively so a typo'd setting is still held to the settings
|
|
308
|
+
// schema instead of passing as an application.
|
|
309
|
+
const legacySqlApplicationSchema = joi_1.default.object({
|
|
310
|
+
engine: joi_1.default.any().forbidden(),
|
|
311
|
+
allowFullScan: joi_1.default.any().forbidden(),
|
|
312
|
+
maxSortRows: joi_1.default.any().forbidden(),
|
|
313
|
+
maxHashRows: joi_1.default.any().forbidden(),
|
|
314
|
+
})
|
|
315
|
+
.unknown(true)
|
|
316
|
+
.messages({
|
|
317
|
+
'any.unknown': `{#label} cannot be set while 'sql' names a deployed application; redeploy that application under a different name`,
|
|
251
318
|
});
|
|
319
|
+
const sqlSchema = joi_1.default.alternatives()
|
|
320
|
+
.conditional(joi_1.default.object()
|
|
321
|
+
.or(...exports.LEGACY_SQL_APPLICATION_KEYS)
|
|
322
|
+
.unknown(true), { then: legacySqlApplicationSchema, otherwise: sqlSettingsSchema })
|
|
323
|
+
// `false`/null is how componentLoader spells a disabled entry, so an operator who had already
|
|
324
|
+
// turned a pre-reservation `sql` application off keeps booting.
|
|
325
|
+
.allow(false, null);
|
|
252
326
|
const configSchema = joi_1.default.object({
|
|
253
327
|
authentication: joi_1.default.alternatives(joi_1.default.object({
|
|
254
328
|
authorizeLocal: boolean,
|
|
@@ -265,8 +339,8 @@ function configValidator(configJson, skipFsValidation = false) {
|
|
|
265
339
|
replicate: boolean.optional(),
|
|
266
340
|
}),
|
|
267
341
|
replication: joi_1.default.object({
|
|
268
|
-
hostname:
|
|
269
|
-
url:
|
|
342
|
+
hostname: bareHostConstraints,
|
|
343
|
+
url: nodeUrlConstraints,
|
|
270
344
|
port: portConstraints,
|
|
271
345
|
securePort: portConstraints,
|
|
272
346
|
routes: array.optional().empty(null),
|
|
@@ -283,6 +357,10 @@ function configValidator(configJson, skipFsValidation = false) {
|
|
|
283
357
|
copyCursorFlushIntervalMs: number.min(1).optional().empty(null),
|
|
284
358
|
replayTimeout: number.min(1).optional().empty(null),
|
|
285
359
|
}).optional(),
|
|
360
|
+
node: joi_1.default.object({
|
|
361
|
+
hostname: bareHostConstraints,
|
|
362
|
+
url: string.optional().empty(null),
|
|
363
|
+
}).optional(),
|
|
286
364
|
componentsRoot: rootConstraints.optional(),
|
|
287
365
|
localStudio: joi_1.default.object({
|
|
288
366
|
enabled: enabledConstraints,
|
|
@@ -365,6 +443,7 @@ function configValidator(configJson, skipFsValidation = false) {
|
|
|
365
443
|
waitForDebugger: boolean.optional(),
|
|
366
444
|
})),
|
|
367
445
|
maxHeapMemory: number.min(0).optional(),
|
|
446
|
+
maxIsolated: number.integer().min(0).optional(),
|
|
368
447
|
preload: joi_1.default.alternatives([string, array.items(string)])
|
|
369
448
|
.allow(null)
|
|
370
449
|
.optional(),
|
|
@@ -376,6 +455,26 @@ function configValidator(configJson, skipFsValidation = false) {
|
|
|
376
455
|
writeAsync: boolean.required(),
|
|
377
456
|
overlappingSync: boolean.optional(),
|
|
378
457
|
caching: boolean.optional(),
|
|
458
|
+
blobs: joi_1.default.object({
|
|
459
|
+
compression: joi_1.default.object()
|
|
460
|
+
.pattern(
|
|
461
|
+
// exact content type, 'type/*' wildcard, or the 'default' entry
|
|
462
|
+
/^([\w.+-]+\/(\*|[\w.+-]+)|default)$/, joi_1.default.alternatives([
|
|
463
|
+
joi_1.default.valid(false),
|
|
464
|
+
// .unknown(false) so a typo'd nested field (e.g. `treshold`) is rejected instead of
|
|
465
|
+
// silently inheriting the top-level validate() allowUnknown:true and falling back to
|
|
466
|
+
// the default threshold — matching config-root.schema.json.
|
|
467
|
+
joi_1.default.object({ codec: joi_1.default.valid('deflate').optional(), threshold: number.min(0).optional() }).unknown(false),
|
|
468
|
+
]))
|
|
469
|
+
// fail on keys that are not a content type, a 'type/*' wildcard, or 'default' —
|
|
470
|
+
// a typo'd key would otherwise silently never match anything
|
|
471
|
+
.unknown(false)
|
|
472
|
+
.optional(),
|
|
473
|
+
})
|
|
474
|
+
// reject a misspelled property directly under storage.blobs (e.g. `compresion:`), which the
|
|
475
|
+
// top-level validate()'s allowUnknown:true would otherwise accept and silently leave off
|
|
476
|
+
.unknown(false)
|
|
477
|
+
.optional(),
|
|
379
478
|
compression: joi_1.default.alternatives([
|
|
380
479
|
boolean.optional(),
|
|
381
480
|
joi_1.default.object({ dictionary: string.optional(), threshold: number.optional() }),
|
|
@@ -390,6 +489,7 @@ function configValidator(configJson, skipFsValidation = false) {
|
|
|
390
489
|
}).required(),
|
|
391
490
|
mcp: mcpSchema.optional(),
|
|
392
491
|
models: modelsSchema.optional(),
|
|
492
|
+
sql: sqlSchema.optional(),
|
|
393
493
|
ignoreScripts: boolean.optional(),
|
|
394
494
|
tls: joi_1.default.alternatives([joi_1.default.array().items(tlsConstraints), tlsConstraints]),
|
|
395
495
|
});
|
|
@@ -411,6 +511,35 @@ function doesPathExist(pathToCheck) {
|
|
|
411
511
|
}
|
|
412
512
|
return `Specified path ${pathToCheck} does not exist.`;
|
|
413
513
|
}
|
|
514
|
+
function validateBareHost(value, helpers) {
|
|
515
|
+
const violation = (0, nodeIdentity_ts_1.bareHostViolation)(value);
|
|
516
|
+
if (violation) {
|
|
517
|
+
return helpers.message(`{{#label}} ${violation}; it must be a bare hostname or IP literal (no scheme, port, or path) because it is this node's identity`);
|
|
518
|
+
}
|
|
519
|
+
return value;
|
|
520
|
+
}
|
|
521
|
+
// A node URL supplies this node's identity via its host (server/nodeName.ts urlToNodeName), so it
|
|
522
|
+
// must have an authority. A hostless scheme ("mailto:", "data:", "file:") parses but has no host.
|
|
523
|
+
// A node URL supplies this node's identity via its host (server/nodeName.ts urlToNodeName). Only
|
|
524
|
+
// reject the unambiguous mistake: a value written as a real URL (with a "//" authority) that still
|
|
525
|
+
// parses to no host. Everything else is deliberately tolerated, because urlToNodeName skips a value
|
|
526
|
+
// it cannot take a host from and identity falls through to another source — a scheme-less
|
|
527
|
+
// "node1.example.com:9933" even parses as a *scheme*, so it is indistinguishable from "mailto:" here,
|
|
528
|
+
// and rejecting that shape would turn a previously harmless config into a boot failure.
|
|
529
|
+
function validateNodeUrl(value, helpers) {
|
|
530
|
+
if (!value.includes('//'))
|
|
531
|
+
return value;
|
|
532
|
+
let host;
|
|
533
|
+
try {
|
|
534
|
+
host = new URL(value).hostname;
|
|
535
|
+
}
|
|
536
|
+
catch {
|
|
537
|
+
return value; // unparseable — skipped at runtime, not worth failing the boot over
|
|
538
|
+
}
|
|
539
|
+
if (!host)
|
|
540
|
+
return helpers.message('{{#label}} must be a URL with a host (e.g. "wss://node1.example.com:9933")');
|
|
541
|
+
return value;
|
|
542
|
+
}
|
|
414
543
|
function validatePath(value, helpers) {
|
|
415
544
|
joi_1.default.assert(value, string.pattern(DIRECTORY_PATH_PATTERN, 'directory path'));
|
|
416
545
|
let resolvedValue;
|
|
@@ -471,8 +600,9 @@ function validateRotationMaxSize(value, helpers) {
|
|
|
471
600
|
if (unit !== 'G' && unit !== 'M' && unit !== 'K') {
|
|
472
601
|
return helpers.message(INVALID_SIZE_UNIT_MSG);
|
|
473
602
|
}
|
|
474
|
-
|
|
475
|
-
|
|
603
|
+
// The same parser the write-path size check uses, so a value accepted here can never become a
|
|
604
|
+
// zero, negative or NaN byte limit downstream. `parseInt` alone accepted '0K', '-1K' and '1xK'.
|
|
605
|
+
if (!(0, logRotation_ts_1.parseMaxSize)(value)) {
|
|
476
606
|
return helpers.message(INVALID_MAX_SIZE_VALUE_MSG);
|
|
477
607
|
}
|
|
478
608
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../validation/configValidator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../validation/configValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ const { string, number } = joi_1.default.types();
|
|
|
41
41
|
const fs = __importStar(require("fs-extra"));
|
|
42
42
|
const hdbTerms = __importStar(require("../utility/hdbTerms.js"));
|
|
43
43
|
const path = __importStar(require("path"));
|
|
44
|
+
const nodeIdentity_ts_1 = require("../utility/nodeIdentity.js");
|
|
44
45
|
const validator = __importStar(require("./validationWrapper.js"));
|
|
45
46
|
exports.default = installValidator;
|
|
46
47
|
/**
|
|
@@ -53,9 +54,20 @@ function installValidator(param) {
|
|
|
53
54
|
[hdbTerms.INSTALL_PROMPTS.ROOTPATH]: joi_1.default.custom(validateRootAvailable),
|
|
54
55
|
[hdbTerms.INSTALL_PROMPTS.OPERATIONSAPI_NETWORK_PORT]: joi_1.default.alternatives([number.min(0), string]).allow('null', null),
|
|
55
56
|
[hdbTerms.INSTALL_PROMPTS.TC_AGREEMENT]: string.valid('yes', 'YES', 'Yes'),
|
|
57
|
+
// Catch a bad node identity here rather than at first boot. This runs after the v5 migration
|
|
58
|
+
// copies REPLICATION_HOSTNAME into NODE_HOSTNAME, so an upgrade carrying a URL-ish value is
|
|
59
|
+
// reported during install with the same reason the config boundary would give (harper#2218).
|
|
60
|
+
[hdbTerms.INSTALL_PROMPTS.NODE_HOSTNAME]: joi_1.default.custom(validateNodeHostname).allow('null', null),
|
|
56
61
|
});
|
|
57
62
|
return validator.validateBySchema(param, installSchema);
|
|
58
63
|
}
|
|
64
|
+
function validateNodeHostname(value, helpers) {
|
|
65
|
+
const violation = (0, nodeIdentity_ts_1.bareHostViolation)(value);
|
|
66
|
+
if (violation) {
|
|
67
|
+
return helpers.message(`{{#label}} ${violation}; it must be a bare hostname or IP literal (no scheme, port, or path) because it is this node's identity`);
|
|
68
|
+
}
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
59
71
|
function validateRootAvailable(value, helpers) {
|
|
60
72
|
if (fs.existsSync(path.join(value, 'system/hdb_user/data.mdb')) ||
|
|
61
73
|
fs.existsSync(path.join(value, 'system/hdb_user.mdb'))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installValidator.js","sourceRoot":"","sources":["../../validation/installValidator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,8CAAsB;AACtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAG,CAAC,KAAK,EAAE,CAAC;AACvC,6CAA+B;AAC/B,iEAAmD;AACnD,2CAA6B;AAC7B,kEAAoD;AAEpD,kBAAe,gBAAgB,CAAC;AAEhC;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAK;IAC9B,MAAM,aAAa,GAAG,aAAG,CAAC,MAAM,CAAC;QAChC,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,aAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC;QACtE,CAAE,QAAQ,CAAC,eAAuB,CAAC,0BAA0B,CAAC,EAAE,aAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAC9G,MAAM,EACN,IAAI,CACJ;QACD,CAAE,QAAQ,CAAC,eAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"installValidator.js","sourceRoot":"","sources":["../../validation/installValidator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,8CAAsB;AACtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAG,CAAC,KAAK,EAAE,CAAC;AACvC,6CAA+B;AAC/B,iEAAmD;AACnD,2CAA6B;AAC7B,gEAA+D;AAC/D,kEAAoD;AAEpD,kBAAe,gBAAgB,CAAC;AAEhC;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAK;IAC9B,MAAM,aAAa,GAAG,aAAG,CAAC,MAAM,CAAC;QAChC,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,aAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC;QACtE,CAAE,QAAQ,CAAC,eAAuB,CAAC,0BAA0B,CAAC,EAAE,aAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAC9G,MAAM,EACN,IAAI,CACJ;QACD,CAAE,QAAQ,CAAC,eAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACnF,6FAA6F;QAC7F,4FAA4F;QAC5F,6FAA6F;QAC7F,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,aAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;KAC9F,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAK,EAAE,OAAO;IAC3C,MAAM,SAAS,GAAG,IAAA,mCAAiB,EAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,OAAO,CACrB,cAAc,SAAS,0GAA0G,CACjI,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAK,EAAE,OAAO;IAC5C,IACC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;QAC3D,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,EACrD,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,qDAAqD,CAAC,CAAC;IACxF,CAAC;AACF,CAAC"}
|
|
@@ -13,3 +13,14 @@ export declare function validateObjectAsync(object: any, fileConstraints: any):
|
|
|
13
13
|
* @returns {*}
|
|
14
14
|
*/
|
|
15
15
|
export declare function validateBySchema(object: any, schema: any): Error;
|
|
16
|
+
/**
|
|
17
|
+
* Validates like `validateBySchema` and additionally hands back Joi's converted value (coerced
|
|
18
|
+
* types and schema defaults). `value` is Joi's best-effort conversion, so it is only meaningful
|
|
19
|
+
* when `error` is undefined.
|
|
20
|
+
* @param {{}} object
|
|
21
|
+
* @param {Joi.ObjectSchema} schema
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateAndConvertBySchema(object: any, schema: any): {
|
|
24
|
+
error: Error | undefined;
|
|
25
|
+
value: any;
|
|
26
|
+
};
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validateObject = validateObject;
|
|
4
4
|
exports.validateObjectAsync = validateObjectAsync;
|
|
5
5
|
exports.validateBySchema = validateBySchema;
|
|
6
|
+
exports.validateAndConvertBySchema = validateAndConvertBySchema;
|
|
6
7
|
/**
|
|
7
8
|
* validationWrapper.js
|
|
8
9
|
*
|
|
@@ -79,6 +80,7 @@ async function validateObjectAsync(object, fileConstraints) {
|
|
|
79
80
|
// If no error, just return null so this will behave as the non async version.
|
|
80
81
|
return null;
|
|
81
82
|
}
|
|
83
|
+
const SCHEMA_VALIDATION_OPTIONS = { allowUnknown: true, abortEarly: false, errors: { wrap: { label: "'" } } };
|
|
82
84
|
/**
|
|
83
85
|
*
|
|
84
86
|
* @param {{}} object
|
|
@@ -86,9 +88,20 @@ async function validateObjectAsync(object, fileConstraints) {
|
|
|
86
88
|
* @returns {*}
|
|
87
89
|
*/
|
|
88
90
|
function validateBySchema(object, schema) {
|
|
89
|
-
|
|
90
|
-
if (
|
|
91
|
-
return new Error(
|
|
91
|
+
const { error } = schema.validate(object, SCHEMA_VALIDATION_OPTIONS);
|
|
92
|
+
if (error) {
|
|
93
|
+
return new Error(error.message);
|
|
92
94
|
}
|
|
93
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Validates like `validateBySchema` and additionally hands back Joi's converted value (coerced
|
|
98
|
+
* types and schema defaults). `value` is Joi's best-effort conversion, so it is only meaningful
|
|
99
|
+
* when `error` is undefined.
|
|
100
|
+
* @param {{}} object
|
|
101
|
+
* @param {Joi.ObjectSchema} schema
|
|
102
|
+
*/
|
|
103
|
+
function validateAndConvertBySchema(object, schema) {
|
|
104
|
+
const { error, value } = schema.validate(object, SCHEMA_VALIDATION_OPTIONS);
|
|
105
|
+
return { error: error ? new Error(error.message) : undefined, value };
|
|
106
|
+
}
|
|
94
107
|
//# sourceMappingURL=validationWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validationWrapper.js","sourceRoot":"","sources":["../../validation/validationWrapper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAsDb,wCAQC;AAQD,kDAcC;
|
|
1
|
+
{"version":3,"file":"validationWrapper.js","sourceRoot":"","sources":["../../validation/validationWrapper.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -9,6 +9,12 @@ if (!workerThreads.isMainThread) {
|
|
|
9
9
|
// Regular exports (don't require the same initialization as the globals at the end of this file do)
|
|
10
10
|
export { RequestTarget } from './resources/RequestTarget.ts';
|
|
11
11
|
export { flushDatabases } from './resources/databases.ts';
|
|
12
|
+
export {
|
|
13
|
+
registerReplicatedApplyFailureListener,
|
|
14
|
+
unregisterReplicatedApplyFailureListener,
|
|
15
|
+
type ReplicatedApplyFailure,
|
|
16
|
+
type ReplicatedApplyFailureListener,
|
|
17
|
+
} from './resources/replicatedApplyFailure.ts';
|
|
12
18
|
export { getContext, getResponse, getUser } from './security/jsLoader.ts';
|
|
13
19
|
// Code-first schema authoring: declare a table as a TypeScript value; the returned
|
|
14
20
|
// handle is the live, registered table class with per-verb shapes inferred from the definition.
|
|
@@ -28,8 +34,10 @@ export type {
|
|
|
28
34
|
Session,
|
|
29
35
|
SourceContext,
|
|
30
36
|
SubscriptionRequest,
|
|
37
|
+
RecordLockOptions,
|
|
31
38
|
RequestTargetOrId,
|
|
32
39
|
ResourceInterface,
|
|
40
|
+
WritableRecord,
|
|
33
41
|
} from './resources/ResourceInterface.ts';
|
|
34
42
|
export type { User } from './security/user.ts';
|
|
35
43
|
export type { RecordObject } from './resources/RecordEncoder.ts';
|