harper 5.1.20 → 5.2.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent/operations.ts +13 -16
- package/components/Application.ts +188 -7
- package/components/ApplicationScope.ts +3 -0
- package/components/Scope.ts +12 -0
- package/components/anthropic/index.ts +9 -2
- package/components/bedrock/index.ts +25 -2
- package/components/componentLoader.ts +56 -7
- package/components/componentSecrets.ts +451 -0
- package/components/deploymentRecorder.ts +7 -1
- package/components/mcp/adapters/fastify.ts +3 -0
- package/components/mcp/adapters/harperHttp.ts +3 -0
- package/components/mcp/audit.ts +21 -6
- package/components/mcp/customResourceRegistry.ts +17 -38
- package/components/mcp/listChanged.ts +37 -20
- package/components/mcp/quota.ts +145 -0
- package/components/mcp/rateLimit.ts +152 -14
- package/components/mcp/resources.ts +2 -4
- package/components/mcp/toolRegistry.ts +73 -4
- package/components/mcp/tools/application.ts +77 -8
- package/components/mcp/tools/operations.ts +106 -36
- package/components/mcp/tools/schemas/operationDescriptions.ts +4 -4
- package/components/mcp/tools/schemas/operations.ts +5 -0
- package/components/mcp/transport.ts +55 -4
- package/components/ollama/index.ts +6 -2
- package/components/openai/index.ts +9 -2
- package/components/operations.js +204 -10
- package/components/operationsValidation.js +173 -0
- package/components/secretOperations.ts +498 -0
- package/config/configUtils.ts +25 -1
- package/config-app.schema.json +81 -0
- package/config-root.schema.json +8 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
- package/dataLayer/readAuditLog.ts +14 -0
- package/dataLayer/schemaDescribe.ts +1 -0
- package/dist/agent/operations.d.ts +7 -4
- package/dist/agent/operations.js +13 -15
- package/dist/agent/operations.js.map +1 -1
- package/dist/components/Application.d.ts +25 -2
- package/dist/components/Application.js +166 -7
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +2 -0
- package/dist/components/ApplicationScope.js +3 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/Scope.d.ts +8 -0
- package/dist/components/Scope.js +11 -0
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/anthropic/index.d.ts +4 -1
- package/dist/components/anthropic/index.js +4 -2
- package/dist/components/anthropic/index.js.map +1 -1
- package/dist/components/bedrock/index.d.ts +4 -1
- package/dist/components/bedrock/index.js +22 -2
- package/dist/components/bedrock/index.js.map +1 -1
- package/dist/components/componentLoader.d.ts +2 -0
- package/dist/components/componentLoader.js +52 -10
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/componentSecrets.d.ts +63 -0
- package/dist/components/componentSecrets.js +405 -0
- package/dist/components/componentSecrets.js.map +1 -0
- package/dist/components/deploymentRecorder.d.ts +3 -0
- package/dist/components/deploymentRecorder.js +4 -3
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/adapters/fastify.d.ts +2 -0
- package/dist/components/mcp/adapters/fastify.js +1 -0
- package/dist/components/mcp/adapters/fastify.js.map +1 -1
- package/dist/components/mcp/adapters/harperHttp.d.ts +2 -0
- package/dist/components/mcp/adapters/harperHttp.js +1 -0
- package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
- package/dist/components/mcp/audit.d.ts +2 -2
- package/dist/components/mcp/audit.js +20 -5
- package/dist/components/mcp/audit.js.map +1 -1
- package/dist/components/mcp/customResourceRegistry.d.ts +5 -12
- package/dist/components/mcp/customResourceRegistry.js +15 -30
- package/dist/components/mcp/customResourceRegistry.js.map +1 -1
- package/dist/components/mcp/listChanged.d.ts +7 -2
- package/dist/components/mcp/listChanged.js +28 -0
- package/dist/components/mcp/listChanged.js.map +1 -1
- package/dist/components/mcp/quota.d.ts +31 -0
- package/dist/components/mcp/quota.js +155 -0
- package/dist/components/mcp/quota.js.map +1 -0
- package/dist/components/mcp/rateLimit.d.ts +19 -3
- package/dist/components/mcp/rateLimit.js +129 -13
- package/dist/components/mcp/rateLimit.js.map +1 -1
- package/dist/components/mcp/resources.js.map +1 -1
- package/dist/components/mcp/toolRegistry.d.ts +39 -1
- package/dist/components/mcp/toolRegistry.js +60 -5
- package/dist/components/mcp/toolRegistry.js.map +1 -1
- package/dist/components/mcp/tools/application.d.ts +8 -1
- package/dist/components/mcp/tools/application.js +65 -5
- package/dist/components/mcp/tools/application.js.map +1 -1
- package/dist/components/mcp/tools/operations.d.ts +15 -3
- package/dist/components/mcp/tools/operations.js +99 -38
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operationDescriptions.js +4 -4
- package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operations.js +4 -0
- package/dist/components/mcp/tools/schemas/operations.js.map +1 -1
- package/dist/components/mcp/transport.d.ts +6 -0
- package/dist/components/mcp/transport.js +47 -3
- package/dist/components/mcp/transport.js.map +1 -1
- package/dist/components/ollama/index.d.ts +4 -1
- package/dist/components/ollama/index.js +4 -2
- package/dist/components/ollama/index.js.map +1 -1
- package/dist/components/openai/index.d.ts +4 -1
- package/dist/components/openai/index.js +4 -2
- package/dist/components/openai/index.js.map +1 -1
- package/dist/components/operations.d.ts +39 -0
- package/dist/components/operations.js +194 -2
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.d.ts +38 -0
- package/dist/components/operationsValidation.js +155 -0
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/secretOperations.d.ts +113 -0
- package/dist/components/secretOperations.js +475 -0
- package/dist/components/secretOperations.js.map +1 -0
- package/dist/config/configUtils.d.ts +4 -1
- package/dist/config/configUtils.js +18 -1
- package/dist/config/configUtils.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
- package/dist/dataLayer/readAuditLog.js +11 -0
- package/dist/dataLayer/readAuditLog.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +2 -0
- package/dist/dataLayer/schemaDescribe.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 +3 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +38 -0
- package/dist/resources/DatabaseTransaction.d.ts +31 -3
- package/dist/resources/DatabaseTransaction.js +190 -29
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +1 -1
- package/dist/resources/LMDBTransaction.js +43 -5
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.d.ts +51 -0
- package/dist/resources/PrimaryRocksDatabase.js +194 -0
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -0
- package/dist/resources/RecordEncoder.d.ts +1 -0
- package/dist/resources/RecordEncoder.js +81 -75
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/RequestTarget.d.ts +19 -0
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.d.ts +0 -1
- package/dist/resources/Resource.js +103 -16
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +6 -2
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Resources.js.map +1 -1
- package/dist/resources/Table.d.ts +6 -4
- package/dist/resources/Table.js +247 -24
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/read.js +25 -28
- package/dist/resources/analytics/read.js.map +1 -1
- package/dist/resources/blob.js +165 -22
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/crdt.d.ts +2 -0
- package/dist/resources/crdt.js +45 -36
- package/dist/resources/crdt.js.map +1 -1
- package/dist/resources/databases.d.ts +1 -0
- package/dist/resources/databases.js +134 -7
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/graphql.js +8 -0
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +35 -5
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +239 -14
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/jsResource.js +6 -0
- package/dist/resources/jsResource.js.map +1 -1
- package/dist/resources/loadEnv.js +30 -3
- package/dist/resources/loadEnv.js.map +1 -1
- package/dist/resources/login.js +2 -2
- package/dist/resources/login.js.map +1 -1
- package/dist/resources/models/Models.js +14 -3
- package/dist/resources/models/Models.js.map +1 -1
- package/dist/resources/models/embedHook.js +10 -2
- package/dist/resources/models/embedHook.js.map +1 -1
- package/dist/resources/models/openaiStream.d.ts +56 -0
- package/dist/resources/models/openaiStream.js +94 -0
- package/dist/resources/models/openaiStream.js.map +1 -0
- package/dist/resources/replayLogs.js +4 -3
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/search.d.ts +1 -1
- package/dist/resources/search.js +104 -11
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/secretDecryptor.d.ts +54 -0
- package/dist/resources/secretDecryptor.js +131 -0
- package/dist/resources/secretDecryptor.js.map +1 -0
- package/dist/resources/tracked.js +15 -5
- package/dist/resources/tracked.js.map +1 -1
- package/dist/security/auth.js +71 -8
- package/dist/security/auth.js.map +1 -1
- package/dist/security/jsLoader.js +11 -0
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/tokenAuthentication.d.ts +9 -1
- package/dist/security/tokenAuthentication.js +31 -1
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +1 -1
- package/dist/server/DurableSubscriptionsSession.js +8 -4
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/REST.js +28 -9
- package/dist/server/REST.js.map +1 -1
- package/dist/server/fastifyRoutes.js +11 -1
- package/dist/server/fastifyRoutes.js.map +1 -1
- package/dist/server/graphqlQuerying.js +4 -3
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +40 -2
- package/dist/server/http.js +560 -77
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +64 -0
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/liveSubscriptionAuth.d.ts +12 -0
- package/dist/server/liveSubscriptionAuth.js +140 -0
- package/dist/server/liveSubscriptionAuth.js.map +1 -0
- package/dist/server/loadRootComponents.js +2 -1
- package/dist/server/loadRootComponents.js.map +1 -1
- package/dist/server/middlewareChain.d.ts +44 -1
- package/dist/server/middlewareChain.js +86 -10
- package/dist/server/middlewareChain.js.map +1 -1
- package/dist/server/mqtt.js +2 -1
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/operationsServer.js +1 -1
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +9 -0
- package/dist/server/serverHelpers/Headers.js +22 -0
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/JSONStream.js +3 -3
- package/dist/server/serverHelpers/JSONStream.js.map +1 -1
- package/dist/server/serverHelpers/Request.d.ts +52 -1
- package/dist/server/serverHelpers/Request.js +122 -1
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.js +3 -8
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/progressEmitter.d.ts +19 -0
- package/dist/server/serverHelpers/progressEmitter.js +52 -4
- package/dist/server/serverHelpers/progressEmitter.js.map +1 -1
- package/dist/server/serverHelpers/registeredOperations.d.ts +40 -0
- package/dist/server/serverHelpers/registeredOperations.js +286 -0
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.js +11 -5
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +1 -0
- package/dist/server/serverHelpers/serverUtilities.js +67 -5
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.d.ts +80 -0
- package/dist/server/serverHelpers/uwsServer.js +433 -0
- package/dist/server/serverHelpers/uwsServer.js.map +1 -0
- package/dist/server/static.d.ts +0 -15
- package/dist/server/static.js +161 -2
- package/dist/server/static.js.map +1 -1
- package/dist/server/status/index.d.ts +4 -1
- package/dist/server/status/index.js +64 -4
- package/dist/server/status/index.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +10 -0
- package/dist/server/threads/manageThreads.js +107 -4
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.js +5 -1
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadServer.js +92 -14
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/upgrade/directives/5-2-0.d.ts +7 -0
- package/dist/upgrade/directives/5-2-0.js +108 -0
- package/dist/upgrade/directives/5-2-0.js.map +1 -0
- package/dist/upgrade/directives/directivesController.js +2 -1
- package/dist/upgrade/directives/directivesController.js.map +1 -1
- package/dist/utility/common_utils.js +5 -0
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/envFile.d.ts +41 -0
- package/dist/utility/envFile.js +221 -0
- package/dist/utility/envFile.js.map +1 -0
- package/dist/utility/globalSchema.d.ts +9 -0
- package/dist/utility/hdbTerms.d.ts +25 -0
- package/dist/utility/hdbTerms.js +31 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +21 -0
- package/dist/utility/logging/harper_logger.js +160 -8
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logRotator.js +29 -17
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/logging/readLog.d.ts +1 -1
- package/dist/utility/logging/readLog.js +305 -2
- package/dist/utility/logging/readLog.js.map +1 -1
- package/dist/utility/operationPermissions.d.ts +18 -0
- package/dist/utility/operationPermissions.js +35 -1
- package/dist/utility/operationPermissions.js.map +1 -1
- package/dist/utility/operation_authorization.d.ts +17 -0
- package/dist/utility/operation_authorization.js +38 -0
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/secretEnvelope.d.ts +30 -0
- package/dist/utility/secretEnvelope.js +94 -0
- package/dist/utility/secretEnvelope.js.map +1 -0
- package/dist/utility/signalling.d.ts +7 -0
- package/dist/utility/signalling.js +16 -0
- package/dist/utility/signalling.js.map +1 -1
- package/dist/validation/configValidator.js +70 -24
- package/dist/validation/configValidator.js.map +1 -1
- package/index.ts +4 -0
- package/json/systemSchema.json +38 -0
- package/npm-shrinkwrap.json +15066 -9347
- package/package.json +13 -8
- package/resources/DESIGN.md +15 -12
- package/resources/DatabaseTransaction.ts +206 -37
- package/resources/LMDBTransaction.ts +43 -9
- package/resources/PrimaryRocksDatabase.ts +201 -0
- package/resources/RecordEncoder.ts +81 -69
- package/resources/RequestTarget.ts +21 -0
- package/resources/Resource.ts +109 -25
- package/resources/ResourceInterface.ts +6 -2
- package/resources/Resources.ts +1 -3
- package/resources/Table.ts +238 -29
- package/resources/analytics/read.ts +25 -30
- package/resources/blob.ts +159 -23
- package/resources/crdt.ts +37 -31
- package/resources/databases.ts +143 -6
- package/resources/graphql.ts +8 -0
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +251 -17
- package/resources/jsResource.ts +6 -0
- package/resources/loadEnv.ts +34 -3
- package/resources/login.ts +2 -2
- package/resources/models/Models.ts +19 -3
- package/resources/models/embedHook.ts +13 -2
- package/resources/models/openaiStream.ts +133 -0
- package/resources/replayLogs.ts +4 -3
- package/resources/search.ts +113 -11
- package/resources/secretDecryptor.ts +159 -0
- package/resources/tracked.ts +24 -17
- package/security/auth.ts +70 -10
- package/security/jsLoader.ts +12 -0
- package/security/tokenAuthentication.ts +42 -1
- package/server/DESIGN.md +10 -0
- package/server/DurableSubscriptionsSession.ts +8 -4
- package/server/REST.ts +26 -9
- package/server/fastifyRoutes.ts +10 -1
- package/server/graphqlQuerying.ts +4 -3
- package/server/http.ts +563 -77
- package/server/itc/serverHandlers.js +70 -0
- package/server/liveSubscriptionAuth.ts +152 -0
- package/server/loadRootComponents.js +2 -1
- package/server/middlewareChain.ts +107 -17
- package/server/mqtt.ts +2 -1
- package/server/operationsServer.ts +2 -2
- package/server/serverHelpers/Headers.ts +24 -0
- package/server/serverHelpers/JSONStream.ts +3 -3
- package/server/serverHelpers/Request.ts +127 -0
- package/server/serverHelpers/contentTypes.ts +3 -8
- package/server/serverHelpers/progressEmitter.ts +55 -5
- package/server/serverHelpers/registeredOperations.ts +259 -0
- package/server/serverHelpers/serverHandlers.js +11 -5
- package/server/serverHelpers/serverUtilities.ts +88 -5
- package/server/serverHelpers/uwsServer.ts +488 -0
- package/server/static.ts +180 -2
- package/server/status/index.ts +72 -4
- package/server/threads/manageThreads.js +102 -4
- package/server/threads/socketRouter.ts +5 -1
- package/server/threads/threadServer.js +93 -10
- package/studio/web/assets/{Chat-SdD1EZca.js → Chat-Cv_2paZE.js} +2 -2
- package/studio/web/assets/{Chat-SdD1EZca.js.map → Chat-Cv_2paZE.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-GMq6tHK9.js → FloatingChat-CPyPIcVR.js} +4 -4
- package/studio/web/assets/{FloatingChat-GMq6tHK9.js.map → FloatingChat-CPyPIcVR.js.map} +1 -1
- package/studio/web/assets/{applications-B5hhv7uA.js → applications-C0jT2vdZ.js} +2 -2
- package/studio/web/assets/{applications-B5hhv7uA.js.map → applications-C0jT2vdZ.js.map} +1 -1
- package/studio/web/assets/{index-VFcpNWgq.js → index-D_GKOkhn.js} +6 -6
- package/studio/web/assets/index-D_GKOkhn.js.map +1 -0
- package/studio/web/assets/{index.lazy-DgcJojIA.js → index.lazy-CAmCIA65.js} +4 -4
- package/studio/web/assets/{index.lazy-DgcJojIA.js.map → index.lazy-CAmCIA65.js.map} +1 -1
- package/studio/web/assets/{profile-BqN-8vzm.js → profile-CaF-4aZe.js} +2 -2
- package/studio/web/assets/{profile-BqN-8vzm.js.map → profile-CaF-4aZe.js.map} +1 -1
- package/studio/web/assets/{setComponentFile-CHFvFq9u.js → setComponentFile-DLW1DHCt.js} +2 -2
- package/studio/web/assets/{setComponentFile-CHFvFq9u.js.map → setComponentFile-DLW1DHCt.js.map} +1 -1
- package/studio/web/assets/{setup-CQ3vWJSr.js → setup-TGCErIhq.js} +2 -2
- package/studio/web/assets/{setup-CQ3vWJSr.js.map → setup-TGCErIhq.js.map} +1 -1
- package/studio/web/assets/{status-BsW5fjuh.js → status-DG0Maoao.js} +2 -2
- package/studio/web/assets/{status-BsW5fjuh.js.map → status-DG0Maoao.js.map} +1 -1
- package/studio/web/assets/{swagger-ui-react-DITdeB9-.js → swagger-ui-react-8T4SgQ1m.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-DITdeB9-.js.map → swagger-ui-react-8T4SgQ1m.js.map} +1 -1
- package/studio/web/assets/{tsMode-Dyph-OUs.js → tsMode-DJ6Sl24Q.js} +2 -2
- package/studio/web/assets/{tsMode-Dyph-OUs.js.map → tsMode-DJ6Sl24Q.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-D0QTUqex.js → useEntityRestURL-JO2mfWTQ.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-D0QTUqex.js.map → useEntityRestURL-JO2mfWTQ.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/upgrade/directives/5-2-0.ts +82 -0
- package/upgrade/directives/directivesController.ts +2 -1
- package/utility/common_utils.ts +5 -0
- package/utility/envFile.ts +218 -0
- package/utility/hdbTerms.ts +31 -0
- package/utility/logging/harper_logger.ts +156 -8
- package/utility/logging/logRotator.ts +24 -14
- package/utility/logging/readLog.ts +323 -2
- package/utility/operationPermissions.ts +35 -1
- package/utility/operation_authorization.ts +74 -1
- package/utility/secretEnvelope.ts +113 -0
- package/utility/signalling.ts +15 -0
- package/validation/configValidator.ts +78 -25
- package/studio/web/assets/index-VFcpNWgq.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { RocksDatabase, type RocksDatabaseOptions, type Store } from '@harperfast/rocksdb-js';
|
|
2
|
+
/**
|
|
3
|
+
* RocksDatabase subclass that owns all primary-store behaviour for Harper tables:
|
|
4
|
+
* - RecordEncoder metadata extraction (version, metadataFlags, etc.)
|
|
5
|
+
* - Optional WeakLRUCache keyed on entry version, verified via the process-wide VerificationTable
|
|
6
|
+
*
|
|
7
|
+
* Replaces both the old CachingRocksDatabase and the RocksDB-specific patches applied by
|
|
8
|
+
* handleLocalTimeForGets. Call initStore(rootStore) after open() — or let
|
|
9
|
+
* handleLocalTimeForGets delegate to it automatically via the isPrimaryRocksDatabase marker.
|
|
10
|
+
*
|
|
11
|
+
* Caching is enabled by default; pass { cache: false } to disable (useful for benchmarking
|
|
12
|
+
* or stores where version tracking is not desired).
|
|
13
|
+
*
|
|
14
|
+
* Cache freshness pattern (using the rocksdb-js VT API):
|
|
15
|
+
* 1. verifyVersion(key, cached.version) → true → return cached entry (no disk I/O)
|
|
16
|
+
* 2. verifyVersion(key, cached.version) → false → read from DB, populateVersion, update cache
|
|
17
|
+
*/
|
|
18
|
+
export declare class PrimaryRocksDatabase extends RocksDatabase {
|
|
19
|
+
#private;
|
|
20
|
+
readonly isPrimaryRocksDatabase = true;
|
|
21
|
+
readCount: number;
|
|
22
|
+
cachePuts: boolean;
|
|
23
|
+
rootStore: any;
|
|
24
|
+
decoder: any;
|
|
25
|
+
constructor(pathOrStore: string | Store, options?: RocksDatabaseOptions & {
|
|
26
|
+
cache?: boolean;
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Initialises encoder/decoder state. Must be called once after open() with the root
|
|
30
|
+
* RocksDatabase. Equivalent to the RocksDB branch of handleLocalTimeForGets, but as
|
|
31
|
+
* a real method rather than instance-level monkey-patching.
|
|
32
|
+
*/
|
|
33
|
+
initStore(rootStore: RocksDatabase): void;
|
|
34
|
+
/**
|
|
35
|
+
* Core read method. Returns a full Entry (with version, metadataFlags, value, …) or
|
|
36
|
+
* undefined. When caching is enabled, passes `expectedVersion` to the native layer so
|
|
37
|
+
* a single call handles both verification (returns FRESH_VERSION_FLAG on hit) and VT
|
|
38
|
+
* population (auto-seeded on DB read). Only cold reads (no cached version) need a
|
|
39
|
+
* separate populateVersion call.
|
|
40
|
+
*/
|
|
41
|
+
getEntry(id: any, options?: any): any;
|
|
42
|
+
getSync(id: any, options?: any): any;
|
|
43
|
+
get(id: any, options?: any): any;
|
|
44
|
+
getRange(options?: any): any;
|
|
45
|
+
putSync(id: any, value: any, options?: any): any;
|
|
46
|
+
removeSync(id: any, options?: any): any;
|
|
47
|
+
clearSync(): void;
|
|
48
|
+
clear(): Promise<void>;
|
|
49
|
+
open(): PrimaryRocksDatabase;
|
|
50
|
+
static open(pathOrStore: string | Store, options?: RocksDatabaseOptions): PrimaryRocksDatabase;
|
|
51
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrimaryRocksDatabase = void 0;
|
|
4
|
+
const rocksdb_js_1 = require("@harperfast/rocksdb-js");
|
|
5
|
+
const FRESH_VERSION_FLAG = rocksdb_js_1.constants.FRESH_VERSION_FLAG;
|
|
6
|
+
const weak_lru_cache_1 = require("weak-lru-cache");
|
|
7
|
+
const when_ts_1 = require("../utility/when.js");
|
|
8
|
+
const RecordEncoder_ts_1 = require("./RecordEncoder.js");
|
|
9
|
+
/**
|
|
10
|
+
* RocksDatabase subclass that owns all primary-store behaviour for Harper tables:
|
|
11
|
+
* - RecordEncoder metadata extraction (version, metadataFlags, etc.)
|
|
12
|
+
* - Optional WeakLRUCache keyed on entry version, verified via the process-wide VerificationTable
|
|
13
|
+
*
|
|
14
|
+
* Replaces both the old CachingRocksDatabase and the RocksDB-specific patches applied by
|
|
15
|
+
* handleLocalTimeForGets. Call initStore(rootStore) after open() — or let
|
|
16
|
+
* handleLocalTimeForGets delegate to it automatically via the isPrimaryRocksDatabase marker.
|
|
17
|
+
*
|
|
18
|
+
* Caching is enabled by default; pass { cache: false } to disable (useful for benchmarking
|
|
19
|
+
* or stores where version tracking is not desired).
|
|
20
|
+
*
|
|
21
|
+
* Cache freshness pattern (using the rocksdb-js VT API):
|
|
22
|
+
* 1. verifyVersion(key, cached.version) → true → return cached entry (no disk I/O)
|
|
23
|
+
* 2. verifyVersion(key, cached.version) → false → read from DB, populateVersion, update cache
|
|
24
|
+
*/
|
|
25
|
+
class PrimaryRocksDatabase extends rocksdb_js_1.RocksDatabase {
|
|
26
|
+
isPrimaryRocksDatabase = true;
|
|
27
|
+
#cache;
|
|
28
|
+
readCount = 0;
|
|
29
|
+
cachePuts = false;
|
|
30
|
+
get #enc() {
|
|
31
|
+
return this.encoder;
|
|
32
|
+
}
|
|
33
|
+
constructor(pathOrStore, options) {
|
|
34
|
+
const enableCache = options?.cache === true;
|
|
35
|
+
super(pathOrStore, enableCache ? { ...options, verificationTable: true } : options);
|
|
36
|
+
if (enableCache) {
|
|
37
|
+
this.#cache = new weak_lru_cache_1.WeakLRUCache();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Initialises encoder/decoder state. Must be called once after open() with the root
|
|
42
|
+
* RocksDatabase. Equivalent to the RocksDB branch of handleLocalTimeForGets, but as
|
|
43
|
+
* a real method rather than instance-level monkey-patching.
|
|
44
|
+
*/
|
|
45
|
+
initStore(rootStore) {
|
|
46
|
+
this.readCount = 0;
|
|
47
|
+
this.cachePuts = false;
|
|
48
|
+
this.rootStore = rootStore;
|
|
49
|
+
this.#enc.rootStore = rootStore;
|
|
50
|
+
this.#enc.isRocksDB = true;
|
|
51
|
+
this.decoder = this.#enc;
|
|
52
|
+
}
|
|
53
|
+
#withEntry(entry, id) {
|
|
54
|
+
if (entry.value) {
|
|
55
|
+
if (entry.value.constructor === Object && this.#enc.structPrototype) {
|
|
56
|
+
const originalValue = entry.value;
|
|
57
|
+
entry.value = new this.#enc.structPrototype.constructor();
|
|
58
|
+
Object.assign(entry.value, originalValue);
|
|
59
|
+
}
|
|
60
|
+
if (typeof entry.value === 'object' && entry.value !== null) {
|
|
61
|
+
RecordEncoder_ts_1.entryMap.set(entry.value, entry);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
entry.key = id;
|
|
65
|
+
return entry;
|
|
66
|
+
}
|
|
67
|
+
#processEntry(raw, id) {
|
|
68
|
+
if (raw == null)
|
|
69
|
+
return undefined;
|
|
70
|
+
if (raw[RecordEncoder_ts_1.METADATA]) {
|
|
71
|
+
raw.metadataFlags = raw[RecordEncoder_ts_1.METADATA];
|
|
72
|
+
return this.#withEntry(raw, id);
|
|
73
|
+
}
|
|
74
|
+
const entry = { value: raw, key: id };
|
|
75
|
+
// map metadata-less values too, so getEntry guarantees the value→Entry
|
|
76
|
+
// mapping for every object value it returns (getSync/get rely on this)
|
|
77
|
+
if (typeof raw === 'object')
|
|
78
|
+
RecordEncoder_ts_1.entryMap.set(raw, entry);
|
|
79
|
+
return entry;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Core read method. Returns a full Entry (with version, metadataFlags, value, …) or
|
|
83
|
+
* undefined. When caching is enabled, passes `expectedVersion` to the native layer so
|
|
84
|
+
* a single call handles both verification (returns FRESH_VERSION_FLAG on hit) and VT
|
|
85
|
+
* population (auto-seeded on DB read). Only cold reads (no cached version) need a
|
|
86
|
+
* separate populateVersion call.
|
|
87
|
+
*/
|
|
88
|
+
getEntry(id, options) {
|
|
89
|
+
this.readCount++;
|
|
90
|
+
const cache = this.#cache;
|
|
91
|
+
// The cache stores the record *value* (weakly, via setValue) rather than
|
|
92
|
+
// the Entry: a WeakRef-wrapped value lets the LRFU expirer release it once
|
|
93
|
+
// it cycles out of the LRU stages (a raw Entry stored via set() has neither
|
|
94
|
+
// a .deref nor a .cache hook, so it would never be reclaimed — an unbounded
|
|
95
|
+
// leak). The value→Entry WeakMap (entryMap) recovers the Entry metadata
|
|
96
|
+
// (version, flags) needed for the fast path while the value is live.
|
|
97
|
+
const cachedValue = cache?.getValue(id);
|
|
98
|
+
const cached = cachedValue != null && typeof cachedValue === 'object'
|
|
99
|
+
? RecordEncoder_ts_1.entryMap.get(cachedValue)
|
|
100
|
+
: undefined;
|
|
101
|
+
const expectedVersion = cached?.version;
|
|
102
|
+
// Build get options, always merging with caller options to preserve
|
|
103
|
+
// transaction snapshot. Pass expectedVersion when cached:
|
|
104
|
+
// VT hit → native returns FRESH_VERSION_FLAG, no DB read
|
|
105
|
+
// VT miss → native reads DB and auto-populates VT slot
|
|
106
|
+
// For cold reads (no cached version), use populateVersion flag so the
|
|
107
|
+
// native layer seeds the VT slot in the same call.
|
|
108
|
+
let getOptions;
|
|
109
|
+
if (expectedVersion != null) {
|
|
110
|
+
getOptions = options ? { ...options, expectedVersion } : { expectedVersion };
|
|
111
|
+
}
|
|
112
|
+
else if (cache) {
|
|
113
|
+
getOptions = options ? { ...options, populateVersion: true } : { populateVersion: true };
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
getOptions = options;
|
|
117
|
+
}
|
|
118
|
+
const raw = options?.async ? super.get(id, getOptions) : super.getSync(id, getOptions);
|
|
119
|
+
return (0, when_ts_1.when)(raw, (result) => {
|
|
120
|
+
if (result === FRESH_VERSION_FLAG)
|
|
121
|
+
return cached;
|
|
122
|
+
const entry = this.#processEntry(result, id);
|
|
123
|
+
if (entry == null) {
|
|
124
|
+
if (cache && cachedValue !== undefined)
|
|
125
|
+
cache.delete(id);
|
|
126
|
+
return undefined;
|
|
127
|
+
}
|
|
128
|
+
// Only object values can be weakly cached and mapped back to their Entry;
|
|
129
|
+
// primitive/empty values fall through uncached (no fast path, still correct).
|
|
130
|
+
if (entry.version != null && cache && entry.value != null && typeof entry.value === 'object') {
|
|
131
|
+
RecordEncoder_ts_1.entryMap.set(entry.value, entry);
|
|
132
|
+
cache.setValue(id, entry.value, (entry.size ?? 0) >> 10);
|
|
133
|
+
}
|
|
134
|
+
return entry;
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
getSync(id, options) {
|
|
138
|
+
const entry = this.getEntry(id, options);
|
|
139
|
+
return entry?.value;
|
|
140
|
+
}
|
|
141
|
+
get(id, options) {
|
|
142
|
+
return (0, when_ts_1.when)(this.getEntry(id, { ...options, async: true }), (entry) => entry?.value);
|
|
143
|
+
}
|
|
144
|
+
getRange(options) {
|
|
145
|
+
const iterable = super.getRange(options);
|
|
146
|
+
if (options?.valuesForKey)
|
|
147
|
+
return iterable.map((v) => v?.value);
|
|
148
|
+
if (options?.values === false || options?.onlyCount)
|
|
149
|
+
return iterable;
|
|
150
|
+
if (!this.#enc.isRocksDB)
|
|
151
|
+
return iterable;
|
|
152
|
+
const enc = this.#enc;
|
|
153
|
+
return iterable.map((entry) => {
|
|
154
|
+
if (entry.value?.[RecordEncoder_ts_1.METADATA]) {
|
|
155
|
+
entry.metadataFlags = entry.value[RecordEncoder_ts_1.METADATA];
|
|
156
|
+
Object.assign(entry, entry.value);
|
|
157
|
+
}
|
|
158
|
+
if (entry.value?.constructor === Object && enc.structPrototype) {
|
|
159
|
+
const originalValue = entry.value;
|
|
160
|
+
entry.value = new enc.structPrototype.constructor();
|
|
161
|
+
for (const key in originalValue)
|
|
162
|
+
entry.value[key] = originalValue[key];
|
|
163
|
+
}
|
|
164
|
+
return entry;
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
putSync(id, value, options) {
|
|
168
|
+
this.#cache?.delete(id);
|
|
169
|
+
return super.putSync(id, value, options);
|
|
170
|
+
}
|
|
171
|
+
removeSync(id, options) {
|
|
172
|
+
this.#cache?.delete(id);
|
|
173
|
+
return super.removeSync(id, options);
|
|
174
|
+
}
|
|
175
|
+
clearSync() {
|
|
176
|
+
// clearSync wipes every record; the per-instance cache must be dropped
|
|
177
|
+
// too, otherwise a cached entry would survive the clear and be served as
|
|
178
|
+
// a stale "still exists" hit on the next read.
|
|
179
|
+
this.#cache?.clear();
|
|
180
|
+
return super.clearSync();
|
|
181
|
+
}
|
|
182
|
+
clear() {
|
|
183
|
+
this.#cache?.clear();
|
|
184
|
+
return super.clear();
|
|
185
|
+
}
|
|
186
|
+
open() {
|
|
187
|
+
return super.open();
|
|
188
|
+
}
|
|
189
|
+
static open(pathOrStore, options) {
|
|
190
|
+
return new PrimaryRocksDatabase(pathOrStore, options).open();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
exports.PrimaryRocksDatabase = PrimaryRocksDatabase;
|
|
194
|
+
//# sourceMappingURL=PrimaryRocksDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrimaryRocksDatabase.js","sourceRoot":"","sources":["../../resources/PrimaryRocksDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ const msgpackr_1 = require("msgpackr");
|
|
|
53
53
|
const structon_1 = require("structon");
|
|
54
54
|
const auditStore_ts_1 = require("./auditStore.js");
|
|
55
55
|
const harperLogger = __importStar(require("../utility/logging/harper_logger.js"));
|
|
56
|
+
const commonUtility_ts_1 = require("../utility/lmdb/commonUtility.js");
|
|
56
57
|
require("./blob.js");
|
|
57
58
|
const blob_ts_1 = require("./blob.js");
|
|
58
59
|
const nodeIdMapping_ts_1 = require("./nodeIdMapping.js");
|
|
@@ -115,6 +116,12 @@ class RecordEncoder extends StructonEncoder {
|
|
|
115
116
|
isRocksDB;
|
|
116
117
|
name;
|
|
117
118
|
useVersions;
|
|
119
|
+
// Self-versioning mode for stores whose writes never stage a timestamp (HNSW/custom-index
|
|
120
|
+
// object stores). When set, each encode stamps a fresh monotonic version into the 8-byte
|
|
121
|
+
// metadata prefix so the value carries a version the RocksDB Verification Table can extract —
|
|
122
|
+
// enabling race-safe cache verification of graph nodes during traversal. Unlike primary-record
|
|
123
|
+
// writes, this never reads or clears the shared timestampNextEncoding global (harper#1307).
|
|
124
|
+
autoVersion = false;
|
|
118
125
|
constructor(options) {
|
|
119
126
|
options.useBigIntExtension = true;
|
|
120
127
|
// Bound the per-encoder typed-structure dictionary. It is append-only and pinned on the
|
|
@@ -166,6 +173,32 @@ class RecordEncoder extends StructonEncoder {
|
|
|
166
173
|
exports.lastValueEncoding = superEncode.call(this, record, options);
|
|
167
174
|
return exports.lastValueEncoding;
|
|
168
175
|
}
|
|
176
|
+
if (this.autoVersion && this.isRocksDB) {
|
|
177
|
+
// Self-versioned index store (RocksDB only — the Verification Table is RocksDB-specific):
|
|
178
|
+
// prefix the record-encoder metadata header so each node carries a version the VT can
|
|
179
|
+
// extract and the decode path recognises. The header is [8-byte BE float64 version]
|
|
180
|
+
// [4-byte BE metadata word], exactly the format decode() expects: the version's first
|
|
181
|
+
// byte (0x42 for current-era ms timestamps) triggers metadata detection, and the
|
|
182
|
+
// ACTION_32_BIT-tagged flags word (flags = 0 — no expiration/residency/etc.) is required
|
|
183
|
+
// so decode consumes a metadata word rather than mis-reading the struct's first byte as
|
|
184
|
+
// flags — the flags word being mandatory was the actual bug behind earlier failures,
|
|
185
|
+
// NOT any struct incompatibility. Use the same reserve-start mechanism the primary
|
|
186
|
+
// metadata path below uses (the 2048|valueStart option reserves valueStart bytes at the
|
|
187
|
+
// front of the encode buffer; we write the header in place), which works fine with the
|
|
188
|
+
// forced randomAccessStructure/typed-struct mode of custom-object indexes — verified
|
|
189
|
+
// against the cold/frozen-read (#1161) and concurrent multi-worker (#386) suites. This
|
|
190
|
+
// avoids a per-write extra allocation + full-payload copy. Never touch the shared
|
|
191
|
+
// timestampNextEncoding/metadataInNextEncoding globals — those belong to the enclosing
|
|
192
|
+
// primary-record write whose commit nests this index encode (harper#1307).
|
|
193
|
+
const valueStart = 12; // 8-byte version + 4-byte metadata word
|
|
194
|
+
const encoded = superEncode.call(this, record, options | 2048 | valueStart);
|
|
195
|
+
const position = encoded.start || 0;
|
|
196
|
+
const dataView = encoded.dataView || (encoded.dataView = new DataView(encoded.buffer, encoded.byteOffset, encoded.byteLength));
|
|
197
|
+
dataView.setFloat64(position, (0, commonUtility_ts_1.getNextMonotonicTime)()); // version (big-endian, rocksdb stores it directly)
|
|
198
|
+
dataView.setUint32(position + 8, auditStore_ts_1.ACTION_32_BIT << 24); // metadata word: ACTION_32_BIT tag, flags = 0
|
|
199
|
+
exports.lastValueEncoding = encoded.subarray(position + valueStart, encoded.end);
|
|
200
|
+
return encoded;
|
|
201
|
+
}
|
|
169
202
|
// this handles our custom metadata encoding, prefixing the record with metadata, including the local
|
|
170
203
|
// timestamp into the audit record, invalidation status and residency information
|
|
171
204
|
if (timestampNextEncoding || metadataInNextEncoding >= 0) {
|
|
@@ -448,54 +481,36 @@ function getTimestamp() {
|
|
|
448
481
|
return TIMESTAMP_VIEW.getFloat64(0);
|
|
449
482
|
}
|
|
450
483
|
function handleLocalTimeForGets(store, rootStore) {
|
|
451
|
-
|
|
484
|
+
if (store.isPrimaryRocksDatabase) {
|
|
485
|
+
store.initStore(rootStore);
|
|
486
|
+
return store;
|
|
487
|
+
}
|
|
452
488
|
store.readCount = 0;
|
|
453
489
|
store.cachePuts = false;
|
|
454
490
|
store.rootStore = rootStore;
|
|
455
491
|
store.encoder.rootStore = rootStore;
|
|
456
|
-
store.encoder.isRocksDB = isRocksDB;
|
|
457
492
|
store.decoder = store.encoder;
|
|
458
493
|
const storeGetEntry = store.getEntry;
|
|
459
|
-
const storeGetSync = store.getSync;
|
|
460
|
-
const storeGet = store.get;
|
|
461
494
|
store.getEntry = function (id, options) {
|
|
462
495
|
store.readCount++;
|
|
463
496
|
exports.lastMetadata = null;
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
}
|
|
478
|
-
else {
|
|
479
|
-
let entry = storeGetEntry.call(this, id, options);
|
|
480
|
-
if (exports.lastMetadata) {
|
|
481
|
-
entry.metadataFlags = exports.lastMetadata[exports.METADATA];
|
|
482
|
-
entry.localTime = exports.lastMetadata.localTime;
|
|
483
|
-
entry.residencyId = exports.lastMetadata.residencyId;
|
|
484
|
-
entry.nodeId = exports.lastMetadata.nodeId;
|
|
485
|
-
entry.additionalAuditRefs = exports.lastMetadata.additionalAuditRefs;
|
|
486
|
-
entry.size = exports.lastMetadata.size;
|
|
487
|
-
if (exports.lastMetadata.expiresAt >= 0) {
|
|
488
|
-
entry.expiresAt = exports.lastMetadata.expiresAt;
|
|
489
|
-
}
|
|
490
|
-
if (isRocksDB)
|
|
491
|
-
entry.version = exports.lastMetadata.localTime;
|
|
492
|
-
if (entry.value) {
|
|
493
|
-
exports.entryMap.set(entry.value, entry); // allow the record to access the entry
|
|
494
|
-
}
|
|
495
|
-
entry.key = id;
|
|
497
|
+
let entry = storeGetEntry.call(this, id, options);
|
|
498
|
+
if (exports.lastMetadata) {
|
|
499
|
+
entry.metadataFlags = exports.lastMetadata[exports.METADATA];
|
|
500
|
+
entry.localTime = exports.lastMetadata.localTime;
|
|
501
|
+
entry.residencyId = exports.lastMetadata.residencyId;
|
|
502
|
+
entry.nodeId = exports.lastMetadata.nodeId;
|
|
503
|
+
entry.additionalAuditRefs = exports.lastMetadata.additionalAuditRefs;
|
|
504
|
+
entry.size = exports.lastMetadata.size;
|
|
505
|
+
if (exports.lastMetadata.expiresAt >= 0) {
|
|
506
|
+
entry.expiresAt = exports.lastMetadata.expiresAt;
|
|
507
|
+
}
|
|
508
|
+
if (entry.value) {
|
|
509
|
+
exports.entryMap.set(entry.value, entry); // allow the record to access the entry
|
|
496
510
|
}
|
|
497
|
-
|
|
511
|
+
entry.key = id;
|
|
498
512
|
}
|
|
513
|
+
return entry && withEntry(entry);
|
|
499
514
|
// if we have decoded with metadata, we want to pull it out and assign to this entry
|
|
500
515
|
function withEntry(entry) {
|
|
501
516
|
if (entry.value) {
|
|
@@ -539,17 +554,9 @@ function handleLocalTimeForGets(store, rootStore) {
|
|
|
539
554
|
return iterable;
|
|
540
555
|
return iterable.map((entry) => {
|
|
541
556
|
// if we have metadata, move the metadata to the entry
|
|
542
|
-
if (
|
|
543
|
-
if (entry.value?.[exports.METADATA]) {
|
|
544
|
-
entry.metadataFlags = entry.value[exports.METADATA];
|
|
545
|
-
Object.assign(entry, entry.value);
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
|
-
else if (exports.lastMetadata) {
|
|
557
|
+
if (exports.lastMetadata) {
|
|
549
558
|
entry.metadataFlags = exports.lastMetadata[exports.METADATA];
|
|
550
559
|
entry.localTime = exports.lastMetadata.localTime;
|
|
551
|
-
if (isRocksDB)
|
|
552
|
-
entry.version = exports.lastMetadata.localTime;
|
|
553
560
|
entry.residencyId = exports.lastMetadata.residencyId;
|
|
554
561
|
entry.nodeId = exports.lastMetadata.nodeId;
|
|
555
562
|
entry.additionalAuditRefs = exports.lastMetadata.additionalAuditRefs;
|
|
@@ -570,37 +577,36 @@ function handleLocalTimeForGets(store, rootStore) {
|
|
|
570
577
|
return entry;
|
|
571
578
|
});
|
|
572
579
|
};
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
}
|
|
580
|
+
// add read transaction tracking (LMDB only — RocksDB primary stores are PrimaryRocksDatabase and
|
|
581
|
+
// return early above; only LMDB stores reach here)
|
|
582
|
+
const txn = store.useReadTransaction();
|
|
583
|
+
txn.done();
|
|
584
|
+
if (!txn.done.isTracked) {
|
|
585
|
+
const Txn = txn.constructor;
|
|
586
|
+
const use = txn.use;
|
|
587
|
+
const done = txn.done;
|
|
588
|
+
Txn.prototype.use = function () {
|
|
589
|
+
if (!this.timerTracked) {
|
|
590
|
+
this.timerTracked = true;
|
|
591
|
+
trackedTxns.push(new WeakRef(this));
|
|
592
|
+
}
|
|
593
|
+
use.call(this);
|
|
594
|
+
};
|
|
595
|
+
Txn.prototype.done = function () {
|
|
596
|
+
if (this.isDone)
|
|
597
|
+
return;
|
|
598
|
+
done.call(this);
|
|
599
|
+
this.openTimer = 0; // reset so idle pool time doesn't accumulate toward the stale-open threshold
|
|
600
|
+
if (this.isDone) {
|
|
601
|
+
for (let i = 0; i < trackedTxns.length; i++) {
|
|
602
|
+
const txn = trackedTxns[i].deref();
|
|
603
|
+
if (!txn || txn.isDone || txn.isCommitted) {
|
|
604
|
+
trackedTxns.splice(i--, 1);
|
|
599
605
|
}
|
|
600
606
|
}
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
|
|
607
|
+
}
|
|
608
|
+
};
|
|
609
|
+
Txn.prototype.done.isTracked = true;
|
|
604
610
|
}
|
|
605
611
|
return store;
|
|
606
612
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordEncoder.js","sourceRoot":"","sources":["../../resources/RecordEncoder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RecordEncoder.js","sourceRoot":"","sources":["../../resources/RecordEncoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,12 +42,31 @@ export declare class RequestTarget extends URLSearchParams {
|
|
|
42
42
|
replicatedConfirmation?: number;
|
|
43
43
|
originatingOperation?: string;
|
|
44
44
|
previousResidency?: string[];
|
|
45
|
+
/** Cache disposition of this get on a caching table: true if loaded from the source, false if
|
|
46
|
+
* served from cache. Set per-get; read it on the RequestTarget you passed to the get. */
|
|
45
47
|
loadedFromSource?: boolean;
|
|
46
48
|
createdNewId?: string;
|
|
47
49
|
checkPermission?: UserRoleDatabasePermissions | boolean;
|
|
48
50
|
subscribe?: boolean;
|
|
49
51
|
allowFullScan?: boolean;
|
|
50
52
|
allowConditionsOnDynamicAttributes?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Predicate-aware vector search (#1241). A `(record) => boolean` filter evaluated during HNSW
|
|
55
|
+
* traversal (and as a post-filter for other paths), so a vector sort keeps exploring until it has
|
|
56
|
+
* enough MATCHING nearest neighbors instead of post-filtering an under-filled candidate set. The
|
|
57
|
+
* function must be synchronous and side-effect free; the record it receives is frozen. JS-API only —
|
|
58
|
+
* never parsed from a REST query string (no eval of user-supplied code over HTTP).
|
|
59
|
+
*/
|
|
60
|
+
vectorFilter?: (record: any) => boolean;
|
|
61
|
+
/**
|
|
62
|
+
* When `false`, the query reads against the latest committed data without holding a consistent
|
|
63
|
+
* read snapshot open for the duration of the iteration. This trades read consistency (rows
|
|
64
|
+
* written after the scan starts may be observed) for not pinning a snapshot that blocks
|
|
65
|
+
* compaction and ties up resources — useful for long-running scans such as analytics queries.
|
|
66
|
+
* Defaults to `true` (a stable snapshot is held). Currently only honored by RocksDB-backed
|
|
67
|
+
* tables; see `DatabaseTransaction.getReadTxn`.
|
|
68
|
+
*/
|
|
69
|
+
snapshot?: boolean;
|
|
51
70
|
constructor(target?: string);
|
|
52
71
|
toString(): string;
|
|
53
72
|
get url(): string;
|