@harperfast/harper 5.2.0 → 5.2.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/bin/copyDb.ts +40 -11
- package/bin/harper.ts +20 -51
- package/bin/help.ts +216 -0
- package/components/Application.ts +236 -46
- package/components/ApplicationScope.ts +26 -0
- package/components/EntryHandler.ts +410 -105
- package/components/RuntimeModuleTracker.ts +189 -0
- package/components/Scope.ts +68 -24
- package/components/componentLoader.ts +70 -16
- package/components/deployLifecycle.ts +119 -33
- package/components/deploymentRecorder.ts +102 -11
- package/components/mcp/tools/operations.ts +6 -0
- package/components/operations.js +8 -6
- package/config/configUtils.ts +78 -20
- package/config/harperConfigEnvVars.ts +114 -17
- package/config-root.schema.json +10 -0
- package/dataLayer/harperBridge/ResourceBridge.ts +26 -5
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -4
- package/dataLayer/hdbInfoController.ts +8 -0
- package/dataLayer/schemaDescribe.ts +2 -1
- package/dist/bin/copyDb.js +33 -9
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/harper.d.ts +6 -0
- package/dist/bin/harper.js +18 -50
- package/dist/bin/harper.js.map +1 -1
- package/dist/bin/help.d.ts +8 -0
- package/dist/bin/help.js +192 -0
- package/dist/bin/help.js.map +1 -0
- package/dist/components/Application.d.ts +16 -1
- package/dist/components/Application.js +210 -38
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +7 -0
- package/dist/components/ApplicationScope.js +22 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/EntryHandler.d.ts +4 -4
- package/dist/components/EntryHandler.js +386 -95
- package/dist/components/EntryHandler.js.map +1 -1
- package/dist/components/RuntimeModuleTracker.d.ts +11 -0
- package/dist/components/RuntimeModuleTracker.js +189 -0
- package/dist/components/RuntimeModuleTracker.js.map +1 -0
- package/dist/components/Scope.d.ts +1 -0
- package/dist/components/Scope.js +69 -22
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/componentLoader.js +69 -10
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/deployLifecycle.d.ts +6 -2
- package/dist/components/deployLifecycle.js +109 -31
- package/dist/components/deployLifecycle.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +6 -0
- package/dist/components/deploymentRecorder.js +94 -12
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/tools/operations.js +6 -0
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/operations.js +8 -6
- package/dist/components/operations.js.map +1 -1
- package/dist/config/configUtils.d.ts +6 -0
- package/dist/config/configUtils.js +78 -18
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/harperConfigEnvVars.js +108 -16
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.js +12 -5
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -4
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
- package/dist/dataLayer/hdbInfoController.js +4 -0
- package/dist/dataLayer/hdbInfoController.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +2 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +57 -0
- package/dist/resources/DatabaseTransaction.js +284 -104
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +8 -2
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Resources.js +22 -4
- package/dist/resources/Resources.js.map +1 -1
- package/dist/resources/Table.d.ts +8 -6
- package/dist/resources/Table.js +158 -31
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +6 -6
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.js +27 -1
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/blob.d.ts +0 -1
- package/dist/resources/blob.js +15 -7
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/databases.d.ts +22 -5
- package/dist/resources/databases.js +118 -9
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +15 -2
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +128 -39
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/jsResource.d.ts +4 -26
- package/dist/resources/jsResource.js +5 -59
- package/dist/resources/jsResource.js.map +1 -1
- package/dist/resources/models/Models.d.ts +11 -1
- package/dist/resources/models/Models.js +10 -1
- package/dist/resources/models/Models.js.map +1 -1
- package/dist/resources/models/backendRegistry.d.ts +9 -0
- package/dist/resources/models/backendRegistry.js +10 -0
- package/dist/resources/models/backendRegistry.js.map +1 -1
- package/dist/resources/models/openaiStream.d.ts +16 -1
- package/dist/resources/models/openaiStream.js +113 -21
- package/dist/resources/models/openaiStream.js.map +1 -1
- package/dist/resources/models/v1/chatCompletions.d.ts +54 -0
- package/dist/resources/models/v1/chatCompletions.js +115 -0
- package/dist/resources/models/v1/chatCompletions.js.map +1 -0
- package/dist/resources/models/v1/embeddings.d.ts +11 -0
- package/dist/resources/models/v1/embeddings.js +71 -0
- package/dist/resources/models/v1/embeddings.js.map +1 -0
- package/dist/resources/models/v1/errors.d.ts +54 -0
- package/dist/resources/models/v1/errors.js +130 -0
- package/dist/resources/models/v1/errors.js.map +1 -0
- package/dist/resources/models/v1/index.d.ts +36 -0
- package/dist/resources/models/v1/index.js +75 -0
- package/dist/resources/models/v1/index.js.map +1 -0
- package/dist/resources/models/v1/models.d.ts +26 -0
- package/dist/resources/models/v1/models.js +44 -0
- package/dist/resources/models/v1/models.js.map +1 -0
- package/dist/resources/models/v1/translation.d.ts +133 -0
- package/dist/resources/models/v1/translation.js +298 -0
- package/dist/resources/models/v1/translation.js.map +1 -0
- package/dist/resources/roles.d.ts +1 -1
- package/dist/resources/roles.js +54 -7
- package/dist/resources/roles.js.map +1 -1
- package/dist/resources/search.d.ts +1 -1
- package/dist/resources/search.js +7 -3
- package/dist/resources/search.js.map +1 -1
- package/dist/security/jsLoader.js +84 -33
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/role.js +4 -0
- package/dist/security/role.js.map +1 -1
- package/dist/security/superUserGuard.d.ts +7 -0
- package/dist/security/superUserGuard.js +23 -0
- package/dist/security/superUserGuard.js.map +1 -0
- package/dist/security/tokenAuthentication.d.ts +0 -1
- package/dist/security/tokenAuthentication.js +6 -2
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/security/user.d.ts +6 -1
- package/dist/security/user.js +23 -1
- package/dist/security/user.js.map +1 -1
- package/dist/server/http.d.ts +23 -2
- package/dist/server/http.js +99 -12
- package/dist/server/http.js.map +1 -1
- package/dist/server/operationsServer.d.ts +0 -2
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/server/serverHelpers/multipartParser.js +9 -0
- package/dist/server/serverHelpers/multipartParser.js.map +1 -1
- package/dist/server/serverHelpers/operationAuthorizationState.d.ts +2 -0
- package/dist/server/serverHelpers/operationAuthorizationState.js +13 -0
- package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -0
- package/dist/server/serverHelpers/registeredOperations.d.ts +3 -2
- package/dist/server/serverHelpers/registeredOperations.js +14 -13
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
- package/dist/server/serverHelpers/serverHandlers.js +19 -3
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +1 -1
- package/dist/server/serverHelpers/serverUtilities.js +10 -7
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/static.js +57 -18
- package/dist/server/static.js.map +1 -1
- package/dist/server/storageReclamation.d.ts +17 -0
- package/dist/server/storageReclamation.js +90 -6
- package/dist/server/storageReclamation.js.map +1 -1
- package/dist/server/threads/manageThreads.js +8 -0
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.js +20 -0
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadServer.js +12 -0
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/sqlEngine/diff/differential.js +7 -3
- package/dist/sqlEngine/diff/differential.js.map +1 -1
- package/dist/sqlEngine/parser/normalizer.js +37 -9
- package/dist/sqlEngine/parser/normalizer.js.map +1 -1
- package/dist/sqlTranslator/index.js +6 -1
- package/dist/sqlTranslator/index.js.map +1 -1
- package/dist/upgrade/upgradePrompt.d.ts +2 -2
- package/dist/upgrade/upgradePrompt.js +22 -3
- package/dist/upgrade/upgradePrompt.js.map +1 -1
- package/dist/utility/environment/environmentManager.d.ts +11 -0
- package/dist/utility/environment/environmentManager.js +154 -0
- package/dist/utility/environment/environmentManager.js.map +1 -1
- package/dist/utility/errors/commonErrors.d.ts +1 -0
- package/dist/utility/errors/commonErrors.js +1 -0
- package/dist/utility/errors/commonErrors.js.map +1 -1
- package/dist/utility/hdbTerms.d.ts +2 -0
- package/dist/utility/hdbTerms.js +2 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/install/installer.js +32 -0
- package/dist/utility/install/installer.js.map +1 -1
- package/dist/utility/lmdb/environmentUtility.js +2 -1
- package/dist/utility/lmdb/environmentUtility.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +7 -0
- package/dist/utility/logging/harper_logger.js +57 -24
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/npm-shrinkwrap.json +208 -198
- package/package.json +10 -8
- package/resources/DESIGN.md +1 -0
- package/resources/DatabaseTransaction.ts +313 -102
- package/resources/ResourceInterface.ts +8 -2
- package/resources/Resources.ts +22 -4
- package/resources/Table.ts +398 -259
- package/resources/analytics/write.ts +22 -20
- package/resources/auditStore.ts +32 -1
- package/resources/blob.ts +15 -8
- package/resources/databases.ts +123 -12
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +119 -45
- package/resources/jsResource.ts +5 -62
- package/resources/models/Models.ts +14 -1
- package/resources/models/backendRegistry.ts +10 -0
- package/resources/models/openaiStream.ts +131 -19
- package/resources/models/v1/chatCompletions.ts +128 -0
- package/resources/models/v1/embeddings.ts +70 -0
- package/resources/models/v1/errors.ts +141 -0
- package/resources/models/v1/index.ts +72 -0
- package/resources/models/v1/models.ts +53 -0
- package/resources/models/v1/translation.ts +362 -0
- package/resources/roles.ts +67 -7
- package/resources/search.ts +8 -3
- package/security/jsLoader.ts +84 -30
- package/security/role.ts +7 -0
- package/security/superUserGuard.ts +20 -0
- package/security/tokenAuthentication.ts +6 -3
- package/security/user.ts +26 -1
- package/server/DESIGN.md +45 -34
- package/server/http.ts +100 -13
- package/server/operationsServer.ts +0 -2
- package/server/serverHelpers/multipartParser.ts +9 -0
- package/server/serverHelpers/operationAuthorizationState.ts +11 -0
- package/server/serverHelpers/registeredOperations.ts +19 -15
- package/server/serverHelpers/serverHandlers.js +20 -3
- package/server/serverHelpers/serverUtilities.ts +10 -7
- package/server/static.ts +75 -20
- package/server/storageReclamation.ts +104 -8
- package/server/threads/manageThreads.js +8 -0
- package/server/threads/socketRouter.ts +20 -0
- package/server/threads/threadServer.js +11 -0
- package/sqlTranslator/index.ts +6 -1
- package/static/defaultConfig.yaml +2 -0
- package/studio/web/assets/{Chat-DoVWScmq.js → Chat-BMUjPklt.js} +5 -5
- package/studio/web/assets/{Chat-DoVWScmq.js.map → Chat-BMUjPklt.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-UZ2NsUOZ.js → FloatingChat-Cbghuxe5.js} +5 -5
- package/studio/web/assets/{FloatingChat-UZ2NsUOZ.js.map → FloatingChat-Cbghuxe5.js.map} +1 -1
- package/studio/web/assets/{apiToken-BUI_04o7.js → apiToken-CkgTQAqc.js} +2 -2
- package/studio/web/assets/{apiToken-BUI_04o7.js.map → apiToken-CkgTQAqc.js.map} +1 -1
- package/studio/web/assets/{applications-D03NA7wW.js → applications-WvF4NOTN.js} +13 -13
- package/studio/web/assets/applications-WvF4NOTN.js.map +1 -0
- package/studio/web/assets/chevron-right-anDJCGlp.js +2 -0
- package/studio/web/assets/chevron-right-anDJCGlp.js.map +1 -0
- package/studio/web/assets/index-CDeqVx71.css +1 -0
- package/studio/web/assets/index-Sevt3MVx.js +819 -0
- package/studio/web/assets/index-Sevt3MVx.js.map +1 -0
- package/studio/web/assets/index.lazy-Dg5YYPGg.js +14 -0
- package/studio/web/assets/{index.lazy-Dx3MpyDC.js.map → index.lazy-Dg5YYPGg.js.map} +1 -1
- package/studio/web/assets/{jsonMode-Cjj7dtlr.js → jsonMode-CBSEleE7.js} +2 -2
- package/studio/web/assets/{jsonMode-Cjj7dtlr.js.map → jsonMode-CBSEleE7.js.map} +1 -1
- package/studio/web/assets/languageServices-gxedeeTo.js +2 -0
- package/studio/web/assets/languageServices-gxedeeTo.js.map +1 -0
- package/studio/web/assets/{notifications-0edoFTsb.js → notifications-Ap84YyQp.js} +2 -2
- package/studio/web/assets/{notifications-0edoFTsb.js.map → notifications-Ap84YyQp.js.map} +1 -1
- package/studio/web/assets/notifications-vehqyOLM.js +2 -0
- package/studio/web/assets/{notifications-CwKhipK7.js.map → notifications-vehqyOLM.js.map} +1 -1
- package/studio/web/assets/{pollUnlessForbidden-HHdQZW1N.js → pollUnlessForbidden-BhzefVRn.js} +2 -2
- package/studio/web/assets/pollUnlessForbidden-BhzefVRn.js.map +1 -0
- package/studio/web/assets/{profile-DUfEPQtx.js → profile-DzDpRLHY.js} +2 -2
- package/studio/web/assets/{profile-DUfEPQtx.js.map → profile-DzDpRLHY.js.map} +1 -1
- package/studio/web/assets/queryClient-CgtkoiCY.js +2 -0
- package/studio/web/assets/queryClient-CgtkoiCY.js.map +1 -0
- package/studio/web/assets/regions-DpJ8s7iN.js +2 -0
- package/studio/web/assets/regions-DpJ8s7iN.js.map +1 -0
- package/studio/web/assets/register-BDy01-q3.js +3 -0
- package/studio/web/assets/register-BDy01-q3.js.map +1 -0
- package/studio/web/assets/register-CQHRwNP4.js +3 -0
- package/studio/web/assets/register-CQHRwNP4.js.map +1 -0
- package/studio/web/assets/{setComponentFile-DMPo4UjC.js → setComponentFile-D0aPcI3W.js} +2 -2
- package/studio/web/assets/{setComponentFile-DMPo4UjC.js.map → setComponentFile-D0aPcI3W.js.map} +1 -1
- package/studio/web/assets/setup-I15FAF9H.js +3 -0
- package/studio/web/assets/{setup-B56Oz1_u.js.map → setup-I15FAF9H.js.map} +1 -1
- package/studio/web/assets/status-BF1eJshJ.js +62 -0
- package/studio/web/assets/status-BF1eJshJ.js.map +1 -0
- package/studio/web/assets/{swagger-ui-react-lQrBxfwM.js → swagger-ui-react-DwSPXXhl.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-lQrBxfwM.js.map → swagger-ui-react-DwSPXXhl.js.map} +1 -1
- package/studio/web/assets/{textarea-DhLMZ3PA.js → table-DpOjNQHt.js} +2 -10
- package/studio/web/assets/table-DpOjNQHt.js.map +1 -0
- package/studio/web/assets/{tsMode-CrHCRjTK.js → tsMode-Bu51A-VG.js} +2 -2
- package/studio/web/assets/{tsMode-CrHCRjTK.js.map → tsMode-Bu51A-VG.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-DoaBMEvU.js → useEntityRestURL-DrV1zMrN.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-DoaBMEvU.js.map → useEntityRestURL-DrV1zMrN.js.map} +1 -1
- package/studio/web/index.html +6 -7
- package/upgrade/upgradePrompt.ts +22 -3
- package/utility/environment/environmentManager.ts +152 -0
- package/utility/errors/commonErrors.ts +2 -0
- package/utility/hdbTerms.ts +2 -0
- package/utility/install/installer.ts +37 -0
- package/utility/lmdb/environmentUtility.ts +2 -1
- package/utility/logging/harper_logger.ts +57 -26
- package/studio/web/assets/applications-D03NA7wW.js.map +0 -1
- package/studio/web/assets/index-Bh_CNAHr.js +0 -809
- package/studio/web/assets/index-Bh_CNAHr.js.map +0 -1
- package/studio/web/assets/index-C8Mv9kHV.css +0 -1
- package/studio/web/assets/index.lazy-Dx3MpyDC.js +0 -14
- package/studio/web/assets/notifications-CwKhipK7.js +0 -2
- package/studio/web/assets/pollUnlessForbidden-HHdQZW1N.js.map +0 -1
- package/studio/web/assets/queryClient-CbA8wM7J.js +0 -2
- package/studio/web/assets/queryClient-CbA8wM7J.js.map +0 -1
- package/studio/web/assets/setup-B56Oz1_u.js +0 -3
- package/studio/web/assets/status-BAod7p3o.js +0 -62
- package/studio/web/assets/status-BAod7p3o.js.map +0 -1
- package/studio/web/assets/textarea-DhLMZ3PA.js.map +0 -1
|
@@ -28,6 +28,7 @@ import * as path from 'node:path';
|
|
|
28
28
|
import * as crypto from 'node:crypto';
|
|
29
29
|
import { cloneDeep } from 'lodash';
|
|
30
30
|
import { getBackupDirPath } from './configHelpers.ts';
|
|
31
|
+
import { atomicWriteFile } from './configUtils.ts';
|
|
31
32
|
import * as hdbTerms from '../utility/hdbTerms.ts';
|
|
32
33
|
|
|
33
34
|
const STATE_FILE_NAME = '.harper-config-state.json';
|
|
@@ -78,6 +79,10 @@ interface ConfigState {
|
|
|
78
79
|
version: string;
|
|
79
80
|
sources: Record<string, ConfigSource>; // Maps config path to the source that set it
|
|
80
81
|
originalValues: Record<string, any>; // Original values before env var override (for restoration)
|
|
82
|
+
// Paths the config file declared as empty objects before an env layer first populated
|
|
83
|
+
// them (#1618/#1726). Kept separate from originalValues so a marker can never mask, or
|
|
84
|
+
// be consumed as, a real leaf original at the same path.
|
|
85
|
+
emptyScopeOriginals: Record<string, true>;
|
|
81
86
|
snapshots: {
|
|
82
87
|
// Snapshots of what each env var currently specifies (for detecting changes)
|
|
83
88
|
HARPER_DEFAULT_CONFIG?: { hash: string; config: ConfigObject };
|
|
@@ -410,21 +415,93 @@ function setNestedValue(obj: ConfigObject, path: string, value: any): void {
|
|
|
410
415
|
}
|
|
411
416
|
|
|
412
417
|
/**
|
|
413
|
-
* Delete nested value by dot-notation path
|
|
418
|
+
* Delete nested value by dot-notation path, pruning ancestor objects the deletion
|
|
419
|
+
* emptied. Removal operates leaf-by-leaf on flattened paths, so deleting the last
|
|
420
|
+
* leaf under an entry would otherwise leave an `entry: {}` husk in the config file —
|
|
421
|
+
* invalid wherever validation requires fields, and sticky once persisted (#2067).
|
|
422
|
+
* Prunes only what this deletion emptied: an absent leaf deletes nothing and prunes
|
|
423
|
+
* nothing, so a deliberate empty scope (#1618/#1726) is never eaten by a no-op
|
|
424
|
+
* removal. Returns the pruned ancestor paths, deepest first.
|
|
414
425
|
*/
|
|
415
|
-
function deleteNestedValue(obj: ConfigObject, path: string):
|
|
426
|
+
function deleteNestedValue(obj: ConfigObject, path: string): string[] {
|
|
416
427
|
const keys = path.split('.');
|
|
428
|
+
const ancestors: ConfigObject[] = [];
|
|
417
429
|
let current = obj;
|
|
418
430
|
|
|
419
431
|
for (let i = 0; i < keys.length - 1; i++) {
|
|
420
432
|
const key = keys[i];
|
|
421
433
|
if (!isPlainObject(current[key])) {
|
|
422
|
-
return; // Path doesn't exist
|
|
434
|
+
return []; // Path doesn't exist
|
|
423
435
|
}
|
|
436
|
+
ancestors.push(current);
|
|
424
437
|
current = current[key];
|
|
425
438
|
}
|
|
426
439
|
|
|
427
|
-
|
|
440
|
+
const leafKey = keys[keys.length - 1];
|
|
441
|
+
// Own-property check: `in` walks the prototype chain, so a leaf named like an
|
|
442
|
+
// Object.prototype member (`constructor`, `toString`) would pass, no-op the
|
|
443
|
+
// delete, and let the prune loop eat a deliberate empty scope.
|
|
444
|
+
if (!Object.prototype.hasOwnProperty.call(current, leafKey)) {
|
|
445
|
+
return [];
|
|
446
|
+
}
|
|
447
|
+
delete current[leafKey];
|
|
448
|
+
|
|
449
|
+
const prunedPaths: string[] = [];
|
|
450
|
+
for (let i = ancestors.length - 1; i >= 0 && Object.keys(current).length === 0; i--) {
|
|
451
|
+
delete ancestors[i][keys[i]];
|
|
452
|
+
prunedPaths.push(keys.slice(0, i + 1).join('.'));
|
|
453
|
+
current = ancestors[i];
|
|
454
|
+
}
|
|
455
|
+
return prunedPaths;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* If the deepest existing ancestor of `path` is an empty plain object, record it in
|
|
460
|
+
* emptyScopeOriginals before a layer populates it: a bare `name: {}` in the config
|
|
461
|
+
* file is user content (#1618/#1726) even while an env var temporarily fills it. At
|
|
462
|
+
* most one ancestor can be both existing and empty, so one marker suffices.
|
|
463
|
+
*/
|
|
464
|
+
function recordEmptyAncestorOriginal(fileConfig: ConfigObject, state: ConfigState, path: string): void {
|
|
465
|
+
const keys = path.split('.');
|
|
466
|
+
let current = fileConfig;
|
|
467
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
468
|
+
current = Object.prototype.hasOwnProperty.call(current, keys[i]) ? current[keys[i]] : undefined;
|
|
469
|
+
if (current === undefined) {
|
|
470
|
+
// An absent prefix cannot be a live file-declared empty scope, so markers at
|
|
471
|
+
// or under it are stale (the user deleted the scope while the env var held
|
|
472
|
+
// it) and must not resurrect it later. Only true absence qualifies: a scalar
|
|
473
|
+
// here is a higher layer occluding the scope, not the user deleting it, and
|
|
474
|
+
// emptiness is what an apply's first leaf creates right after recording.
|
|
475
|
+
const prefix = keys.slice(0, i + 1).join('.');
|
|
476
|
+
for (const markerPath of Object.keys(state.emptyScopeOriginals)) {
|
|
477
|
+
if (markerPath === prefix || markerPath.startsWith(prefix + '.')) {
|
|
478
|
+
delete state.emptyScopeOriginals[markerPath];
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
if (!isPlainObject(current)) return;
|
|
484
|
+
if (Object.keys(current).length === 0) {
|
|
485
|
+
state.emptyScopeOriginals[keys.slice(0, i + 1).join('.')] = true;
|
|
486
|
+
return;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* Counterpart to recordEmptyAncestorOriginal: when a prune removed an ancestor the
|
|
493
|
+
* file originally declared as `{}`, put the empty scope back. Only paths the deletion
|
|
494
|
+
* actually pruned are candidates, so a scalar overwrite or an absent-leaf no-op can
|
|
495
|
+
* never resurrect a scope over live env-layer content.
|
|
496
|
+
*/
|
|
497
|
+
function restorePrunedEmptyAncestor(fileConfig: ConfigObject, state: ConfigState, prunedPaths: string[]): void {
|
|
498
|
+
for (const prunedPath of prunedPaths) {
|
|
499
|
+
if (Object.prototype.hasOwnProperty.call(state.emptyScopeOriginals, prunedPath)) {
|
|
500
|
+
setNestedValue(fileConfig, prunedPath, {});
|
|
501
|
+
delete state.emptyScopeOriginals[prunedPath];
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
428
505
|
}
|
|
429
506
|
|
|
430
507
|
/**
|
|
@@ -474,16 +551,23 @@ function loadConfigState(rootPath: string): ConfigState {
|
|
|
474
551
|
version: '1.0',
|
|
475
552
|
sources: {},
|
|
476
553
|
originalValues: {},
|
|
554
|
+
emptyScopeOriginals: {},
|
|
477
555
|
snapshots: {},
|
|
478
556
|
};
|
|
479
557
|
}
|
|
480
558
|
|
|
481
559
|
try {
|
|
482
560
|
const state = fs.readJsonSync(statePath) as ConfigState;
|
|
483
|
-
// Ensure
|
|
561
|
+
// Ensure newer fields exist (for backwards compatibility with old state files)
|
|
484
562
|
if (!state.originalValues) {
|
|
485
563
|
state.originalValues = {};
|
|
486
564
|
}
|
|
565
|
+
if (!state.emptyScopeOriginals) {
|
|
566
|
+
// Only the field is recoverable, not the information: a scope an env layer
|
|
567
|
+
// populated before this field existed has no marker and will not be restored
|
|
568
|
+
// on vacate (see DESIGN.md, env-config empty objects)
|
|
569
|
+
state.emptyScopeOriginals = {};
|
|
570
|
+
}
|
|
487
571
|
return state;
|
|
488
572
|
} catch (error) {
|
|
489
573
|
// If state file is corrupted, start fresh
|
|
@@ -493,6 +577,7 @@ function loadConfigState(rootPath: string): ConfigState {
|
|
|
493
577
|
version: '1.0',
|
|
494
578
|
sources: {},
|
|
495
579
|
originalValues: {},
|
|
580
|
+
emptyScopeOriginals: {},
|
|
496
581
|
snapshots: {},
|
|
497
582
|
};
|
|
498
583
|
}
|
|
@@ -508,7 +593,9 @@ function saveConfigState(rootPath: string, state: ConfigState): void {
|
|
|
508
593
|
// Ensure backup directory exists
|
|
509
594
|
fs.ensureDirSync(backupDir);
|
|
510
595
|
|
|
511
|
-
|
|
596
|
+
// Atomic write: a torn state file resets to fresh on the next load, losing every
|
|
597
|
+
// restoration record — the blast radius is user config-file content
|
|
598
|
+
atomicWriteFile(statePath, JSON.stringify(state, null, 2) + '\n');
|
|
512
599
|
}
|
|
513
600
|
|
|
514
601
|
/**
|
|
@@ -553,7 +640,7 @@ function applyConfigLayer(
|
|
|
553
640
|
const flatEnvConfig = flattenObject(envConfig);
|
|
554
641
|
|
|
555
642
|
for (const [path, value] of Object.entries(flatEnvConfig)) {
|
|
556
|
-
const currentSource = state.sources[path];
|
|
643
|
+
const currentSource = Object.prototype.hasOwnProperty.call(state.sources, path) ? state.sources[path] : undefined;
|
|
557
644
|
const currentValue = getNestedValue(fileConfig, path);
|
|
558
645
|
|
|
559
646
|
// Skip if this path has a source we should respect
|
|
@@ -562,9 +649,14 @@ function applyConfigLayer(
|
|
|
562
649
|
}
|
|
563
650
|
|
|
564
651
|
// Store original value if requested and this is first time overriding
|
|
565
|
-
if (storeOriginals
|
|
566
|
-
if (!
|
|
567
|
-
state.originalValues
|
|
652
|
+
if (storeOriginals) {
|
|
653
|
+
if (!currentSource && currentValue != null) {
|
|
654
|
+
if (!Object.prototype.hasOwnProperty.call(state.originalValues, path)) {
|
|
655
|
+
state.originalValues[path] = currentValue;
|
|
656
|
+
}
|
|
657
|
+
} else if (currentValue == null) {
|
|
658
|
+
// runs on re-assert too, so a hand-deleted scope clears its stale marker
|
|
659
|
+
recordEmptyAncestorOriginal(fileConfig, state, path);
|
|
568
660
|
}
|
|
569
661
|
}
|
|
570
662
|
|
|
@@ -599,13 +691,13 @@ function handleDeletions(
|
|
|
599
691
|
(sourceName === 'HARPER_DEFAULT_CONFIG' ||
|
|
600
692
|
sourceName === 'HARPER_CONFIG' ||
|
|
601
693
|
sourceName === 'HARPER_SET_CONFIG') &&
|
|
602
|
-
|
|
694
|
+
Object.prototype.hasOwnProperty.call(state.originalValues, path)
|
|
603
695
|
) {
|
|
604
696
|
setNestedValue(fileConfig, path, state.originalValues[path]);
|
|
605
697
|
delete state.originalValues[path];
|
|
606
698
|
} else {
|
|
607
699
|
// For other sources or if no original value, delete
|
|
608
|
-
deleteNestedValue(fileConfig, path);
|
|
700
|
+
restorePrunedEmptyAncestor(fileConfig, state, deleteNestedValue(fileConfig, path));
|
|
609
701
|
}
|
|
610
702
|
delete state.sources[path];
|
|
611
703
|
}
|
|
@@ -619,7 +711,7 @@ function removeValuesWithSource(fileConfig: ConfigObject, state: ConfigState, so
|
|
|
619
711
|
const pathsToRemove = Object.keys(state.sources).filter((path) => state.sources[path] === sourceName);
|
|
620
712
|
|
|
621
713
|
for (const path of pathsToRemove) {
|
|
622
|
-
deleteNestedValue(fileConfig, path);
|
|
714
|
+
restorePrunedEmptyAncestor(fileConfig, state, deleteNestedValue(fileConfig, path));
|
|
623
715
|
delete state.sources[path];
|
|
624
716
|
}
|
|
625
717
|
}
|
|
@@ -690,7 +782,9 @@ function processEnvVar(
|
|
|
690
782
|
// Runtime: Only update values we previously set
|
|
691
783
|
const flatEnvConfig = flattenObject(parsedConfig);
|
|
692
784
|
for (const [path, value] of Object.entries(flatEnvConfig)) {
|
|
693
|
-
const currentSource = state.sources
|
|
785
|
+
const currentSource = Object.prototype.hasOwnProperty.call(state.sources, path)
|
|
786
|
+
? state.sources[path]
|
|
787
|
+
: undefined;
|
|
694
788
|
const currentValue = getNestedValue(fileConfig, path);
|
|
695
789
|
|
|
696
790
|
// Skip if path has a tracked source that's not HARPER_DEFAULT_CONFIG
|
|
@@ -702,12 +796,15 @@ function processEnvVar(
|
|
|
702
796
|
if (!currentSource) {
|
|
703
797
|
if (currentValue !== undefined && currentValue !== null) {
|
|
704
798
|
// Value exists but we never set it - store as original but don't override
|
|
705
|
-
if (!(
|
|
799
|
+
if (!Object.prototype.hasOwnProperty.call(state.originalValues, path)) {
|
|
706
800
|
state.originalValues[path] = currentValue;
|
|
707
801
|
}
|
|
708
802
|
continue;
|
|
709
803
|
}
|
|
710
804
|
}
|
|
805
|
+
if (currentValue == null) {
|
|
806
|
+
recordEmptyAncestorOriginal(fileConfig, state, path);
|
|
807
|
+
}
|
|
711
808
|
|
|
712
809
|
// Set the value and track the source (directive leaves compose against current)
|
|
713
810
|
setNestedValue(fileConfig, path, resolveLeafValue(currentValue, value, path));
|
|
@@ -749,13 +846,13 @@ function cleanupRemovedEnvVar(
|
|
|
749
846
|
if (sourceName === 'HARPER_DEFAULT_CONFIG' || sourceName === 'HARPER_CONFIG' || sourceName === 'HARPER_SET_CONFIG') {
|
|
750
847
|
const pathsToCleanup = Object.keys(state.sources).filter((path) => state.sources[path] === sourceName);
|
|
751
848
|
for (const path of pathsToCleanup) {
|
|
752
|
-
if (
|
|
849
|
+
if (Object.prototype.hasOwnProperty.call(state.originalValues, path)) {
|
|
753
850
|
// Restore original value
|
|
754
851
|
setNestedValue(fileConfig, path, state.originalValues[path]);
|
|
755
852
|
delete state.originalValues[path];
|
|
756
853
|
} else {
|
|
757
854
|
// No original, just delete
|
|
758
|
-
deleteNestedValue(fileConfig, path);
|
|
855
|
+
restorePrunedEmptyAncestor(fileConfig, state, deleteNestedValue(fileConfig, path));
|
|
759
856
|
}
|
|
760
857
|
delete state.sources[path];
|
|
761
858
|
}
|
package/config-root.schema.json
CHANGED
|
@@ -470,6 +470,16 @@
|
|
|
470
470
|
],
|
|
471
471
|
"description": "Enable/Configure compression (LZ4). Default: true"
|
|
472
472
|
},
|
|
473
|
+
"rocks": {
|
|
474
|
+
"type": "object",
|
|
475
|
+
"additionalProperties": true,
|
|
476
|
+
"properties": {
|
|
477
|
+
"compression": {
|
|
478
|
+
"type": ["string", "null"],
|
|
479
|
+
"description": "RocksDB block and blob compression codec for every column family. Default: null (derive from storage.compression)."
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
},
|
|
473
483
|
"compactOnStart": { "type": "boolean", "description": "Compact non-system databases on start. Default: false" },
|
|
474
484
|
"compactOnStartKeepBackup": {
|
|
475
485
|
"type": "boolean",
|
|
@@ -492,12 +492,25 @@ export class ResourceBridge extends BridgeMethods {
|
|
|
492
492
|
: typeof deleteObj.timestamp === 'string'
|
|
493
493
|
? Number.parseInt(deleteObj.timestamp)
|
|
494
494
|
: deleteObj.timestamp;
|
|
495
|
+
const databaseName = deleteObj.database || deleteObj.schema || DEFAULT_DATABASE;
|
|
495
496
|
const table = getTable(deleteObj);
|
|
497
|
+
// A nonexistent table must not fall through to the no-table branch below — on RocksDB that
|
|
498
|
+
// widens a table-scoped request (e.g. a typo) into a whole-database log purge (#2049).
|
|
499
|
+
// Presence check, not truthiness: a table named "0" addressed numerically is still table-scoped.
|
|
500
|
+
if (deleteObj.table != null && !table)
|
|
501
|
+
throw handleHDBError(
|
|
502
|
+
new Error(),
|
|
503
|
+
HDB_ERROR_MSGS.TABLE_NOT_FOUND(databaseName, deleteObj.table),
|
|
504
|
+
404,
|
|
505
|
+
undefined,
|
|
506
|
+
undefined,
|
|
507
|
+
true
|
|
508
|
+
);
|
|
496
509
|
if (!table) {
|
|
497
510
|
// no table, check if any of the tables are RocksDB
|
|
498
511
|
// since all tables share the same transaction log store, we break after the first
|
|
499
512
|
// RocksDB table is found
|
|
500
|
-
const tables = getDatabases()[
|
|
513
|
+
const tables = getDatabases()[databaseName];
|
|
501
514
|
if (tables) {
|
|
502
515
|
for (const table of Object.values(tables)) {
|
|
503
516
|
if (table.primaryStore instanceof RocksDatabase) {
|
|
@@ -509,9 +522,16 @@ export class ResourceBridge extends BridgeMethods {
|
|
|
509
522
|
}
|
|
510
523
|
}
|
|
511
524
|
} else if (table.primaryStore instanceof RocksDatabase) {
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
525
|
+
// All tables in a RocksDB database share one transaction log with no per-table purge
|
|
526
|
+
// granularity; honoring `table` here would silently purge every sibling table's log (#2049).
|
|
527
|
+
throw handleHDBError(
|
|
528
|
+
new Error(),
|
|
529
|
+
`Table-level transaction log deletion is not supported for RocksDB tables because all tables in a database share one transaction log; to delete the transaction logs for the entire '${databaseName}' database, use delete_transaction_logs_before with only 'database' and 'timestamp'`,
|
|
530
|
+
400,
|
|
531
|
+
undefined,
|
|
532
|
+
undefined,
|
|
533
|
+
true
|
|
534
|
+
);
|
|
515
535
|
} else {
|
|
516
536
|
totalResults.entries_deleted += await table.deleteHistory(before, deleteObj.cleanup_deleted_records);
|
|
517
537
|
}
|
|
@@ -698,7 +718,8 @@ function getTable(operationObject: { database?: string; schema?: string; table?:
|
|
|
698
718
|
const databaseName = operationObject.database || operationObject.schema || DEFAULT_DATABASE;
|
|
699
719
|
const tables = getDatabases()[databaseName];
|
|
700
720
|
if (!tables) throw handleHDBError(new Error(), HDB_ERROR_MSGS.SCHEMA_NOT_FOUND(databaseName), 404);
|
|
701
|
-
|
|
721
|
+
// Presence check, not truthiness, so a table named "0" resolves when addressed numerically.
|
|
722
|
+
return operationObject.table != null ? tables[operationObject.table] : undefined;
|
|
702
723
|
}
|
|
703
724
|
|
|
704
725
|
/**
|
|
@@ -7,7 +7,7 @@ const path = require('path');
|
|
|
7
7
|
const minimist = require('minimist');
|
|
8
8
|
const fs = require('fs-extra');
|
|
9
9
|
const _ = require('lodash');
|
|
10
|
-
const { getConfigPath } = require('../../../../config/configUtils.ts');
|
|
10
|
+
const { getConfigPath, updateConfigObject } = require('../../../../config/configUtils.ts');
|
|
11
11
|
env.initSync();
|
|
12
12
|
|
|
13
13
|
const { CONFIG_PARAMS, DATABASES_PARAM_CONFIG, SYSTEM_SCHEMA_NAME } = hdbTerms;
|
|
@@ -115,7 +115,7 @@ function initSystemSchemaPaths(schema, table) {
|
|
|
115
115
|
[SYSTEM_SCHEMA_NAME, DATABASES_PARAM_CONFIG.TABLES, table, DATABASES_PARAM_CONFIG.PATH],
|
|
116
116
|
systemTablePath
|
|
117
117
|
);
|
|
118
|
-
|
|
118
|
+
updateConfigObject(CONFIG_PARAMS.DATABASES, schemasObj);
|
|
119
119
|
return systemTablePath;
|
|
120
120
|
}
|
|
121
121
|
|
|
@@ -123,7 +123,7 @@ function initSystemSchemaPaths(schema, table) {
|
|
|
123
123
|
const systemSchemaPath = systemSchemaConf?.[DATABASES_PARAM_CONFIG.PATH];
|
|
124
124
|
if (systemSchemaPath) {
|
|
125
125
|
_.set(schemasObj, [SYSTEM_SCHEMA_NAME, DATABASES_PARAM_CONFIG.PATH], systemSchemaPath);
|
|
126
|
-
|
|
126
|
+
updateConfigObject(CONFIG_PARAMS.DATABASES, schemasObj);
|
|
127
127
|
return systemSchemaPath;
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -135,7 +135,7 @@ function initSystemSchemaPaths(schema, table) {
|
|
|
135
135
|
if (!fs.pathExistsSync(storagePath)) throw new Error(storagePath + ' does not exist');
|
|
136
136
|
const storageSchemaPath = path.join(storagePath, schema);
|
|
137
137
|
fs.mkdirsSync(storageSchemaPath);
|
|
138
|
-
|
|
138
|
+
updateConfigObject(CONFIG_PARAMS.STORAGE_PATH, storagePath);
|
|
139
139
|
|
|
140
140
|
return storageSchemaPath;
|
|
141
141
|
}
|
|
@@ -183,15 +183,23 @@ export async function getVersionUpdateInfo() {
|
|
|
183
183
|
`You have installed a version lower than the version that your data was created on or was upgraded to. This may cause issues and is currently not supported.${os.EOL}${hdbTerms.SUPPORT_HELP_MSG}`
|
|
184
184
|
)
|
|
185
185
|
);
|
|
186
|
+
log.error(
|
|
187
|
+
`This instance's data was last run on version ${dataVersion}, which is newer than this installed version ${upgradeVersion}. Downgrading across major versions is not supported.`
|
|
188
|
+
);
|
|
186
189
|
throw new Error('Trying to downgrade major HDB versions is not supported.');
|
|
187
190
|
}
|
|
188
191
|
if (!hdbUtils.isCompatibleDataVersion(dataVersion.toString(), upgradeVersion.toString(), true)) {
|
|
189
192
|
console.log(chalk.yellow(`This instance's data was last run on version ${dataVersion}`));
|
|
193
|
+
log.warn(
|
|
194
|
+
`This instance's data was last run on version ${dataVersion}, which is newer than this installed version ${upgradeVersion}. Confirmation is required before running the older version against this data.`
|
|
195
|
+
);
|
|
190
196
|
|
|
191
197
|
if (await forceDowngradePrompt(new UpgradeObject(dataVersion, upgradeVersion))) {
|
|
192
198
|
await insertHdbUpgradeInfo(upgradeVersion.toString());
|
|
199
|
+
log.notify(`Downgrade confirmed; data version recorded as ${upgradeVersion}.`);
|
|
193
200
|
} else {
|
|
194
201
|
console.log('Cancelled downgrade, closing Harper');
|
|
202
|
+
log.notify('Cancelled downgrade, closing Harper');
|
|
195
203
|
process.exit(0);
|
|
196
204
|
}
|
|
197
205
|
}
|
|
@@ -12,6 +12,7 @@ import * as envMngr from '../utility/environment/environmentManager.ts';
|
|
|
12
12
|
envMngr.initSync();
|
|
13
13
|
import { getDatabases } from '../resources/databases.ts';
|
|
14
14
|
import * as fs from 'fs-extra';
|
|
15
|
+
import { isOperationAuthorizationBypassed } from '../server/serverHelpers/operationAuthorizationState.ts';
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* This method is exposed to the API and internally for system operations. If the op is being made internally, the `opObj`
|
|
@@ -22,7 +23,7 @@ import * as fs from 'fs-extra';
|
|
|
22
23
|
export async function describeAll(opObj: any = {}) {
|
|
23
24
|
try {
|
|
24
25
|
const sysCall = hdbUtils.isEmptyOrZeroLength(opObj);
|
|
25
|
-
const bypassAuth =
|
|
26
|
+
const bypassAuth = isOperationAuthorizationBypassed();
|
|
26
27
|
let rolePerms;
|
|
27
28
|
let isSu;
|
|
28
29
|
if (!sysCall && !bypassAuth) {
|
package/dist/bin/copyDb.js
CHANGED
|
@@ -338,6 +338,10 @@ function shapeForStructure(value) {
|
|
|
338
338
|
}
|
|
339
339
|
function openRocksDb(path, options = {}) {
|
|
340
340
|
options.disableWAL ??= false;
|
|
341
|
+
// Migration creates a complete replacement database, so use the deployment codec for the files
|
|
342
|
+
// it writes; runtime opens additionally reconcile pre-existing sibling column families.
|
|
343
|
+
const legacyOptions = options;
|
|
344
|
+
legacyOptions.compression = (0, databases_ts_1.getRocksCompression)() ?? (0, databases_ts_1.toRocksCompression)(legacyOptions.compression);
|
|
341
345
|
if (!(0, node_fs_1.existsSync)(path)) {
|
|
342
346
|
(0, node_fs_1.mkdirSync)(path, { recursive: true });
|
|
343
347
|
}
|
|
@@ -452,16 +456,23 @@ function countRecords(rawDbi) {
|
|
|
452
456
|
* the RocksDB lock — run in-process (inspector) on a live instance, or offline.
|
|
453
457
|
*/
|
|
454
458
|
function verifyMigratedDatabase(databasePath) {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
});
|
|
459
|
+
// Every open handle, so a failure at any point (e.g. the second open throwing on lock
|
|
460
|
+
// contention) cannot leak an earlier handle that would hold the RocksDB lock on the very
|
|
461
|
+
// diagnostic path operators use after a broken migration.
|
|
462
|
+
const handles = [];
|
|
460
463
|
const report = {};
|
|
461
464
|
try {
|
|
465
|
+
handles.push(rocksdb_js_1.RocksDatabase.open(databasePath, {}));
|
|
466
|
+
const dbisDb = rocksdb_js_1.RocksDatabase.open(databasePath, {
|
|
467
|
+
name: terms_ts_1.INTERNAL_DBIS_NAME,
|
|
468
|
+
sharedStructuresKey: Symbol.for('structures'),
|
|
469
|
+
});
|
|
470
|
+
handles.push(dbisDb);
|
|
462
471
|
for (const { key, value: attribute } of dbisDb.getRange({})) {
|
|
463
472
|
if (typeof key === 'symbol' || !attribute?.isPrimaryKey)
|
|
464
473
|
continue;
|
|
474
|
+
// per-table handles close per-iteration so a many-table sweep does not hold every CF
|
|
475
|
+
// handle open at once; only the two pre-loop opens need the leak-safety array
|
|
465
476
|
const rawDbi = rocksdb_js_1.RocksDatabase.open(databasePath, { name: key, encoding: false });
|
|
466
477
|
try {
|
|
467
478
|
report[key] = countRecords(rawDbi);
|
|
@@ -472,8 +483,14 @@ function verifyMigratedDatabase(databasePath) {
|
|
|
472
483
|
}
|
|
473
484
|
}
|
|
474
485
|
finally {
|
|
475
|
-
|
|
476
|
-
|
|
486
|
+
for (const handle of handles.reverse()) {
|
|
487
|
+
try {
|
|
488
|
+
handle.close();
|
|
489
|
+
}
|
|
490
|
+
catch (error) {
|
|
491
|
+
console.error('Error closing verification store', error);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
477
494
|
}
|
|
478
495
|
return report;
|
|
479
496
|
}
|
|
@@ -523,6 +540,13 @@ async function migrateDatabaseToRocks(sourceRootStore, databaseName, targetPath)
|
|
|
523
540
|
async function copyDbToRocks(sourceRootStore, sourceDatabase, targetPath) {
|
|
524
541
|
console.log(`Migrating database ${sourceDatabase} to RocksDB at ${targetPath}`);
|
|
525
542
|
const sourceDbisDb = sourceRootStore.dbisDb;
|
|
543
|
+
// Runtime Harper stores disable RocksDB's native WAL for data/index column families and recover
|
|
544
|
+
// them from rocksdb-js transaction logs. This copier does not write those transaction logs, so
|
|
545
|
+
// only use the same fast write path for migrateOnStart's disposable staging directory: after an
|
|
546
|
+
// interruption it is deleted and recopied from LMDB. Direct copyDbToRocks callers retain WAL.
|
|
547
|
+
const disableDataWAL = targetPath.endsWith(hdbTerms_ts_1.MIGRATING_DIR_SUFFIX);
|
|
548
|
+
// Keep native WAL for the root/log-owner and __dbis__ handles, matching Harper's runtime policy.
|
|
549
|
+
// Their migration writes are metadata-sized; the 600 GB bulk is in the data/index handles below.
|
|
526
550
|
const targetRootStore = openRocksDb(targetPath, { disableWAL: false });
|
|
527
551
|
// Every handle opened on targetPath. All must be closed before returning so the caller can
|
|
528
552
|
// atomically rename a staging directory into place — rocksdb-js registers descriptors by
|
|
@@ -596,11 +620,11 @@ async function copyDbToRocks(sourceRootStore, sourceDatabase, targetPath) {
|
|
|
596
620
|
let observerEncoder;
|
|
597
621
|
let canonicalStructures;
|
|
598
622
|
if (!isPrimary) {
|
|
599
|
-
targetDbi = openRocksDb(targetPath, { dupSort: true, name: key });
|
|
623
|
+
targetDbi = openRocksDb(targetPath, { disableWAL: disableDataWAL, dupSort: true, name: key });
|
|
600
624
|
targetHandles.push(targetDbi);
|
|
601
625
|
}
|
|
602
626
|
else {
|
|
603
|
-
targetDbi = openRocksDb(targetPath, { name: key });
|
|
627
|
+
targetDbi = openRocksDb(targetPath, { disableWAL: disableDataWAL, name: key });
|
|
604
628
|
targetHandles.push(targetDbi);
|
|
605
629
|
// Patch the existing encoder (encoder is a getter-only property on RocksDatabase, cannot be replaced)
|
|
606
630
|
// to install RecordEncoder's encode method so metadata headers (timestamps, HAS_BLOBS flag) are written
|
package/dist/bin/copyDb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyDb.js","sourceRoot":"","sources":["../../bin/copyDb.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"copyDb.js","sourceRoot":"","sources":["../../bin/copyDb.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/harper.d.ts
CHANGED
|
@@ -6,5 +6,11 @@
|
|
|
6
6
|
* is still debuggable. Mirrors the clean `error: <message>` output of a forwarded operation.
|
|
7
7
|
*/
|
|
8
8
|
export declare function formatCliError(error: any): string;
|
|
9
|
+
/**
|
|
10
|
+
* Whether a `-h`/`--help` anywhere in `argv` should print the top-level help. Returns false for the
|
|
11
|
+
* subcommands that own their own `--help` — mcp and agent/chat parse `process.argv.slice(3)`
|
|
12
|
+
* themselves downstream — so `harper mcp --help` reaches the mcp handler instead of this help.
|
|
13
|
+
*/
|
|
14
|
+
export declare function wantsTopLevelHelp(argv: readonly string[], service: string | undefined): boolean;
|
|
9
15
|
declare function harper(): Promise<any>;
|
|
10
16
|
export { harper };
|