@harperfast/harper-pro 5.0.30 → 5.1.0-beta.2
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/analytics/profile.ts +4 -0
- package/core/AGENTS.md +94 -6
- package/core/DESIGN.md +36 -0
- package/core/README.md +11 -10
- package/core/agent/agent.ts +203 -0
- package/core/agent/loop.ts +205 -0
- package/core/agent/operations.ts +148 -0
- package/core/agent/session.ts +187 -0
- package/core/agent/tools/fsTools.ts +276 -0
- package/core/agent/tools/httpFetchTool.ts +112 -0
- package/core/agent/tools/scheduleTool.ts +68 -0
- package/core/agent/toolset.ts +43 -0
- package/core/agent/types.ts +85 -0
- package/core/benchmarks/hnsw-search.js +157 -0
- package/core/benchmarks/ycsb/README.md +144 -0
- package/core/benchmarks/ycsb/analyze-profile.mts +120 -0
- package/core/benchmarks/ycsb/app/config.yaml +3 -0
- package/core/benchmarks/ycsb/app/schema.graphql +17 -0
- package/core/benchmarks/ycsb/harness.mts +328 -0
- package/core/benchmarks/ycsb/restClient.mts +120 -0
- package/core/benchmarks/ycsb/run-single-node.mts +97 -0
- package/core/benchmarks/ycsb/to-benchmark-json.mts +58 -0
- package/core/benchmarks/ycsb/workload.mts +499 -0
- package/core/benchmarks/ycsb/workload.test.mts +174 -0
- package/core/bin/{BinObjects.js → BinObjects.ts} +4 -5
- package/core/bin/cliCredentials.ts +133 -0
- package/core/bin/cliOperations.ts +339 -0
- package/core/bin/copyDb.ts +10 -10
- package/core/bin/deployRenderer.ts +196 -0
- package/core/bin/{harper.js → harper.ts} +48 -24
- package/core/bin/{install.js → install.ts} +3 -3
- package/core/bin/lite.ts +2 -0
- package/core/bin/login.ts +134 -0
- package/core/bin/logout.ts +11 -0
- package/core/bin/mcp/client.ts +407 -0
- package/core/bin/mcp/doctor.ts +189 -0
- package/core/bin/mcp/index.ts +80 -0
- package/core/bin/mcp/options.ts +122 -0
- package/core/bin/mcp/printConfig.ts +89 -0
- package/core/bin/multipartBuilder.ts +74 -0
- package/core/bin/{restart.js → restart.ts} +31 -32
- package/core/bin/{run.js → run.ts} +57 -46
- package/core/bin/sseConsumer.ts +126 -0
- package/core/bin/{status.js → status.ts} +10 -10
- package/core/bin/stop.ts +21 -0
- package/core/bin/upgrade.js +17 -24
- package/core/components/Application.ts +144 -18
- package/core/components/ApplicationScope.ts +2 -2
- package/core/components/ComponentV1.ts +2 -2
- package/core/components/EntryHandler.ts +159 -9
- package/core/components/OptionsWatcher.ts +75 -11
- package/core/components/Scope.ts +132 -18
- package/core/components/anthropic/index.ts +547 -0
- package/core/components/bedrock/index.ts +823 -0
- package/core/components/componentLoader.ts +64 -32
- package/core/components/deployLifecycle.ts +161 -0
- package/core/components/deploymentOperations.ts +173 -0
- package/core/components/deploymentRecorder.ts +427 -0
- package/core/components/deriveURLPath.ts +4 -4
- package/core/components/mcp/adapters/fastify.ts +87 -0
- package/core/components/mcp/adapters/harperHttp.ts +103 -0
- package/core/components/mcp/audit.ts +75 -0
- package/core/components/mcp/index.ts +134 -0
- package/core/components/mcp/jsonrpc.ts +134 -0
- package/core/components/mcp/lifecycle.ts +105 -0
- package/core/components/mcp/listChanged.ts +270 -0
- package/core/components/mcp/rateLimit.ts +217 -0
- package/core/components/mcp/resources.ts +607 -0
- package/core/components/mcp/session.ts +151 -0
- package/core/components/mcp/sessionRegistry.ts +140 -0
- package/core/components/mcp/toolRegistry.ts +294 -0
- package/core/components/mcp/tools/application.ts +761 -0
- package/core/components/mcp/tools/operations.ts +311 -0
- package/core/components/mcp/tools/schemas/derive.ts +356 -0
- package/core/components/mcp/tools/schemas/operationDescriptions.ts +241 -0
- package/core/components/mcp/tools/schemas/operations.ts +301 -0
- package/core/components/mcp/transport.ts +517 -0
- package/core/components/ollama/index.ts +316 -0
- package/core/components/openai/index.ts +563 -0
- package/core/components/operations.js +217 -60
- package/core/components/operationsValidation.js +12 -4
- package/core/components/packageComponent.ts +97 -29
- package/core/components/requestRestart.ts +17 -2
- package/core/components/status/crossThread.ts +14 -5
- package/core/components/status/errors.ts +1 -1
- package/core/config/RootConfigWatcher.ts +56 -2
- package/core/config/configUtils.js +29 -8
- package/core/config/harperConfigEnvVars.ts +1 -1
- package/core/dataLayer/{CreateAttributeObject.js → CreateAttributeObject.ts} +4 -3
- package/core/dataLayer/{CreateTableObject.js → CreateTableObject.ts} +2 -1
- package/core/dataLayer/{DataLayerObjects.js → DataLayerObjects.ts} +17 -9
- package/core/dataLayer/{DeleteBeforeObject.js → DeleteBeforeObject.ts} +2 -1
- package/core/dataLayer/{DeleteObject.js → DeleteObject.ts} +3 -2
- package/core/dataLayer/{DropAttributeObject.js → DropAttributeObject.ts} +2 -1
- package/core/dataLayer/{GetBackupObject.js → GetBackupObject.ts} +3 -2
- package/core/dataLayer/{InsertObject.js → InsertObject.ts} +3 -2
- package/core/dataLayer/{ReadAuditLogObject.js → ReadAuditLogObject.ts} +3 -2
- package/core/dataLayer/{SQLSearch.js → SQLSearch.ts} +97 -43
- package/core/dataLayer/{SearchByConditionsObject.js → SearchByConditionsObject.ts} +5 -6
- package/core/dataLayer/{SearchByHashObject.js → SearchByHashObject.ts} +2 -1
- package/core/dataLayer/{SearchObject.js → SearchObject.ts} +2 -1
- package/core/dataLayer/{SqlSearchObject.js → SqlSearchObject.ts} +2 -1
- package/core/dataLayer/{UpdateObject.js → UpdateObject.ts} +3 -2
- package/core/dataLayer/{UpsertObject.js → UpsertObject.ts} +3 -2
- package/core/dataLayer/{bulkLoad.js → bulkLoad.ts} +40 -49
- package/core/dataLayer/{delete.js → delete.ts} +21 -26
- package/core/dataLayer/{export.js → export.ts} +22 -26
- package/core/dataLayer/{getBackup.js → getBackup.ts} +7 -9
- package/core/dataLayer/harperBridge/BridgeMethods.ts +102 -0
- package/core/dataLayer/harperBridge/ResourceBridge.ts +27 -26
- package/core/dataLayer/harperBridge/TableSizeObject.ts +1 -0
- package/core/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +4 -4
- package/core/dataLayer/harperBridge/{harperBridge.js → harperBridge.ts} +3 -3
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +8 -6
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +4 -4
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +1 -1
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +6 -4
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +5 -4
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +4 -4
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +6 -5
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +5 -4
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +5 -5
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +1 -1
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +3 -3
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +1 -1
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +3 -2
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +5 -5
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +10 -8
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +1 -1
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +4 -3
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +3 -3
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +6 -5
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +2 -1
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +3 -2
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +2 -2
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +5 -4
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +6 -3
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +1 -1
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +4 -4
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +5 -5
- package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +4 -4
- package/core/dataLayer/{hdbInfoController.js → hdbInfoController.ts} +20 -26
- package/core/dataLayer/{insert.js → insert.ts} +24 -24
- package/core/dataLayer/{readAuditLog.js → readAuditLog.ts} +8 -10
- package/core/dataLayer/{schema.js → schema.ts} +32 -44
- package/core/dataLayer/{schemaDescribe.js → schemaDescribe.ts} +23 -26
- package/core/dataLayer/{search.js → search.ts} +9 -15
- package/core/dataLayer/{transaction.js → transaction.ts} +2 -5
- package/core/dataLayer/{update.js → update.ts} +19 -22
- package/core/index.ts +5 -0
- package/core/json/systemSchema.json +65 -0
- package/core/launchServiceScripts/utility/checkNodeVersion.js +2 -0
- package/core/package-lock.json +9087 -4345
- package/core/resources/DESIGN.md +98 -0
- package/core/resources/DatabaseTransaction.ts +58 -30
- package/core/resources/ErrorResource.ts +2 -1
- package/core/resources/LMDBTransaction.ts +38 -29
- package/core/resources/RecordEncoder.ts +41 -39
- package/core/resources/RequestTarget.ts +2 -0
- package/core/resources/Resource.ts +96 -56
- package/core/resources/ResourceInterface.ts +44 -21
- package/core/resources/Resources.ts +8 -8
- package/core/resources/RocksIndexStore.ts +3 -0
- package/core/resources/RocksTransactionLogStore.ts +13 -4
- package/core/resources/Table.ts +440 -223
- package/core/resources/analytics/metadata.ts +1 -0
- package/core/resources/analytics/read.ts +99 -10
- package/core/resources/analytics/write.ts +240 -17
- package/core/resources/auditStore.ts +30 -19
- package/core/resources/blob.ts +53 -53
- package/core/resources/dataLoader.ts +4 -4
- package/core/resources/databases.ts +208 -74
- package/core/resources/graphql.ts +267 -165
- package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +310 -65
- package/core/resources/indexes/vector.ts +17 -0
- package/core/resources/jsonSchemaTypes.ts +102 -0
- package/core/resources/loadEnv.ts +21 -17
- package/core/resources/login.ts +5 -3
- package/core/resources/models/Models.ts +304 -0
- package/core/resources/models/TestBackend.ts +83 -0
- package/core/resources/models/agentLoop.ts +895 -0
- package/core/resources/models/analyticsTable.ts +199 -0
- package/core/resources/models/backendHelpers.ts +116 -0
- package/core/resources/models/backendRegistry.ts +66 -0
- package/core/resources/models/bootstrap.ts +135 -0
- package/core/resources/models/embedHook.ts +138 -0
- package/core/resources/models/types.ts +296 -0
- package/core/resources/openApi.ts +65 -31
- package/core/resources/replayLogs.ts +20 -9
- package/core/resources/replayLogsGuards.ts +45 -0
- package/core/resources/roles.ts +62 -67
- package/core/resources/search.ts +355 -135
- package/core/resources/tracked.ts +18 -9
- package/core/resources/transaction.ts +8 -8
- package/core/resources/transactionBroadcast.ts +3 -3
- package/core/security/auth.ts +35 -26
- package/core/security/certificateVerification/crlVerification.ts +11 -4
- package/core/security/{cryptoHash.js → cryptoHash.ts} +3 -8
- package/core/security/data_objects/{PermissionAttributeResponseObject.js → PermissionAttributeResponseObject.ts} +4 -4
- package/core/security/data_objects/{PermissionResponseObject.js → PermissionResponseObject.ts} +12 -11
- package/core/security/data_objects/{PermissionTableResponseObject.js → PermissionTableResponseObject.ts} +6 -4
- package/core/security/{fastifyAuth.js → fastifyAuth.ts} +93 -20
- package/core/security/impersonation.ts +3 -3
- package/core/security/jsLoader.ts +22 -8
- package/core/security/{keys.js → keys.ts} +113 -121
- package/core/security/permissionsTranslator.js +2 -2
- package/core/security/{role.js → role.ts} +26 -33
- package/core/security/tokenAuthentication.ts +34 -7
- package/core/security/user.ts +26 -22
- package/core/server/DESIGN.md +139 -0
- package/core/server/DurableSubscriptionsSession.ts +67 -50
- package/core/server/REST.ts +120 -107
- package/core/server/Server.ts +31 -12
- package/core/server/fastifyRoutes/helpers/getCORSOptions.js +1 -1
- package/core/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +1 -1
- package/core/server/fastifyRoutes/helpers/getServerOptions.js +1 -1
- package/core/server/fastifyRoutes.ts +37 -33
- package/core/server/graphqlQuerying.ts +6 -5
- package/core/server/http.ts +517 -26
- package/core/server/itc/serverHandlers.js +75 -14
- package/core/server/jobs/{JobObject.js → JobObject.ts} +13 -6
- package/core/server/jobs/{jobProcess.js → jobProcess.ts} +20 -16
- package/core/server/jobs/{jobRunner.js → jobRunner.ts} +20 -21
- package/core/server/jobs/{jobs.js → jobs.ts} +41 -44
- package/core/server/loadRootComponents.js +1 -1
- package/core/server/middlewareChain.ts +270 -0
- package/core/server/mqtt.ts +35 -26
- package/core/server/nodeName.ts +3 -1
- package/core/server/operationsServer.ts +85 -10
- package/core/server/serverHelpers/Headers.ts +10 -8
- package/core/server/serverHelpers/JSONStream.ts +15 -5
- package/core/server/serverHelpers/Request.ts +370 -13
- package/core/server/serverHelpers/contentTypes.ts +42 -11
- package/core/server/serverHelpers/multipartParser.ts +152 -0
- package/core/server/serverHelpers/progressEmitter.ts +110 -0
- package/core/server/serverHelpers/serverHandlers.js +43 -7
- package/core/server/serverHelpers/serverUtilities.ts +40 -30
- package/core/server/static.ts +9 -6
- package/core/server/status/index.ts +2 -2
- package/core/server/storageReclamation.ts +39 -2
- package/core/server/threads/itc.js +7 -4
- package/core/server/threads/manageThreads.js +100 -26
- package/core/server/threads/socketRouter.ts +12 -275
- package/core/server/threads/threadServer.js +345 -105
- package/core/server/threads/workerProcessGuard.ts +93 -0
- package/core/server/throttle.ts +18 -0
- package/core/sqlTranslator/{SelectValidator.js → SelectValidator.ts} +41 -49
- package/core/sqlTranslator/{alasqlFunctionImporter.js → alasqlFunctionImporter.ts} +5 -5
- package/core/sqlTranslator/{deleteTranslator.js → deleteTranslator.ts} +13 -18
- package/core/sqlTranslator/{index.js → index.ts} +30 -33
- package/core/sqlTranslator/{sql_statement_bucket.js → sql_statement_bucket.ts} +49 -20
- package/core/static/README.md +10 -9
- package/core/static/defaultConfig.yaml +0 -1
- package/core/system/000004.log +0 -0
- package/core/system/CURRENT +1 -0
- package/core/system/IDENTITY +1 -0
- package/core/system/LOCK +0 -0
- package/core/system/LOG +1351 -0
- package/core/system/MANIFEST-000005 +0 -0
- package/core/system/OPTIONS-000013 +607 -0
- package/core/system/OPTIONS-000015 +734 -0
- package/core/upgrade/{UpgradeObjects.js → UpgradeObjects.ts} +3 -6
- package/core/upgrade/directives/5-1-0.ts +89 -0
- package/core/upgrade/directives/{directivesController.js → directivesController.ts} +16 -16
- package/core/upgrade/{directivesManager.js → directivesManager.ts} +7 -11
- package/core/upgrade/{upgradePrompt.js → upgradePrompt.ts} +6 -54
- package/core/upgrade/{upgradeUtilities.js → upgradeUtilities.ts} +3 -7
- package/core/utility/{OperationFunctionCaller.js → OperationFunctionCaller.ts} +7 -7
- package/core/utility/{assignCmdEnvVariables.js → assignCmdEnvVariables.ts} +6 -8
- package/core/utility/{common_utils.js → common_utils.ts} +113 -139
- package/core/utility/environment/{environmentManager.js → environmentManager.ts} +34 -33
- package/core/utility/environment/systemInformation.ts +18 -4
- package/core/utility/errors/{commonErrors.js → commonErrors.ts} +9 -9
- package/core/utility/errors/{hdbError.js → hdbError.ts} +39 -45
- package/core/utility/expandEnvVar.ts +110 -0
- package/core/utility/functions/geo.js +2 -2
- package/core/utility/functions/sql/alaSQLExtension.js +1 -1
- package/core/utility/globalSchema.ts +30 -0
- package/core/utility/hdbTerms.ts +54 -1
- package/core/utility/install/checkJWTTokensExist.js +1 -1
- package/core/utility/install/{installer.js → installer.ts} +86 -62
- package/core/utility/installation.ts +2 -2
- package/core/utility/lmdb/{DBIDefinition.js → DBIDefinition.ts} +4 -1
- package/core/utility/lmdb/{DeleteRecordsResponseObject.js → DeleteRecordsResponseObject.ts} +2 -1
- package/core/utility/lmdb/{InsertRecordsResponseObject.js → InsertRecordsResponseObject.ts} +2 -1
- package/core/utility/lmdb/OpenDBIObject.ts +57 -0
- package/core/utility/lmdb/{OpenEnvironmentObject.js → OpenEnvironmentObject.ts} +19 -6
- package/core/utility/lmdb/{UpdateRecordsResponseObject.js → UpdateRecordsResponseObject.ts} +2 -1
- package/core/utility/lmdb/{UpsertRecordsResponseObject.js → UpsertRecordsResponseObject.ts} +2 -1
- package/core/utility/lmdb/{cleanLMDBMap.js → cleanLMDBMap.ts} +5 -5
- package/core/utility/lmdb/{commonUtility.js → commonUtility.ts} +13 -21
- package/core/utility/lmdb/{deleteUtility.js → deleteUtility.ts} +8 -12
- package/core/utility/lmdb/{environmentUtility.js → environmentUtility.ts} +43 -52
- package/core/utility/lmdb/{searchCursorFunctions.js → searchCursorFunctions.ts} +12 -26
- package/core/utility/lmdb/{searchUtility.js → searchUtility.ts} +75 -64
- package/core/utility/lmdb/{terms.js → terms.ts} +10 -23
- package/core/utility/lmdb/{writeUtility.js → writeUtility.ts} +37 -22
- package/core/utility/logging/{harper_logger.js → harper_logger.ts} +137 -90
- package/core/utility/logging/{logRotator.js → logRotator.ts} +15 -18
- package/core/utility/logging/logger.ts +1 -1
- package/core/utility/logging/{readLog.js → readLog.ts} +19 -19
- package/core/utility/logging/{transactionLog.js → transactionLog.ts} +10 -14
- package/core/utility/{mount_hdb.js → mount_hdb.ts} +15 -16
- package/core/utility/{npmUtilities.js → npmUtilities.ts} +14 -17
- package/core/utility/{operation_authorization.js → operation_authorization.ts} +173 -124
- package/core/utility/packageUtils.js +7 -16
- package/core/utility/password.ts +1 -1
- package/core/utility/processManagement/processManagement.js +2 -2
- package/core/utility/processManagement/servicesConfig.js +1 -1
- package/core/utility/{signalling.js → signalling.ts} +6 -11
- package/core/utility/watcherFallback.ts +74 -0
- package/core/validation/analyticsValidator.ts +44 -0
- package/core/validation/{bulkDeleteValidator.js → bulkDeleteValidator.ts} +5 -5
- package/core/validation/{check_permissions.js → check_permissions.ts} +3 -3
- package/core/validation/{common_validators.js → common_validators.ts} +12 -24
- package/core/validation/{configValidator.js → configValidator.ts} +114 -18
- package/core/validation/{deleteValidator.js → deleteValidator.ts} +5 -5
- package/core/validation/{fileLoadValidator.js → fileLoadValidator.ts} +12 -19
- package/core/validation/{insertValidator.js → insertValidator.ts} +5 -5
- package/core/validation/{installValidator.js → installValidator.ts} +8 -8
- package/core/validation/{readLogValidator.js → readLogValidator.ts} +10 -10
- package/core/validation/{role_validation.js → role_validation.ts} +26 -32
- package/core/validation/{schemaMetadataValidator.js → schemaMetadataValidator.ts} +5 -11
- package/core/validation/{searchValidator.js → searchValidator.ts} +12 -11
- package/core/validation/statusValidator.ts +1 -1
- package/core/validation/{transactionLogValidator.js → transactionLogValidator.ts} +4 -9
- package/core/validation/{user_validation.js → user_validation.ts} +4 -10
- package/core/validation/{validationWrapper.js → validationWrapper.ts} +3 -9
- package/dist/analytics/profile.js +4 -0
- package/dist/analytics/profile.js.map +1 -1
- package/dist/cloneNode/cloneNode.js +224 -12
- package/dist/cloneNode/cloneNode.js.map +1 -1
- package/dist/core/agent/agent.js +175 -0
- package/dist/core/agent/agent.js.map +1 -0
- package/dist/core/agent/loop.js +176 -0
- package/dist/core/agent/loop.js.map +1 -0
- package/dist/core/agent/operations.js +137 -0
- package/dist/core/agent/operations.js.map +1 -0
- package/dist/core/agent/session.js +182 -0
- package/dist/core/agent/session.js.map +1 -0
- package/dist/core/agent/tools/fsTools.js +286 -0
- package/dist/core/agent/tools/fsTools.js.map +1 -0
- package/dist/core/agent/tools/httpFetchTool.js +116 -0
- package/dist/core/agent/tools/httpFetchTool.js.map +1 -0
- package/dist/core/agent/tools/scheduleTool.js +54 -0
- package/dist/core/agent/tools/scheduleTool.js.map +1 -0
- package/dist/core/agent/toolset.js +33 -0
- package/dist/core/agent/toolset.js.map +1 -0
- package/dist/core/agent/types.js +10 -0
- package/dist/core/agent/types.js.map +1 -0
- package/dist/core/bin/BinObjects.js +6 -3
- package/dist/core/bin/BinObjects.js.map +1 -1
- package/dist/core/bin/cliCredentials.js +130 -0
- package/dist/core/bin/cliCredentials.js.map +1 -0
- package/dist/core/bin/cliOperations.js +254 -40
- package/dist/core/bin/cliOperations.js.map +1 -1
- package/dist/core/bin/copyDb.js +16 -16
- package/dist/core/bin/copyDb.js.map +1 -1
- package/dist/core/bin/deployRenderer.js +185 -0
- package/dist/core/bin/deployRenderer.js.map +1 -0
- package/dist/core/bin/harper.js +92 -31
- package/dist/core/bin/harper.js.map +1 -1
- package/dist/core/bin/install.js +41 -4
- package/dist/core/bin/install.js.map +1 -1
- package/dist/core/bin/lite.js +3 -4
- package/dist/core/bin/lite.js.map +1 -1
- package/dist/core/bin/login.js +123 -0
- package/dist/core/bin/login.js.map +1 -0
- package/dist/core/bin/logout.js +16 -0
- package/dist/core/bin/logout.js.map +1 -0
- package/dist/core/bin/mcp/client.js +395 -0
- package/dist/core/bin/mcp/client.js.map +1 -0
- package/dist/core/bin/mcp/doctor.js +193 -0
- package/dist/core/bin/mcp/doctor.js.map +1 -0
- package/dist/core/bin/mcp/index.js +81 -0
- package/dist/core/bin/mcp/index.js.map +1 -0
- package/dist/core/bin/mcp/options.js +113 -0
- package/dist/core/bin/mcp/options.js.map +1 -0
- package/dist/core/bin/mcp/printConfig.js +85 -0
- package/dist/core/bin/mcp/printConfig.js.map +1 -0
- package/dist/core/bin/multipartBuilder.js +55 -0
- package/dist/core/bin/multipartBuilder.js.map +1 -0
- package/dist/core/bin/restart.js +85 -48
- package/dist/core/bin/restart.js.map +1 -1
- package/dist/core/bin/run.js +123 -77
- package/dist/core/bin/run.js.map +1 -1
- package/dist/core/bin/sseConsumer.js +127 -0
- package/dist/core/bin/sseConsumer.js.map +1 -0
- package/dist/core/bin/status.js +48 -11
- package/dist/core/bin/status.js.map +1 -1
- package/dist/core/bin/stop.js +44 -7
- package/dist/core/bin/stop.js.map +1 -1
- package/dist/core/bin/upgrade.js +14 -22
- package/dist/core/bin/upgrade.js.map +1 -1
- package/dist/core/components/Application.js +134 -28
- package/dist/core/components/Application.js.map +1 -1
- package/dist/core/components/ApplicationScope.js +2 -2
- package/dist/core/components/ComponentV1.js +5 -5
- package/dist/core/components/ComponentV1.js.map +1 -1
- package/dist/core/components/EntryHandler.js +153 -13
- package/dist/core/components/EntryHandler.js.map +1 -1
- package/dist/core/components/OptionsWatcher.js +72 -10
- package/dist/core/components/OptionsWatcher.js.map +1 -1
- package/dist/core/components/Scope.js +112 -12
- package/dist/core/components/Scope.js.map +1 -1
- package/dist/core/components/anthropic/index.js +428 -0
- package/dist/core/components/anthropic/index.js.map +1 -0
- package/dist/core/components/bedrock/index.js +734 -0
- package/dist/core/components/bedrock/index.js.map +1 -0
- package/dist/core/components/componentLoader.js +65 -38
- package/dist/core/components/componentLoader.js.map +1 -1
- package/dist/core/components/deployLifecycle.js +156 -0
- package/dist/core/components/deployLifecycle.js.map +1 -0
- package/dist/core/components/deploymentOperations.js +185 -0
- package/dist/core/components/deploymentOperations.js.map +1 -0
- package/dist/core/components/deploymentRecorder.js +425 -0
- package/dist/core/components/deploymentRecorder.js.map +1 -0
- package/dist/core/components/deriveURLPath.js +2 -2
- package/dist/core/components/deriveURLPath.js.map +1 -1
- package/dist/core/components/mcp/adapters/fastify.js +66 -0
- package/dist/core/components/mcp/adapters/fastify.js.map +1 -0
- package/dist/core/components/mcp/adapters/harperHttp.js +78 -0
- package/dist/core/components/mcp/adapters/harperHttp.js.map +1 -0
- package/dist/core/components/mcp/audit.js +73 -0
- package/dist/core/components/mcp/audit.js.map +1 -0
- package/dist/core/components/mcp/index.js +109 -0
- package/dist/core/components/mcp/index.js.map +1 -0
- package/dist/core/components/mcp/jsonrpc.js +93 -0
- package/dist/core/components/mcp/jsonrpc.js.map +1 -0
- package/dist/core/components/mcp/lifecycle.js +79 -0
- package/dist/core/components/mcp/lifecycle.js.map +1 -0
- package/dist/core/components/mcp/listChanged.js +257 -0
- package/dist/core/components/mcp/listChanged.js.map +1 -0
- package/dist/core/components/mcp/rateLimit.js +226 -0
- package/dist/core/components/mcp/rateLimit.js.map +1 -0
- package/dist/core/components/mcp/resources.js +526 -0
- package/dist/core/components/mcp/resources.js.map +1 -0
- package/dist/core/components/mcp/session.js +170 -0
- package/dist/core/components/mcp/session.js.map +1 -0
- package/dist/core/components/mcp/sessionRegistry.js +124 -0
- package/dist/core/components/mcp/sessionRegistry.js.map +1 -0
- package/dist/core/components/mcp/toolRegistry.js +177 -0
- package/dist/core/components/mcp/toolRegistry.js.map +1 -0
- package/dist/core/components/mcp/tools/application.js +660 -0
- package/dist/core/components/mcp/tools/application.js.map +1 -0
- package/dist/core/components/mcp/tools/operations.js +331 -0
- package/dist/core/components/mcp/tools/operations.js.map +1 -0
- package/dist/core/components/mcp/tools/schemas/derive.js +291 -0
- package/dist/core/components/mcp/tools/schemas/derive.js.map +1 -0
- package/dist/core/components/mcp/tools/schemas/operationDescriptions.js +179 -0
- package/dist/core/components/mcp/tools/schemas/operationDescriptions.js.map +1 -0
- package/dist/core/components/mcp/tools/schemas/operations.js +299 -0
- package/dist/core/components/mcp/tools/schemas/operations.js.map +1 -0
- package/dist/core/components/mcp/transport.js +467 -0
- package/dist/core/components/mcp/transport.js.map +1 -0
- package/dist/core/components/ollama/index.js +239 -0
- package/dist/core/components/ollama/index.js.map +1 -0
- package/dist/core/components/openai/index.js +475 -0
- package/dist/core/components/openai/index.js.map +1 -0
- package/dist/core/components/operations.js +205 -52
- package/dist/core/components/operations.js.map +1 -1
- package/dist/core/components/operationsValidation.js +13 -4
- package/dist/core/components/operationsValidation.js.map +1 -1
- package/dist/core/components/packageComponent.js +87 -26
- package/dist/core/components/packageComponent.js.map +1 -1
- package/dist/core/components/requestRestart.js +12 -1
- package/dist/core/components/requestRestart.js.map +1 -1
- package/dist/core/components/status/crossThread.js +12 -5
- package/dist/core/components/status/crossThread.js.map +1 -1
- package/dist/core/components/status/errors.js +7 -7
- package/dist/core/config/RootConfigWatcher.js +52 -1
- package/dist/core/config/RootConfigWatcher.js.map +1 -1
- package/dist/core/config/configUtils.js +31 -8
- package/dist/core/config/configUtils.js.map +1 -1
- package/dist/core/config/harperConfigEnvVars.js +1 -1
- package/dist/core/config/harperConfigEnvVars.js.map +1 -1
- package/dist/core/dataLayer/CreateAttributeObject.js +4 -3
- package/dist/core/dataLayer/CreateAttributeObject.js.map +1 -1
- package/dist/core/dataLayer/CreateTableObject.js +2 -1
- package/dist/core/dataLayer/CreateTableObject.js.map +1 -1
- package/dist/core/dataLayer/DataLayerObjects.js +19 -5
- package/dist/core/dataLayer/DataLayerObjects.js.map +1 -1
- package/dist/core/dataLayer/DeleteBeforeObject.js +2 -1
- package/dist/core/dataLayer/DeleteBeforeObject.js.map +1 -1
- package/dist/core/dataLayer/DeleteObject.js +4 -3
- package/dist/core/dataLayer/DeleteObject.js.map +1 -1
- package/dist/core/dataLayer/DropAttributeObject.js +2 -1
- package/dist/core/dataLayer/DropAttributeObject.js.map +1 -1
- package/dist/core/dataLayer/GetBackupObject.js +4 -3
- package/dist/core/dataLayer/GetBackupObject.js.map +1 -1
- package/dist/core/dataLayer/InsertObject.js +4 -3
- package/dist/core/dataLayer/InsertObject.js.map +1 -1
- package/dist/core/dataLayer/ReadAuditLogObject.js +4 -3
- package/dist/core/dataLayer/ReadAuditLogObject.js.map +1 -1
- package/dist/core/dataLayer/SQLSearch.js +140 -78
- package/dist/core/dataLayer/SQLSearch.js.map +1 -1
- package/dist/core/dataLayer/SearchByConditionsObject.js +5 -7
- package/dist/core/dataLayer/SearchByConditionsObject.js.map +1 -1
- package/dist/core/dataLayer/SearchByHashObject.js +2 -1
- package/dist/core/dataLayer/SearchByHashObject.js.map +1 -1
- package/dist/core/dataLayer/SearchObject.js +2 -1
- package/dist/core/dataLayer/SearchObject.js.map +1 -1
- package/dist/core/dataLayer/SqlSearchObject.js +2 -1
- package/dist/core/dataLayer/SqlSearchObject.js.map +1 -1
- package/dist/core/dataLayer/UpdateObject.js +4 -3
- package/dist/core/dataLayer/UpdateObject.js.map +1 -1
- package/dist/core/dataLayer/UpsertObject.js +4 -3
- package/dist/core/dataLayer/UpsertObject.js.map +1 -1
- package/dist/core/dataLayer/bulkLoad.js +122 -88
- package/dist/core/dataLayer/bulkLoad.js.map +1 -1
- package/dist/core/dataLayer/delete.js +74 -39
- package/dist/core/dataLayer/delete.js.map +1 -1
- package/dist/core/dataLayer/export.js +90 -55
- package/dist/core/dataLayer/export.js.map +1 -1
- package/dist/core/dataLayer/getBackup.js +43 -11
- package/dist/core/dataLayer/getBackup.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/BridgeMethods.js +41 -20
- package/dist/core/dataLayer/harperBridge/BridgeMethods.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/ResourceBridge.js +26 -25
- package/dist/core/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/TableSizeObject.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +4 -4
- package/dist/core/dataLayer/harperBridge/harperBridge.js +38 -4
- package/dist/core/dataLayer/harperBridge/harperBridge.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +7 -6
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +4 -4
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +5 -4
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +4 -4
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +4 -4
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +5 -5
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +4 -4
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +5 -5
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +3 -3
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +2 -2
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +5 -5
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +8 -8
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +3 -3
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +3 -3
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +5 -5
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +2 -2
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +2 -2
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +4 -4
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +5 -3
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +2 -2
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +4 -4
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js.map +1 -1
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +5 -5
- package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +4 -4
- package/dist/core/dataLayer/hdbInfoController.js +66 -31
- package/dist/core/dataLayer/hdbInfoController.js.map +1 -1
- package/dist/core/dataLayer/insert.js +63 -28
- package/dist/core/dataLayer/insert.js.map +1 -1
- package/dist/core/dataLayer/readAuditLog.js +45 -13
- package/dist/core/dataLayer/readAuditLog.js.map +1 -1
- package/dist/core/dataLayer/schema.js +124 -89
- package/dist/core/dataLayer/schema.js.map +1 -1
- package/dist/core/dataLayer/schemaDescribe.js +78 -41
- package/dist/core/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/core/dataLayer/search.js +12 -13
- package/dist/core/dataLayer/search.js.map +1 -1
- package/dist/core/dataLayer/transaction.js +3 -4
- package/dist/core/dataLayer/transaction.js.map +1 -1
- package/dist/core/dataLayer/update.js +53 -18
- package/dist/core/dataLayer/update.js.map +1 -1
- package/dist/core/globals.js +1 -0
- package/dist/core/globals.js.map +1 -1
- package/dist/core/index.js +4 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/json/systemSchema.json +65 -0
- package/dist/core/launchServiceScripts/utility/checkNodeVersion.js +3 -0
- package/dist/core/launchServiceScripts/utility/checkNodeVersion.js.map +1 -1
- package/dist/core/resources/DatabaseTransaction.js +39 -15
- package/dist/core/resources/DatabaseTransaction.js.map +1 -1
- package/dist/core/resources/ErrorResource.js +3 -1
- package/dist/core/resources/ErrorResource.js.map +1 -1
- package/dist/core/resources/LMDBTransaction.js +18 -7
- package/dist/core/resources/LMDBTransaction.js.map +1 -1
- package/dist/core/resources/RecordEncoder.js +38 -38
- package/dist/core/resources/RecordEncoder.js.map +1 -1
- package/dist/core/resources/RequestTarget.js.map +1 -1
- package/dist/core/resources/Resource.js +43 -10
- package/dist/core/resources/Resource.js.map +1 -1
- package/dist/core/resources/ResourceInterface.js +20 -0
- package/dist/core/resources/ResourceInterface.js.map +1 -1
- package/dist/core/resources/Resources.js +7 -6
- package/dist/core/resources/Resources.js.map +1 -1
- package/dist/core/resources/RocksIndexStore.js +3 -0
- package/dist/core/resources/RocksIndexStore.js.map +1 -1
- package/dist/core/resources/RocksTransactionLogStore.js +10 -3
- package/dist/core/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/core/resources/Table.js +306 -116
- package/dist/core/resources/Table.js.map +1 -1
- package/dist/core/resources/analytics/metadata.js +1 -0
- package/dist/core/resources/analytics/metadata.js.map +1 -1
- package/dist/core/resources/analytics/read.js +69 -8
- package/dist/core/resources/analytics/read.js.map +1 -1
- package/dist/core/resources/analytics/write.js +232 -20
- package/dist/core/resources/analytics/write.js.map +1 -1
- package/dist/core/resources/auditStore.js +16 -8
- package/dist/core/resources/auditStore.js.map +1 -1
- package/dist/core/resources/blob.js +8 -8
- package/dist/core/resources/blob.js.map +1 -1
- package/dist/core/resources/dataLoader.js +13 -13
- package/dist/core/resources/databases.js +175 -59
- package/dist/core/resources/databases.js.map +1 -1
- package/dist/core/resources/graphql.js +267 -173
- package/dist/core/resources/graphql.js.map +1 -1
- package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +327 -59
- package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/core/resources/indexes/vector.js +14 -0
- package/dist/core/resources/indexes/vector.js.map +1 -1
- package/dist/core/resources/jsonSchemaTypes.js +78 -0
- package/dist/core/resources/jsonSchemaTypes.js.map +1 -0
- package/dist/core/resources/loadEnv.js +21 -18
- package/dist/core/resources/loadEnv.js.map +1 -1
- package/dist/core/resources/login.js +5 -4
- package/dist/core/resources/login.js.map +1 -1
- package/dist/core/resources/models/Models.js +265 -0
- package/dist/core/resources/models/Models.js.map +1 -0
- package/dist/core/resources/models/TestBackend.js +71 -0
- package/dist/core/resources/models/TestBackend.js.map +1 -0
- package/dist/core/resources/models/agentLoop.js +746 -0
- package/dist/core/resources/models/agentLoop.js.map +1 -0
- package/dist/core/resources/models/analyticsTable.js +166 -0
- package/dist/core/resources/models/analyticsTable.js.map +1 -0
- package/dist/core/resources/models/backendHelpers.js +109 -0
- package/dist/core/resources/models/backendHelpers.js.map +1 -0
- package/dist/core/resources/models/backendRegistry.js +54 -0
- package/dist/core/resources/models/backendRegistry.js.map +1 -0
- package/dist/core/resources/models/bootstrap.js +112 -0
- package/dist/core/resources/models/bootstrap.js.map +1 -0
- package/dist/core/resources/models/embedHook.js +127 -0
- package/dist/core/resources/models/embedHook.js.map +1 -0
- package/dist/core/resources/models/types.js +11 -0
- package/dist/core/resources/models/types.js.map +1 -0
- package/dist/core/resources/openApi.js +74 -34
- package/dist/core/resources/openApi.js.map +1 -1
- package/dist/core/resources/replayLogs.js +7 -1
- package/dist/core/resources/replayLogs.js.map +1 -1
- package/dist/core/resources/replayLogsGuards.js +47 -0
- package/dist/core/resources/replayLogsGuards.js.map +1 -1
- package/dist/core/resources/roles.js +67 -71
- package/dist/core/resources/roles.js.map +1 -1
- package/dist/core/resources/search.js +349 -140
- package/dist/core/resources/search.js.map +1 -1
- package/dist/core/resources/tracked.js +23 -15
- package/dist/core/resources/tracked.js.map +1 -1
- package/dist/core/resources/transaction.js +1 -1
- package/dist/core/resources/transaction.js.map +1 -1
- package/dist/core/resources/transactionBroadcast.js.map +1 -1
- package/dist/core/security/auth.js +34 -25
- package/dist/core/security/auth.js.map +1 -1
- package/dist/core/security/certificateVerification/crlVerification.js +7 -1
- package/dist/core/security/certificateVerification/crlVerification.js.map +1 -1
- package/dist/core/security/cryptoHash.js +37 -5
- package/dist/core/security/cryptoHash.js.map +1 -1
- package/dist/core/security/data_objects/PermissionAttributeResponseObject.js +4 -1
- package/dist/core/security/data_objects/PermissionAttributeResponseObject.js.map +1 -1
- package/dist/core/security/data_objects/PermissionResponseObject.js +15 -8
- package/dist/core/security/data_objects/PermissionResponseObject.js.map +1 -1
- package/dist/core/security/data_objects/PermissionTableResponseObject.js +6 -1
- package/dist/core/security/data_objects/PermissionTableResponseObject.js.map +1 -1
- package/dist/core/security/fastifyAuth.js +131 -22
- package/dist/core/security/fastifyAuth.js.map +1 -1
- package/dist/core/security/impersonation.js +15 -15
- package/dist/core/security/jsLoader.js +18 -5
- package/dist/core/security/jsLoader.js.map +1 -1
- package/dist/core/security/keys.js +160 -114
- package/dist/core/security/keys.js.map +1 -1
- package/dist/core/security/permissionsTranslator.js +2 -2
- package/dist/core/security/role.js +70 -35
- package/dist/core/security/role.js.map +1 -1
- package/dist/core/security/tokenAuthentication.js +57 -27
- package/dist/core/security/tokenAuthentication.js.map +1 -1
- package/dist/core/security/user.js +74 -38
- package/dist/core/security/user.js.map +1 -1
- package/dist/core/server/DurableSubscriptionsSession.js +71 -55
- package/dist/core/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/core/server/REST.js +17 -16
- package/dist/core/server/REST.js.map +1 -1
- package/dist/core/server/Server.js +1 -1
- package/dist/core/server/Server.js.map +1 -1
- package/dist/core/server/fastifyRoutes/helpers/getCORSOptions.js +1 -1
- package/dist/core/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +1 -1
- package/dist/core/server/fastifyRoutes/helpers/getServerOptions.js +1 -1
- package/dist/core/server/fastifyRoutes.js +34 -30
- package/dist/core/server/fastifyRoutes.js.map +1 -1
- package/dist/core/server/graphqlQuerying.js +8 -7
- package/dist/core/server/graphqlQuerying.js.map +1 -1
- package/dist/core/server/http.js +523 -47
- package/dist/core/server/http.js.map +1 -1
- package/dist/core/server/itc/serverHandlers.js +66 -15
- package/dist/core/server/itc/serverHandlers.js.map +1 -1
- package/dist/core/server/jobs/JobObject.js +53 -7
- package/dist/core/server/jobs/JobObject.js.map +1 -1
- package/dist/core/server/jobs/jobProcess.js +64 -24
- package/dist/core/server/jobs/jobProcess.js.map +1 -1
- package/dist/core/server/jobs/jobRunner.js +68 -30
- package/dist/core/server/jobs/jobRunner.js.map +1 -1
- package/dist/core/server/jobs/jobs.js +93 -61
- package/dist/core/server/jobs/jobs.js.map +1 -1
- package/dist/core/server/loadRootComponents.js +1 -1
- package/dist/core/server/middlewareChain.js +252 -0
- package/dist/core/server/middlewareChain.js.map +1 -0
- package/dist/core/server/mqtt.js +22 -17
- package/dist/core/server/mqtt.js.map +1 -1
- package/dist/core/server/nodeName.js +46 -13
- package/dist/core/server/nodeName.js.map +1 -1
- package/dist/core/server/operationsServer.js +106 -33
- package/dist/core/server/operationsServer.js.map +1 -1
- package/dist/core/server/serverHelpers/Headers.js +2 -0
- package/dist/core/server/serverHelpers/Headers.js.map +1 -1
- package/dist/core/server/serverHelpers/JSONStream.js +12 -3
- package/dist/core/server/serverHelpers/JSONStream.js.map +1 -1
- package/dist/core/server/serverHelpers/Request.js +370 -9
- package/dist/core/server/serverHelpers/Request.js.map +1 -1
- package/dist/core/server/serverHelpers/contentTypes.js +36 -7
- package/dist/core/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/core/server/serverHelpers/multipartParser.js +142 -0
- package/dist/core/server/serverHelpers/multipartParser.js.map +1 -0
- package/dist/core/server/serverHelpers/progressEmitter.js +103 -0
- package/dist/core/server/serverHelpers/progressEmitter.js.map +1 -0
- package/dist/core/server/serverHelpers/serverHandlers.js +38 -7
- package/dist/core/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/core/server/serverHelpers/serverUtilities.js +97 -93
- package/dist/core/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/core/server/static.js +8 -5
- package/dist/core/server/static.js.map +1 -1
- package/dist/core/server/status/index.js +3 -3
- package/dist/core/server/storageReclamation.js +68 -9
- package/dist/core/server/storageReclamation.js.map +1 -1
- package/dist/core/server/threads/itc.js +7 -4
- package/dist/core/server/threads/itc.js.map +1 -1
- package/dist/core/server/threads/manageThreads.js +110 -26
- package/dist/core/server/threads/manageThreads.js.map +1 -1
- package/dist/core/server/threads/socketRouter.js +8 -271
- package/dist/core/server/threads/socketRouter.js.map +1 -1
- package/dist/core/server/threads/threadServer.js +360 -118
- package/dist/core/server/threads/threadServer.js.map +1 -1
- package/dist/core/server/threads/workerProcessGuard.js +114 -0
- package/dist/core/server/threads/workerProcessGuard.js.map +1 -0
- package/dist/core/server/throttle.js +17 -0
- package/dist/core/server/throttle.js.map +1 -1
- package/dist/core/sqlTranslator/SelectValidator.js +86 -47
- package/dist/core/sqlTranslator/SelectValidator.js.map +1 -1
- package/dist/core/sqlTranslator/alasqlFunctionImporter.js +40 -3
- package/dist/core/sqlTranslator/alasqlFunctionImporter.js.map +1 -1
- package/dist/core/sqlTranslator/deleteTranslator.js +48 -14
- package/dist/core/sqlTranslator/deleteTranslator.js.map +1 -1
- package/dist/core/sqlTranslator/index.js +69 -30
- package/dist/core/sqlTranslator/index.js.map +1 -1
- package/dist/core/sqlTranslator/sql_statement_bucket.js +55 -13
- package/dist/core/sqlTranslator/sql_statement_bucket.js.map +1 -1
- package/dist/core/upgrade/UpgradeObjects.js +37 -4
- package/dist/core/upgrade/UpgradeObjects.js.map +1 -1
- package/dist/core/upgrade/directives/5-1-0.js +114 -0
- package/dist/core/upgrade/directives/5-1-0.js.map +1 -0
- package/dist/core/upgrade/directives/directivesController.js +52 -11
- package/dist/core/upgrade/directives/directivesController.js.map +1 -1
- package/dist/core/upgrade/directivesManager.js +53 -18
- package/dist/core/upgrade/directivesManager.js.map +1 -1
- package/dist/core/upgrade/upgradePrompt.js +55 -60
- package/dist/core/upgrade/upgradePrompt.js.map +1 -1
- package/dist/core/upgrade/upgradeUtilities.js +37 -5
- package/dist/core/upgrade/upgradeUtilities.js.map +1 -1
- package/dist/core/utility/OperationFunctionCaller.js +45 -10
- package/dist/core/utility/OperationFunctionCaller.js.map +1 -1
- package/dist/core/utility/assignCmdEnvVariables.js +8 -4
- package/dist/core/utility/assignCmdEnvVariables.js.map +1 -1
- package/dist/core/utility/common_utils.js +140 -79
- package/dist/core/utility/common_utils.js.map +1 -1
- package/dist/core/utility/environment/environmentManager.js +75 -29
- package/dist/core/utility/environment/environmentManager.js.map +1 -1
- package/dist/core/utility/environment/systemInformation.js +27 -16
- package/dist/core/utility/environment/systemInformation.js.map +1 -1
- package/dist/core/utility/errors/commonErrors.js +49 -18
- package/dist/core/utility/errors/commonErrors.js.map +1 -1
- package/dist/core/utility/errors/hdbError.js +65 -26
- package/dist/core/utility/errors/hdbError.js.map +1 -1
- package/dist/core/utility/expandEnvVar.js +113 -0
- package/dist/core/utility/expandEnvVar.js.map +1 -0
- package/dist/core/utility/functions/geo.js +2 -2
- package/dist/core/utility/functions/sql/alaSQLExtension.js +1 -1
- package/dist/core/utility/globalSchema.js +14 -11
- package/dist/core/utility/globalSchema.js.map +1 -1
- package/dist/core/utility/hdbTerms.js +54 -1
- package/dist/core/utility/hdbTerms.js.map +1 -1
- package/dist/core/utility/install/checkJWTTokensExist.js +1 -1
- package/dist/core/utility/install/installer.js +136 -73
- package/dist/core/utility/install/installer.js.map +1 -1
- package/dist/core/utility/installation.js +3 -3
- package/dist/core/utility/lmdb/DBIDefinition.js +5 -1
- package/dist/core/utility/lmdb/DBIDefinition.js.map +1 -1
- package/dist/core/utility/lmdb/DeleteRecordsResponseObject.js +2 -1
- package/dist/core/utility/lmdb/DeleteRecordsResponseObject.js.map +1 -1
- package/dist/core/utility/lmdb/InsertRecordsResponseObject.js +2 -1
- package/dist/core/utility/lmdb/InsertRecordsResponseObject.js.map +1 -1
- package/dist/core/utility/lmdb/OpenDBIObject.js +68 -6
- package/dist/core/utility/lmdb/OpenDBIObject.js.map +1 -1
- package/dist/core/utility/lmdb/OpenEnvironmentObject.js +52 -4
- package/dist/core/utility/lmdb/OpenEnvironmentObject.js.map +1 -1
- package/dist/core/utility/lmdb/UpdateRecordsResponseObject.js +2 -1
- package/dist/core/utility/lmdb/UpdateRecordsResponseObject.js.map +1 -1
- package/dist/core/utility/lmdb/UpsertRecordsResponseObject.js +2 -1
- package/dist/core/utility/lmdb/UpsertRecordsResponseObject.js.map +1 -1
- package/dist/core/utility/lmdb/cleanLMDBMap.js +44 -7
- package/dist/core/utility/lmdb/cleanLMDBMap.js.map +1 -1
- package/dist/core/utility/lmdb/commonUtility.js +46 -17
- package/dist/core/utility/lmdb/commonUtility.js.map +1 -1
- package/dist/core/utility/lmdb/deleteUtility.js +51 -16
- package/dist/core/utility/lmdb/deleteUtility.js.map +1 -1
- package/dist/core/utility/lmdb/environmentUtility.js +91 -51
- package/dist/core/utility/lmdb/environmentUtility.js.map +1 -1
- package/dist/core/utility/lmdb/searchCursorFunctions.js +46 -14
- package/dist/core/utility/lmdb/searchCursorFunctions.js.map +1 -1
- package/dist/core/utility/lmdb/searchUtility.js +91 -55
- package/dist/core/utility/lmdb/searchUtility.js.map +1 -1
- package/dist/core/utility/lmdb/terms.js +12 -22
- package/dist/core/utility/lmdb/terms.js.map +1 -1
- package/dist/core/utility/lmdb/writeUtility.js +61 -28
- package/dist/core/utility/lmdb/writeUtility.js.map +1 -1
- package/dist/core/utility/logging/harper_logger.js +177 -82
- package/dist/core/utility/logging/harper_logger.js.map +1 -1
- package/dist/core/utility/logging/logRotator.js +67 -32
- package/dist/core/utility/logging/logRotator.js.map +1 -1
- package/dist/core/utility/logging/logger.js +4 -4
- package/dist/core/utility/logging/readLog.js +54 -17
- package/dist/core/utility/logging/readLog.js.map +1 -1
- package/dist/core/utility/logging/transactionLog.js +51 -16
- package/dist/core/utility/logging/transactionLog.js.map +1 -1
- package/dist/core/utility/mount_hdb.js +54 -17
- package/dist/core/utility/mount_hdb.js.map +1 -1
- package/dist/core/utility/npmUtilities.js +54 -19
- package/dist/core/utility/npmUtilities.js.map +1 -1
- package/dist/core/utility/operation_authorization.js +135 -86
- package/dist/core/utility/operation_authorization.js.map +1 -1
- package/dist/core/utility/packageUtils.js +7 -17
- package/dist/core/utility/packageUtils.js.map +1 -1
- package/dist/core/utility/password.js +2 -2
- package/dist/core/utility/processManagement/processManagement.js +2 -2
- package/dist/core/utility/processManagement/servicesConfig.js +1 -1
- package/dist/core/utility/signalling.js +51 -16
- package/dist/core/utility/signalling.js.map +1 -1
- package/dist/core/utility/watcherFallback.js +73 -0
- package/dist/core/utility/watcherFallback.js.map +1 -0
- package/dist/core/validation/analyticsValidator.js +80 -0
- package/dist/core/validation/analyticsValidator.js.map +1 -0
- package/dist/core/validation/bulkDeleteValidator.js +49 -11
- package/dist/core/validation/bulkDeleteValidator.js.map +1 -1
- package/dist/core/validation/check_permissions.js +38 -3
- package/dist/core/validation/check_permissions.js.map +1 -1
- package/dist/core/validation/common_validators.js +62 -31
- package/dist/core/validation/common_validators.js.map +1 -1
- package/dist/core/validation/configValidator.js +189 -54
- package/dist/core/validation/configValidator.js.map +1 -1
- package/dist/core/validation/deleteValidator.js +49 -11
- package/dist/core/validation/deleteValidator.js.map +1 -1
- package/dist/core/validation/fileLoadValidator.js +67 -32
- package/dist/core/validation/fileLoadValidator.js.map +1 -1
- package/dist/core/validation/insertValidator.js +48 -10
- package/dist/core/validation/insertValidator.js.map +1 -1
- package/dist/core/validation/installValidator.js +47 -10
- package/dist/core/validation/installValidator.js.map +1 -1
- package/dist/core/validation/readLogValidator.js +60 -22
- package/dist/core/validation/readLogValidator.js.map +1 -1
- package/dist/core/validation/role_validation.js +55 -19
- package/dist/core/validation/role_validation.js.map +1 -1
- package/dist/core/validation/schemaMetadataValidator.js +11 -12
- package/dist/core/validation/schemaMetadataValidator.js.map +1 -1
- package/dist/core/validation/searchValidator.js +82 -43
- package/dist/core/validation/searchValidator.js.map +1 -1
- package/dist/core/validation/transactionLogValidator.js +52 -17
- package/dist/core/validation/transactionLogValidator.js.map +1 -1
- package/dist/core/validation/user_validation.js +38 -6
- package/dist/core/validation/user_validation.js.map +1 -1
- package/dist/core/validation/validationWrapper.js +4 -5
- package/dist/core/validation/validationWrapper.js.map +1 -1
- package/dist/licensing/usageLicensing.js +30 -21
- package/dist/licensing/usageLicensing.js.map +1 -1
- package/dist/replication/knownNodes.js +171 -41
- package/dist/replication/knownNodes.js.map +1 -1
- package/dist/replication/replicationConnection.js +441 -85
- package/dist/replication/replicationConnection.js.map +1 -1
- package/dist/replication/replicator.js +56 -28
- package/dist/replication/replicator.js.map +1 -1
- package/dist/replication/setNode.js +24 -4
- package/dist/replication/setNode.js.map +1 -1
- package/dist/replication/subscriptionManager.js +195 -16
- package/dist/replication/subscriptionManager.js.map +1 -1
- package/dist/security/certificate.js +41 -6
- package/dist/security/certificate.js.map +1 -1
- package/dist/security/sshKeyOperations.js +35 -2
- package/dist/security/sshKeyOperations.js.map +1 -1
- package/licensing/usageLicensing.ts +32 -37
- package/npm-shrinkwrap.json +9032 -4334
- package/package.json +17 -12
- package/replication/DESIGN.md +139 -0
- package/replication/knownNodes.ts +165 -44
- package/replication/replicationConnection.ts +475 -92
- package/replication/replicator.ts +54 -27
- package/replication/setNode.ts +29 -10
- package/replication/subscriptionManager.ts +227 -21
- package/security/certificate.ts +8 -4
- package/security/sshKeyOperations.ts +1 -1
- package/static/defaultConfig.yaml +1 -0
- package/studio/web/assets/{index-CybLScHg.js → index-Dqr9oVhe.js} +5 -5
- package/studio/web/assets/index-Dqr9oVhe.js.map +1 -0
- package/studio/web/assets/{index.lazy-DKx5-iXF.js → index.lazy-CpKcKb7M.js} +2 -2
- package/studio/web/assets/{index.lazy-DKx5-iXF.js.map → index.lazy-CpKcKb7M.js.map} +1 -1
- package/studio/web/assets/{profile-BOjes0Wl.js → profile-C1cujdsg.js} +2 -2
- package/studio/web/assets/{profile-BOjes0Wl.js.map → profile-C1cujdsg.js.map} +1 -1
- package/studio/web/assets/{status-EWKUIrjT.js → status-CTiIIQlY.js} +2 -2
- package/studio/web/assets/{status-EWKUIrjT.js.map → status-CTiIIQlY.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/core/bin/cliOperations.js +0 -159
- package/core/bin/lite.js +0 -5
- package/core/bin/stop.js +0 -21
- package/core/dataLayer/harperBridge/BridgeMethods.js +0 -85
- package/core/utility/globalSchema.js +0 -35
- package/core/utility/lmdb/OpenDBIObject.js +0 -31
- package/studio/web/assets/index-CybLScHg.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicator.js","sourceRoot":"","sources":["../../replication/replicator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replicator.js","sourceRoot":"","sources":["../../replication/replicator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEH,gEAaC;AAMD,sBAwLC;AACD,wCAcC;AACD,gDAEC;AAyCD,sCA6GC;AASD,oDAEC;AA2DD,kDAmBC;AAMD,0CA2CC;AACD,kDAiBC;AAMD,sCAEC;AAUD,gEAIC;AASD,8DAiBC;AAuBD,gDAyCC;AAhsBD,iEAMwC;AACxC,+DAAyD;AACzD,mFAA6E;AAC7E,yEAOoC;AACpC,wDAAkD;AAClD,uFAAyE;AACzE,iFAAmE;AACnE,gFAAsF;AACtF,mEAA6D;AAApD,2HAAA,iBAAiB,OAAA;AAC1B,mDAOyB;AACzB,6DAA4D;AAC5D,yEAAwF;AACxF,8CAAgC;AAChC,oEAAiE;AACjE,mDAA8C;AAC9C,sDAAuE;AACvE,sDAA4D;AAE5D,oCAAoC;AACpC,wBAAsB;AACtB,8BAA4B;AAC5B,qCAAmC;AACnC,2CAAyC;AAEzC,0GAA0G;AAC1G,+GAA+G;AAC/G,2GAA2G;AAC3G,8GAA8G;AAC9G,mGAAmG;AACnG,oCAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5C,IAAI,mBAAmB,CAAC;AACxB,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAkB;AAErB,QAAA,OAAO,GAAG,EAAE,CAAC;AAC1B,sHAAsH;AACtH,2DAA2D;AAC9C,QAAA,iCAAiC,GAC7C,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,yBAAyB,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;AAExG;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,kBAAuB;IACjE,iEAAiE;IACjE,0EAA0E;IAE1E,uFAAuF;IACvF,IAAI,kBAAkB,EAAE,IAAI,IAAI,OAAO,kBAAkB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7E,6CAA6C;QAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,qFAAqF;IACrF,2DAA2D;IAC3D,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAAO;IAC5B,MAAM,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACnD,mCAAmC;QACnC,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAA,4BAAiB,GAAE,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,mCAAmC;QACnC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,IAAA,4BAAiB,GAAE,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1C,sFAAsF;QACtF,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,0BAA0B,CAAC,CAAC;QACjE,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE,kBAAM,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,kBAAM,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IACpH,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,IAAA,6BAAa,EAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAEjC,iEAAiE;IACjE,iEAAiE;IACjE,MAAM,UAAU,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAEvD,OAAO,GAAG;QACT,+EAA+E;QAC/E,SAAS,EAAE,aAAa,EAAE,yCAAyC;QACnE,UAAU,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,mEAAmE;QACxG,GAAG,OAAO;QACV,IAAI,EAAE,UAAU,EAAE,iEAAiE;KACnF,CAAC;IACF,6CAA6C;IAC7C,mBAAmB;IACnB,MAAM,SAAS,GAAG,kBAAM,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE;QACxE,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,yBAAyB,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAC3C,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,oDAAoD;QACxE,IAAA,0CAAe,EACd,EAAE,EACF,OAAO,EACP,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CACzC,CAAC;QACF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;IACJ,CAAC,EAAE,OAAO,CAAC,CAAC;IACZ,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,kFAAkF;IAClF,uGAAuG;IACvG,kBAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;QAC1C,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,yBAAyB,EAAE,CAAC;YACxG,MAAM,CAAC,KAAK,CAAC,2DAA2D,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/F,MAAM,kBAAkB,GAAI,OAAO,CAAC,YAAY,CAAC,MAAc,CAAC,kBAAkB,CAAC;YACnF,IAAI,kBAAkB,EAAE,CAAC;gBACxB,IAAI,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;oBAC/C,MAAM,CAAC,KAAK,CACX,mCAAmC,OAAO,CAAC,eAAe,EAAE,cAAc,IAAI,OAAO,CAAC,EAAE,6BAA6B,EACrH,kBAAkB,CAClB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CACX,mCAAmC,OAAO,CAAC,eAAe,EAAE,cAAc,IAAI,OAAO,CAAC,EAAE,6KAA6K,EACrQ,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,CAAC,eAAe,CAAC,MAAM,EAC9B,iCAAiC,EACjC,KAAK,CAAC,IAAI,CAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CACpG,CAAC;gBACH,CAAC;YACF,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,+BAAe,GAAE,CAAC,YAAY,CAAC;YACrD,yFAAyF;YACzF,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;gBAClE,MAAM,SAAS,GAAG,IAAA,qCAA2B,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACvE,IAAI,IAAS,CAAC;gBACd,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAClC,IAAI,GAAG,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAClF,IAAI,IAAI;wBAAE,MAAM;gBACjB,CAAC;gBACD,IAAI,IAAI,EAAE,CAAC;oBACV,mCAAmC;oBACnC,4EAA4E;oBAC5E,MAAM,kBAAkB,GAAG,MAAM,IAAA,4BAAiB,EAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC1F,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CACV,kCAAkC,EAClC,kBAAkB,CAAC,MAAM,EACzB,UAAU,EACV,IAAI,CAAC,IAAI,EACT,2BAA2B,EAC3B,OAAO,CAAC,eAAe,CAAC,YAAY,CACpC,CAAC;wBACF,OAAO;oBACR,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,IAAI,EAAE,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;wBAChF,MAAM,CAAC,IAAI,CACV,wDAAwD,EACxD,IAAI,CAAC,IAAI,EACT,2BAA2B,EAC3B,OAAO,CAAC,eAAe,CAAC,YAAY,CACpC,CAAC;wBACF,OAAO;oBACR,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,kIAAkI;oBAClI,MAAM,CAAC,IAAI,CACV,mDAAmD,SAAS,yBAAyB,KAAK,CAAC,IAAI,CAC9F,aAAa;yBACX,QAAQ,CAAC,EAAE,CAAC;yBACZ,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;yBAC5B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CACvB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACjE,IAAI,CACJ,wCAAwC,CACzC,CAAC;gBACH,CAAC;YACF,CAAC;iBAAM,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBACvB,oBAAoB;gBACpB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC9E,IAAI,IAAI,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACrB,CAAC;qBAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CACV,gCAAgC,OAAO,CAAC,EAAE,yBAAyB,KAAK,CAAC,IAAI,CAC5E,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAChE,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CACpD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,4EAA4E;IAC5E,MAAM,eAAe,GAAmB,EAAE,CAAC;IAC3C,mBAAmB;IACnB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,8FAA8F;YAC9F,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC3B,gHAAgH;gBAChH,kFAAkF;gBAClF,oDAAoD;gBACpD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,IAAI,QAAQ,CAAC,cAAc;oBAAE,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAC3E,KAAK,MAAM,OAAO,IAAI,gBAA4B,EAAE,CAAC;oBACpD,IAAI,CAAC;wBACJ,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,yCAAiC,CAAC,CAAC;wBACzD,6EAA6E;wBAC7E,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY;4BAAE,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;wBACpF,MAAM,UAAU;wBACf,yDAAyD;wBACzD,mDAAmD;wBACnD,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;wBAC5B,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;oBAC9D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;oBAC9D,CAAC;gBACF,CAAC;YACF,CAAC,CAAC;YACF,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtD,uFAAuF;YACvF,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,GAAG,CAAC,2BAAa,CAAC,yBAAyB,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChE,gIAAgI;gBAChI,cAAc,EAAE,CAAC;YAClB,CAAC;QACF,CAAC;IACF,CAAC;IACD,wHAAwH;IACxH,cAAc,CAAC,GAAG,EAAE;QACnB,KAAK,MAAM,cAAc,IAAI,eAAe;YAAE,cAAc,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;AACJ,CAAC;AACD,SAAgB,cAAc,CAAC,QAAoB;IAClD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAA,sCAAsB,EAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;YACd,0CAA0C;YAC1C,yCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,gGAAgG;YAChG,IAAI,yCAAiC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC5D,WAAW,GAAG,yCAAiC,CAAC,IAAI,CAAC;gBACrD,QAAQ,EAAE,EAAE,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AACD,SAAgB,kBAAkB,CAAC,QAAQ,GAAG,IAAI;IACjD,mBAAmB,GAAG,QAAQ,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,OAAO;IACvC,IAAI,mBAAmB;QAAE,OAAO;IAChC,IAAA,2BAAY,GAAE,CAAC;IACf,wBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,oFAAoF;IACpF,yBAAyB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,uEAAuE;YACvE,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,IAAI,gDAAqB,CAAC;YAC/E,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC;gBACjD,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACrD,IAAI,YAAY,EAAE,CAAC;oBAClB,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBAClC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;YACD,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,OAAO;QACR,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClC,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5C,+CAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,MAAc,EAAE,KAAU,EAAE,OAAY;IACrE,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,IAAI,kBAAkB,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO;IAC9F,oEAAoE;IACpE,gDAAgD;IAChD,KAAK,CAAC,WAAW;IAChB,oEAAoE;IACpE,MAAM,UAAW,SAAQ,sBAAQ;QAChC;;;;WAIG;QACH,MAAM,CAAC,UAAU,CAA4B;QAC7C,MAAM,CAAC,YAAY,CAAqB;QACxC,MAAM,CAAC,KAAK,CAAC,SAAS;YACrB,MAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,IAAI,gDAAqB,CAAC;YAC/E,IAAI,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,YAAY,EAAE,SAAS,IAAI,EAAE,CAAC;YAChD,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACjC,MAAM,OAAO,GAAG,YAAY,EAAE,KAAK,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;gBAC/B,2FAA2F;gBAC3F,iDAAiD;gBACjD,yGAAyG;gBACzG,sBAAsB;gBACtB,IAAI,CAAC,YAAY,GAAG,YAAY,GAAG,IAAI,0CAAkB,EAAE,CAAC;gBAC5D,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC1C,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;gBACnC,YAAY,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC3C,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACnC,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC;gBACnC,IAAI,OAAO;oBAAE,OAAO,CAAC,YAAY,CAAC,CAAC;gBACnC,OAAO,YAAY,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,aAAa;YACvD,6FAA6F;YAC7F,0BAA0B;YAC1B,OAAO,IAAI,CAAC;QACb,CAAC;QAED;;;;WAIG;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAU;YAC3B,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;gBACtC,MAAM,SAAS,GAAa,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC9G,IAAI,SAAS,EAAE,CAAC;oBACf,IAAI,UAAiB,CAAC;oBACtB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;oBACzC,GAAG,CAAC;wBACH,mIAAmI;wBACnI,oEAAoE;wBACpE,IAAI,cAAyC,CAAC;wBAC9C,IAAI,QAAQ,GAAG,EAAE,CAAC;wBAClB,IAAI,WAAW,GAAG,QAAQ,CAAC;wBAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;4BAClC,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;gCAAE,SAAS;4BAC3C,IAAI,QAAQ,KAAK,kBAAM,CAAC,QAAQ;gCAAE,SAAS,CAAC,qCAAqC;4BACjF,MAAM,UAAU,GAAG,4BAA4B,CAAC,QAAQ,EAAE,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;4BAC3F,uEAAuE;4BACvE,IAAI,UAAU,EAAE,WAAW,EAAE,CAAC;gCAC7B,iCAAiC;gCACjC,MAAM,OAAO,GAAG,IAAA,0CAA0B,EAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,2CAAgB,CAAC,CAAC;gCACjG,qFAAqF;gCACrF,IAAI,CAAC,cAAc,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oCAC9C,cAAc,GAAG,UAAU,CAAC;oCAC5B,QAAQ,GAAG,QAAQ,CAAC;oCACpB,WAAW,GAAG,OAAO,CAAC;gCACvB,CAAC;4BACF,CAAC;wBACF,CAAC;wBACD,mDAAmD;wBACnD,IAAI,CAAC,cAAc;4BAClB,MAAM,CACL,UAAU,IAAI,IAAI,yBAAW,CAAC,mDAAmD,SAAS,EAAE,EAAE,GAAG,CAAC,CAClG,CAAC;wBACH,MAAM,OAAO,GAAG;4BACf,SAAS,EAAE,MAAM,EAAE;4BACnB,KAAK;4BACL,KAAK;4BACL,EAAE,EAAE,KAAK,CAAC,GAAG;yBACb,CAAC;wBACF,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC7B,IAAI,CAAC;4BACJ,OAAO,MAAM,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;wBAChD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,yDAAyD;4BACzD,IAAI,cAAc,CAAC,WAAW;gCAAE,MAAM,KAAK,CAAC;4BAC5C,2FAA2F;4BAC3F,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;4BACxD,IAAI,CAAC,UAAU;gCAAE,UAAU,GAAG,KAAK,CAAC;wBACrC,CAAC;oBACF,CAAC,QAAQ,IAAI,EAAE;gBAChB,CAAC;YACF,CAAC;QACF,CAAC;QACD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;KAC3B,EACD,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC5B,CAAC;AACH,CAAC;AACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkD,CAAC;AAE9E,gGAAgG;AAChG,6FAA6F;AAC7F,mGAAmG;AACnG,mGAAmG;AACnG,oGAAoG;AACpG,qFAAqF;AACrF,SAAgB,oBAAoB,CAAC,UAAsC;IAC1E,OAAO,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC;AACxF,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CACjC,eAAuB,EACvB,aAAqB,EACrB,YAAiB,EACjB,MAAc,EACd,QAAiB,EACjB,aAAsB;IAEtB,MAAM,aAAa,GAAG,aAAa,GAAG,GAAG,GAAG,eAAe,CAAC;IAC5D,IAAI,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,oBAAoB,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACxD,IAAI,YAAY,EAAE,CAAC;QAClB,aAAa,CAAC,GAAG,CAChB,MAAM,EACN,CAAC,UAAU,GAAG,IAAI,oDAAyB,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAC1G,CAAC;QACF,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YAChC,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU;gBAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACnB,CAAC;AACF,CAAC;AACD,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAkD,CAAC;AACjG;;KAEK;AACL,SAAS,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM;IACnE,IAAI,aAAa,GAAG,8BAA8B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,8BAA8B,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,oBAAoB,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACxD,MAAM,IAAI,GAAG,IAAA,+BAAe,GAAE,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;QACf,UAAU,GAAG,IAAI,oDAAyB,CAAC,IAAA,0BAAU,EAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACjH,uBAAuB;QACvB,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtC,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAQ;IAClE,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,IAAA,0CAAe,EAAC,IAAA,0BAAU,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAA,0CAAe,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,IAAA,0BAAU,EAAC,IAAI,CAAC,GAAG,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3F,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,kCAAkC,GAAG,IAAA,0BAAU,EAAC,IAAI,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACf,MAAM,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,OAAY;IAC3C,IAAI,CAAC;QACJ,IAAI,6BAAY,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CACV,2EAA2E,EAC3E,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EACpB,OAAO,CAAC,QAAQ,CAChB,CAAC;QACH,CAAC;QACD,IAAI,mBAAmB,GAAG,gDAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1B,4BAA4B;YAC5B,IAAI,KAAK,CAAC;YACV,mBAAmB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7C,MAAM,CAAC,IAAI,CAAC,uCAAuC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxE,KAAK,GAAG,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,mBAAmB,CAAC,KAAK,GAAG,KAAK,CAAC;YAClC,gDAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,UAAU,GAAG,yBAAyB,CAC3C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EACpB,OAAO,CAAC,GAAG,EACX,mBAAmB,EACnB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAC9B,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzC,kCAAkC;YAClC,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,CAAC;QACD,UAAU,CAAC,SAAS,CACnB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,OAAO,IAAA,uCAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC,CAAC,EACF,OAAO,CAAC,kBAAkB,CAC1B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;AACF,CAAC;AACM,KAAK,UAAU,mBAAmB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IACjE,MAAM,CAAC,KAAK,CACX,yBAAyB,EACzB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,KAAK,CAAC,IAAI,CAAC,IAAA,+BAAe,GAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CACvD,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACrD,IAAI,aAAa,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,EAAE,CAAC;YAChB,UAAU,CAAC,WAAW,EAAE,CAAC;YACzB,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;AACF,CAAC;AAEA,kBAAc,CAAC,WAAW,GAAG;IAC7B,eAAe,EAAf,kCAAe;IACf,iBAAiB,EAAjB,oCAAiB;CACjB,CAAC;AACF,SAAgB,aAAa,CAAC,OAAO;IACpC,IAAI,OAAO;QAAE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,wGAAwG;AACxJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,0BAA0B,CAAC,OAAO,EAAE,QAAQ;IAC3D,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,mBAAmB,CAAC,wBAAS,CAAC,EAAE,CAAC;QAClE,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAC,OAAO,EAAE,QAAQ;IAC1D,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,kFAAkF;IAClF,sFAAsF;IACtF,yEAAyE;IACzE,MAAM,eAAe,GAAG,IAAA,0BAAW,EAAC,CAAC,YAAY,EAAE,EAAE;QACpD,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,IAAA,6BAAc,EAAC,CAAC,KAAK,EAAE,EAAE;QAChD,qBAAqB,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,OAAO;QACN,MAAM;YACL,eAAe,CAAC,MAAM,EAAE,CAAC;YACzB,eAAe,CAAC,MAAM,EAAE,CAAC;QAC1B,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ;IAC7D,MAAM,QAAQ,GAAG,wBAAS,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAClF,IACC,OAAO,EAAE,SAAS,KAAK,SAAS;QAChC,OAAO,CAAC,SAAS,KAAK,GAAG;QACzB,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC;QACtE,CAAC,QAAQ;QAET,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;SACnC,IAAI,4BAA4B,CAAC,YAAY,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9F,CAAC;AACD,SAAS,4BAA4B,CAAC,YAAY;IACjD,MAAM,QAAQ,GAAG,wBAAS,CAAC,YAAY,CAAC,CAAC;IACzC,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;IAClC,CAAC;AACF,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,GAAG,EAAE,OAAkD;IAC/F,MAAM,QAAQ,GAA4C,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC1E,IAAI,GAAG,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC9B,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,8DAA8D;QACtF,MAAM,CAAC,KAAK,EAAE,CACb,uBAAuB,EACvB,GAAG,CAAC,SAAS,EACb,UAAU,EACV,kBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACrC,CAAC;QACF,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,oDAAoD;QACpD,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;QAC3C,MAAM,OAAO,GAAG,kBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC;aAC5B,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;YACpB,MAAM,MAAM,GAAQ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3E,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,OAAO,MAAM,CAAC;QACf,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAChB,IAAI,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACJ,YAAY,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,EAAE,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;gBAC7D,CAAC;YACF,CAAC;YACD,OAAO,MAAM,CAAC;QACf,CAAC,CAAC,CACH,CAAC;QACF,QAAQ,CAAC,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AACD,kBAAM,CAAC,WAAW,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AAC3D,kBAAM,CAAC,WAAW,CAAC,cAAc,GAAG,cAAc,CAAC;AACnD,kBAAM,CAAC,WAAW,CAAC,mBAAmB,GAAG,mBAAmB,CAAC"}
|
|
@@ -57,18 +57,21 @@ const { HTTP_STATUS_CODES } = hdbError_js_1.hdbErrors;
|
|
|
57
57
|
const validationSchema = joi_1.default.object({
|
|
58
58
|
hostname: joi_1.default.string(),
|
|
59
59
|
verify_tls: joi_1.default.boolean(),
|
|
60
|
-
replicates: joi_1.default.boolean(),
|
|
60
|
+
replicates: joi_1.default.alternatives().try(joi_1.default.boolean(), joi_1.default.object()),
|
|
61
|
+
sendsTo: joi_1.default.array(),
|
|
62
|
+
receivesFrom: joi_1.default.array(),
|
|
61
63
|
subscriptions: joi_1.default.array(),
|
|
62
64
|
revoked_certificates: joi_1.default.array(),
|
|
63
65
|
shard: joi_1.default.number(),
|
|
66
|
+
isLeader: joi_1.default.boolean(),
|
|
64
67
|
});
|
|
65
68
|
/**
|
|
66
69
|
* Can add, update or remove a node from replication
|
|
67
70
|
* @param req
|
|
68
71
|
*/
|
|
69
72
|
async function setNode(req) {
|
|
70
|
-
if (
|
|
71
|
-
req.hostname = req.node_name;
|
|
73
|
+
if (!req.hostname)
|
|
74
|
+
req.hostname = req.node_name || req.name;
|
|
72
75
|
if (req.verify_tls !== undefined)
|
|
73
76
|
req.rejectUnauthorized = req.verify_tls;
|
|
74
77
|
let { url, hostname } = req;
|
|
@@ -147,6 +150,12 @@ async function setNode(req) {
|
|
|
147
150
|
}
|
|
148
151
|
else
|
|
149
152
|
targetAddNodeObj.subscriptions = null;
|
|
153
|
+
// Pass route exclusions to the peer with directions swapped: what LOCAL sends to PEER
|
|
154
|
+
// becomes what PEER receives from LOCAL, and vice versa.
|
|
155
|
+
if (req.sendsTo || req.receivesFrom) {
|
|
156
|
+
targetAddNodeObj.sendsTo = req.receivesFrom;
|
|
157
|
+
targetAddNodeObj.receivesFrom = req.sendsTo;
|
|
158
|
+
}
|
|
150
159
|
if (req.hasOwnProperty('subscribe') || req.hasOwnProperty('publish')) {
|
|
151
160
|
const rev = reverseSubscription(req);
|
|
152
161
|
targetAddNodeObj.subscribe = rev.subscribe;
|
|
@@ -158,7 +167,7 @@ async function setNode(req) {
|
|
|
158
167
|
}
|
|
159
168
|
let targetNodeResponse;
|
|
160
169
|
let targetNodeResponseError;
|
|
161
|
-
hdbLogger.
|
|
170
|
+
hdbLogger.notify('sending add_node_back operation', targetAddNodeObj);
|
|
162
171
|
try {
|
|
163
172
|
targetNodeResponse = await (0, replicator_ts_1.sendOperationToNode)({ url }, targetAddNodeObj, req);
|
|
164
173
|
}
|
|
@@ -199,6 +208,8 @@ async function setNode(req) {
|
|
|
199
208
|
nodeRecord.name = req.hostname;
|
|
200
209
|
if (req.subscriptions)
|
|
201
210
|
nodeRecord.subscriptions = req.subscriptions;
|
|
211
|
+
else if (req.sendsTo || req.receivesFrom)
|
|
212
|
+
nodeRecord.replicates = { sends: true, sendsTo: req.sendsTo, receivesFrom: req.receivesFrom };
|
|
202
213
|
else
|
|
203
214
|
nodeRecord.replicates = true;
|
|
204
215
|
if (req.start_time) {
|
|
@@ -212,6 +223,11 @@ async function setNode(req) {
|
|
|
212
223
|
nodeRecord.shard = targetNodeResponse.shard;
|
|
213
224
|
else if (req.shard !== undefined)
|
|
214
225
|
nodeRecord.shard = req.shard;
|
|
226
|
+
// isLeader is LOCAL-ONLY: it means "this peer is my leader; request a full-table copy from it".
|
|
227
|
+
// It must NOT be forwarded to the peer via targetAddNodeObj — doing so would cause the peer
|
|
228
|
+
// to treat this node as its leader and attempt to full-copy in the wrong direction.
|
|
229
|
+
if (req.isLeader !== undefined)
|
|
230
|
+
nodeRecord.isLeader = req.isLeader;
|
|
215
231
|
if (nodeRecord.replicates) {
|
|
216
232
|
const thisNode = {
|
|
217
233
|
url: thisUrl,
|
|
@@ -261,6 +277,10 @@ async function addNodeBack(req) {
|
|
|
261
277
|
const nodeRecord = { url: req.url, ca: originCa };
|
|
262
278
|
if (req.subscriptions)
|
|
263
279
|
nodeRecord.subscriptions = req.subscriptions;
|
|
280
|
+
else if (req.sendsTo || req.receivesFrom) {
|
|
281
|
+
nodeRecord.replicates = { sends: true, sendsTo: req.sendsTo, receivesFrom: req.receivesFrom };
|
|
282
|
+
nodeRecord.subscriptions = null;
|
|
283
|
+
}
|
|
264
284
|
else {
|
|
265
285
|
nodeRecord.replicates = true;
|
|
266
286
|
nodeRecord.subscriptions = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setNode.js","sourceRoot":"","sources":["../../replication/setNode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setNode.js","sourceRoot":"","sources":["../../replication/setNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.connectedToNode = exports.disconnectedFromNode = void 0;
|
|
40
|
+
exports.findStaleNodeUrls = findStaleNodeUrls;
|
|
41
|
+
exports.findWedgedNodeUrls = findWedgedNodeUrls;
|
|
40
42
|
exports.startOnMainThread = startOnMainThread;
|
|
41
43
|
exports.requestClusterStatus = requestClusterStatus;
|
|
42
44
|
exports.ensureNode = ensureNode;
|
|
@@ -55,7 +57,7 @@ const knownNodes_ts_1 = require("./knownNodes.js");
|
|
|
55
57
|
const logger = __importStar(require("../core/utility/logging/harper_logger.js"));
|
|
56
58
|
const lodash_1 = __importDefault(require("lodash"));
|
|
57
59
|
const { cloneDeep } = lodash_1.default;
|
|
58
|
-
const
|
|
60
|
+
const env = __importStar(require("../core/utility/environment/environmentManager.js"));
|
|
59
61
|
const hdbTerms_ts_1 = require("../core/utility/hdbTerms.js");
|
|
60
62
|
const crypto_1 = require("crypto");
|
|
61
63
|
const minimist_1 = __importDefault(require("minimist"));
|
|
@@ -67,8 +69,73 @@ const NODE_SUBSCRIBE_DELAY = 200; // delay before sending node subscribe to othe
|
|
|
67
69
|
// caused the OOM in the first place. We stagger the re-subscriptions in time so the new
|
|
68
70
|
// worker(s) absorb them gradually.
|
|
69
71
|
const WORKER_EXIT_REASSIGN_STAGGER_MS = 100;
|
|
72
|
+
// Cadence of the per-process safety-net reconcile that rebinds subscriptions whose
|
|
73
|
+
// worker no longer exists. Pure read-side filter against `workers` and
|
|
74
|
+
// `connectionReplicationMap` on each tick when nothing is wrong, so a short interval
|
|
75
|
+
// is cheap. Sized for the deploy-time rapid-restart-storm pattern (stacked
|
|
76
|
+
// `restart_http_workers` at ~1.5s spacing under live write traffic), where the per-
|
|
77
|
+
// worker exit chain races against shutdown and silently drops half the subscription
|
|
78
|
+
// assignments — this is the user-visible recovery latency for the resulting drift.
|
|
79
|
+
const RECONCILE_INTERVAL_MS = 5_000;
|
|
80
|
+
// A connection that is connected:false but still actively retrying reconnects within seconds (the
|
|
81
|
+
// retry backoff starts at 500ms). Only re-drive a connection that has stayed disconnected well
|
|
82
|
+
// beyond that, so the reconcile targets genuinely wedged connections (e.g. an intentionally-closed
|
|
83
|
+
// connection with no pending retry) rather than churning connections that are mid-reconnect.
|
|
84
|
+
const WEDGE_RECONCILE_THRESHOLD_MS = 30_000;
|
|
70
85
|
let nextWorkerExitReassignAt = 0;
|
|
71
86
|
const connectionReplicationMap = new Map();
|
|
87
|
+
// Returns the set of node URLs whose replication entries either point at a worker no longer
|
|
88
|
+
// in the supplied http pool, OR have no worker assigned at all while live workers exist.
|
|
89
|
+
// The second case covers "all workers were down at registration time" — onDatabase stores
|
|
90
|
+
// `worker: undefined` when httpWorkers is empty, and without this the entry would never
|
|
91
|
+
// get reassigned once workers came back. Pure helper so the reconcile pass below — and its
|
|
92
|
+
// unit tests — can verify the broken-chain detection without spinning up real workers.
|
|
93
|
+
function findStaleNodeUrls(connectionMap, httpWorkers) {
|
|
94
|
+
const staleNodeUrls = new Set();
|
|
95
|
+
// No live workers to reassign to — flagging here would cause endless no-op reassignments.
|
|
96
|
+
if (httpWorkers.length === 0)
|
|
97
|
+
return staleNodeUrls;
|
|
98
|
+
for (const [url, dbReplicationWorkers] of connectionMap) {
|
|
99
|
+
for (const entry of dbReplicationWorkers.values()) {
|
|
100
|
+
if (!entry.worker || !httpWorkers.includes(entry.worker)) {
|
|
101
|
+
staleNodeUrls.add(url);
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return staleNodeUrls;
|
|
107
|
+
}
|
|
108
|
+
// Returns the set of node URLs that have a desired replication subscription but have been
|
|
109
|
+
// connected:false on a *live* worker for longer than `thresholdMs`. This is the recovery path for a
|
|
110
|
+
// connection that wedged without a pending retry — most notably the empty-subscription delayed close
|
|
111
|
+
// (intentionallyUnsubscribed) firing during a peer restart and then never re-establishing even though
|
|
112
|
+
// the peer is reachable and still subscribed. findStaleNodeUrls does not catch this because the
|
|
113
|
+
// worker is alive. Re-driving these through onNodeUpdate creates a fresh connection (the prior one is
|
|
114
|
+
// no longer reusable — see replicator.isReusableConnection). A threshold well above the normal
|
|
115
|
+
// reconnect backoff keeps this from firing on connections that are merely mid-retry.
|
|
116
|
+
// `isDesired` must be the same predicate onDatabase uses to decide shouldSubscribe
|
|
117
|
+
// (shouldReplicateFromNode), so a connection intentionally unsubscribed because this node should NOT
|
|
118
|
+
// subscribe (replication off, or a sendsTo/subscription targeting another database) is not flagged
|
|
119
|
+
// and re-driven forever. See harper-pro#233 / #289.
|
|
120
|
+
function findWedgedNodeUrls(connectionMap, httpWorkers, now, thresholdMs, isDesired) {
|
|
121
|
+
const wedgedNodeUrls = new Set();
|
|
122
|
+
if (httpWorkers.length === 0)
|
|
123
|
+
return wedgedNodeUrls;
|
|
124
|
+
for (const [url, dbReplicationWorkers] of connectionMap) {
|
|
125
|
+
for (const [database, entry] of dbReplicationWorkers) {
|
|
126
|
+
if (entry.connected === false &&
|
|
127
|
+
entry.worker &&
|
|
128
|
+
httpWorkers.includes(entry.worker) &&
|
|
129
|
+
entry.disconnectedAt != null &&
|
|
130
|
+
now - entry.disconnectedAt >= thresholdMs &&
|
|
131
|
+
isDesired(entry.nodes?.[0], database)) {
|
|
132
|
+
wedgedNodeUrls.add(url);
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return wedgedNodeUrls;
|
|
138
|
+
}
|
|
72
139
|
const nodeMap = new Map(); // this is a map of all nodes that are available to connect to
|
|
73
140
|
const selfCatchupOfDatabase = new Map(); // this is a map of databases that need to catch up to themselves, and the time of the last audit entry (to start from)
|
|
74
141
|
const routes = [];
|
|
@@ -143,7 +210,7 @@ async function startOnMainThread(options) {
|
|
|
143
210
|
* This is called when a new node is added to the hdbNodes table
|
|
144
211
|
* @param node
|
|
145
212
|
*/
|
|
146
|
-
function onNodeUpdate(node, hostname = node?.name) {
|
|
213
|
+
function onNodeUpdate(node, hostname = node?.name, forceResubscribe = false) {
|
|
147
214
|
const isSelf = ((0, nodeName_ts_1.getThisNodeName)() && hostname === (0, nodeName_ts_1.getThisNodeName)()) || ((0, nodeName_ts_1.getThisNodeUrl)() && node?.url === (0, nodeName_ts_1.getThisNodeUrl)());
|
|
148
215
|
if (isSelf) {
|
|
149
216
|
// this is just this node, we don't need to connect to ourselves, but if we get removed, we need to remove all fully replicating connections,
|
|
@@ -160,6 +227,7 @@ async function startOnMainThread(options) {
|
|
|
160
227
|
logger.info('Setting up node replication for', node);
|
|
161
228
|
if (!node) {
|
|
162
229
|
// deleted node
|
|
230
|
+
nodeMap.delete(hostname);
|
|
163
231
|
for (const [url, dbReplicationWorkers] of connectionReplicationMap) {
|
|
164
232
|
let foundNode;
|
|
165
233
|
for (const [_database, { nodes }] of dbReplicationWorkers) {
|
|
@@ -190,7 +258,12 @@ async function startOnMainThread(options) {
|
|
|
190
258
|
let dbReplicationWorkers = connectionReplicationMap.get((0, knownNodes_ts_1.getNodeURL)(node));
|
|
191
259
|
if (dbReplicationWorkers)
|
|
192
260
|
dbReplicationWorkers.iterator.remove(); // we need to remove the old iterator so we can create a new one
|
|
193
|
-
if (!(node.replicates === true ||
|
|
261
|
+
if (!(node.replicates === true ||
|
|
262
|
+
node.replicates?.sends ||
|
|
263
|
+
node.replicates?.sendsTo?.length ||
|
|
264
|
+
node.replicates?.receivesFrom?.length) &&
|
|
265
|
+
!node.subscriptions?.length &&
|
|
266
|
+
!dbReplicationWorkers)
|
|
194
267
|
return; // we don't have any subscriptions and we haven't connected yet, so just return
|
|
195
268
|
logger.info(`Added node ${node.name} at ${(0, knownNodes_ts_1.getNodeURL)(node)} for process ${(0, nodeName_ts_1.getThisNodeName)()}`);
|
|
196
269
|
if (node.replicates && node.subscriptions) {
|
|
@@ -214,10 +287,10 @@ async function startOnMainThread(options) {
|
|
|
214
287
|
}
|
|
215
288
|
dbReplicationWorkers.iterator = (0, replicator_ts_1.forEachReplicatedDatabase)(options, (database, databaseName, replicateByDefault) => {
|
|
216
289
|
if (replicateByDefault) {
|
|
217
|
-
onDatabase(databaseName, true);
|
|
290
|
+
onDatabase(databaseName, true, forceResubscribe);
|
|
218
291
|
}
|
|
219
292
|
else {
|
|
220
|
-
onDatabase(databaseName, false);
|
|
293
|
+
onDatabase(databaseName, false, forceResubscribe);
|
|
221
294
|
}
|
|
222
295
|
});
|
|
223
296
|
// check to see if there are any explicit subscriptions to databases that don't exist yet
|
|
@@ -228,18 +301,40 @@ async function startOnMainThread(options) {
|
|
|
228
301
|
const databaseName = sub.database || sub.schema;
|
|
229
302
|
if (!databases[databaseName]) {
|
|
230
303
|
logger.warn(`Database ${databaseName} not found for node ${node.name}, making a subscription anyway`);
|
|
231
|
-
onDatabase(databaseName, false);
|
|
304
|
+
onDatabase(databaseName, false, forceResubscribe);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// When this peer is our leader, bootstrap subscriptions for configured databases
|
|
309
|
+
// that don't exist locally yet — they need a full-table copy from the leader.
|
|
310
|
+
// forEachReplicatedDatabase above only iterates local databases, so an empty node
|
|
311
|
+
// joining a populated leader would never schedule the catchup without this.
|
|
312
|
+
if (node.isLeader && Array.isArray(options?.databases)) {
|
|
313
|
+
for (const dbConfig of options.databases) {
|
|
314
|
+
const databaseName = typeof dbConfig === 'string' ? dbConfig : dbConfig?.name;
|
|
315
|
+
if (databaseName && !databases[databaseName]) {
|
|
316
|
+
logger.warn(`isLeader: bootstrapping full-copy subscription for non-existent database ${databaseName} from ${node.name}`);
|
|
317
|
+
onDatabase(databaseName, true, forceResubscribe);
|
|
232
318
|
}
|
|
233
319
|
}
|
|
234
320
|
}
|
|
235
|
-
function onDatabase(databaseName, tablesReplicateByDefault) {
|
|
321
|
+
function onDatabase(databaseName, tablesReplicateByDefault, forceResubscribe = false) {
|
|
236
322
|
logger.trace('Setting up replication for database', databaseName, 'on node', node.name);
|
|
237
|
-
|
|
323
|
+
let existingEntry = dbReplicationWorkers.get(databaseName);
|
|
238
324
|
let worker;
|
|
239
|
-
|
|
325
|
+
// Find the matching route config for this peer so we can pass its receivesFrom/sendsTo
|
|
326
|
+
// exclusions to the worker thread (via the node subscription payload). For dynamic
|
|
327
|
+
// routes (add_node), fall back to the node's own hdb_nodes replicates object.
|
|
328
|
+
const matchingRoute = routes.find((r) => r.name === node.name);
|
|
329
|
+
const routeReplicates = typeof matchingRoute?.replicates === 'object'
|
|
330
|
+
? matchingRoute.replicates
|
|
331
|
+
: node.replicates && typeof node.replicates === 'object'
|
|
332
|
+
? node.replicates
|
|
333
|
+
: null;
|
|
334
|
+
const nodes = [{ replicateByDefault: tablesReplicateByDefault, ...node, routeReplicates }];
|
|
240
335
|
// Self catchup is done in case we have replicated any records that weren't actually written to our storage
|
|
241
336
|
// before a crash.
|
|
242
|
-
if (selfCatchupOfDatabase.has(databaseName) &&
|
|
337
|
+
if (selfCatchupOfDatabase.has(databaseName) && env.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
|
|
243
338
|
// if we have a self catchup (only do if we have failover enabled), we need to add this node to the list of nodes that need to catch up
|
|
244
339
|
// and then we will remove it when it is done
|
|
245
340
|
nodes.push({
|
|
@@ -253,11 +348,28 @@ async function startOnMainThread(options) {
|
|
|
253
348
|
}
|
|
254
349
|
const shouldSubscribe = (0, knownNodes_ts_1.shouldReplicateFromNode)(node, databaseName);
|
|
255
350
|
const httpWorkers = manageThreads_js_1.workers.filter((worker) => worker.name === 'http');
|
|
351
|
+
// Defensively detect entries that point at a worker no longer in the http pool.
|
|
352
|
+
// This happens when the worker.on('exit') handler below never fired (hung WebSocket
|
|
353
|
+
// refs blocking exit), the identity check rejected the reassignment, or its
|
|
354
|
+
// setTimeout retry was lost. We also catch the case where the entry has no worker
|
|
355
|
+
// assigned at all (all workers were down at registration time) so it gets rebound
|
|
356
|
+
// once workers come back. Without these checks, the early-return branch keeps the
|
|
357
|
+
// entry stuck and the subscription never recovers.
|
|
358
|
+
if (existingEntry && httpWorkers.length > 0 && !httpWorkers.includes(existingEntry.worker)) {
|
|
359
|
+
logger.warn(`Subscription for ${databaseName} on node ${node.name} has no live worker; reassigning`);
|
|
360
|
+
dbReplicationWorkers.delete(databaseName);
|
|
361
|
+
existingEntry = undefined;
|
|
362
|
+
}
|
|
256
363
|
if (existingEntry) {
|
|
257
364
|
worker = existingEntry.worker;
|
|
258
365
|
existingEntry.nodes = nodes;
|
|
259
|
-
|
|
260
|
-
|
|
366
|
+
// Normally an existing subscribed entry is left alone. Only the wedge reconcile passes
|
|
367
|
+
// forceResubscribe for a connection that has been connected:false past the threshold: that
|
|
368
|
+
// falls through to re-post subscribe-to-node on the same worker (the worker then reuses a
|
|
369
|
+
// still-retrying connection or builds a fresh one — replicator.isReusableConnection). We
|
|
370
|
+
// deliberately do NOT re-subscribe every connected:false entry on an ordinary onNodeUpdate —
|
|
371
|
+
// doing so disrupts in-flight replication (e.g. an active legacy-node base copy).
|
|
372
|
+
if (shouldSubscribe && !(forceResubscribe && existingEntry.connected === false)) {
|
|
261
373
|
return;
|
|
262
374
|
}
|
|
263
375
|
}
|
|
@@ -288,6 +400,12 @@ async function startOnMainThread(options) {
|
|
|
288
400
|
let leaderUrl = cliArgs.HDB_LEADER_URL ?? // first see if there was a leader explicitly specified
|
|
289
401
|
process.env.HDB_LEADER_URL ??
|
|
290
402
|
routes[0]?.url; // if we have routes, use the first one
|
|
403
|
+
// Track whether the leader is explicitly configured (env/cli/routes). The
|
|
404
|
+
// fallback "first other node in hdb_nodes" is only a guess and must NOT be
|
|
405
|
+
// treated as authoritative — otherwise a bidirectional add_node handshake
|
|
406
|
+
// where the responder has no leader config will incorrectly mark the
|
|
407
|
+
// requester as its leader and trigger a reverse full-table copy.
|
|
408
|
+
const hasExplicitLeader = !!leaderUrl;
|
|
291
409
|
let leaderName = leaderUrl
|
|
292
410
|
? new URL(leaderUrl).hostname
|
|
293
411
|
: Array.from((0, knownNodes_ts_1.getHDBNodeTable)()
|
|
@@ -296,7 +414,13 @@ async function startOnMainThread(options) {
|
|
|
296
414
|
)[0]; // try to find the first node
|
|
297
415
|
const nodeName = nodes[0].name ?? (nodes[0].url && new URL(nodes[0].url).hostname);
|
|
298
416
|
logger.warn(`Setting up subscription with leader ${leaderName} for node ${nodeName}`);
|
|
299
|
-
|
|
417
|
+
// isLeader is true only if:
|
|
418
|
+
// 1. it was explicitly persisted (e.g. by add_node { isLeader: true }), OR
|
|
419
|
+
// 2. there is no leader candidate at all, OR
|
|
420
|
+
// 3. an explicitly configured leader (env/cli/routes) matches this node.
|
|
421
|
+
// We deliberately do NOT honour nodeName === leaderName when leaderName came
|
|
422
|
+
// from the "first other node in hdb_nodes" fallback — that's just a guess.
|
|
423
|
+
nodes[0].isLeader = nodes[0].isLeader || !leaderName || (hasExplicitLeader && nodeName === leaderName);
|
|
300
424
|
nodes[0].url ??= (0, knownNodes_ts_1.getNodeURL)(nodes[0]);
|
|
301
425
|
setTimeout(() => {
|
|
302
426
|
const request = {
|
|
@@ -363,16 +487,24 @@ async function startOnMainThread(options) {
|
|
|
363
487
|
logger.warn('Disconnected node not found in replication map', connection.database, dbReplicationWorkers);
|
|
364
488
|
return;
|
|
365
489
|
}
|
|
490
|
+
// Record the first transition to disconnected so the reconcile can tell a wedged connection
|
|
491
|
+
// from one that is briefly mid-retry; don't reset it on repeated disconnect notifications.
|
|
492
|
+
if (existingWorkerEntry.connected !== false)
|
|
493
|
+
existingWorkerEntry.disconnectedAt = Date.now();
|
|
366
494
|
existingWorkerEntry.connected = false;
|
|
367
495
|
if (connection.finished) {
|
|
368
496
|
return;
|
|
369
497
|
} // intentionally closed connection
|
|
370
|
-
if (!
|
|
498
|
+
if (!env.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
|
|
371
499
|
// if failover is disabled, immediately return
|
|
372
500
|
return;
|
|
373
501
|
}
|
|
374
502
|
const mainNode = existingWorkerEntry.nodes[0];
|
|
375
|
-
if (!(mainNode.replicates === true ||
|
|
503
|
+
if (!(mainNode.replicates === true ||
|
|
504
|
+
mainNode.replicates?.sends ||
|
|
505
|
+
mainNode.replicates?.sendsTo?.length ||
|
|
506
|
+
mainNode.replicates?.receivesFrom?.length ||
|
|
507
|
+
mainNode.subscriptions?.length)) {
|
|
376
508
|
// no replication, so just return
|
|
377
509
|
return;
|
|
378
510
|
}
|
|
@@ -426,6 +558,7 @@ async function startOnMainThread(options) {
|
|
|
426
558
|
return;
|
|
427
559
|
}
|
|
428
560
|
mainWorkerEntry.connected = true;
|
|
561
|
+
mainWorkerEntry.disconnectedAt = undefined;
|
|
429
562
|
mainWorkerEntry.latency = connection.latency;
|
|
430
563
|
const restoredNode = mainWorkerEntry.nodes[0];
|
|
431
564
|
if (!restoredNode) {
|
|
@@ -436,7 +569,7 @@ async function startOnMainThread(options) {
|
|
|
436
569
|
logger.debug('Connected node is not named yet', connection.database, mainWorkerEntry.url);
|
|
437
570
|
return;
|
|
438
571
|
}
|
|
439
|
-
if (!
|
|
572
|
+
if (!env.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
|
|
440
573
|
// if failover is disabled, immediately return, we don't need to restore anything
|
|
441
574
|
return;
|
|
442
575
|
}
|
|
@@ -495,6 +628,52 @@ async function startOnMainThread(options) {
|
|
|
495
628
|
else
|
|
496
629
|
(0, replicator_ts_1.subscribeToNode)({ url: (0, knownNodes_ts_1.getNodeURL)(connectingNode), name: connectingNode.name, database, nodes: [node] });
|
|
497
630
|
}
|
|
631
|
+
// Periodic safety net for stale subscription entries. The existing per-database
|
|
632
|
+
// worker.on('exit') chain reassigns to a healthy worker after a worker dies, but a
|
|
633
|
+
// single broken link in that chain (identity check failing, setTimeout retry being
|
|
634
|
+
// lost under load, shouldSubscribe early-return pinning to a dead worker before
|
|
635
|
+
// the defensive check was added) used to leave the entry permanently pointing at
|
|
636
|
+
// an exited worker, silently breaking outbound replication for the lifetime of the
|
|
637
|
+
// process. This reconciles independently of the chain so the broken-state node
|
|
638
|
+
// can never get stuck.
|
|
639
|
+
function reconcileWorkers() {
|
|
640
|
+
const httpWorkers = manageThreads_js_1.workers.filter((worker) => worker.name === 'http');
|
|
641
|
+
const staleNodeUrls = findStaleNodeUrls(connectionReplicationMap, httpWorkers);
|
|
642
|
+
const wedgedNodeUrls = findWedgedNodeUrls(connectionReplicationMap, httpWorkers, Date.now(), WEDGE_RECONCILE_THRESHOLD_MS, knownNodes_ts_1.shouldReplicateFromNode);
|
|
643
|
+
if (staleNodeUrls.size === 0 && wedgedNodeUrls.size === 0)
|
|
644
|
+
return;
|
|
645
|
+
if (staleNodeUrls.size > 0)
|
|
646
|
+
logger.warn('Reconciling replication subscriptions for nodes pointing at exited workers:', Array.from(staleNodeUrls));
|
|
647
|
+
if (wedgedNodeUrls.size > 0)
|
|
648
|
+
logger.warn('Reconciling replication subscriptions for nodes wedged disconnected on a live worker:', Array.from(wedgedNodeUrls));
|
|
649
|
+
for (const node of nodeMap.values()) {
|
|
650
|
+
const url = (0, knownNodes_ts_1.getNodeURL)(node);
|
|
651
|
+
const isWedged = wedgedNodeUrls.has(url);
|
|
652
|
+
if (!staleNodeUrls.has(url) && !isWedged)
|
|
653
|
+
continue;
|
|
654
|
+
if (isWedged) {
|
|
655
|
+
// Restart the disconnect clock before re-driving so a peer that is still unreachable after
|
|
656
|
+
// the re-subscribe (it stays connected:false, which does not re-stamp disconnectedAt) is
|
|
657
|
+
// retried at most once per threshold window rather than on every reconcile tick.
|
|
658
|
+
// onNodeUpdate -> onDatabase then re-posts subscribe-to-node for the connected:false entry
|
|
659
|
+
// (it no longer early-returns), reusing the existing worker — so no entry/listener churn.
|
|
660
|
+
const entries = connectionReplicationMap.get(url);
|
|
661
|
+
if (entries)
|
|
662
|
+
for (const entry of entries.values())
|
|
663
|
+
if (entry.connected === false)
|
|
664
|
+
entry.disconnectedAt = Date.now();
|
|
665
|
+
}
|
|
666
|
+
try {
|
|
667
|
+
// forceResubscribe only for wedged entries, so a normal stale-worker reconcile keeps its
|
|
668
|
+
// original behavior and ordinary onNodeUpdate calls never re-subscribe live subscriptions.
|
|
669
|
+
onNodeUpdate(node, undefined, isWedged);
|
|
670
|
+
}
|
|
671
|
+
catch (error) {
|
|
672
|
+
logger.error('Error reconciling node', node?.name, error);
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
setInterval(reconcileWorkers, RECONCILE_INTERVAL_MS).unref();
|
|
498
677
|
(0, manageThreads_js_1.onMessageByType)('disconnected-from-node', exports.disconnectedFromNode);
|
|
499
678
|
(0, manageThreads_js_1.onMessageByType)('connected-to-node', exports.connectedToNode);
|
|
500
679
|
(0, manageThreads_js_1.onMessageByType)('request-cluster-status', requestClusterStatus);
|