@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
package/core/utility/hdbTerms.ts
CHANGED
|
@@ -177,6 +177,8 @@ export const SYSTEM_TABLE_NAMES = {
|
|
|
177
177
|
TABLE_TABLE_NAME: 'hdb_table',
|
|
178
178
|
USER_TABLE_NAME: 'hdb_user',
|
|
179
179
|
INFO_TABLE_NAME: 'hdb_info',
|
|
180
|
+
DEPLOYMENT_TABLE_NAME: 'hdb_deployment',
|
|
181
|
+
AGENT_SESSION_TABLE_NAME: 'hdb_agent_session',
|
|
180
182
|
} as const;
|
|
181
183
|
|
|
182
184
|
/** Hash attribute for the system info table */
|
|
@@ -297,6 +299,16 @@ export const OPERATIONS_ENUM = {
|
|
|
297
299
|
GET_STATUS: 'get_status',
|
|
298
300
|
SET_STATUS: 'set_status',
|
|
299
301
|
CLEAR_STATUS: 'clear_status',
|
|
302
|
+
LIST_DEPLOYMENTS: 'list_deployments',
|
|
303
|
+
GET_DEPLOYMENT: 'get_deployment',
|
|
304
|
+
GET_DEPLOYMENT_PAYLOAD: 'get_deployment_payload',
|
|
305
|
+
DELETE_DEPLOYMENT_PAYLOAD: 'delete_deployment_payload',
|
|
306
|
+
AGENT_PROMPT: 'agent_prompt',
|
|
307
|
+
GET_AGENT_SESSION: 'get_agent_session',
|
|
308
|
+
LIST_AGENT_SESSIONS: 'list_agent_sessions',
|
|
309
|
+
CANCEL_AGENT_RUN: 'cancel_agent_run',
|
|
310
|
+
APPROVE_AGENT_ACTION: 'approve_agent_action',
|
|
311
|
+
SET_AGENT_CONFIG: 'set_agent_config',
|
|
300
312
|
} as const;
|
|
301
313
|
|
|
302
314
|
/** Defines valid file types that we are able to handle in 'import_from_s3' ops */
|
|
@@ -337,9 +349,12 @@ export const SERVICE_ACTIONS_ENUM = {
|
|
|
337
349
|
UPGRADE: 'upgrade',
|
|
338
350
|
HELP: 'help',
|
|
339
351
|
STATUS: 'status',
|
|
352
|
+
LOGIN: 'login',
|
|
353
|
+
LOGOUT: 'logout',
|
|
340
354
|
OPERATION: 'operation',
|
|
341
355
|
RENEWCERTS: 'renew-certs',
|
|
342
356
|
COPYDB: 'copy-db',
|
|
357
|
+
MCP: 'mcp',
|
|
343
358
|
} as const;
|
|
344
359
|
|
|
345
360
|
/** describes the Geo Conversion types */
|
|
@@ -424,6 +439,8 @@ export const LEGACY_CONFIG_PARAMS = {
|
|
|
424
439
|
*/
|
|
425
440
|
export const CONFIG_PARAMS = {
|
|
426
441
|
ANALYTICS_AGGREGATEPERIOD: 'analytics_aggregatePeriod',
|
|
442
|
+
ANALYTICS_AGGREGATERETENTIONMS: 'analytics_aggregateRetentionMs',
|
|
443
|
+
ANALYTICS_RAWRETENTIONMS: 'analytics_rawRetentionMs',
|
|
427
444
|
ANALYTICS_REPLICATE: 'analytics_replicate',
|
|
428
445
|
ANALYTICS_STORAGEINTERVAL: 'analytics_storageInterval',
|
|
429
446
|
AUTHENTICATION_AUTHORIZELOCAL: 'authentication_authorizeLocal',
|
|
@@ -514,6 +531,7 @@ export const CONFIG_PARAMS = {
|
|
|
514
531
|
OPERATIONSAPI_NETWORK_SECUREPORT: 'operationsApi_network_securePort',
|
|
515
532
|
OPERATIONSAPI_NETWORK_HTTP2: 'operationsApi_network_http2',
|
|
516
533
|
OPERATIONSAPI_NETWORK_MAXREQUESTBODYSIZE: 'operationsApi_network_maxRequestBodySize',
|
|
534
|
+
OPERATIONSAPI_COMPONENTFILE_MAXSIZE: 'operationsApi_componentFile_maxSize',
|
|
517
535
|
OPERATIONSAPI_TLS: 'operationsApi_tls',
|
|
518
536
|
OPERATIONSAPI_TLS_CERTIFICATE: 'operationsApi_tls_certificate',
|
|
519
537
|
OPERATIONSAPI_TLS_PRIVATEKEY: 'operationsApi_tls_privateKey',
|
|
@@ -521,6 +539,34 @@ export const CONFIG_PARAMS = {
|
|
|
521
539
|
OPERATIONSAPI_NETWORK_TIMEOUT: 'operationsApi_network_timeout',
|
|
522
540
|
OPERATIONSAPI_SYSINFO_NETWORK: 'operationsApi_sysInfo_network',
|
|
523
541
|
OPERATIONSAPI_SYSINFO_DISK: 'operationsApi_sysInfo_disk',
|
|
542
|
+
MCP_OPERATIONS_MOUNTPATH: 'mcp_operations_mountPath',
|
|
543
|
+
MCP_OPERATIONS_ALLOW: 'mcp_operations_allow',
|
|
544
|
+
MCP_OPERATIONS_DENY: 'mcp_operations_deny',
|
|
545
|
+
MCP_OPERATIONS_MAXTOOLS: 'mcp_operations_maxTools',
|
|
546
|
+
MCP_OPERATIONS_RATELIMIT_PERTOOLPERSECOND: 'mcp_operations_rateLimit_perToolPerSecond',
|
|
547
|
+
MCP_OPERATIONS_RATELIMIT_PERTOOLBURST: 'mcp_operations_rateLimit_perToolBurst',
|
|
548
|
+
MCP_OPERATIONS_RATELIMIT_SESSIONCONCURRENCY: 'mcp_operations_rateLimit_sessionConcurrency',
|
|
549
|
+
MCP_OPERATIONS_RATELIMIT_SESSIONPERSECOND: 'mcp_operations_rateLimit_sessionPerSecond',
|
|
550
|
+
MCP_APPLICATION_MOUNTPATH: 'mcp_application_mountPath',
|
|
551
|
+
MCP_APPLICATION_ALLOW: 'mcp_application_allow',
|
|
552
|
+
MCP_APPLICATION_DENY: 'mcp_application_deny',
|
|
553
|
+
MCP_APPLICATION_MAXTOOLS: 'mcp_application_maxTools',
|
|
554
|
+
MCP_APPLICATION_SEARCHMAXRESULTS: 'mcp_application_searchMaxResults',
|
|
555
|
+
MCP_APPLICATION_RATELIMIT_PERTOOLPERSECOND: 'mcp_application_rateLimit_perToolPerSecond',
|
|
556
|
+
MCP_APPLICATION_RATELIMIT_PERTOOLBURST: 'mcp_application_rateLimit_perToolBurst',
|
|
557
|
+
MCP_APPLICATION_RATELIMIT_SESSIONCONCURRENCY: 'mcp_application_rateLimit_sessionConcurrency',
|
|
558
|
+
MCP_APPLICATION_RATELIMIT_SESSIONPERSECOND: 'mcp_application_rateLimit_sessionPerSecond',
|
|
559
|
+
MCP_SESSION_IDLETIMEOUTSECONDS: 'mcp_session_idleTimeoutSeconds',
|
|
560
|
+
MCP_SESSION_ALLOWCLIENTDELETE: 'mcp_session_allowClientDelete',
|
|
561
|
+
AGENT_ENABLED: 'agent_enabled',
|
|
562
|
+
AGENT_PROVIDER: 'agent_provider',
|
|
563
|
+
AGENT_MODEL: 'agent_model',
|
|
564
|
+
AGENT_MAXTURNS: 'agent_maxTurns',
|
|
565
|
+
AGENT_MAXCOSTUSD: 'agent_maxCostUsd',
|
|
566
|
+
AGENT_AUTOAPPROVE: 'agent_autoApprove',
|
|
567
|
+
AGENT_ALLOWDESTRUCTIVE: 'agent_allowDestructive',
|
|
568
|
+
AGENT_USER: 'agent_user',
|
|
569
|
+
AGENT_COMPONENTSSCOPE: 'agent_componentsScope',
|
|
524
570
|
REPLICATION: 'replication',
|
|
525
571
|
REPLICATION_HOSTNAME: 'replication_hostname',
|
|
526
572
|
REPLICATION_URL: 'replication_url',
|
|
@@ -549,18 +595,21 @@ export const CONFIG_PARAMS = {
|
|
|
549
595
|
REPLICATION_BLOBCONCURRENCY: 'replication_blobConcurrency',
|
|
550
596
|
REPLICATION_MAXPAYLOAD: 'replication_maxPayload',
|
|
551
597
|
REPLICATION_RECORDCONCURRENCY: 'replication_recordConcurrency',
|
|
598
|
+
REPLICATION_PINGINTERVAL: 'replication_pingInterval',
|
|
599
|
+
REPLICATION_PINGTIMEOUT: 'replication_pingTimeout',
|
|
552
600
|
ROOTPATH: 'rootPath',
|
|
553
601
|
SERIALIZATION_BIGINT: 'serialization_bigInt',
|
|
554
602
|
STORAGE_WRITEASYNC: 'storage_writeAsync',
|
|
555
603
|
STORAGE_OVERLAPPINGSYNC: 'storage_overlappingSync',
|
|
556
604
|
STORAGE_CACHING: 'storage_caching',
|
|
557
|
-
STORAGE_RANDOMACCESSFIELDS: 'storage_randomAccessFields',
|
|
558
605
|
STORAGE_COMPRESSION: 'storage_compression',
|
|
559
606
|
STORAGE_NOREADAHEAD: 'storage_noReadAhead',
|
|
607
|
+
STORAGE_RANDOMACCESSFIELDS: 'storage_randomAccessFields',
|
|
560
608
|
STORAGE_PREFETCHWRITES: 'storage_prefetchWrites',
|
|
561
609
|
STORAGE_ENCRYPTION: 'storage_encryption',
|
|
562
610
|
STORAGE_MAXTRANSACTIONQUEUETIME: 'storage_maxTransactionQueueTime',
|
|
563
611
|
STORAGE_MAXTRANSACTIONOPENTIME: 'storage_maxTransactionOpenTime',
|
|
612
|
+
STORAGE_MAX_READ_TRANSACTION_OPEN_TIME: 'storage_maxReadTransactionOpenTime',
|
|
564
613
|
STORAGE_DEBUGLONGTRANSACTIONS: 'storage_debugLongTransactions',
|
|
565
614
|
STORAGE_PATH: 'storage_path',
|
|
566
615
|
STORAGE_BLOBPATHS: 'storage_blobPaths',
|
|
@@ -578,6 +627,7 @@ export const CONFIG_PARAMS = {
|
|
|
578
627
|
STORAGE_RECLAMATION_INTERVAL: 'storage_reclamation_interval',
|
|
579
628
|
STORAGE_RECLAMATION_EVICTIONFACTOR: 'storage_reclamation_evictionFactor',
|
|
580
629
|
STORAGE_ENGINE: 'storage_engine',
|
|
630
|
+
STORAGE_READONLY: 'storage_readOnly',
|
|
581
631
|
STORAGE_ROCKS_BLOCKCACHESIZE: 'storage_rocks_blockCacheSize',
|
|
582
632
|
STORAGE_ROCKS_WRITEBUFFERMANAGERSIZE: 'storage_rocks_writeBufferManagerSize',
|
|
583
633
|
STORAGE_ROCKS_WRITEBUFFERMANAGERCOSTTOCACHE: 'storage_rocks_writeBufferManagerCostToCache',
|
|
@@ -597,6 +647,7 @@ export const CONFIG_PARAMS = {
|
|
|
597
647
|
TLS_PRIVATEKEY: 'tls_privateKey',
|
|
598
648
|
TLS_CERTIFICATEAUTHORITY: 'tls_certificateAuthority',
|
|
599
649
|
TLS_CIPHERS: 'tls_ciphers',
|
|
650
|
+
TLS_UNIXDOMAINSOCKETS: 'tls_unixDomainSockets',
|
|
600
651
|
TLS: 'tls',
|
|
601
652
|
CLONED: 'cloned',
|
|
602
653
|
NODE_HOSTNAME: 'node_hostname',
|
|
@@ -803,6 +854,8 @@ export const ITC_EVENT_TYPES = {
|
|
|
803
854
|
START_JOB: 'start_job',
|
|
804
855
|
COMPONENT_STATUS_REQUEST: 'component_status_request',
|
|
805
856
|
COMPONENT_STATUS_RESPONSE: 'component_status_response',
|
|
857
|
+
RESOURCE_OPENAPI_REQUEST: 'resource_openapi_request',
|
|
858
|
+
RESOURCE_OPENAPI_RESPONSE: 'resource_openapi_response',
|
|
806
859
|
} as const;
|
|
807
860
|
|
|
808
861
|
/** Supported thread types */
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
import * as os from 'os';
|
|
4
|
+
import inquirer from 'inquirer';
|
|
5
|
+
import * as fs from 'fs-extra';
|
|
6
|
+
import PropertiesReader from 'properties-reader';
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import * as path from 'path';
|
|
9
9
|
let ora; // Will be loaded dynamically as it's an ES module
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
import * as YAML from 'yaml';
|
|
11
|
+
|
|
12
|
+
import * as hdbLogger from '../logging/harper_logger.ts';
|
|
13
|
+
import * as envManager from '../environment/environmentManager.ts';
|
|
14
|
+
import * as hdbUtils from '../common_utils.ts';
|
|
15
|
+
|
|
16
|
+
import * as hdbInfoController from '../../dataLayer/hdbInfoController.ts';
|
|
17
|
+
import { packageJson } from '../packageUtils.js';
|
|
18
|
+
import * as hdbTerms from '../hdbTerms.ts';
|
|
19
19
|
const { CONFIG_PARAMS } = hdbTerms;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
import installValidator from '../../validation/installValidator.ts';
|
|
21
|
+
import mountHdb from '../mount_hdb.ts';
|
|
22
|
+
import * as configUtils from '../../config/configUtils.js';
|
|
23
|
+
import * as userOps from '../../security/user.ts';
|
|
24
|
+
import * as roleOps from '../../security/role.ts';
|
|
25
|
+
import checkJwtTokens from './checkJWTTokensExist.js';
|
|
26
|
+
import * as globalSchema from '../globalSchema.ts';
|
|
27
|
+
import { promisify } from 'util';
|
|
28
28
|
const pSchemaToGlobal = promisify(globalSchema.setSchemaDataToGlobal);
|
|
29
|
-
|
|
29
|
+
import * as keys from '../../security/keys.ts';
|
|
30
30
|
|
|
31
31
|
// Removes the color formatting that was being applied to the prompt answer.
|
|
32
32
|
const PROMPT_ANSWER_TRANSFORMER = (answer) => answer;
|
|
33
33
|
const HDB_PROMPT_MSG = (msg) => chalk.magenta.bold(msg);
|
|
34
34
|
const LINE_BREAK = os.EOL;
|
|
35
35
|
const PROMPT_PREFIX = '';
|
|
36
|
-
const INSTALL_START_MSG = 'Starting Harper
|
|
37
|
-
const INSTALL_COMPLETE_MSG = 'Harper
|
|
38
|
-
const UPGRADE_MSG = 'An out of date version of Harper
|
|
39
|
-
const HDB_EXISTS_MSG = 'It appears that Harper
|
|
36
|
+
const INSTALL_START_MSG = 'Starting Harper install...';
|
|
37
|
+
const INSTALL_COMPLETE_MSG = 'Harper installation was successful.';
|
|
38
|
+
const UPGRADE_MSG = 'An out of date version of Harper is already installed.';
|
|
39
|
+
const HDB_EXISTS_MSG = 'It appears that Harper is already installed. Exiting install...';
|
|
40
40
|
const ABORT_MSG = 'Aborting install';
|
|
41
41
|
const PROCESS_HOME = os.homedir();
|
|
42
42
|
const DEFAULT_HDB_ROOT = path.join(PROCESS_HOME, hdbTerms.HDB_ROOT_DIR_NAME);
|
|
@@ -61,31 +61,32 @@ const DEV_MODE_CONFIG = {
|
|
|
61
61
|
|
|
62
62
|
// Install prompts
|
|
63
63
|
const INSTALL_PROMPTS = {
|
|
64
|
-
DESTINATION: 'Please enter a destination for Harper
|
|
64
|
+
DESTINATION: 'Please enter a destination for Harper:',
|
|
65
65
|
HDB_USERNAME: 'Please enter a username for the administrative user:',
|
|
66
66
|
HDB_PASS: 'Please enter a password for the administrative user:',
|
|
67
|
-
NODE_HOSTNAME: 'Please enter the hostname for the Harper
|
|
67
|
+
NODE_HOSTNAME: 'Please enter the hostname for the Harper instance:',
|
|
68
68
|
DEFAULTS_MODE: 'Default Config - dev (easy access/debugging) or prod (security/performance): (dev/prod)',
|
|
69
69
|
};
|
|
70
70
|
|
|
71
|
+
import assignCMDENVVariables from '../assignCmdEnvVariables.ts';
|
|
71
72
|
const cfgEnv = assignCMDENVVariables([hdbTerms.INSTALL_PROMPTS.HDB_CONFIG]);
|
|
72
73
|
let hdbRoot = undefined;
|
|
73
74
|
let conditionalRollback = false;
|
|
74
75
|
let ignoreExisting = false;
|
|
75
76
|
|
|
76
77
|
/**
|
|
77
|
-
* This module orchestrates the installation of Harper
|
|
78
|
+
* This module orchestrates the installation of Harper.
|
|
78
79
|
*/
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
export { install, updateConfigEnv, setIgnoreExisting };
|
|
81
82
|
install.createSuperUser = createSuperUser;
|
|
82
83
|
|
|
83
84
|
/**
|
|
84
|
-
* Calls all the functions that are needed to install Harper
|
|
85
|
+
* Calls all the functions that are needed to install Harper.
|
|
85
86
|
* @returns {Promise<void>}
|
|
86
87
|
*/
|
|
87
88
|
async function install() {
|
|
88
|
-
console.
|
|
89
|
+
console.error(HDB_PROMPT_MSG(LINE_BREAK + INSTALL_START_MSG + LINE_BREAK));
|
|
89
90
|
hdbLogger.notify(INSTALL_START_MSG);
|
|
90
91
|
|
|
91
92
|
let configFromFile;
|
|
@@ -126,7 +127,7 @@ async function install() {
|
|
|
126
127
|
throw validationError.message;
|
|
127
128
|
}
|
|
128
129
|
|
|
129
|
-
// Check for an existing installation of Harper
|
|
130
|
+
// Check for an existing installation of Harper.
|
|
130
131
|
await checkForExistingInstall();
|
|
131
132
|
|
|
132
133
|
// Prompt the user with params needed for install.
|
|
@@ -146,10 +147,8 @@ async function install() {
|
|
|
146
147
|
if (
|
|
147
148
|
!ignoreExisting &&
|
|
148
149
|
!cfgEnv[hdbTerms.INSTALL_PROMPTS.HDB_CONFIG] &&
|
|
149
|
-
(await fs.pathExists(
|
|
150
|
-
path.join(hdbRoot, hdbTerms.
|
|
151
|
-
(await fs.pathExists(path.join(hdbRoot, hdbTerms.HDB_CONFIG_FILE)))
|
|
152
|
-
))
|
|
150
|
+
((await fs.pathExists(path.join(hdbRoot, hdbTerms.HARPER_CONFIG_FILE))) ||
|
|
151
|
+
(await fs.pathExists(path.join(hdbRoot, hdbTerms.HDB_CONFIG_FILE))))
|
|
153
152
|
) {
|
|
154
153
|
console.error(HDB_EXISTS_MSG);
|
|
155
154
|
process.exit();
|
|
@@ -171,7 +170,7 @@ async function install() {
|
|
|
171
170
|
envManager.setHdbBasePath(hdbRoot);
|
|
172
171
|
envManager.setProperty(hdbTerms.CONFIG_PARAMS.STORAGE_ENGINE, installParams.STORAGE_ENGINE);
|
|
173
172
|
|
|
174
|
-
// Creates the Harper
|
|
173
|
+
// Creates the Harper project folder structure and the LMDB environments/dbis.
|
|
175
174
|
await mountHdb(hdbRoot);
|
|
176
175
|
|
|
177
176
|
// Creates the boot prop file in user home dir. Boot prop file contains location of hdb config.
|
|
@@ -180,7 +179,7 @@ async function install() {
|
|
|
180
179
|
// Create the harperdb-config.yaml file
|
|
181
180
|
await createConfigFile(installParams);
|
|
182
181
|
|
|
183
|
-
// At this point there should be config and Harper
|
|
182
|
+
// At this point there should be config and Harper folders so re-init log settings to update
|
|
184
183
|
hdbLogger.initLogSettings(true);
|
|
185
184
|
|
|
186
185
|
// Create the super user.
|
|
@@ -190,7 +189,7 @@ async function install() {
|
|
|
190
189
|
await keys.updateConfigCert();
|
|
191
190
|
await keys.generateCertsKeys();
|
|
192
191
|
|
|
193
|
-
// Insert current version of Harper
|
|
192
|
+
// Insert current version of Harper into versions table.
|
|
194
193
|
await insertHdbVersionInfo();
|
|
195
194
|
|
|
196
195
|
// Checks that the RSA keys exist for JWT generation, if not we create them.
|
|
@@ -198,15 +197,15 @@ async function install() {
|
|
|
198
197
|
|
|
199
198
|
spinner.stop();
|
|
200
199
|
|
|
201
|
-
console.
|
|
200
|
+
console.error(HDB_PROMPT_MSG(LINE_BREAK + INSTALL_COMPLETE_MSG + LINE_BREAK));
|
|
202
201
|
hdbLogger.notify(INSTALL_COMPLETE_MSG);
|
|
203
202
|
}
|
|
204
203
|
|
|
205
204
|
function getConfigFromFile() {
|
|
206
205
|
let doc = YAML.parseDocument(fs.readFileSync(cfgEnv[hdbTerms.INSTALL_PROMPTS.HDB_CONFIG], 'utf8'), {
|
|
207
206
|
simpleKeys: true,
|
|
208
|
-
});
|
|
209
|
-
const flatCfg = configUtils.flattenConfig(doc.toJSON());
|
|
207
|
+
} as any);
|
|
208
|
+
const flatCfg: any = configUtils.flattenConfig(doc.toJSON()) ?? {};
|
|
210
209
|
|
|
211
210
|
// This ensures that if config file has rootpath, rootpath install prompt uses this value
|
|
212
211
|
if (flatCfg[hdbTerms.CONFIG_PARAMS.ROOTPATH.toLowerCase()])
|
|
@@ -216,7 +215,7 @@ function getConfigFromFile() {
|
|
|
216
215
|
}
|
|
217
216
|
|
|
218
217
|
/**
|
|
219
|
-
* Asks the user the questions needed to get Harper
|
|
218
|
+
* Asks the user the questions needed to get Harper installed.
|
|
220
219
|
* If cmd/env vats are passed to install the prompts will not be asked.
|
|
221
220
|
* @param promptOverride - an object that contains all the params needed to install.
|
|
222
221
|
* @returns {Promise<*>}
|
|
@@ -321,10 +320,10 @@ async function installPrompts(promptOverride) {
|
|
|
321
320
|
function displayCmdEnvVar(value, msg) {
|
|
322
321
|
if (value !== undefined) {
|
|
323
322
|
if (msg.includes('password')) {
|
|
324
|
-
console.
|
|
323
|
+
console.error(`${HDB_PROMPT_MSG(msg)} ${chalk.gray('[hidden]')}`);
|
|
325
324
|
hdbLogger.trace(`${HDB_PROMPT_MSG(msg)} [hidden]`);
|
|
326
325
|
} else {
|
|
327
|
-
console.
|
|
326
|
+
console.error(`${HDB_PROMPT_MSG(msg)} ${value}`);
|
|
328
327
|
hdbLogger.trace(`${HDB_PROMPT_MSG(msg)} ${value}`);
|
|
329
328
|
}
|
|
330
329
|
return false;
|
|
@@ -383,7 +382,7 @@ function checkForPromptOverride() {
|
|
|
383
382
|
}
|
|
384
383
|
|
|
385
384
|
/**
|
|
386
|
-
* Checks for an existing install of Harper
|
|
385
|
+
* Checks for an existing install of Harper and prompts user accordingly.
|
|
387
386
|
* @returns {Promise<void>}
|
|
388
387
|
*/
|
|
389
388
|
async function checkForExistingInstall() {
|
|
@@ -411,11 +410,11 @@ async function checkForExistingInstall() {
|
|
|
411
410
|
const upgradeObj = await hdbInfoController.getVersionUpdateInfo();
|
|
412
411
|
if (upgradeObj) {
|
|
413
412
|
const upgradeToVerMsg = `Please use \`harperdb upgrade\` to update to ${packageJson.version}. Exiting install...`;
|
|
414
|
-
console.
|
|
415
|
-
console.
|
|
413
|
+
console.error(LINE_BREAK + chalk.magenta.bold(UPGRADE_MSG));
|
|
414
|
+
console.error(chalk.magenta.bold(upgradeToVerMsg));
|
|
416
415
|
hdbLogger.error(upgradeToVerMsg);
|
|
417
416
|
} else {
|
|
418
|
-
console.
|
|
417
|
+
console.error(LINE_BREAK + chalk.magenta.bold(HDB_EXISTS_MSG));
|
|
419
418
|
hdbLogger.error(HDB_EXISTS_MSG);
|
|
420
419
|
}
|
|
421
420
|
process.exit(0);
|
|
@@ -442,9 +441,28 @@ async function createBootPropertiesFile() {
|
|
|
442
441
|
const homeDirPath = path.join(homeDir, hdbTerms.HDB_HOME_DIR_NAME);
|
|
443
442
|
const homeDirKeysDirPath = path.join(homeDirPath, hdbTerms.LICENSE_KEY_DIR_NAME);
|
|
444
443
|
const propsFilePath = path.join(homeDirPath, hdbTerms.BOOT_PROPS_FILE_NAME);
|
|
445
|
-
//
|
|
446
|
-
//
|
|
447
|
-
|
|
444
|
+
// Write boot props when: file doesn't exist, OR no explicit ROOTPATH was given (caller
|
|
445
|
+
// accepts whatever path this install produces), OR the existing file points to a
|
|
446
|
+
// settings_path that no longer exists (stale from a deleted previous install dir).
|
|
447
|
+
let shouldWriteBootProps = !fs.existsSync(propsFilePath) || !hdbUtils.getEnvCliRootPath();
|
|
448
|
+
if (!shouldWriteBootProps) {
|
|
449
|
+
try {
|
|
450
|
+
const content = fs.readFileSync(propsFilePath, 'utf8');
|
|
451
|
+
// Anchor to line start (with /m) to avoid matching commented-out lines.
|
|
452
|
+
const match = content.match(/^[ \t]*settings_path\s*=\s*(.+)/m);
|
|
453
|
+
if (match) {
|
|
454
|
+
const settingsPath = match[1].trim().replace(/^["']|["']$/g, '');
|
|
455
|
+
if (!fs.existsSync(settingsPath)) {
|
|
456
|
+
shouldWriteBootProps = true;
|
|
457
|
+
}
|
|
458
|
+
} else {
|
|
459
|
+
shouldWriteBootProps = true;
|
|
460
|
+
}
|
|
461
|
+
} catch {
|
|
462
|
+
shouldWriteBootProps = true;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
if (shouldWriteBootProps) {
|
|
448
466
|
try {
|
|
449
467
|
fs.mkdirpSync(homeDirPath, { mode: hdbTerms.HDB_FILE_PERMISSIONS });
|
|
450
468
|
fs.mkdirpSync(homeDirKeysDirPath, { mode: hdbTerms.HDB_FILE_PERMISSIONS });
|
|
@@ -469,13 +487,13 @@ async function createBootPropertiesFile() {
|
|
|
469
487
|
}
|
|
470
488
|
|
|
471
489
|
/**
|
|
472
|
-
* Calls the util function that creates the Harper
|
|
490
|
+
* Calls the util function that creates the Harper config file.
|
|
473
491
|
* If an error occurs during the create install is rolled backed.
|
|
474
492
|
* @param installParams
|
|
475
493
|
* @returns {Promise<void>}
|
|
476
494
|
*/
|
|
477
495
|
async function createConfigFile(installParams) {
|
|
478
|
-
hdbLogger.trace('Creating Harper
|
|
496
|
+
hdbLogger.trace('Creating Harper config file');
|
|
479
497
|
const args = assignCMDENVVariables(Object.keys(hdbTerms.CONFIG_PARAM_MAP), true);
|
|
480
498
|
Object.assign(args, installParams);
|
|
481
499
|
|
|
@@ -509,6 +527,12 @@ async function createConfigFile(installParams) {
|
|
|
509
527
|
if (args[cfg.toLowerCase()] === undefined) args[cfg] = DEV_MODE_CONFIG[cfg];
|
|
510
528
|
}
|
|
511
529
|
} else {
|
|
530
|
+
const defaultsMode = installParams[hdbTerms.INSTALL_PROMPTS.DEFAULTS_MODE];
|
|
531
|
+
if (defaultsMode !== undefined && defaultsMode !== 'prod') {
|
|
532
|
+
const warn = `DEFAULTS_MODE value "${defaultsMode}" is not recognized (expected "dev" or "prod"). Using prod defaults.`;
|
|
533
|
+
console.error(chalk.yellow.bold(`Warning: ${warn}`));
|
|
534
|
+
hdbLogger.warn(warn);
|
|
535
|
+
}
|
|
512
536
|
if (args[CONFIG_PARAMS.OPERATIONSAPI_NETWORK_PORT.toLowerCase()])
|
|
513
537
|
args[CONFIG_PARAMS.OPERATIONSAPI_NETWORK_SECUREPORT] = null;
|
|
514
538
|
if (args[CONFIG_PARAMS.HTTP_PORT.toLowerCase()]) args[CONFIG_PARAMS.HTTP_SECUREPORT] = null;
|
|
@@ -516,7 +540,7 @@ async function createConfigFile(installParams) {
|
|
|
516
540
|
|
|
517
541
|
try {
|
|
518
542
|
if (!cfgEnv[hdbTerms.INSTALL_PROMPTS.HDB_CONFIG]) {
|
|
519
|
-
// Create the Harper
|
|
543
|
+
// Create the Harper config file.
|
|
520
544
|
configUtils.createConfigFile(args);
|
|
521
545
|
}
|
|
522
546
|
|
|
@@ -531,7 +555,7 @@ async function createConfigFile(installParams) {
|
|
|
531
555
|
* @param errMsg
|
|
532
556
|
*/
|
|
533
557
|
function rollbackInstall(errMsg) {
|
|
534
|
-
hdbLogger.error(`Error creating Harper
|
|
558
|
+
hdbLogger.error(`Error creating Harper config file. Rolling back install - ${errMsg}`);
|
|
535
559
|
console.error(errMsg);
|
|
536
560
|
console.error(ABORT_MSG);
|
|
537
561
|
|
|
@@ -547,7 +571,7 @@ function rollbackInstall(errMsg) {
|
|
|
547
571
|
if (conditionalRollback) {
|
|
548
572
|
const dir = fs.readdirSync(hdbRoot, { withFileTypes: true });
|
|
549
573
|
dir.forEach((d) => {
|
|
550
|
-
const fullPath = path.join(d.path, d.name);
|
|
574
|
+
const fullPath = path.join((d as any).parentPath ?? (d as any).path, d.name);
|
|
551
575
|
if (fullPath !== cfgEnv[hdbTerms.INSTALL_PROMPTS.HDB_CONFIG]) {
|
|
552
576
|
fs.removeSync(fullPath);
|
|
553
577
|
}
|
|
@@ -561,7 +585,7 @@ function rollbackInstall(errMsg) {
|
|
|
561
585
|
}
|
|
562
586
|
|
|
563
587
|
/**
|
|
564
|
-
* Creates a Harper
|
|
588
|
+
* Creates a Harper role and then adds a use to that role.
|
|
565
589
|
* @param role
|
|
566
590
|
* @param adminUser
|
|
567
591
|
* @returns {Promise<void>}
|
|
@@ -628,7 +652,7 @@ async function insertHdbVersionInfo() {
|
|
|
628
652
|
if (vers) {
|
|
629
653
|
await hdbInfoController.insertHdbInstallInfo(vers);
|
|
630
654
|
} else {
|
|
631
|
-
throw new Error('The version is missing/removed from Harper
|
|
655
|
+
throw new Error('The version is missing/removed from Harper package.json');
|
|
632
656
|
}
|
|
633
657
|
}
|
|
634
658
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Logger } from '../components/Logger.ts';
|
|
2
|
-
import * as terms from './hdbTerms.
|
|
2
|
+
import * as terms from './hdbTerms.ts';
|
|
3
3
|
import fs from 'node:fs';
|
|
4
|
-
import { noBootFile, getPropsFilePath } from './common_utils.
|
|
4
|
+
import { noBootFile, getPropsFilePath } from './common_utils.ts';
|
|
5
5
|
|
|
6
6
|
interface Env {
|
|
7
7
|
get(key: string): string;
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
* intKey defines if the key entries are integers or not
|
|
7
7
|
*/
|
|
8
8
|
class DBIDefinition {
|
|
9
|
+
dup_sort: boolean;
|
|
10
|
+
isPrimaryKey: boolean;
|
|
11
|
+
useVersions: boolean;
|
|
9
12
|
/**
|
|
10
13
|
* @param {Boolean} dupSort - allow duplicate keys, or not
|
|
11
14
|
* @param {Boolean} isPrimaryKey - defines if this is the primary key
|
|
@@ -17,4 +20,4 @@ class DBIDefinition {
|
|
|
17
20
|
}
|
|
18
21
|
}
|
|
19
22
|
|
|
20
|
-
|
|
23
|
+
export default DBIDefinition;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @param {Array.<Object>} originalRecords
|
|
9
9
|
*/
|
|
10
10
|
class DeleteRecordsResponseObject {
|
|
11
|
+
[key: string]: any;
|
|
11
12
|
/**
|
|
12
13
|
* @param {Array.<string|number>} deleted
|
|
13
14
|
* @param {Array.<string|number>} skipped
|
|
@@ -22,4 +23,4 @@ class DeleteRecordsResponseObject {
|
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
export default DeleteRecordsResponseObject;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @param {number} txnTime
|
|
8
8
|
*/
|
|
9
9
|
class InsertRecordsResponseObject {
|
|
10
|
+
[key: string]: any;
|
|
10
11
|
/**
|
|
11
12
|
* @param {Array.<string|number>} written_hashes
|
|
12
13
|
* @param {Array.<string|number>} skipped_hashes
|
|
@@ -19,4 +20,4 @@ class InsertRecordsResponseObject {
|
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
export default InsertRecordsResponseObject;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
import * as envMngr from '../environment/environmentManager.ts';
|
|
3
|
+
import * as terms from '../../utility/hdbTerms.ts';
|
|
4
|
+
import { RecordEncoder } from '../../resources/RecordEncoder.ts';
|
|
5
|
+
envMngr.initSync();
|
|
6
|
+
|
|
7
|
+
const LMDB_CACHING = envMngr.get(terms.CONFIG_PARAMS.STORAGE_CACHING) !== false;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Defines how a DBI will be created/opened
|
|
11
|
+
*/
|
|
12
|
+
export class OpenDBIObject {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
dupSort: boolean;
|
|
15
|
+
encoding: 'string' | 'json' | 'binary' | 'msgpack' | 'ordered-binary';
|
|
16
|
+
useVersions: boolean;
|
|
17
|
+
sharedStructuresKey: symbol;
|
|
18
|
+
compression: any;
|
|
19
|
+
cache: any;
|
|
20
|
+
freezeData: boolean;
|
|
21
|
+
encoder: any;
|
|
22
|
+
randomAccessStructure: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @param {Boolean} dupSort - if the dbi allows duplicate keys
|
|
25
|
+
* @param {Boolean} [isPrimary] - if the dbi is the primary dbi
|
|
26
|
+
*/
|
|
27
|
+
constructor(dupSort, isPrimary = false) {
|
|
28
|
+
/** @type {boolean} */
|
|
29
|
+
this.dupSort = dupSort === true;
|
|
30
|
+
/** @type {"string" | "json" | "binary" | "msgpack" | "ordered-binary"} */
|
|
31
|
+
this.encoding = dupSort ? 'ordered-binary' : 'msgpack';
|
|
32
|
+
/** @type {boolean} */
|
|
33
|
+
this.useVersions = isPrimary;
|
|
34
|
+
/** @type {Symbol} */
|
|
35
|
+
this.sharedStructuresKey = Symbol.for('structures');
|
|
36
|
+
/** @type {any} */
|
|
37
|
+
this.compression = undefined;
|
|
38
|
+
this.encoder = { Encoder: RecordEncoder };
|
|
39
|
+
// Only enable struct (random-access) encoding on primary DBIs. Struct headers occupy
|
|
40
|
+
// the 0x20-0x3f range, which readers without struct support (msgpackr v1 / Harper v4)
|
|
41
|
+
// decode as positive fixints. v4 likewise gated struct mode behind is_primary, so
|
|
42
|
+
// non-primary stores (e.g. the __dbis__ metadata DBI) stay in records mode and remain
|
|
43
|
+
// decodable after a downgrade. RecordEncoder still reads struct data so existing v5
|
|
44
|
+
// struct entries decode.
|
|
45
|
+
// As of 5.1 the primary default is itself opt-in via storage.randomAccessFields (default
|
|
46
|
+
// off; overridable per-table via databases.ts before the store opens). Typed structures key
|
|
47
|
+
// on per-field value WIDTH, so wide/variably-typed schemas can mint an unbounded dictionary
|
|
48
|
+
// (OOM) and diverge across replicas. Read the config here at construction — not at module
|
|
49
|
+
// import — so an env/CLI override applied during startup is honored (DBIs open after config
|
|
50
|
+
// is finalized).
|
|
51
|
+
this.randomAccessStructure = isPrimary && envMngr.get(terms.CONFIG_PARAMS.STORAGE_RANDOMACCESSFIELDS) === true;
|
|
52
|
+
if (isPrimary) {
|
|
53
|
+
this.cache = LMDB_CACHING && { validated: true };
|
|
54
|
+
this.freezeData = true;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -5,11 +5,27 @@ const MAP_SIZE = 1024 * 1024 * 1024;
|
|
|
5
5
|
//allow up to 1,000 named data bases in an environment
|
|
6
6
|
const MAX_DBS = 10000;
|
|
7
7
|
const MAX_READERS = 2048;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import * as envMngr from '../environment/environmentManager.ts';
|
|
9
|
+
import * as terms from '../../utility/hdbTerms.ts';
|
|
10
10
|
envMngr.initSync();
|
|
11
11
|
|
|
12
|
-
class OpenEnvironmentObject {
|
|
12
|
+
export default class OpenEnvironmentObject {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
static MAX_DBS = MAX_DBS;
|
|
15
|
+
path: string;
|
|
16
|
+
mapSize: number;
|
|
17
|
+
maxDbs: number;
|
|
18
|
+
maxReaders: number;
|
|
19
|
+
sharedStructuresKey: symbol;
|
|
20
|
+
readOnly: boolean;
|
|
21
|
+
trackMetrics: boolean;
|
|
22
|
+
eventTurnBatching: boolean;
|
|
23
|
+
noSync: boolean;
|
|
24
|
+
overlappingSync: any;
|
|
25
|
+
maxFreeSpaceToLoad: any;
|
|
26
|
+
maxFreeSpaceToRetain: any;
|
|
27
|
+
pageSize: any;
|
|
28
|
+
noReadAhead: any;
|
|
13
29
|
constructor(path, readOnly = false) {
|
|
14
30
|
this.path = path;
|
|
15
31
|
this.mapSize = MAP_SIZE;
|
|
@@ -36,6 +52,3 @@ class OpenEnvironmentObject {
|
|
|
36
52
|
this.noReadAhead = envMngr.get(terms.CONFIG_PARAMS.STORAGE_NOREADAHEAD);
|
|
37
53
|
}
|
|
38
54
|
}
|
|
39
|
-
|
|
40
|
-
module.exports = OpenEnvironmentObject;
|
|
41
|
-
OpenEnvironmentObject.MAX_DBS = MAX_DBS;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @param {Array.<Object>} originalRecords
|
|
9
9
|
*/
|
|
10
10
|
class UpdateRecordsResponseObject {
|
|
11
|
+
[key: string]: any;
|
|
11
12
|
/**
|
|
12
13
|
* @param {Array.<string|number>} written_hashes
|
|
13
14
|
* @param {Array.<string|number>} skipped_hashes
|
|
@@ -22,4 +23,4 @@ class UpdateRecordsResponseObject {
|
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
export default UpdateRecordsResponseObject;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @param {Array.<Object>} originalRecords
|
|
8
8
|
*/
|
|
9
9
|
class UpsertRecordsResponseObject {
|
|
10
|
+
[key: string]: any;
|
|
10
11
|
/**
|
|
11
12
|
* @param {Array.<string|number>} written_hashes
|
|
12
13
|
* @param {number} txnTime
|
|
@@ -19,4 +20,4 @@ class UpsertRecordsResponseObject {
|
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
export default UpsertRecordsResponseObject;
|