@harperfast/harper 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/README.md +11 -10
- package/agent/agent.ts +203 -0
- package/agent/loop.ts +205 -0
- package/agent/operations.ts +148 -0
- package/agent/session.ts +187 -0
- package/agent/tools/fsTools.ts +276 -0
- package/agent/tools/httpFetchTool.ts +112 -0
- package/agent/tools/scheduleTool.ts +68 -0
- package/agent/toolset.ts +43 -0
- package/agent/types.ts +85 -0
- package/bin/{BinObjects.js → BinObjects.ts} +4 -5
- package/bin/cliCredentials.ts +133 -0
- package/bin/cliOperations.ts +339 -0
- package/bin/copyDb.ts +10 -10
- package/bin/deployRenderer.ts +196 -0
- package/bin/{harper.js → harper.ts} +43 -19
- package/bin/{install.js → install.ts} +3 -3
- package/bin/lite.ts +2 -0
- package/bin/login.ts +134 -0
- package/bin/logout.ts +11 -0
- package/bin/mcp/client.ts +407 -0
- package/bin/mcp/doctor.ts +189 -0
- package/bin/mcp/index.ts +80 -0
- package/bin/mcp/options.ts +122 -0
- package/bin/mcp/printConfig.ts +89 -0
- package/bin/multipartBuilder.ts +74 -0
- package/bin/{restart.js → restart.ts} +27 -28
- package/bin/{run.js → run.ts} +41 -30
- package/bin/sseConsumer.ts +126 -0
- package/bin/{status.js → status.ts} +10 -10
- package/bin/{stop.js → stop.ts} +5 -5
- package/bin/upgrade.js +17 -24
- package/components/Application.ts +144 -18
- package/components/ApplicationScope.ts +2 -2
- package/components/ComponentV1.ts +2 -2
- package/components/EntryHandler.ts +159 -9
- package/components/OptionsWatcher.ts +75 -11
- package/components/Scope.ts +132 -18
- package/components/anthropic/index.ts +547 -0
- package/components/bedrock/index.ts +823 -0
- package/components/componentLoader.ts +64 -32
- package/components/deployLifecycle.ts +161 -0
- package/components/deploymentOperations.ts +173 -0
- package/components/deploymentRecorder.ts +427 -0
- package/components/deriveURLPath.ts +4 -4
- package/components/mcp/adapters/fastify.ts +87 -0
- package/components/mcp/adapters/harperHttp.ts +103 -0
- package/components/mcp/audit.ts +75 -0
- package/components/mcp/index.ts +134 -0
- package/components/mcp/jsonrpc.ts +134 -0
- package/components/mcp/lifecycle.ts +105 -0
- package/components/mcp/listChanged.ts +270 -0
- package/components/mcp/rateLimit.ts +217 -0
- package/components/mcp/resources.ts +607 -0
- package/components/mcp/session.ts +151 -0
- package/components/mcp/sessionRegistry.ts +140 -0
- package/components/mcp/toolRegistry.ts +294 -0
- package/components/mcp/tools/application.ts +761 -0
- package/components/mcp/tools/operations.ts +311 -0
- package/components/mcp/tools/schemas/derive.ts +356 -0
- package/components/mcp/tools/schemas/operationDescriptions.ts +241 -0
- package/components/mcp/tools/schemas/operations.ts +301 -0
- package/components/mcp/transport.ts +517 -0
- package/components/ollama/index.ts +316 -0
- package/components/openai/index.ts +563 -0
- package/components/operations.js +217 -60
- package/components/operationsValidation.js +12 -4
- package/components/packageComponent.ts +97 -29
- package/components/requestRestart.ts +17 -2
- package/components/status/crossThread.ts +14 -5
- package/components/status/errors.ts +1 -1
- package/config/RootConfigWatcher.ts +56 -2
- package/config/configUtils.js +29 -8
- package/config/harperConfigEnvVars.ts +1 -1
- package/config-root.schema.json +78 -4
- package/dataLayer/{CreateAttributeObject.js → CreateAttributeObject.ts} +4 -3
- package/dataLayer/{CreateTableObject.js → CreateTableObject.ts} +2 -1
- package/dataLayer/{DataLayerObjects.js → DataLayerObjects.ts} +17 -9
- package/dataLayer/{DeleteBeforeObject.js → DeleteBeforeObject.ts} +2 -1
- package/dataLayer/{DeleteObject.js → DeleteObject.ts} +3 -2
- package/dataLayer/{DropAttributeObject.js → DropAttributeObject.ts} +2 -1
- package/dataLayer/{GetBackupObject.js → GetBackupObject.ts} +3 -2
- package/dataLayer/{InsertObject.js → InsertObject.ts} +3 -2
- package/dataLayer/{ReadAuditLogObject.js → ReadAuditLogObject.ts} +3 -2
- package/dataLayer/{SQLSearch.js → SQLSearch.ts} +97 -43
- package/dataLayer/{SearchByConditionsObject.js → SearchByConditionsObject.ts} +5 -6
- package/dataLayer/{SearchByHashObject.js → SearchByHashObject.ts} +2 -1
- package/dataLayer/{SearchObject.js → SearchObject.ts} +2 -1
- package/dataLayer/{SqlSearchObject.js → SqlSearchObject.ts} +2 -1
- package/dataLayer/{UpdateObject.js → UpdateObject.ts} +3 -2
- package/dataLayer/{UpsertObject.js → UpsertObject.ts} +3 -2
- package/dataLayer/{bulkLoad.js → bulkLoad.ts} +40 -49
- package/dataLayer/{delete.js → delete.ts} +21 -26
- package/dataLayer/{export.js → export.ts} +22 -26
- package/dataLayer/{getBackup.js → getBackup.ts} +7 -9
- package/dataLayer/harperBridge/BridgeMethods.ts +102 -0
- package/dataLayer/harperBridge/ResourceBridge.ts +27 -26
- package/dataLayer/harperBridge/TableSizeObject.ts +1 -0
- package/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +4 -4
- package/dataLayer/harperBridge/{harperBridge.js → harperBridge.ts} +3 -3
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +8 -6
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +4 -4
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +1 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +6 -4
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +5 -4
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +4 -4
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +6 -5
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +5 -4
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +5 -5
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +1 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +3 -3
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +1 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +3 -2
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +5 -5
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +10 -8
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +1 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +4 -3
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +3 -3
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +6 -5
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +2 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +3 -2
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +2 -2
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +5 -4
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +6 -3
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +1 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +4 -4
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +5 -5
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +4 -4
- package/dataLayer/{hdbInfoController.js → hdbInfoController.ts} +20 -26
- package/dataLayer/{insert.js → insert.ts} +24 -24
- package/dataLayer/{readAuditLog.js → readAuditLog.ts} +8 -10
- package/dataLayer/{schema.js → schema.ts} +32 -44
- package/dataLayer/{schemaDescribe.js → schemaDescribe.ts} +23 -26
- package/dataLayer/{search.js → search.ts} +9 -15
- package/dataLayer/{transaction.js → transaction.ts} +2 -5
- package/dataLayer/{update.js → update.ts} +19 -22
- package/dist/agent/agent.d.ts +35 -0
- package/dist/agent/agent.js +175 -0
- package/dist/agent/agent.js.map +1 -0
- package/dist/agent/loop.d.ts +34 -0
- package/dist/agent/loop.js +176 -0
- package/dist/agent/loop.js.map +1 -0
- package/dist/agent/operations.d.ts +17 -0
- package/dist/agent/operations.js +137 -0
- package/dist/agent/operations.js.map +1 -0
- package/dist/agent/session.d.ts +36 -0
- package/dist/agent/session.js +182 -0
- package/dist/agent/session.js.map +1 -0
- package/dist/agent/tools/fsTools.d.ts +19 -0
- package/dist/agent/tools/fsTools.js +286 -0
- package/dist/agent/tools/fsTools.js.map +1 -0
- package/dist/agent/tools/httpFetchTool.d.ts +9 -0
- package/dist/agent/tools/httpFetchTool.js +116 -0
- package/dist/agent/tools/httpFetchTool.js.map +1 -0
- package/dist/agent/tools/scheduleTool.d.ts +22 -0
- package/dist/agent/tools/scheduleTool.js +54 -0
- package/dist/agent/tools/scheduleTool.js.map +1 -0
- package/dist/agent/toolset.d.ts +24 -0
- package/dist/agent/toolset.js +33 -0
- package/dist/agent/toolset.js.map +1 -0
- package/dist/agent/types.d.ts +75 -0
- package/dist/agent/types.js +10 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/bin/BinObjects.d.ts +2 -2
- package/dist/bin/BinObjects.js +6 -3
- package/dist/bin/BinObjects.js.map +1 -1
- package/dist/bin/cliCredentials.d.ts +27 -0
- package/dist/bin/cliCredentials.js +130 -0
- package/dist/bin/cliCredentials.js.map +1 -0
- package/dist/bin/cliOperations.d.ts +7 -7
- package/dist/bin/cliOperations.js +251 -37
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/copyDb.js +16 -16
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/deployRenderer.d.ts +47 -0
- package/dist/bin/deployRenderer.js +185 -0
- package/dist/bin/deployRenderer.js.map +1 -0
- package/dist/bin/harper.d.ts +2 -1
- package/dist/bin/harper.js +87 -26
- package/dist/bin/harper.js.map +1 -1
- package/dist/bin/install.d.ts +1 -1
- package/dist/bin/install.js +41 -4
- package/dist/bin/install.js.map +1 -1
- package/dist/bin/lite.js +3 -4
- package/dist/bin/lite.js.map +1 -1
- package/dist/bin/login.d.ts +4 -0
- package/dist/bin/login.js +123 -0
- package/dist/bin/login.js.map +1 -0
- package/dist/bin/logout.d.ts +4 -0
- package/dist/bin/logout.js +16 -0
- package/dist/bin/logout.js.map +1 -0
- package/dist/bin/mcp/client.d.ts +34 -0
- package/dist/bin/mcp/client.js +395 -0
- package/dist/bin/mcp/client.js.map +1 -0
- package/dist/bin/mcp/doctor.d.ts +11 -0
- package/dist/bin/mcp/doctor.js +193 -0
- package/dist/bin/mcp/doctor.js.map +1 -0
- package/dist/bin/mcp/index.d.ts +10 -0
- package/dist/bin/mcp/index.js +81 -0
- package/dist/bin/mcp/index.js.map +1 -0
- package/dist/bin/mcp/options.d.ts +33 -0
- package/dist/bin/mcp/options.js +113 -0
- package/dist/bin/mcp/options.js.map +1 -0
- package/dist/bin/mcp/printConfig.d.ts +14 -0
- package/dist/bin/mcp/printConfig.js +85 -0
- package/dist/bin/mcp/printConfig.js.map +1 -0
- package/dist/bin/multipartBuilder.d.ts +26 -0
- package/dist/bin/multipartBuilder.js +55 -0
- package/dist/bin/multipartBuilder.js.map +1 -0
- package/dist/bin/restart.d.ts +3 -2
- package/dist/bin/restart.js +82 -45
- package/dist/bin/restart.js.map +1 -1
- package/dist/bin/run.d.ts +13 -9
- package/dist/bin/run.js +111 -65
- package/dist/bin/run.js.map +1 -1
- package/dist/bin/sseConsumer.d.ts +24 -0
- package/dist/bin/sseConsumer.js +127 -0
- package/dist/bin/sseConsumer.js.map +1 -0
- package/dist/bin/status.d.ts +1 -1
- package/dist/bin/status.js +48 -11
- package/dist/bin/status.js.map +1 -1
- package/dist/bin/stop.d.ts +1 -1
- package/dist/bin/stop.js +43 -6
- package/dist/bin/stop.js.map +1 -1
- package/dist/bin/upgrade.js +14 -22
- package/dist/bin/upgrade.js.map +1 -1
- package/dist/components/Application.d.ts +29 -17
- package/dist/components/Application.js +134 -28
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.js +2 -2
- package/dist/components/ComponentV1.d.ts +1 -1
- package/dist/components/ComponentV1.js +5 -5
- package/dist/components/ComponentV1.js.map +1 -1
- package/dist/components/EntryHandler.d.ts +26 -3
- package/dist/components/EntryHandler.js +153 -13
- package/dist/components/EntryHandler.js.map +1 -1
- package/dist/components/OptionsWatcher.d.ts +7 -2
- package/dist/components/OptionsWatcher.js +72 -10
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/components/Scope.d.ts +11 -6
- package/dist/components/Scope.js +112 -12
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/anthropic/index.d.ts +40 -0
- package/dist/components/anthropic/index.js +428 -0
- package/dist/components/anthropic/index.js.map +1 -0
- package/dist/components/bedrock/index.d.ts +79 -0
- package/dist/components/bedrock/index.js +734 -0
- package/dist/components/bedrock/index.js.map +1 -0
- package/dist/components/componentLoader.d.ts +29 -0
- package/dist/components/componentLoader.js +65 -38
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/deployLifecycle.d.ts +39 -0
- package/dist/components/deployLifecycle.js +156 -0
- package/dist/components/deployLifecycle.js.map +1 -0
- package/dist/components/deploymentOperations.d.ts +19 -0
- package/dist/components/deploymentOperations.js +185 -0
- package/dist/components/deploymentOperations.js.map +1 -0
- package/dist/components/deploymentRecorder.d.ts +97 -0
- package/dist/components/deploymentRecorder.js +425 -0
- package/dist/components/deploymentRecorder.js.map +1 -0
- package/dist/components/deriveURLPath.d.ts +2 -2
- package/dist/components/deriveURLPath.js +2 -2
- package/dist/components/deriveURLPath.js.map +1 -1
- package/dist/components/mcp/adapters/fastify.d.ts +35 -0
- package/dist/components/mcp/adapters/fastify.js +66 -0
- package/dist/components/mcp/adapters/fastify.js.map +1 -0
- package/dist/components/mcp/adapters/harperHttp.d.ts +38 -0
- package/dist/components/mcp/adapters/harperHttp.js +78 -0
- package/dist/components/mcp/adapters/harperHttp.js.map +1 -0
- package/dist/components/mcp/audit.d.ts +27 -0
- package/dist/components/mcp/audit.js +73 -0
- package/dist/components/mcp/audit.js.map +1 -0
- package/dist/components/mcp/index.d.ts +47 -0
- package/dist/components/mcp/index.js +109 -0
- package/dist/components/mcp/index.js.map +1 -0
- package/dist/components/mcp/jsonrpc.d.ts +71 -0
- package/dist/components/mcp/jsonrpc.js +93 -0
- package/dist/components/mcp/jsonrpc.js.map +1 -0
- package/dist/components/mcp/lifecycle.d.ts +69 -0
- package/dist/components/mcp/lifecycle.js +79 -0
- package/dist/components/mcp/lifecycle.js.map +1 -0
- package/dist/components/mcp/listChanged.d.ts +24 -0
- package/dist/components/mcp/listChanged.js +257 -0
- package/dist/components/mcp/listChanged.js.map +1 -0
- package/dist/components/mcp/rateLimit.d.ts +25 -0
- package/dist/components/mcp/rateLimit.js +226 -0
- package/dist/components/mcp/rateLimit.js.map +1 -0
- package/dist/components/mcp/resources.d.ts +90 -0
- package/dist/components/mcp/resources.js +526 -0
- package/dist/components/mcp/resources.js.map +1 -0
- package/dist/components/mcp/session.d.ts +36 -0
- package/dist/components/mcp/session.js +170 -0
- package/dist/components/mcp/session.js.map +1 -0
- package/dist/components/mcp/sessionRegistry.d.ts +63 -0
- package/dist/components/mcp/sessionRegistry.js +124 -0
- package/dist/components/mcp/sessionRegistry.js.map +1 -0
- package/dist/components/mcp/toolRegistry.d.ts +151 -0
- package/dist/components/mcp/toolRegistry.js +177 -0
- package/dist/components/mcp/toolRegistry.js.map +1 -0
- package/dist/components/mcp/tools/application.d.ts +72 -0
- package/dist/components/mcp/tools/application.js +660 -0
- package/dist/components/mcp/tools/application.js.map +1 -0
- package/dist/components/mcp/tools/operations.d.ts +23 -0
- package/dist/components/mcp/tools/operations.js +331 -0
- package/dist/components/mcp/tools/operations.js.map +1 -0
- package/dist/components/mcp/tools/schemas/derive.d.ts +50 -0
- package/dist/components/mcp/tools/schemas/derive.js +291 -0
- package/dist/components/mcp/tools/schemas/derive.js.map +1 -0
- package/dist/components/mcp/tools/schemas/operationDescriptions.d.ts +32 -0
- package/dist/components/mcp/tools/schemas/operationDescriptions.js +179 -0
- package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -0
- package/dist/components/mcp/tools/schemas/operations.d.ts +27 -0
- package/dist/components/mcp/tools/schemas/operations.js +299 -0
- package/dist/components/mcp/tools/schemas/operations.js.map +1 -0
- package/dist/components/mcp/transport.d.ts +38 -0
- package/dist/components/mcp/transport.js +467 -0
- package/dist/components/mcp/transport.js.map +1 -0
- package/dist/components/ollama/index.d.ts +46 -0
- package/dist/components/ollama/index.js +239 -0
- package/dist/components/ollama/index.js.map +1 -0
- package/dist/components/openai/index.d.ts +51 -0
- package/dist/components/openai/index.js +475 -0
- package/dist/components/openai/index.js.map +1 -0
- package/dist/components/operations.d.ts +6 -6
- package/dist/components/operations.js +205 -52
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.d.ts +2 -2
- package/dist/components/operationsValidation.js +13 -4
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/packageComponent.d.ts +28 -6
- package/dist/components/packageComponent.js +87 -26
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/components/requestRestart.d.ts +1 -0
- package/dist/components/requestRestart.js +12 -1
- package/dist/components/requestRestart.js.map +1 -1
- package/dist/components/status/crossThread.d.ts +5 -1
- package/dist/components/status/crossThread.js +12 -5
- package/dist/components/status/crossThread.js.map +1 -1
- package/dist/components/status/errors.js +7 -7
- package/dist/config/RootConfigWatcher.d.ts +3 -0
- package/dist/config/RootConfigWatcher.js +52 -1
- package/dist/config/RootConfigWatcher.js.map +1 -1
- package/dist/config/configUtils.js +31 -8
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/harperConfigEnvVars.js +1 -1
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/dataLayer/CreateAttributeObject.d.ts +3 -7
- package/dist/dataLayer/CreateAttributeObject.js +4 -3
- package/dist/dataLayer/CreateAttributeObject.js.map +1 -1
- package/dist/dataLayer/CreateTableObject.d.ts +2 -4
- package/dist/dataLayer/CreateTableObject.js +2 -1
- package/dist/dataLayer/CreateTableObject.js.map +1 -1
- package/dist/dataLayer/DataLayerObjects.d.ts +17 -16
- package/dist/dataLayer/DataLayerObjects.js +19 -5
- package/dist/dataLayer/DataLayerObjects.js.map +1 -1
- package/dist/dataLayer/DeleteBeforeObject.d.ts +3 -5
- package/dist/dataLayer/DeleteBeforeObject.js +2 -1
- package/dist/dataLayer/DeleteBeforeObject.js.map +1 -1
- package/dist/dataLayer/DeleteObject.d.ts +3 -7
- package/dist/dataLayer/DeleteObject.js +4 -3
- package/dist/dataLayer/DeleteObject.js.map +1 -1
- package/dist/dataLayer/DropAttributeObject.d.ts +2 -4
- package/dist/dataLayer/DropAttributeObject.js +2 -1
- package/dist/dataLayer/DropAttributeObject.js.map +1 -1
- package/dist/dataLayer/GetBackupObject.d.ts +3 -5
- package/dist/dataLayer/GetBackupObject.js +4 -3
- package/dist/dataLayer/GetBackupObject.js.map +1 -1
- package/dist/dataLayer/InsertObject.d.ts +3 -8
- package/dist/dataLayer/InsertObject.js +4 -3
- package/dist/dataLayer/InsertObject.js.map +1 -1
- package/dist/dataLayer/ReadAuditLogObject.d.ts +3 -7
- package/dist/dataLayer/ReadAuditLogObject.js +4 -3
- package/dist/dataLayer/ReadAuditLogObject.js.map +1 -1
- package/dist/dataLayer/SQLSearch.d.ts +68 -38
- package/dist/dataLayer/SQLSearch.js +140 -78
- package/dist/dataLayer/SQLSearch.js.map +1 -1
- package/dist/dataLayer/SearchByConditionsObject.d.ts +10 -58
- package/dist/dataLayer/SearchByConditionsObject.js +5 -7
- package/dist/dataLayer/SearchByConditionsObject.js.map +1 -1
- package/dist/dataLayer/SearchByHashObject.d.ts +3 -6
- package/dist/dataLayer/SearchByHashObject.js +2 -1
- package/dist/dataLayer/SearchByHashObject.js.map +1 -1
- package/dist/dataLayer/SearchObject.d.ts +3 -12
- package/dist/dataLayer/SearchObject.js +2 -1
- package/dist/dataLayer/SearchObject.js.map +1 -1
- package/dist/dataLayer/SqlSearchObject.d.ts +2 -4
- package/dist/dataLayer/SqlSearchObject.js +2 -1
- package/dist/dataLayer/SqlSearchObject.js.map +1 -1
- package/dist/dataLayer/UpdateObject.d.ts +3 -7
- package/dist/dataLayer/UpdateObject.js +4 -3
- package/dist/dataLayer/UpdateObject.js.map +1 -1
- package/dist/dataLayer/UpsertObject.d.ts +3 -7
- package/dist/dataLayer/UpsertObject.js +4 -3
- package/dist/dataLayer/UpsertObject.js.map +1 -1
- package/dist/dataLayer/bulkLoad.d.ts +4 -4
- package/dist/dataLayer/bulkLoad.js +122 -88
- package/dist/dataLayer/bulkLoad.js.map +1 -1
- package/dist/dataLayer/delete.d.ts +10 -11
- package/dist/dataLayer/delete.js +74 -39
- package/dist/dataLayer/delete.js.map +1 -1
- package/dist/dataLayer/export.d.ts +8 -8
- package/dist/dataLayer/export.js +90 -55
- package/dist/dataLayer/export.js.map +1 -1
- package/dist/dataLayer/getBackup.d.ts +4 -3
- package/dist/dataLayer/getBackup.js +43 -11
- package/dist/dataLayer/getBackup.js.map +1 -1
- package/dist/dataLayer/harperBridge/BridgeMethods.d.ts +39 -21
- package/dist/dataLayer/harperBridge/BridgeMethods.js +41 -20
- package/dist/dataLayer/harperBridge/BridgeMethods.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +2 -2
- package/dist/dataLayer/harperBridge/ResourceBridge.js +26 -25
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/harperBridge/TableSizeObject.d.ts +1 -0
- package/dist/dataLayer/harperBridge/TableSizeObject.js.map +1 -1
- package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.d.ts +4 -4
- package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +4 -4
- package/dist/dataLayer/harperBridge/harperBridge.d.ts +2 -3
- package/dist/dataLayer/harperBridge/harperBridge.js +38 -4
- package/dist/dataLayer/harperBridge/harperBridge.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +7 -6
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +5 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +5 -5
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +5 -5
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +3 -3
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +2 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +5 -5
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +8 -8
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.d.ts +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +3 -3
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +3 -3
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +5 -5
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +2 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +2 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +5 -3
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +2 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.d.ts +1 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +5 -5
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +4 -4
- package/dist/dataLayer/hdbInfoController.d.ts +4 -8
- package/dist/dataLayer/hdbInfoController.js +66 -31
- package/dist/dataLayer/hdbInfoController.js.map +1 -1
- package/dist/dataLayer/insert.d.ts +14 -26
- package/dist/dataLayer/insert.js +63 -28
- package/dist/dataLayer/insert.js.map +1 -1
- package/dist/dataLayer/readAuditLog.d.ts +1 -3
- package/dist/dataLayer/readAuditLog.js +45 -13
- package/dist/dataLayer/readAuditLog.js.map +1 -1
- package/dist/dataLayer/schema.d.ts +10 -10
- package/dist/dataLayer/schema.js +124 -89
- package/dist/dataLayer/schema.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.d.ts +4 -4
- package/dist/dataLayer/schemaDescribe.js +78 -41
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/dataLayer/search.d.ts +4 -4
- package/dist/dataLayer/search.js +12 -13
- package/dist/dataLayer/search.js.map +1 -1
- package/dist/dataLayer/transaction.d.ts +1 -1
- package/dist/dataLayer/transaction.js +3 -4
- package/dist/dataLayer/transaction.js.map +1 -1
- package/dist/dataLayer/update.d.ts +2 -8
- package/dist/dataLayer/update.js +53 -18
- package/dist/dataLayer/update.js.map +1 -1
- package/dist/globals.d.ts +1 -1
- package/dist/globals.js +1 -0
- package/dist/globals.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +65 -0
- package/dist/launchServiceScripts/launchHarperDB.d.ts +1 -0
- package/dist/launchServiceScripts/launchHarperDB.js +3 -0
- package/dist/launchServiceScripts/launchHarperDB.js.map +1 -0
- package/dist/launchServiceScripts/utility/checkNodeVersion.js +3 -0
- package/dist/launchServiceScripts/utility/checkNodeVersion.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +14 -6
- package/dist/resources/DatabaseTransaction.js +39 -15
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/ErrorResource.d.ts +1 -1
- package/dist/resources/ErrorResource.js +3 -1
- package/dist/resources/ErrorResource.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +10 -13
- package/dist/resources/LMDBTransaction.js +18 -7
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +10 -12
- package/dist/resources/RecordEncoder.js +38 -38
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/RequestTarget.d.ts +1 -0
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.d.ts +25 -5
- package/dist/resources/Resource.js +43 -10
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +24 -5
- package/dist/resources/ResourceInterface.js +20 -0
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Resources.d.ts +3 -4
- package/dist/resources/Resources.js +7 -6
- package/dist/resources/Resources.js.map +1 -1
- package/dist/resources/RocksIndexStore.js +3 -0
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +1 -1
- package/dist/resources/RocksTransactionLogStore.js +10 -3
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +76 -329
- package/dist/resources/Table.js +306 -116
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/metadata.d.ts +1 -0
- package/dist/resources/analytics/metadata.js +1 -0
- package/dist/resources/analytics/metadata.js.map +1 -1
- package/dist/resources/analytics/read.d.ts +8 -1
- package/dist/resources/analytics/read.js +69 -8
- package/dist/resources/analytics/read.js.map +1 -1
- package/dist/resources/analytics/write.d.ts +28 -0
- package/dist/resources/analytics/write.js +232 -20
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +18 -13
- package/dist/resources/auditStore.js +16 -8
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/blob.d.ts +16 -27
- package/dist/resources/blob.js +8 -8
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/dataLoader.d.ts +1 -1
- package/dist/resources/dataLoader.js +13 -13
- package/dist/resources/databases.d.ts +17 -0
- package/dist/resources/databases.js +175 -59
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/graphql.d.ts +1 -7
- package/dist/resources/graphql.js +267 -173
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +17 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +327 -59
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/indexes/vector.d.ts +1 -0
- package/dist/resources/indexes/vector.js +14 -0
- package/dist/resources/indexes/vector.js.map +1 -1
- package/dist/resources/jsonSchemaTypes.d.ts +60 -0
- package/dist/resources/jsonSchemaTypes.js +78 -0
- package/dist/resources/jsonSchemaTypes.js.map +1 -0
- package/dist/resources/loadEnv.d.ts +2 -5
- package/dist/resources/loadEnv.js +21 -18
- package/dist/resources/loadEnv.js.map +1 -1
- package/dist/resources/login.d.ts +2 -3
- package/dist/resources/login.js +5 -4
- package/dist/resources/login.js.map +1 -1
- package/dist/resources/models/Models.d.ts +45 -0
- package/dist/resources/models/Models.js +265 -0
- package/dist/resources/models/Models.js.map +1 -0
- package/dist/resources/models/TestBackend.d.ts +15 -0
- package/dist/resources/models/TestBackend.js +71 -0
- package/dist/resources/models/TestBackend.js.map +1 -0
- package/dist/resources/models/agentLoop.d.ts +125 -0
- package/dist/resources/models/agentLoop.js +746 -0
- package/dist/resources/models/agentLoop.js.map +1 -0
- package/dist/resources/models/analyticsTable.d.ts +65 -0
- package/dist/resources/models/analyticsTable.js +166 -0
- package/dist/resources/models/analyticsTable.js.map +1 -0
- package/dist/resources/models/backendHelpers.d.ts +57 -0
- package/dist/resources/models/backendHelpers.js +109 -0
- package/dist/resources/models/backendHelpers.js.map +1 -0
- package/dist/resources/models/backendRegistry.d.ts +36 -0
- package/dist/resources/models/backendRegistry.js +54 -0
- package/dist/resources/models/backendRegistry.js.map +1 -0
- package/dist/resources/models/bootstrap.d.ts +24 -0
- package/dist/resources/models/bootstrap.js +112 -0
- package/dist/resources/models/bootstrap.js.map +1 -0
- package/dist/resources/models/embedHook.d.ts +33 -0
- package/dist/resources/models/embedHook.js +127 -0
- package/dist/resources/models/embedHook.js.map +1 -0
- package/dist/resources/models/types.d.ts +301 -0
- package/dist/resources/models/types.js +11 -0
- package/dist/resources/models/types.js.map +1 -0
- package/dist/resources/openApi.js +74 -34
- package/dist/resources/openApi.js.map +1 -1
- package/dist/resources/replayLogs.js +7 -1
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/replayLogsGuards.d.ts +9 -0
- package/dist/resources/replayLogsGuards.js +47 -0
- package/dist/resources/replayLogsGuards.js.map +1 -1
- package/dist/resources/roles.d.ts +1 -7
- package/dist/resources/roles.js +67 -71
- package/dist/resources/roles.js.map +1 -1
- package/dist/resources/search.d.ts +18 -1
- package/dist/resources/search.js +349 -140
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/tracked.d.ts +1 -1
- package/dist/resources/tracked.js +23 -15
- package/dist/resources/tracked.js.map +1 -1
- package/dist/resources/transaction.d.ts +1 -1
- package/dist/resources/transaction.js +1 -1
- package/dist/resources/transaction.js.map +1 -1
- package/dist/resources/transactionBroadcast.d.ts +1 -1
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/auth.d.ts +1 -5
- package/dist/security/auth.js +34 -25
- package/dist/security/auth.js.map +1 -1
- package/dist/security/certificateVerification/crlVerification.js +7 -1
- package/dist/security/certificateVerification/crlVerification.js.map +1 -1
- package/dist/security/cryptoHash.d.ts +2 -2
- package/dist/security/cryptoHash.js +37 -5
- package/dist/security/cryptoHash.js.map +1 -1
- package/dist/security/data_objects/PermissionAttributeResponseObject.d.ts +3 -4
- package/dist/security/data_objects/PermissionAttributeResponseObject.js +4 -1
- package/dist/security/data_objects/PermissionAttributeResponseObject.js.map +1 -1
- package/dist/security/data_objects/PermissionResponseObject.d.ts +9 -9
- package/dist/security/data_objects/PermissionResponseObject.js +15 -8
- package/dist/security/data_objects/PermissionResponseObject.js.map +1 -1
- package/dist/security/data_objects/PermissionTableResponseObject.d.ts +5 -6
- package/dist/security/data_objects/PermissionTableResponseObject.js +6 -1
- package/dist/security/data_objects/PermissionTableResponseObject.js.map +1 -1
- package/dist/security/fastifyAuth.d.ts +2 -2
- package/dist/security/fastifyAuth.js +131 -22
- package/dist/security/fastifyAuth.js.map +1 -1
- package/dist/security/impersonation.js +15 -15
- package/dist/security/jsLoader.js +18 -5
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/keys.d.ts +45 -48
- package/dist/security/keys.js +160 -114
- package/dist/security/keys.js.map +1 -1
- package/dist/security/permissionsTranslator.js +2 -2
- package/dist/security/role.d.ts +5 -5
- package/dist/security/role.js +70 -35
- package/dist/security/role.js.map +1 -1
- package/dist/security/tokenAuthentication.d.ts +13 -0
- package/dist/security/tokenAuthentication.js +57 -27
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/security/user.js +74 -38
- package/dist/security/user.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +4 -2
- package/dist/server/DurableSubscriptionsSession.js +71 -55
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/REST.d.ts +1 -8
- package/dist/server/REST.js +17 -16
- package/dist/server/REST.js.map +1 -1
- package/dist/server/Server.d.ts +23 -4
- package/dist/server/Server.js +1 -1
- package/dist/server/Server.js.map +1 -1
- package/dist/server/fastifyRoutes/helpers/getCORSOptions.js +1 -1
- package/dist/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +1 -1
- package/dist/server/fastifyRoutes/helpers/getServerOptions.js +1 -1
- package/dist/server/fastifyRoutes.d.ts +1 -4
- package/dist/server/fastifyRoutes.js +34 -30
- package/dist/server/fastifyRoutes.js.map +1 -1
- package/dist/server/graphqlQuerying.d.ts +1 -1
- package/dist/server/graphqlQuerying.js +8 -7
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +9 -4
- package/dist/server/http.js +523 -47
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +66 -15
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/jobs/JobObject.d.ts +3 -3
- package/dist/server/jobs/JobObject.js +53 -7
- package/dist/server/jobs/JobObject.js.map +1 -1
- package/dist/server/jobs/jobProcess.js +64 -24
- package/dist/server/jobs/jobProcess.js.map +1 -1
- package/dist/server/jobs/jobRunner.d.ts +7 -6
- package/dist/server/jobs/jobRunner.js +68 -30
- package/dist/server/jobs/jobRunner.js.map +1 -1
- package/dist/server/jobs/jobs.d.ts +18 -7
- package/dist/server/jobs/jobs.js +93 -61
- package/dist/server/jobs/jobs.js.map +1 -1
- package/dist/server/loadRootComponents.js +1 -1
- package/dist/server/middlewareChain.d.ts +80 -0
- package/dist/server/middlewareChain.js +252 -0
- package/dist/server/middlewareChain.js.map +1 -0
- package/dist/server/mqtt.d.ts +1 -8
- package/dist/server/mqtt.js +22 -17
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/nodeName.js +46 -13
- package/dist/server/nodeName.js.map +1 -1
- package/dist/server/operationsServer.d.ts +2 -2
- package/dist/server/operationsServer.js +106 -33
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +4 -4
- package/dist/server/serverHelpers/Headers.js +2 -0
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/JSONStream.d.ts +7 -1
- package/dist/server/serverHelpers/JSONStream.js +12 -3
- package/dist/server/serverHelpers/JSONStream.js.map +1 -1
- package/dist/server/serverHelpers/Request.d.ts +106 -8
- package/dist/server/serverHelpers/Request.js +370 -9
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +1 -1
- package/dist/server/serverHelpers/contentTypes.js +36 -7
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/multipartParser.d.ts +21 -0
- package/dist/server/serverHelpers/multipartParser.js +142 -0
- package/dist/server/serverHelpers/multipartParser.js.map +1 -0
- package/dist/server/serverHelpers/progressEmitter.d.ts +25 -0
- package/dist/server/serverHelpers/progressEmitter.js +103 -0
- package/dist/server/serverHelpers/progressEmitter.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.d.ts +1 -1
- package/dist/server/serverHelpers/serverHandlers.js +38 -7
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +4 -2
- package/dist/server/serverHelpers/serverUtilities.js +97 -93
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/static.js +8 -5
- package/dist/server/static.js.map +1 -1
- package/dist/server/status/index.js +3 -3
- package/dist/server/storageReclamation.d.ts +10 -0
- package/dist/server/storageReclamation.js +68 -9
- package/dist/server/storageReclamation.js.map +1 -1
- package/dist/server/threads/itc.js +7 -4
- package/dist/server/threads/itc.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +1 -1
- package/dist/server/threads/manageThreads.js +110 -26
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.d.ts +0 -1
- package/dist/server/threads/socketRouter.js +8 -271
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadServer.d.ts +1 -0
- package/dist/server/threads/threadServer.js +360 -118
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/server/threads/workerProcessGuard.d.ts +42 -0
- package/dist/server/threads/workerProcessGuard.js +114 -0
- package/dist/server/threads/workerProcessGuard.js.map +1 -0
- package/dist/server/throttle.js +17 -0
- package/dist/server/throttle.js.map +1 -1
- package/dist/sqlTranslator/SelectValidator.d.ts +21 -24
- package/dist/sqlTranslator/SelectValidator.js +86 -47
- package/dist/sqlTranslator/SelectValidator.js.map +1 -1
- package/dist/sqlTranslator/alasqlFunctionImporter.d.ts +6 -2
- package/dist/sqlTranslator/alasqlFunctionImporter.js +40 -3
- package/dist/sqlTranslator/alasqlFunctionImporter.js.map +1 -1
- package/dist/sqlTranslator/deleteTranslator.d.ts +4 -7
- package/dist/sqlTranslator/deleteTranslator.js +48 -14
- package/dist/sqlTranslator/deleteTranslator.js.map +1 -1
- package/dist/sqlTranslator/index.d.ts +10 -9
- package/dist/sqlTranslator/index.js +69 -30
- package/dist/sqlTranslator/index.js.map +1 -1
- package/dist/sqlTranslator/sql_statement_bucket.d.ts +10 -10
- package/dist/sqlTranslator/sql_statement_bucket.js +55 -13
- package/dist/sqlTranslator/sql_statement_bucket.js.map +1 -1
- package/dist/upgrade/UpgradeObjects.d.ts +2 -3
- package/dist/upgrade/UpgradeObjects.js +37 -4
- package/dist/upgrade/UpgradeObjects.js.map +1 -1
- package/dist/upgrade/directives/5-1-0.d.ts +6 -0
- package/dist/upgrade/directives/5-1-0.js +114 -0
- package/dist/upgrade/directives/5-1-0.js.map +1 -0
- package/dist/upgrade/directives/directivesController.d.ts +10 -10
- package/dist/upgrade/directives/directivesController.js +52 -11
- package/dist/upgrade/directives/directivesController.js.map +1 -1
- package/dist/upgrade/directivesManager.d.ts +1 -1
- package/dist/upgrade/directivesManager.js +53 -18
- package/dist/upgrade/directivesManager.js.map +1 -1
- package/dist/upgrade/upgradePrompt.d.ts +2 -8
- package/dist/upgrade/upgradePrompt.js +55 -60
- package/dist/upgrade/upgradePrompt.js.map +1 -1
- package/dist/upgrade/upgradeUtilities.d.ts +1 -1
- package/dist/upgrade/upgradeUtilities.js +37 -5
- package/dist/upgrade/upgradeUtilities.js.map +1 -1
- package/dist/utility/OperationFunctionCaller.d.ts +1 -1
- package/dist/utility/OperationFunctionCaller.js +45 -10
- package/dist/utility/OperationFunctionCaller.js.map +1 -1
- package/dist/utility/assignCmdEnvVariables.d.ts +1 -2
- package/dist/utility/assignCmdEnvVariables.js +8 -4
- package/dist/utility/assignCmdEnvVariables.js.map +1 -1
- package/dist/utility/common_utils.d.ts +80 -77
- package/dist/utility/common_utils.js +140 -79
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/environment/environmentManager.d.ts +12 -11
- package/dist/utility/environment/environmentManager.js +75 -29
- package/dist/utility/environment/environmentManager.js.map +1 -1
- package/dist/utility/environment/systemInformation.d.ts +4 -0
- package/dist/utility/environment/systemInformation.js +27 -16
- package/dist/utility/environment/systemInformation.js.map +1 -1
- package/dist/utility/errors/commonErrors.d.ts +192 -168
- package/dist/utility/errors/commonErrors.js +49 -18
- package/dist/utility/errors/commonErrors.js.map +1 -1
- package/dist/utility/errors/hdbError.d.ts +37 -51
- package/dist/utility/errors/hdbError.js +65 -26
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/expandEnvVar.d.ts +61 -0
- package/dist/utility/expandEnvVar.js +113 -0
- package/dist/utility/expandEnvVar.js.map +1 -0
- package/dist/utility/functions/geo.js +2 -2
- package/dist/utility/functions/sql/alaSQLExtension.js +1 -1
- package/dist/utility/globalSchema.d.ts +13 -4
- package/dist/utility/globalSchema.js +14 -11
- package/dist/utility/globalSchema.js.map +1 -1
- package/dist/utility/hdbTerms.d.ts +54 -1
- package/dist/utility/hdbTerms.js +54 -1
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/install/checkJWTTokensExist.js +1 -1
- package/dist/utility/install/installer.d.ts +9 -12
- package/dist/utility/install/installer.js +117 -54
- package/dist/utility/install/installer.js.map +1 -1
- package/dist/utility/installation.js +3 -3
- package/dist/utility/lmdb/DBIDefinition.d.ts +4 -4
- package/dist/utility/lmdb/DBIDefinition.js +5 -1
- package/dist/utility/lmdb/DBIDefinition.js.map +1 -1
- package/dist/utility/lmdb/DeleteRecordsResponseObject.d.ts +3 -6
- package/dist/utility/lmdb/DeleteRecordsResponseObject.js +2 -1
- package/dist/utility/lmdb/DeleteRecordsResponseObject.js.map +1 -1
- package/dist/utility/lmdb/InsertRecordsResponseObject.d.ts +3 -5
- package/dist/utility/lmdb/InsertRecordsResponseObject.js +2 -1
- package/dist/utility/lmdb/InsertRecordsResponseObject.js.map +1 -1
- package/dist/utility/lmdb/OpenDBIObject.d.ts +12 -15
- package/dist/utility/lmdb/OpenDBIObject.js +68 -6
- package/dist/utility/lmdb/OpenDBIObject.js.map +1 -1
- package/dist/utility/lmdb/OpenEnvironmentObject.d.ts +5 -8
- package/dist/utility/lmdb/OpenEnvironmentObject.js +52 -4
- package/dist/utility/lmdb/OpenEnvironmentObject.js.map +1 -1
- package/dist/utility/lmdb/UpdateRecordsResponseObject.d.ts +3 -6
- package/dist/utility/lmdb/UpdateRecordsResponseObject.js +2 -1
- package/dist/utility/lmdb/UpdateRecordsResponseObject.js.map +1 -1
- package/dist/utility/lmdb/UpsertRecordsResponseObject.d.ts +3 -5
- package/dist/utility/lmdb/UpsertRecordsResponseObject.js +2 -1
- package/dist/utility/lmdb/UpsertRecordsResponseObject.js.map +1 -1
- package/dist/utility/lmdb/cleanLMDBMap.d.ts +1 -1
- package/dist/utility/lmdb/cleanLMDBMap.js +44 -7
- package/dist/utility/lmdb/cleanLMDBMap.js.map +1 -1
- package/dist/utility/lmdb/commonUtility.d.ts +8 -9
- package/dist/utility/lmdb/commonUtility.js +46 -17
- package/dist/utility/lmdb/commonUtility.js.map +1 -1
- package/dist/utility/lmdb/deleteUtility.d.ts +2 -3
- package/dist/utility/lmdb/deleteUtility.js +51 -16
- package/dist/utility/lmdb/deleteUtility.js.map +1 -1
- package/dist/utility/lmdb/environmentUtility.d.ts +69 -36
- package/dist/utility/lmdb/environmentUtility.js +91 -51
- package/dist/utility/lmdb/environmentUtility.js.map +1 -1
- package/dist/utility/lmdb/searchCursorFunctions.d.ts +19 -19
- package/dist/utility/lmdb/searchCursorFunctions.js +46 -14
- package/dist/utility/lmdb/searchCursorFunctions.js.map +1 -1
- package/dist/utility/lmdb/searchUtility.d.ts +142 -73
- package/dist/utility/lmdb/searchUtility.js +91 -55
- package/dist/utility/lmdb/searchUtility.js.map +1 -1
- package/dist/utility/lmdb/terms.d.ts +34 -34
- package/dist/utility/lmdb/terms.js +12 -22
- package/dist/utility/lmdb/terms.js.map +1 -1
- package/dist/utility/lmdb/writeUtility.d.ts +3 -6
- package/dist/utility/lmdb/writeUtility.js +61 -28
- package/dist/utility/lmdb/writeUtility.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +87 -103
- package/dist/utility/logging/harper_logger.js +177 -82
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logRotator.d.ts +2 -10
- package/dist/utility/logging/logRotator.js +67 -32
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/logging/logger.js +4 -4
- package/dist/utility/logging/readLog.d.ts +1 -1
- package/dist/utility/logging/readLog.js +54 -17
- package/dist/utility/logging/readLog.js.map +1 -1
- package/dist/utility/logging/transactionLog.d.ts +2 -2
- package/dist/utility/logging/transactionLog.js +51 -16
- package/dist/utility/logging/transactionLog.js.map +1 -1
- package/dist/utility/mount_hdb.d.ts +1 -2
- package/dist/utility/mount_hdb.js +54 -17
- package/dist/utility/mount_hdb.js.map +1 -1
- package/dist/utility/npmUtilities.d.ts +1 -1
- package/dist/utility/npmUtilities.js +54 -19
- package/dist/utility/npmUtilities.js.map +1 -1
- package/dist/utility/operation_authorization.d.ts +36 -9
- package/dist/utility/operation_authorization.js +135 -86
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/packageUtils.d.ts +0 -2
- package/dist/utility/packageUtils.js +7 -17
- package/dist/utility/packageUtils.js.map +1 -1
- package/dist/utility/password.js +2 -2
- package/dist/utility/processManagement/processManagement.js +2 -2
- package/dist/utility/processManagement/servicesConfig.js +1 -1
- package/dist/utility/signalling.d.ts +2 -2
- package/dist/utility/signalling.js +51 -16
- package/dist/utility/signalling.js.map +1 -1
- package/dist/utility/watcherFallback.d.ts +36 -0
- package/dist/utility/watcherFallback.js +73 -0
- package/dist/utility/watcherFallback.js.map +1 -0
- package/dist/validation/analyticsValidator.d.ts +1 -0
- package/dist/validation/analyticsValidator.js +80 -0
- package/dist/validation/analyticsValidator.js.map +1 -0
- package/dist/validation/bulkDeleteValidator.d.ts +1 -2
- package/dist/validation/bulkDeleteValidator.js +49 -11
- package/dist/validation/bulkDeleteValidator.js.map +1 -1
- package/dist/validation/check_permissions.d.ts +1 -2
- package/dist/validation/check_permissions.js +38 -3
- package/dist/validation/check_permissions.js.map +1 -1
- package/dist/validation/common_validators.d.ts +20 -20
- package/dist/validation/common_validators.js +62 -31
- package/dist/validation/common_validators.js.map +1 -1
- package/dist/validation/configValidator.d.ts +4 -4
- package/dist/validation/configValidator.js +189 -54
- package/dist/validation/configValidator.js.map +1 -1
- package/dist/validation/deleteValidator.d.ts +1 -2
- package/dist/validation/deleteValidator.js +49 -11
- package/dist/validation/deleteValidator.js.map +1 -1
- package/dist/validation/fileLoadValidator.d.ts +4 -4
- package/dist/validation/fileLoadValidator.js +67 -32
- package/dist/validation/fileLoadValidator.js.map +1 -1
- package/dist/validation/insertValidator.d.ts +1 -2
- package/dist/validation/insertValidator.js +48 -10
- package/dist/validation/insertValidator.js.map +1 -1
- package/dist/validation/installValidator.d.ts +2 -2
- package/dist/validation/installValidator.js +47 -10
- package/dist/validation/installValidator.js.map +1 -1
- package/dist/validation/readLogValidator.d.ts +1 -2
- package/dist/validation/readLogValidator.js +60 -22
- package/dist/validation/readLogValidator.js.map +1 -1
- package/dist/validation/role_validation.d.ts +3 -3
- package/dist/validation/role_validation.js +55 -19
- package/dist/validation/role_validation.js.map +1 -1
- package/dist/validation/schemaMetadataValidator.d.ts +3 -4
- package/dist/validation/schemaMetadataValidator.js +11 -12
- package/dist/validation/schemaMetadataValidator.js.map +1 -1
- package/dist/validation/searchValidator.d.ts +1 -2
- package/dist/validation/searchValidator.js +82 -43
- package/dist/validation/searchValidator.js.map +1 -1
- package/dist/validation/statusValidator.d.ts +1 -1
- package/dist/validation/transactionLogValidator.d.ts +3 -3
- package/dist/validation/transactionLogValidator.js +52 -17
- package/dist/validation/transactionLogValidator.js.map +1 -1
- package/dist/validation/user_validation.d.ts +3 -3
- package/dist/validation/user_validation.js +38 -6
- package/dist/validation/user_validation.js.map +1 -1
- package/dist/validation/validationWrapper.d.ts +3 -3
- package/dist/validation/validationWrapper.js +4 -5
- package/dist/validation/validationWrapper.js.map +1 -1
- package/index.ts +5 -0
- package/json/systemSchema.json +65 -0
- package/launchServiceScripts/utility/checkNodeVersion.js +2 -0
- package/package.json +38 -24
- package/resources/DESIGN.md +98 -0
- package/resources/DatabaseTransaction.ts +58 -30
- package/resources/ErrorResource.ts +2 -1
- package/resources/LMDBTransaction.ts +38 -29
- package/resources/RecordEncoder.ts +41 -39
- package/resources/RequestTarget.ts +2 -0
- package/resources/Resource.ts +96 -56
- package/resources/ResourceInterface.ts +44 -21
- package/resources/Resources.ts +8 -8
- package/resources/RocksIndexStore.ts +3 -0
- package/resources/RocksTransactionLogStore.ts +13 -4
- package/resources/Table.ts +440 -223
- package/resources/analytics/metadata.ts +1 -0
- package/resources/analytics/read.ts +99 -10
- package/resources/analytics/write.ts +240 -17
- package/resources/auditStore.ts +30 -19
- package/resources/blob.ts +53 -53
- package/resources/dataLoader.ts +4 -4
- package/resources/databases.ts +208 -74
- package/resources/graphql.ts +267 -165
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +310 -65
- package/resources/indexes/vector.ts +17 -0
- package/resources/jsonSchemaTypes.ts +102 -0
- package/resources/loadEnv.ts +21 -17
- package/resources/login.ts +5 -3
- package/resources/models/Models.ts +304 -0
- package/resources/models/TestBackend.ts +83 -0
- package/resources/models/agentLoop.ts +895 -0
- package/resources/models/analyticsTable.ts +199 -0
- package/resources/models/backendHelpers.ts +116 -0
- package/resources/models/backendRegistry.ts +66 -0
- package/resources/models/bootstrap.ts +135 -0
- package/resources/models/embedHook.ts +138 -0
- package/resources/models/types.ts +296 -0
- package/resources/openApi.ts +65 -31
- package/resources/replayLogs.ts +20 -9
- package/resources/replayLogsGuards.ts +45 -0
- package/resources/roles.ts +62 -67
- package/resources/search.ts +355 -135
- package/resources/tracked.ts +18 -9
- package/resources/transaction.ts +8 -8
- package/resources/transactionBroadcast.ts +3 -3
- package/schema.graphql +7 -0
- package/security/auth.ts +35 -26
- package/security/certificateVerification/crlVerification.ts +11 -4
- package/security/{cryptoHash.js → cryptoHash.ts} +3 -8
- package/security/data_objects/{PermissionAttributeResponseObject.js → PermissionAttributeResponseObject.ts} +4 -4
- package/security/data_objects/{PermissionResponseObject.js → PermissionResponseObject.ts} +12 -11
- package/security/data_objects/{PermissionTableResponseObject.js → PermissionTableResponseObject.ts} +6 -4
- package/security/{fastifyAuth.js → fastifyAuth.ts} +93 -20
- package/security/impersonation.ts +3 -3
- package/security/jsLoader.ts +22 -8
- package/security/{keys.js → keys.ts} +113 -121
- package/security/permissionsTranslator.js +2 -2
- package/security/{role.js → role.ts} +26 -33
- package/security/tokenAuthentication.ts +34 -7
- package/security/user.ts +26 -22
- package/server/DESIGN.md +139 -0
- package/server/DurableSubscriptionsSession.ts +67 -50
- package/server/REST.ts +120 -107
- package/server/Server.ts +31 -12
- package/server/fastifyRoutes/helpers/getCORSOptions.js +1 -1
- package/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +1 -1
- package/server/fastifyRoutes/helpers/getServerOptions.js +1 -1
- package/server/fastifyRoutes.ts +37 -33
- package/server/graphqlQuerying.ts +6 -5
- package/server/http.ts +517 -26
- package/server/itc/serverHandlers.js +75 -14
- package/server/jobs/{JobObject.js → JobObject.ts} +13 -6
- package/server/jobs/{jobProcess.js → jobProcess.ts} +20 -16
- package/server/jobs/{jobRunner.js → jobRunner.ts} +20 -21
- package/server/jobs/{jobs.js → jobs.ts} +41 -44
- package/server/loadRootComponents.js +1 -1
- package/server/middlewareChain.ts +270 -0
- package/server/mqtt.ts +35 -26
- package/server/nodeName.ts +3 -1
- package/server/operationsServer.ts +85 -10
- package/server/serverHelpers/Headers.ts +10 -8
- package/server/serverHelpers/JSONStream.ts +15 -5
- package/server/serverHelpers/Request.ts +370 -13
- package/server/serverHelpers/contentTypes.ts +42 -11
- package/server/serverHelpers/multipartParser.ts +152 -0
- package/server/serverHelpers/progressEmitter.ts +110 -0
- package/server/serverHelpers/serverHandlers.js +43 -7
- package/server/serverHelpers/serverUtilities.ts +40 -30
- package/server/static.ts +9 -6
- package/server/status/index.ts +2 -2
- package/server/storageReclamation.ts +39 -2
- package/server/threads/itc.js +7 -4
- package/server/threads/manageThreads.js +100 -26
- package/server/threads/socketRouter.ts +12 -275
- package/server/threads/threadServer.js +345 -105
- package/server/threads/workerProcessGuard.ts +93 -0
- package/server/throttle.ts +18 -0
- package/sqlTranslator/{SelectValidator.js → SelectValidator.ts} +41 -49
- package/sqlTranslator/{alasqlFunctionImporter.js → alasqlFunctionImporter.ts} +5 -5
- package/sqlTranslator/{deleteTranslator.js → deleteTranslator.ts} +13 -18
- package/sqlTranslator/{index.js → index.ts} +30 -33
- package/sqlTranslator/{sql_statement_bucket.js → sql_statement_bucket.ts} +49 -20
- package/static/README.md +10 -9
- package/static/defaultConfig.yaml +0 -1
- 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/upgrade/{UpgradeObjects.js → UpgradeObjects.ts} +3 -6
- package/upgrade/directives/5-1-0.ts +89 -0
- package/upgrade/directives/{directivesController.js → directivesController.ts} +16 -16
- package/upgrade/{directivesManager.js → directivesManager.ts} +7 -11
- package/upgrade/{upgradePrompt.js → upgradePrompt.ts} +6 -54
- package/upgrade/{upgradeUtilities.js → upgradeUtilities.ts} +3 -7
- package/utility/{OperationFunctionCaller.js → OperationFunctionCaller.ts} +7 -7
- package/utility/{assignCmdEnvVariables.js → assignCmdEnvVariables.ts} +6 -8
- package/utility/{common_utils.js → common_utils.ts} +113 -139
- package/utility/environment/{environmentManager.js → environmentManager.ts} +34 -33
- package/utility/environment/systemInformation.ts +18 -4
- package/utility/errors/{commonErrors.js → commonErrors.ts} +9 -9
- package/utility/errors/{hdbError.js → hdbError.ts} +39 -45
- package/utility/expandEnvVar.ts +110 -0
- package/utility/functions/geo.js +2 -2
- package/utility/functions/sql/alaSQLExtension.js +1 -1
- package/utility/globalSchema.ts +30 -0
- package/utility/hdbTerms.ts +54 -1
- package/utility/install/checkJWTTokensExist.js +1 -1
- package/utility/install/{installer.js → installer.ts} +66 -42
- package/utility/installation.ts +2 -2
- package/utility/lmdb/{DBIDefinition.js → DBIDefinition.ts} +4 -1
- package/utility/lmdb/{DeleteRecordsResponseObject.js → DeleteRecordsResponseObject.ts} +2 -1
- package/utility/lmdb/{InsertRecordsResponseObject.js → InsertRecordsResponseObject.ts} +2 -1
- package/utility/lmdb/OpenDBIObject.ts +57 -0
- package/utility/lmdb/{OpenEnvironmentObject.js → OpenEnvironmentObject.ts} +19 -6
- package/utility/lmdb/{UpdateRecordsResponseObject.js → UpdateRecordsResponseObject.ts} +2 -1
- package/utility/lmdb/{UpsertRecordsResponseObject.js → UpsertRecordsResponseObject.ts} +2 -1
- package/utility/lmdb/{cleanLMDBMap.js → cleanLMDBMap.ts} +5 -5
- package/utility/lmdb/{commonUtility.js → commonUtility.ts} +13 -21
- package/utility/lmdb/{deleteUtility.js → deleteUtility.ts} +8 -12
- package/utility/lmdb/{environmentUtility.js → environmentUtility.ts} +43 -52
- package/utility/lmdb/{searchCursorFunctions.js → searchCursorFunctions.ts} +12 -26
- package/utility/lmdb/{searchUtility.js → searchUtility.ts} +75 -64
- package/utility/lmdb/{terms.js → terms.ts} +10 -23
- package/utility/lmdb/{writeUtility.js → writeUtility.ts} +37 -22
- package/utility/logging/{harper_logger.js → harper_logger.ts} +137 -90
- package/utility/logging/{logRotator.js → logRotator.ts} +15 -18
- package/utility/logging/logger.ts +1 -1
- package/utility/logging/{readLog.js → readLog.ts} +19 -19
- package/utility/logging/{transactionLog.js → transactionLog.ts} +10 -14
- package/utility/{mount_hdb.js → mount_hdb.ts} +15 -16
- package/utility/{npmUtilities.js → npmUtilities.ts} +14 -17
- package/utility/{operation_authorization.js → operation_authorization.ts} +173 -124
- package/utility/packageUtils.js +7 -16
- package/utility/password.ts +1 -1
- package/utility/processManagement/processManagement.js +2 -2
- package/utility/processManagement/servicesConfig.js +1 -1
- package/utility/{signalling.js → signalling.ts} +6 -11
- package/utility/watcherFallback.ts +74 -0
- package/validation/analyticsValidator.ts +44 -0
- package/validation/{bulkDeleteValidator.js → bulkDeleteValidator.ts} +5 -5
- package/validation/{check_permissions.js → check_permissions.ts} +3 -3
- package/validation/{common_validators.js → common_validators.ts} +12 -24
- package/validation/{configValidator.js → configValidator.ts} +114 -18
- package/validation/{deleteValidator.js → deleteValidator.ts} +5 -5
- package/validation/{fileLoadValidator.js → fileLoadValidator.ts} +12 -19
- package/validation/{insertValidator.js → insertValidator.ts} +5 -5
- package/validation/{installValidator.js → installValidator.ts} +8 -8
- package/validation/{readLogValidator.js → readLogValidator.ts} +10 -10
- package/validation/{role_validation.js → role_validation.ts} +26 -32
- package/validation/{schemaMetadataValidator.js → schemaMetadataValidator.ts} +5 -11
- package/validation/{searchValidator.js → searchValidator.ts} +12 -11
- package/validation/statusValidator.ts +1 -1
- package/validation/{transactionLogValidator.js → transactionLogValidator.ts} +4 -9
- package/validation/{user_validation.js → user_validation.ts} +4 -10
- package/validation/{validationWrapper.js → validationWrapper.ts} +3 -9
- package/bin/cliOperations.js +0 -159
- package/bin/lite.js +0 -5
- package/dataLayer/harperBridge/BridgeMethods.js +0 -85
- package/studio/web/assets/index-CybLScHg.js.map +0 -1
- package/utility/globalSchema.js +0 -35
- package/utility/lmdb/OpenDBIObject.js +0 -31
package/resources/tracked.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClientError } from '../utility/errors/hdbError.
|
|
1
|
+
import { ClientError } from '../utility/errors/hdbError.ts';
|
|
2
2
|
import * as crdtOperations from './crdt.ts';
|
|
3
3
|
import { Blob } from './blob.ts';
|
|
4
4
|
|
|
@@ -24,7 +24,16 @@ function getChanges(target) {
|
|
|
24
24
|
export function assignTrackedAccessors(Target, typeDef, useFullPropertyProxy = false) {
|
|
25
25
|
const prototype = Target.prototype;
|
|
26
26
|
const descriptors = {};
|
|
27
|
-
|
|
27
|
+
// Read the Array form. `typeDef.properties` is now a Record<string, JsonSchemaFragment>
|
|
28
|
+
// after the schema-metadata alignment; iterating it with for...of would throw.
|
|
29
|
+
// For typeDefs that only carry the Record (e.g. a programmatic Resource that declared
|
|
30
|
+
// `static properties` without populating `attributes`), synthesize a minimal Array by
|
|
31
|
+
// projecting the Record keys so the tracked accessors still bind something.
|
|
32
|
+
const attributes =
|
|
33
|
+
typeDef.attributes ||
|
|
34
|
+
(typeDef.properties
|
|
35
|
+
? Object.entries(typeDef.properties).map(([name, frag]) => ({ name, ...(frag as object) }))
|
|
36
|
+
: []);
|
|
28
37
|
for (const attribute of attributes) {
|
|
29
38
|
const name = attribute.name;
|
|
30
39
|
let set;
|
|
@@ -193,12 +202,12 @@ export function assignTrackedAccessors(Target, typeDef, useFullPropertyProxy = f
|
|
|
193
202
|
configurable: true, // we need to be able to reconfigure these as schemas change (attributes can be added/removed at runtime)
|
|
194
203
|
};
|
|
195
204
|
}
|
|
196
|
-
descriptor.get.isAttribute = true;
|
|
205
|
+
(descriptor.get as any).isAttribute = true;
|
|
197
206
|
descriptors[name] = descriptor;
|
|
198
207
|
if (
|
|
199
208
|
!(name in prototype) ||
|
|
200
209
|
// this means that we are re-defining an attribute accessor (which is fine)
|
|
201
|
-
Object.getOwnPropertyDescriptor(prototype, name)?.get?.isAttribute
|
|
210
|
+
(Object.getOwnPropertyDescriptor(prototype, name)?.get as any)?.isAttribute
|
|
202
211
|
) {
|
|
203
212
|
Object.defineProperty(prototype, name, descriptor);
|
|
204
213
|
}
|
|
@@ -339,7 +348,7 @@ export class GenericTrackedObject<T extends object = any> {
|
|
|
339
348
|
constructor(sourceObject?: GenericTrackedObject<T> | T) {
|
|
340
349
|
if ((sourceObject as GenericTrackedObject<T>)?.getRecord)
|
|
341
350
|
throw new Error('Can not track an already tracked object, check for circular references');
|
|
342
|
-
this.#record = sourceObject;
|
|
351
|
+
this.#record = sourceObject as any;
|
|
343
352
|
}
|
|
344
353
|
getRecord(): T {
|
|
345
354
|
return this.#record;
|
|
@@ -486,11 +495,11 @@ class TrackedArray extends Array {
|
|
|
486
495
|
}
|
|
487
496
|
splice(...args) {
|
|
488
497
|
this[HAS_ARRAY_CHANGES] = true;
|
|
489
|
-
return super.splice(...args);
|
|
498
|
+
return (super.splice as any)(...args);
|
|
490
499
|
}
|
|
491
500
|
push(...args) {
|
|
492
501
|
this[HAS_ARRAY_CHANGES] = true;
|
|
493
|
-
return super.push(...args);
|
|
502
|
+
return (super.push as any)(...args);
|
|
494
503
|
}
|
|
495
504
|
pop() {
|
|
496
505
|
this[HAS_ARRAY_CHANGES] = true;
|
|
@@ -498,7 +507,7 @@ class TrackedArray extends Array {
|
|
|
498
507
|
}
|
|
499
508
|
unshift(...args) {
|
|
500
509
|
this[HAS_ARRAY_CHANGES] = true;
|
|
501
|
-
return super.unshift(...args);
|
|
510
|
+
return (super.unshift as any)(...args);
|
|
502
511
|
}
|
|
503
512
|
shift() {
|
|
504
513
|
this[HAS_ARRAY_CHANGES] = true;
|
|
@@ -508,7 +517,7 @@ class TrackedArray extends Array {
|
|
|
508
517
|
TrackedArray.prototype.constructor = Array; // this makes type checks easier/faster (and we want it to be Array like too)
|
|
509
518
|
|
|
510
519
|
// Copy a record into a resource, using copy-on-write for nested objects/arrays
|
|
511
|
-
export function copyRecord(record, targetResource, attributes) {
|
|
520
|
+
export function copyRecord(record, targetResource, attributes = Object.keys(record)) {
|
|
512
521
|
targetResource.setRecord(record);
|
|
513
522
|
for (const attribute of attributes) {
|
|
514
523
|
// do not override existing methods
|
package/resources/transaction.ts
CHANGED
|
@@ -3,10 +3,10 @@ import { _assignPackageExport } from '../globals.js';
|
|
|
3
3
|
import { DatabaseTransaction, type Transaction, TRANSACTION_STATE } from './DatabaseTransaction.ts';
|
|
4
4
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
5
5
|
|
|
6
|
-
export function transaction<T>(context: Context, callback: (transaction: Transaction) => T): T;
|
|
7
|
-
export function transaction<T>(callback: (transaction: Transaction) => T): T;
|
|
8
6
|
export const contextStorage = new AsyncLocalStorage<Context>();
|
|
9
7
|
|
|
8
|
+
export function transaction<T>(context: Context, callback: (transaction: Transaction) => T): T;
|
|
9
|
+
export function transaction<T>(callback: (transaction: Transaction) => T): T;
|
|
10
10
|
/**
|
|
11
11
|
* Start and run a new transaction. This can be called with a request to hold the transaction, or a new request object will be created
|
|
12
12
|
* @param ctx
|
|
@@ -43,15 +43,15 @@ export function transaction<T>(
|
|
|
43
43
|
transaction.setContext(context);
|
|
44
44
|
|
|
45
45
|
// create a resource cache so that multiple requests to the same resource return the same resource
|
|
46
|
-
if (!context.resourceCache) context.resourceCache =
|
|
46
|
+
if (!context.resourceCache) context.resourceCache = new Map();
|
|
47
47
|
let result;
|
|
48
48
|
try {
|
|
49
49
|
result =
|
|
50
|
-
context.isExplicit || asyncStorageContext
|
|
50
|
+
(context as any).isExplicit || asyncStorageContext
|
|
51
51
|
? callback(transaction)
|
|
52
52
|
: contextStorage.run(context, () => callback(transaction));
|
|
53
|
-
if (result?.then) {
|
|
54
|
-
return result.then(onComplete, onError);
|
|
53
|
+
if ((result as any)?.then) {
|
|
54
|
+
return (result as any).then(onComplete, onError);
|
|
55
55
|
}
|
|
56
56
|
} catch (error) {
|
|
57
57
|
onError(error);
|
|
@@ -60,8 +60,8 @@ export function transaction<T>(
|
|
|
60
60
|
// when the transaction function completes, run this to commit the transaction
|
|
61
61
|
function onComplete(result) {
|
|
62
62
|
const committed = transaction.commit({ doneWriting: true });
|
|
63
|
-
if (committed.then) {
|
|
64
|
-
return committed.then(() => {
|
|
63
|
+
if ((committed as any).then) {
|
|
64
|
+
return (committed as any).then(() => {
|
|
65
65
|
return result;
|
|
66
66
|
});
|
|
67
67
|
} else {
|
|
@@ -77,7 +77,7 @@ export function addSubscription(table, key, listener?: (key) => any, startTime?:
|
|
|
77
77
|
key = keyArrayToString(key);
|
|
78
78
|
const subscription = new Subscription(listener);
|
|
79
79
|
subscription.startTime = startTime;
|
|
80
|
-
let subscriptions: any
|
|
80
|
+
let subscriptions: any = tableSubscriptions.get(key);
|
|
81
81
|
|
|
82
82
|
if (subscriptions) subscriptions.push(subscription);
|
|
83
83
|
else {
|
|
@@ -96,7 +96,7 @@ export function addSubscription(table, key, listener?: (key) => any, startTime?:
|
|
|
96
96
|
*/
|
|
97
97
|
class Subscription extends IterableEventQueue {
|
|
98
98
|
listener: (recordId: Id, auditEntry: any, localTime: number, beginTxn: boolean) => void;
|
|
99
|
-
subscriptions:
|
|
99
|
+
subscriptions: any;
|
|
100
100
|
startTime?: number;
|
|
101
101
|
includeDescendants?: boolean;
|
|
102
102
|
supportsTransactions?: boolean;
|
|
@@ -134,7 +134,7 @@ const ACTIONS_OF_INTEREST = ['put', 'patch', 'delete', 'message', 'invalidate'];
|
|
|
134
134
|
// Sized to keep per-batch wall time within a few ms on commodity hardware while keeping the
|
|
135
135
|
// scheduling overhead amortized; tune if profiling shows different shapes.
|
|
136
136
|
const NOTIFY_BATCH_SIZE = 256;
|
|
137
|
-
function notifyFromTransactionData(subscriptions, auditLogIterable
|
|
137
|
+
function notifyFromTransactionData(subscriptions, auditLogIterable?, allowYield = false) {
|
|
138
138
|
if (!subscriptions) return; // if no subscriptions to this env path, don't need to read anything
|
|
139
139
|
// If no real subscribers are attached, skip the iteration. The reusable iterator preserves its
|
|
140
140
|
// position and will pick up from where we left it once a subscriber is added.
|
package/schema.graphql
CHANGED
|
@@ -113,6 +113,13 @@ directive @table(
|
|
|
113
113
|
table definition.
|
|
114
114
|
"""
|
|
115
115
|
replicate: Boolean
|
|
116
|
+
"""
|
|
117
|
+
Encode this table's records as typed random-access structures, optimizing for fast field
|
|
118
|
+
access and smaller records. Best for tables with stable, homogeneous field types; leave off
|
|
119
|
+
for wide or variably-typed schemas. Pins this table's encoding, overriding the global
|
|
120
|
+
storage.randomAccessFields config (which otherwise applies to each table dynamically on open).
|
|
121
|
+
"""
|
|
122
|
+
randomAccessFields: Boolean
|
|
116
123
|
) on OBJECT
|
|
117
124
|
|
|
118
125
|
"""
|
package/security/auth.ts
CHANGED
|
@@ -2,16 +2,16 @@ import { getSuperUser } from './user.ts';
|
|
|
2
2
|
import { server } from '../server/Server.ts';
|
|
3
3
|
import { resources } from '../resources/Resources.ts';
|
|
4
4
|
import { validateOperationToken, validateRefreshToken } from './tokenAuthentication.ts';
|
|
5
|
-
import { table } from '../resources/databases.ts';
|
|
5
|
+
import { table, type Table } from '../resources/databases.ts';
|
|
6
6
|
import { v4 as uuid } from 'uuid';
|
|
7
|
-
import * as env from '../utility/environment/environmentManager.
|
|
7
|
+
import * as env from '../utility/environment/environmentManager.ts';
|
|
8
8
|
import { CONFIG_PARAMS, AUTH_AUDIT_STATUS, AUTH_AUDIT_TYPES } from '../utility/hdbTerms.ts';
|
|
9
|
-
import harperLogger from '../utility/logging/harper_logger.
|
|
9
|
+
import harperLogger from '../utility/logging/harper_logger.ts';
|
|
10
10
|
const { forComponent, AuthAuditLog } = harperLogger;
|
|
11
11
|
import serverHandlers from '../server/itc/serverHandlers.js';
|
|
12
12
|
const { user } = serverHandlers;
|
|
13
13
|
import { Headers } from '../server/serverHelpers/Headers.ts';
|
|
14
|
-
import { convertToMS } from '../utility/common_utils.
|
|
14
|
+
import { convertToMS } from '../utility/common_utils.ts';
|
|
15
15
|
import { verifyCertificate } from './certificateVerification/index.ts';
|
|
16
16
|
import { serializeMessage } from '../server/serverHelpers/contentTypes.ts';
|
|
17
17
|
const authLogger = forComponent('authentication');
|
|
@@ -24,11 +24,14 @@ const appsCors = env.get(CONFIG_PARAMS.HTTP_CORS);
|
|
|
24
24
|
const operationsCorsAccesslist = env.get(CONFIG_PARAMS.OPERATIONSAPI_NETWORK_CORSACCESSLIST);
|
|
25
25
|
const operationsCors = env.get(CONFIG_PARAMS.OPERATIONSAPI_NETWORK_CORS);
|
|
26
26
|
|
|
27
|
-
const
|
|
27
|
+
const _sessionTable = table<Table>({
|
|
28
28
|
table: 'hdb_session',
|
|
29
29
|
database: 'system',
|
|
30
30
|
attributes: [{ name: 'id', isPrimaryKey: true }, { name: 'user' }],
|
|
31
31
|
});
|
|
32
|
+
function getSessionTable() {
|
|
33
|
+
return _sessionTable;
|
|
34
|
+
}
|
|
32
35
|
const ENABLE_SESSIONS = env.get(CONFIG_PARAMS.AUTHENTICATION_ENABLESESSIONS) ?? true;
|
|
33
36
|
// check the environment for a flag to bypass authentication (for testing) since it doesn't necessarily get set on child threads
|
|
34
37
|
let AUTHORIZE_LOCAL =
|
|
@@ -45,8 +48,10 @@ server.onInvalidatedUser(() => {
|
|
|
45
48
|
// TODO: Eventually we probably want to be able to invalidate individual users
|
|
46
49
|
authorizationCache = new Map();
|
|
47
50
|
});
|
|
51
|
+
let bypassUser: any;
|
|
48
52
|
export function bypassAuth() {
|
|
49
53
|
AUTHORIZE_LOCAL = true;
|
|
54
|
+
bypassUser = { username: 'bypass', role: { role: 'super_user', permission: { super_user: true } } };
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
// TODO: Make this not return a promise if it can be fulfilled synchronously (from cache)
|
|
@@ -98,7 +103,7 @@ export async function authentication(request, nextHandler) {
|
|
|
98
103
|
if (cookie.startsWith(cookiePrefix)) {
|
|
99
104
|
const end = cookie.indexOf(';');
|
|
100
105
|
sessionId = cookie.slice(cookiePrefix.length, end === -1 ? cookie.length : end);
|
|
101
|
-
session = await
|
|
106
|
+
session = await getSessionTable().get(sessionId);
|
|
102
107
|
break;
|
|
103
108
|
}
|
|
104
109
|
}
|
|
@@ -114,10 +119,10 @@ export async function authentication(request, nextHandler) {
|
|
|
114
119
|
request.method,
|
|
115
120
|
request.pathname
|
|
116
121
|
);
|
|
117
|
-
log.auth_strategy = strategy;
|
|
118
|
-
if (sessionId) log.session_id = sessionId;
|
|
119
|
-
if (headers['referer']) log.referer = headers['referer'];
|
|
120
|
-
if (headers['origin']) log.origin = headers['origin'];
|
|
122
|
+
(log as any).auth_strategy = strategy;
|
|
123
|
+
if (sessionId) (log as any).session_id = sessionId;
|
|
124
|
+
if (headers['referer']) (log as any).referer = headers['referer'];
|
|
125
|
+
if (headers['origin']) (log as any).origin = headers['origin'];
|
|
121
126
|
|
|
122
127
|
if (status === AUTH_AUDIT_STATUS.SUCCESS) authEventLog.info?.(log);
|
|
123
128
|
else authEventLog.error?.(log);
|
|
@@ -242,10 +247,13 @@ export async function authentication(request, nextHandler) {
|
|
|
242
247
|
// or should this be cached in the session?
|
|
243
248
|
request.user = await server.getUser(session.user, null, request);
|
|
244
249
|
} else if (
|
|
250
|
+
(AUTHORIZE_LOCAL && bypassUser) || // explicit bypass (test mode); also covers ::ffff:127.x addresses
|
|
245
251
|
(AUTHORIZE_LOCAL && (request.ip?.includes('127.0.0.') || request.ip == '::1')) ||
|
|
246
|
-
(request?._nodeRequest?.socket?.server?._pipeName &&
|
|
252
|
+
(request?._nodeRequest?.socket?.server?._pipeName &&
|
|
253
|
+
request?._nodeRequest?.socket?.server?.bypassLocalAuth &&
|
|
254
|
+
request.ip === undefined) // allow operations API domain socket
|
|
247
255
|
) {
|
|
248
|
-
request.user = await getSuperUser();
|
|
256
|
+
request.user = bypassUser ?? (await getSuperUser());
|
|
249
257
|
}
|
|
250
258
|
if (ENABLE_SESSIONS) {
|
|
251
259
|
request.session.update = function (updatedSession) {
|
|
@@ -303,7 +311,7 @@ export async function authentication(request, nextHandler) {
|
|
|
303
311
|
}
|
|
304
312
|
}
|
|
305
313
|
updatedSession.id = sessionId;
|
|
306
|
-
return
|
|
314
|
+
return getSessionTable().put(updatedSession, {
|
|
307
315
|
expiresAt: expires ? Date.now() + convertToMS(expires) : undefined,
|
|
308
316
|
});
|
|
309
317
|
};
|
|
@@ -344,20 +352,21 @@ export async function authentication(request, nextHandler) {
|
|
|
344
352
|
return response;
|
|
345
353
|
}
|
|
346
354
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
355
|
+
setInterval(() => {
|
|
356
|
+
authorizationCache = new Map();
|
|
357
|
+
}, env.get(CONFIG_PARAMS.AUTHENTICATION_CACHETTL)).unref();
|
|
358
|
+
user.addListener(() => {
|
|
359
|
+
authorizationCache = new Map();
|
|
360
|
+
});
|
|
361
|
+
let started = false;
|
|
362
|
+
export function handleApplication(scope: import('../components/Scope.ts').Scope) {
|
|
363
|
+
if (started) return;
|
|
364
|
+
started = true;
|
|
365
|
+
const { port, securePort }: any = scope.options.getAll() as { port?: number; securePort?: number };
|
|
366
|
+
const httpOpts = port || securePort ? ({ port, securePort } as any) : ({ port: 'all' } as any);
|
|
367
|
+
scope.server.http(authentication, httpOpts);
|
|
360
368
|
}
|
|
369
|
+
|
|
361
370
|
// operations
|
|
362
371
|
export async function login(loginObject) {
|
|
363
372
|
if (!loginObject.baseRequest?.login) throw new Error('No session for login');
|
|
@@ -20,7 +20,6 @@ import {
|
|
|
20
20
|
import { ERROR_CACHE_TTL, CRL_DEFAULT_VALIDITY_PERIOD, CRL_USER_AGENT } from './verificationConfig.ts';
|
|
21
21
|
import type {
|
|
22
22
|
CertificateVerificationResult,
|
|
23
|
-
CertificateVerificationContext,
|
|
24
23
|
CertificateCacheEntry,
|
|
25
24
|
CRLCheckResult,
|
|
26
25
|
CRLConfig,
|
|
@@ -83,6 +82,10 @@ class CertificateRevocationListSource extends Resource {
|
|
|
83
82
|
} catch (error) {
|
|
84
83
|
logger.error?.(`CRL fetch error for: ${distributionPoint} - ${error}`);
|
|
85
84
|
|
|
85
|
+
if (error instanceof CRLSignatureVerificationError) {
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
|
|
86
89
|
// Check failure mode
|
|
87
90
|
if (config.failureMode === 'fail-closed') {
|
|
88
91
|
// Cache the error for faster recovery
|
|
@@ -228,12 +231,12 @@ export async function verifyCRL(
|
|
|
228
231
|
const cacheKey = createCacheKey(certPemStr, issuerPemStr, 'crl');
|
|
229
232
|
|
|
230
233
|
// Pass certificate data as context - Harper will make it available as requestContext in the source
|
|
231
|
-
const cacheEntry = await (getCertificateCacheTable() as any).get(cacheKey, {
|
|
234
|
+
const cacheEntry = await (getCertificateCacheTable() as any).get(cacheKey, undefined, {
|
|
232
235
|
certPem: certPemStr,
|
|
233
236
|
issuerPem: issuerPemStr,
|
|
234
237
|
distributionPoint: distributionPoints[0], // Use first distribution point for CRL fetch
|
|
235
238
|
config: { crl: config ?? {} },
|
|
236
|
-
} as
|
|
239
|
+
} as any);
|
|
237
240
|
|
|
238
241
|
if (!cacheEntry) {
|
|
239
242
|
// This should not happen if the source is configured correctly but handle it gracefully
|
|
@@ -259,6 +262,10 @@ export async function verifyCRL(
|
|
|
259
262
|
} catch (error) {
|
|
260
263
|
logger.error?.(`CRL verification error: ${error}`);
|
|
261
264
|
|
|
265
|
+
if (error instanceof CRLSignatureVerificationError) {
|
|
266
|
+
return { valid: false, status: 'error', error: (error as Error).message, method: 'crl' };
|
|
267
|
+
}
|
|
268
|
+
|
|
262
269
|
// Check failure mode
|
|
263
270
|
if (config.failureMode === 'fail-closed') {
|
|
264
271
|
return { valid: false, status: 'error', error: (error as Error).message, method: 'crl' };
|
|
@@ -488,7 +495,7 @@ async function downloadAndParseCRL(
|
|
|
488
495
|
}
|
|
489
496
|
|
|
490
497
|
// Parse and validate the CRL
|
|
491
|
-
const crl = pkijs.CertificateRevocationList.fromBER(crlDerBuffer);
|
|
498
|
+
const crl = pkijs.CertificateRevocationList.fromBER(crlDerBuffer as any);
|
|
492
499
|
|
|
493
500
|
// Verify CRL signature
|
|
494
501
|
const issuerCert = pkijs.Certificate.fromBER(pemToBuffer(issuerPemStr));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import * as crypto from 'crypto';
|
|
4
4
|
|
|
5
5
|
const CRYPTO_ALGORITHM = 'aes-256-cbc';
|
|
6
6
|
const KEY_BYTE_LENGTH = 32;
|
|
@@ -9,12 +9,7 @@ const KEY_STRING_LENGTH = 64;
|
|
|
9
9
|
const IV_STRING_LENGTH = 32;
|
|
10
10
|
const ENCRYPTED_STRING_START = KEY_STRING_LENGTH + IV_STRING_LENGTH;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
encrypt,
|
|
14
|
-
decrypt,
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
function encrypt(text) {
|
|
12
|
+
export function encrypt(text: string): string {
|
|
18
13
|
let key = crypto.randomBytes(KEY_BYTE_LENGTH);
|
|
19
14
|
let iv = crypto.randomBytes(IV_BYTE_LENGTH);
|
|
20
15
|
|
|
@@ -28,7 +23,7 @@ function encrypt(text) {
|
|
|
28
23
|
return keyString + ivString + encryptedString;
|
|
29
24
|
}
|
|
30
25
|
|
|
31
|
-
function decrypt(text) {
|
|
26
|
+
export function decrypt(text: string): string {
|
|
32
27
|
let keyString = text.substr(0, KEY_STRING_LENGTH);
|
|
33
28
|
let ivString = text.substr(KEY_STRING_LENGTH, IV_STRING_LENGTH);
|
|
34
29
|
let encrptedString = text.substr(ENCRYPTED_STRING_START, text.length);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
class PermissionAttributeResponseObject {
|
|
3
|
+
export default class PermissionAttributeResponseObject {
|
|
4
|
+
attribute_name: string;
|
|
5
|
+
required_permissions: any[];
|
|
4
6
|
/**
|
|
5
7
|
* Used to track role-based, attribute-level permission issues related to an incoming API request/operation
|
|
6
8
|
* @param attrName {String} name of the attribute with a permission restriction
|
|
7
9
|
* @param requiredPerms {Array} array of CRU perms that are required on attr for operation
|
|
8
10
|
*/
|
|
9
|
-
constructor(attrName, requiredPerms = []) {
|
|
11
|
+
constructor(attrName: string, requiredPerms: any[] = []) {
|
|
10
12
|
this.attribute_name = attrName;
|
|
11
13
|
this.required_permissions = requiredPerms;
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
|
-
|
|
15
|
-
module.exports = PermissionAttributeResponseObject;
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import PermissionTableResponseObject from './PermissionTableResponseObject.ts';
|
|
4
|
+
import PermissionAttributeResponseObject from './PermissionAttributeResponseObject.ts';
|
|
5
|
+
import { HDB_ERROR_MSGS } from '../../utility/errors/commonErrors.ts';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* This object organizes permission checks into a cohesive response object that will be returned to
|
|
9
9
|
* the user in the case of a failed permissions check.
|
|
10
10
|
*/
|
|
11
|
-
class PermissionResponseObject {
|
|
11
|
+
export default class PermissionResponseObject {
|
|
12
|
+
error: string;
|
|
13
|
+
unauthorized_access: any;
|
|
14
|
+
invalid_schema_items: any[];
|
|
12
15
|
constructor() {
|
|
13
16
|
this.error = HDB_ERROR_MSGS.OP_AUTH_PERMS_ERROR;
|
|
14
17
|
this.unauthorized_access = {};
|
|
@@ -21,7 +24,7 @@ class PermissionResponseObject {
|
|
|
21
24
|
* @param errMsg
|
|
22
25
|
* @returns { PermissionResponseObject }
|
|
23
26
|
*/
|
|
24
|
-
handleUnauthorizedItem(errMsg) {
|
|
27
|
+
handleUnauthorizedItem(errMsg: string) {
|
|
25
28
|
this.invalid_schema_items = [];
|
|
26
29
|
this.unauthorized_access = [errMsg];
|
|
27
30
|
return this;
|
|
@@ -34,7 +37,7 @@ class PermissionResponseObject {
|
|
|
34
37
|
* @param errMsg
|
|
35
38
|
* @returns { PermissionResponseObject }
|
|
36
39
|
*/
|
|
37
|
-
handleInvalidItem(errMsg) {
|
|
40
|
+
handleInvalidItem(errMsg: string) {
|
|
38
41
|
this.invalid_schema_items = [errMsg];
|
|
39
42
|
this.unauthorized_access = [];
|
|
40
43
|
return this;
|
|
@@ -48,7 +51,7 @@ class PermissionResponseObject {
|
|
|
48
51
|
* @param schema - schema that the item is a part of
|
|
49
52
|
* @param table - table that the item is a part of
|
|
50
53
|
*/
|
|
51
|
-
addInvalidItem(item, schema, table) {
|
|
54
|
+
addInvalidItem(item: any, schema: string, table: string) {
|
|
52
55
|
if (schema && table) {
|
|
53
56
|
const schemaTable = `${schema}_${table}`;
|
|
54
57
|
if (this.unauthorized_access[schemaTable]) {
|
|
@@ -64,7 +67,7 @@ class PermissionResponseObject {
|
|
|
64
67
|
* @param table - table name that user does not have correct perms on
|
|
65
68
|
* @param requiredPerms - permission/s that user does not have on the table to complete the operation
|
|
66
69
|
*/
|
|
67
|
-
addUnauthorizedTable(schema, table, requiredTablePerms) {
|
|
70
|
+
addUnauthorizedTable(schema: string, table: string, requiredTablePerms: any[]) {
|
|
68
71
|
const failedTable = new PermissionTableResponseObject(schema, table, requiredTablePerms);
|
|
69
72
|
|
|
70
73
|
const schemaTable = `${schema}_${table}`;
|
|
@@ -79,7 +82,7 @@ class PermissionResponseObject {
|
|
|
79
82
|
* @param table - table where attr restrictions exist
|
|
80
83
|
* @param restrictedAttrs - the perms restrictions for each attr
|
|
81
84
|
*/
|
|
82
|
-
addUnauthorizedAttributes(attrKeys, schema, table, restrictedAttrs) {
|
|
85
|
+
addUnauthorizedAttributes(attrKeys: string[], schema: string, table: string, restrictedAttrs: any) {
|
|
83
86
|
const unauthorizedTableAttributes = [];
|
|
84
87
|
attrKeys.forEach((attr) => {
|
|
85
88
|
const attributeObject = new PermissionAttributeResponseObject(attr, restrictedAttrs[attr]);
|
|
@@ -111,5 +114,3 @@ class PermissionResponseObject {
|
|
|
111
114
|
return null;
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
|
-
|
|
115
|
-
module.exports = PermissionResponseObject;
|
package/security/data_objects/{PermissionTableResponseObject.js → PermissionTableResponseObject.ts}
RENAMED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
class PermissionTableResponseObject {
|
|
3
|
+
export default class PermissionTableResponseObject {
|
|
4
|
+
schema: string;
|
|
5
|
+
table: string;
|
|
6
|
+
required_table_permissions: any[];
|
|
7
|
+
required_attribute_permissions: any[];
|
|
4
8
|
/**
|
|
5
9
|
* Organizes permission checks into a cohesive response object that will be returned to
|
|
6
10
|
* the user in the case of a failed permissions check.
|
|
@@ -9,12 +13,10 @@ class PermissionTableResponseObject {
|
|
|
9
13
|
* @param requiredTablePerms {Array}
|
|
10
14
|
* @param requiredAttrPerms {Array}
|
|
11
15
|
*/
|
|
12
|
-
constructor(schema, table, requiredTablePerms = [], requiredAttrPerms = []) {
|
|
16
|
+
constructor(schema: string, table: string, requiredTablePerms: any[] = [], requiredAttrPerms: any[] = []) {
|
|
13
17
|
this.schema = schema;
|
|
14
18
|
this.table = table;
|
|
15
19
|
this.required_table_permissions = requiredTablePerms;
|
|
16
20
|
this.required_attribute_permissions = requiredAttrPerms;
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
|
-
|
|
20
|
-
module.exports = PermissionTableResponseObject;
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
import * as validation from '../validation/check_permissions.ts';
|
|
4
|
+
import passport from 'passport';
|
|
5
|
+
import { Strategy as LocalStrategy } from 'passport-local';
|
|
6
|
+
import { BasicStrategy } from 'passport-http';
|
|
7
|
+
import * as util from 'util';
|
|
8
|
+
import * as userFunctions from './user.ts';
|
|
9
9
|
const cbFindValidateUsers = util.callbackify(userFunctions.findAndValidateUser);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
import * as hdbTerms from '../utility/hdbTerms.ts';
|
|
11
|
+
import * as tokenAuthentication from './tokenAuthentication.ts';
|
|
12
|
+
import { AccessViolation } from '../utility/errors/hdbError.ts';
|
|
13
|
+
import { authentication } from './auth.ts';
|
|
13
14
|
|
|
14
15
|
passport.use(
|
|
15
16
|
new LocalStrategy(function (username, password, done) {
|
|
16
|
-
cbFindValidateUsers(username, password, done);
|
|
17
|
+
(cbFindValidateUsers as any)(username, password, done);
|
|
17
18
|
})
|
|
18
19
|
);
|
|
19
20
|
|
|
20
21
|
passport.use(
|
|
21
22
|
new BasicStrategy(function (username, password, done) {
|
|
22
|
-
cbFindValidateUsers(username, password, done);
|
|
23
|
+
(cbFindValidateUsers as any)(username, password, done);
|
|
23
24
|
})
|
|
24
25
|
);
|
|
25
26
|
|
|
@@ -31,8 +32,83 @@ passport.deserializeUser(function (user, done) {
|
|
|
31
32
|
done(null, user);
|
|
32
33
|
});
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
const INTERNAL_USER_HEADER = 'x-harper-internal-pre-auth-user';
|
|
36
|
+
|
|
37
|
+
export function authorize(req: any, res: any, next: any) {
|
|
38
|
+
if (req.raw?.user != undefined) {
|
|
39
|
+
return next(null, req.raw.user);
|
|
40
|
+
}
|
|
41
|
+
// On Bun, Harper's auth middleware passes pre-authenticated users via this internal header.
|
|
42
|
+
// bunDelegateToNodeServer strips it from real network requests before injecting into Fastify,
|
|
43
|
+
// so it is only safe to trust under Bun — on Node.js the raw socket path delivers headers
|
|
44
|
+
// directly to Fastify with no stripping, so a forged header could bypass auth.
|
|
45
|
+
if (typeof globalThis.Bun !== 'undefined') {
|
|
46
|
+
const preAuthUser = req.headers?.[INTERNAL_USER_HEADER];
|
|
47
|
+
if (preAuthUser) return next(null, JSON.parse(preAuthUser));
|
|
48
|
+
// No pre-auth header: auth.ts didn't run for this port (ops API). Mirror what Node.js does via
|
|
49
|
+
// baseRequest — build a shim request and call authentication() so AUTHORIZE_LOCAL can apply.
|
|
50
|
+
const shimRequest = {
|
|
51
|
+
headers: { asObject: Object.assign({}, req.headers) },
|
|
52
|
+
ip: req.socket?.remoteAddress ?? '',
|
|
53
|
+
isOperationsServer: true,
|
|
54
|
+
method: req.method,
|
|
55
|
+
url: req.url,
|
|
56
|
+
pathname: (req.url ?? '/').split('?')[0],
|
|
57
|
+
authorized: undefined,
|
|
58
|
+
mtlsConfig: undefined,
|
|
59
|
+
peerCertificate: { subject: null },
|
|
60
|
+
_nodeRequest: null,
|
|
61
|
+
_nodeResponse: null,
|
|
62
|
+
};
|
|
63
|
+
let nextCalled = false;
|
|
64
|
+
return authentication(shimRequest, (request) => {
|
|
65
|
+
nextCalled = true;
|
|
66
|
+
if (request.user) return next(null, request.user);
|
|
67
|
+
req.raw.user = null;
|
|
68
|
+
return authorize(req, res, next);
|
|
69
|
+
}).then(
|
|
70
|
+
(response) => {
|
|
71
|
+
if (nextCalled) return response;
|
|
72
|
+
if (response?.status === -1) {
|
|
73
|
+
req.raw.user = null;
|
|
74
|
+
return authorize(req, res, next);
|
|
75
|
+
}
|
|
76
|
+
const body = typeof response?.body === 'string' ? JSON.parse(response.body) : (response?.body ?? {});
|
|
77
|
+
return next(new Error(body.error ?? body));
|
|
78
|
+
},
|
|
79
|
+
(error) => next(error)
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
if (req.raw?.user === undefined && req.raw?.baseRequest) {
|
|
83
|
+
let nextCalled = false;
|
|
84
|
+
return authentication(req.raw?.baseRequest, (request: any) => {
|
|
85
|
+
nextCalled = true;
|
|
86
|
+
if (request.user) {
|
|
87
|
+
req.raw.user = request.user;
|
|
88
|
+
return next(null, req.raw.user);
|
|
89
|
+
} else {
|
|
90
|
+
req.raw.user = null; // don't fall in this branch again
|
|
91
|
+
return authorize(req, res, next);
|
|
92
|
+
}
|
|
93
|
+
}).then(
|
|
94
|
+
(response: any) => {
|
|
95
|
+
if (nextCalled) {
|
|
96
|
+
return response;
|
|
97
|
+
}
|
|
98
|
+
if (response?.status === -1) {
|
|
99
|
+
// authentication declined (e.g. refresh token) — fall through to the
|
|
100
|
+
// Bearer/Basic handling below
|
|
101
|
+
req.raw.user = null;
|
|
102
|
+
return authorize(req, res, next);
|
|
103
|
+
}
|
|
104
|
+
const body = JSON.parse(response.body);
|
|
105
|
+
return next(new Error(body.error ?? body));
|
|
106
|
+
},
|
|
107
|
+
(error: any) => {
|
|
108
|
+
return next(error);
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}
|
|
36
112
|
let strategy;
|
|
37
113
|
let token;
|
|
38
114
|
if (req.headers?.authorization) {
|
|
@@ -87,8 +163,10 @@ function authorize(req, res, next) {
|
|
|
87
163
|
}
|
|
88
164
|
}
|
|
89
165
|
|
|
90
|
-
function checkPermissions(checkPermissionObj, callback) {
|
|
91
|
-
let validationResults = validation
|
|
166
|
+
export function checkPermissions(checkPermissionObj: any, callback: any) {
|
|
167
|
+
let validationResults = (validation as any).default
|
|
168
|
+
? (validation as any).default(checkPermissionObj)
|
|
169
|
+
: (validation as any)(checkPermissionObj);
|
|
92
170
|
|
|
93
171
|
if (validationResults) {
|
|
94
172
|
callback(validationResults);
|
|
@@ -162,8 +240,3 @@ function checkPermissions(checkPermissionObj, callback) {
|
|
|
162
240
|
|
|
163
241
|
return callback(null, authoriziationObj);
|
|
164
242
|
}
|
|
165
|
-
|
|
166
|
-
module.exports = {
|
|
167
|
-
authorize,
|
|
168
|
-
checkPermissions,
|
|
169
|
-
};
|
|
@@ -2,9 +2,9 @@ import type { User } from './user.ts';
|
|
|
2
2
|
import type { ImpersonatePayload } from '../server/operationsServer.ts';
|
|
3
3
|
import { getUsersWithRolesCache } from './user.ts';
|
|
4
4
|
import { validateOperations } from '../utility/operationPermissions.ts';
|
|
5
|
-
import { ClientError } from '../utility/errors/hdbError.
|
|
6
|
-
import harperLogger from '../utility/logging/harper_logger.
|
|
7
|
-
import { getRoleByName } from './role.
|
|
5
|
+
import { ClientError } from '../utility/errors/hdbError.ts';
|
|
6
|
+
import harperLogger from '../utility/logging/harper_logger.ts';
|
|
7
|
+
import { getRoleByName } from './role.ts';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Applies impersonation to a request. The authenticated user must be a super_user.
|