@harperfast/harper-pro 5.0.1 → 5.0.3

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.
Files changed (91) hide show
  1. package/analytics/profile.ts +47 -0
  2. package/core/bin/cliOperations.js +6 -4
  3. package/core/bin/copyDb.ts +208 -0
  4. package/core/bin/restart.js +8 -7
  5. package/core/bin/run.js +2 -1
  6. package/core/components/Application.ts +24 -9
  7. package/core/components/ApplicationScope.ts +2 -3
  8. package/core/components/componentLoader.ts +13 -2
  9. package/core/config/harperConfigEnvVars.ts +34 -0
  10. package/core/resources/DatabaseTransaction.ts +19 -2
  11. package/core/resources/RecordEncoder.ts +2 -2
  12. package/core/resources/ResourceInterface.ts +1 -1
  13. package/core/resources/RocksIndexStore.ts +20 -15
  14. package/core/resources/Table.ts +50 -25
  15. package/core/resources/analytics/write.ts +7 -10
  16. package/core/resources/databases.ts +29 -14
  17. package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +67 -30
  18. package/core/security/certificateVerification/ocspVerification.ts +1 -1
  19. package/core/security/jsLoader.ts +68 -22
  20. package/core/security/keys.js +7 -7
  21. package/core/security/user.ts +10 -8
  22. package/core/server/itc/serverHandlers.js +0 -4
  23. package/core/static/defaultConfig.yaml +1 -1
  24. package/core/utility/hdbTerms.ts +1 -0
  25. package/core/utility/install/installer.js +14 -10
  26. package/dist/analytics/profile.js +47 -0
  27. package/dist/analytics/profile.js.map +1 -1
  28. package/dist/cloneNode/cloneNode.js +5 -5
  29. package/dist/cloneNode/cloneNode.js.map +1 -1
  30. package/dist/core/bin/cliOperations.js +6 -4
  31. package/dist/core/bin/cliOperations.js.map +1 -1
  32. package/dist/core/bin/copyDb.js +197 -0
  33. package/dist/core/bin/copyDb.js.map +1 -1
  34. package/dist/core/bin/restart.js +8 -7
  35. package/dist/core/bin/restart.js.map +1 -1
  36. package/dist/core/bin/run.js +3 -1
  37. package/dist/core/bin/run.js.map +1 -1
  38. package/dist/core/components/Application.js +15 -5
  39. package/dist/core/components/Application.js.map +1 -1
  40. package/dist/core/components/ApplicationScope.js +2 -3
  41. package/dist/core/components/ApplicationScope.js.map +1 -1
  42. package/dist/core/components/componentLoader.js +11 -2
  43. package/dist/core/components/componentLoader.js.map +1 -1
  44. package/dist/core/config/harperConfigEnvVars.js +33 -0
  45. package/dist/core/config/harperConfigEnvVars.js.map +1 -1
  46. package/dist/core/resources/DatabaseTransaction.js +17 -2
  47. package/dist/core/resources/DatabaseTransaction.js.map +1 -1
  48. package/dist/core/resources/RecordEncoder.js +2 -2
  49. package/dist/core/resources/RecordEncoder.js.map +1 -1
  50. package/dist/core/resources/RocksIndexStore.js +19 -12
  51. package/dist/core/resources/RocksIndexStore.js.map +1 -1
  52. package/dist/core/resources/Table.js +55 -29
  53. package/dist/core/resources/Table.js.map +1 -1
  54. package/dist/core/resources/analytics/write.js +7 -10
  55. package/dist/core/resources/analytics/write.js.map +1 -1
  56. package/dist/core/resources/databases.js +18 -14
  57. package/dist/core/resources/databases.js.map +1 -1
  58. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +38 -19
  59. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  60. package/dist/core/security/certificateVerification/ocspVerification.js +1 -1
  61. package/dist/core/security/certificateVerification/ocspVerification.js.map +1 -1
  62. package/dist/core/security/jsLoader.js +54 -21
  63. package/dist/core/security/jsLoader.js.map +1 -1
  64. package/dist/core/security/keys.js +7 -7
  65. package/dist/core/security/keys.js.map +1 -1
  66. package/dist/core/security/user.js +9 -8
  67. package/dist/core/security/user.js.map +1 -1
  68. package/dist/core/server/itc/serverHandlers.js +0 -4
  69. package/dist/core/server/itc/serverHandlers.js.map +1 -1
  70. package/dist/core/utility/hdbTerms.js +1 -0
  71. package/dist/core/utility/hdbTerms.js.map +1 -1
  72. package/dist/core/utility/install/installer.js +11 -8
  73. package/dist/core/utility/install/installer.js.map +1 -1
  74. package/dist/replication/setNode.js +5 -2
  75. package/dist/replication/setNode.js.map +1 -1
  76. package/dist/security/certificate.js +28 -6
  77. package/dist/security/certificate.js.map +1 -1
  78. package/npm-shrinkwrap.json +2 -2
  79. package/package.json +1 -1
  80. package/replication/setNode.ts +5 -2
  81. package/security/certificate.ts +28 -6
  82. package/static/defaultConfig.yaml +1 -1
  83. package/studio/web/assets/{index-C0iJWrnF.js → index-CxTavHFE.js} +5 -5
  84. package/studio/web/assets/{index-C0iJWrnF.js.map → index-CxTavHFE.js.map} +1 -1
  85. package/studio/web/assets/{index.lazy-C647wC7n.js → index.lazy-CfiR1tvq.js} +2 -2
  86. package/studio/web/assets/{index.lazy-C647wC7n.js.map → index.lazy-CfiR1tvq.js.map} +1 -1
  87. package/studio/web/assets/{profile-BTS_ZjxV.js → profile-C-uokAal.js} +2 -2
  88. package/studio/web/assets/{profile-BTS_ZjxV.js.map → profile-C-uokAal.js.map} +1 -1
  89. package/studio/web/assets/{status-Dc-S5M23.js → status-D6xeT4ss.js} +2 -2
  90. package/studio/web/assets/{status-Dc-S5M23.js.map → status-D6xeT4ss.js.map} +1 -1
  91. package/studio/web/index.html +1 -1
@@ -14,7 +14,16 @@ import * as child_process from 'node:child_process';
14
14
  import { CONFIG_PARAMS } from '../utility/hdbTerms.ts';
15
15
  import { contentTypes } from '../server/serverHelpers/contentTypes.ts';
16
16
  import type { CompartmentOptions } from 'ses';
17
- import { mkdirSync, readFileSync, writeFileSync, unlinkSync, openSync, closeSync, statSync } from 'node:fs';
17
+ import {
18
+ mkdirSync,
19
+ readFileSync,
20
+ writeFileSync,
21
+ unlinkSync,
22
+ openSync,
23
+ closeSync,
24
+ statSync,
25
+ realpathSync,
26
+ } from 'node:fs';
18
27
  import { join } from 'node:path';
19
28
  import { EventEmitter } from 'node:events';
20
29
  import { whenComponentsLoaded } from '../server/threads/threadServer.js';
@@ -495,13 +504,13 @@ async function loadModuleWithVM(moduleUrl: string, scope: ApplicationScope, useC
495
504
  }
496
505
 
497
506
  if (url.startsWith('file://') && usePrivateGlobal) {
498
- checkAllowedModulePath(url, scope.verifyPath);
507
+ checkAllowedModulePath(url, scope.allowedPath);
499
508
  const source = readFileSync(new URL(url), { encoding: 'utf-8' });
500
509
  return createModuleFromSource(url, source, usePrivateGlobal);
501
510
  }
502
511
 
503
512
  // For Node.js built-in modules (node:) and npm packages without application loader for dependency
504
- const replacedModule = checkAllowedModulePath(url, scope.verifyPath);
513
+ const replacedModule = checkAllowedModulePath(url, scope.allowedPath);
505
514
  if (replacedModule) {
506
515
  return createSyntheticModule(url, normalizeImportedModule(replacedModule));
507
516
  }
@@ -570,7 +579,7 @@ async function getCompartment(scope: ApplicationScope, globals) {
570
579
  }
571
580
  return new StaticModuleRecord(moduleText, moduleSpecifier);
572
581
  } else {
573
- checkAllowedModulePath(moduleSpecifier, scope.verifyPath);
582
+ checkAllowedModulePath(moduleSpecifier, scope.allowedPath);
574
583
  const moduleExports = await import(moduleSpecifier);
575
584
  return {
576
585
  imports: [],
@@ -761,23 +770,54 @@ function isProcessRunning(pid: number): boolean {
761
770
  * Acquires an exclusive lock using the PID file itself (synchronously with busy-wait)
762
771
  * Returns 0 if lock was acquired (need to spawn new process), or the existing PID if process is running
763
772
  */
764
- function acquirePidFileLock(pidFilePath: string, maxRetries = 100, retryDelay = 5): number {
773
+ function parsePidFile(content: string): { pid: number; version: number } {
774
+ const lines = content.trim().split('\n');
775
+ const pid = Number.parseInt(lines[0], 10);
776
+ const version = lines.length > 1 ? parseInt(lines[1], 10) : 0;
777
+ return { pid, version };
778
+ }
779
+
780
+ function acquirePidFileLock(
781
+ pidFilePath: string,
782
+ requestedVersion?: number,
783
+ maxRetries = 100,
784
+ retryDelay = 5
785
+ ): { pid: number; version: number } {
765
786
  for (let attempt = 0; attempt < maxRetries; attempt++) {
766
787
  try {
767
788
  // Try to open exclusively - 'wx' fails if file exists
768
789
  const fd = openSync(pidFilePath, 'wx');
769
790
  closeSync(fd);
770
- return 0; // Successfully acquired lock (file created), caller should spawn process
791
+ return { pid: 0, version: 0 }; // Successfully acquired lock (file created), caller should spawn process
771
792
  } catch (err) {
772
793
  if (err.code === 'EEXIST') {
773
794
  // File exists - check if it contains a valid running process
774
795
  try {
775
796
  const pidContent = readFileSync(pidFilePath, 'utf-8');
776
- const existingPid = parseInt(pidContent.trim(), 10);
797
+ const { pid: existingPid, version: existingVersion } = parsePidFile(pidContent);
777
798
 
778
799
  if (!isNaN(existingPid) && isProcessRunning(existingPid)) {
779
- // Valid process is running, return its PID immediately
780
- return existingPid;
800
+ // If the version isn't the one we want, kill the existing process and re-acquire
801
+ if (requestedVersion != null && requestedVersion !== existingVersion) {
802
+ try {
803
+ process.kill(existingPid);
804
+ } catch {
805
+ // Process may have already exited
806
+ }
807
+ try {
808
+ unlinkSync(pidFilePath);
809
+ } catch {
810
+ // Another thread may have removed it
811
+ }
812
+ // Retry to acquire the lock for the new version
813
+ const start = Date.now();
814
+ while (Date.now() - start < retryDelay) {
815
+ // Busy wait for process cleanup
816
+ }
817
+ continue;
818
+ }
819
+ // Valid process is running at same or higher version, return its PID
820
+ return { pid: existingPid, version: existingVersion };
781
821
  }
782
822
 
783
823
  // Invalid/empty PID - check file age to determine if it's stale or being written
@@ -824,6 +864,7 @@ function createSpawn(spawnFunction: (...args: any) => child_process.ChildProcess
824
864
  throw new Error(
825
865
  `Calling ${spawnFunction.name} in Harper must have a process "name" in the options to ensure that a single process is started and reused`
826
866
  );
867
+ const requestedVersion = options?.version;
827
868
 
828
869
  // Ensure PID directory exists
829
870
  const pidDir = join(basePath, 'pids');
@@ -831,20 +872,22 @@ function createSpawn(spawnFunction: (...args: any) => child_process.ChildProcess
831
872
 
832
873
  const pidFilePath = join(pidDir, `${processName}.pid`);
833
874
 
834
- // Try to acquire lock - returns 0 if acquired, or existing PID
835
- const existingPid = acquirePidFileLock(pidFilePath);
875
+ // Try to acquire lock - returns pid: 0 if acquired, or existing PID/version
876
+ const existing = acquirePidFileLock(pidFilePath, requestedVersion);
836
877
 
837
- if (existingPid !== 0) {
878
+ if (existing.pid !== 0) {
838
879
  // Existing process is running, return wrapper
839
- return new ExistingProcessWrapper(existingPid);
880
+ return new ExistingProcessWrapper(existing.pid);
840
881
  }
841
882
 
842
883
  // We acquired the lock (file was created), spawn new process
843
884
  const childProcess = spawnFunction(command, args, options, callback);
844
885
 
845
- // Write PID to the file we just created
886
+ // Write PID (and version if provided) to the file we just created
887
+ const pidFileContent =
888
+ requestedVersion != null ? `${childProcess.pid}\n${requestedVersion}` : childProcess.pid.toString();
846
889
  try {
847
- writeFileSync(pidFilePath, childProcess.pid.toString(), 'utf-8');
890
+ writeFileSync(pidFilePath, pidFileContent, 'utf-8');
848
891
  } catch (err) {
849
892
  // Failed to write PID, clean up
850
893
  try {
@@ -869,21 +912,24 @@ function createSpawn(spawnFunction: (...args: any) => child_process.ChildProcess
869
912
 
870
913
  /**
871
914
  * Validates whether a module can be loaded based on security restrictions and returns the module path or replacement.
872
- * For file URLs, ensures the module is within the containing folder.
915
+ * For file URLs, ensures the module is within the allowed path.
873
916
  * For node built-in modules, checks against an allowlist and returns any replacements.
874
917
  *
875
918
  * @param {string} moduleUrl - The URL or identifier of the module to be loaded, which may be a file: URL, node: URL, or bare module specifier.
876
- * @param {string} containingFolder - The absolute path of the folder that contains the application, used to validate file: URLs are within bounds.
919
+ * @param {string} allowedPath - The absolute path that the module is allowed to load from.
877
920
  * @return {any} Returns undefined for allowed file paths, or a replacement module identifier for allowed node built-in modules.
878
- * @throws {Error} Throws an error if the module is outside the application folder or if the module is not in the allowed list.
921
+ * @throws {Error} Throws an error if the module is outside the allowed path or if the module is not in the allowed list.
879
922
  */
880
- function checkAllowedModulePath(moduleUrl: string, containingFolder?: string): boolean {
923
+ function checkAllowedModulePath(moduleUrl: string, allowedPath?: string): boolean {
881
924
  if (moduleUrl.startsWith('file:')) {
882
- const path = moduleUrl.slice(7);
883
- if (!containingFolder || path.startsWith(containingFolder)) {
925
+ let path = moduleUrl.slice(7);
926
+ try {
927
+ path = realpathSync(path);
928
+ } catch {}
929
+ if (!allowedPath || path.startsWith(allowedPath)) {
884
930
  return;
885
931
  }
886
- throw new Error(`Can not load module outside of application folder ${containingFolder}`);
932
+ throw new Error(`Can not load module outside of allowed path`);
887
933
  }
888
934
  let simpleName = moduleUrl.startsWith('node:') ? moduleUrl.slice(5) : moduleUrl;
889
935
  simpleName = simpleName.split('/')[0];
@@ -125,7 +125,7 @@ function getCertTable() {
125
125
  }
126
126
 
127
127
  async function getReplicationCert() {
128
- const SNICallback = createTLSSelector('operations-api');
128
+ const SNICallback = createTLSSelector('replication');
129
129
  const secureTarget = {
130
130
  secureContexts: null,
131
131
  setSecureContext: (_ctx) => {},
@@ -238,7 +238,7 @@ function loadCertificates() {
238
238
 
239
239
  promise = certificateTable.put({
240
240
  name: certCn,
241
- uses: config.uses ?? ['https', ...(configKey.includes('operations') ? ['operations'] : [])],
241
+ uses: config.uses ?? [configKey.includes('operations') ? ['operations-api'] : []],
242
242
  ciphers: config.ciphers,
243
243
  certificate: certificatePem,
244
244
  private_key_name,
@@ -351,7 +351,7 @@ function certExtensions() {
351
351
  async function createCertificateTable(cert, caCert) {
352
352
  await setCertTable({
353
353
  name: getThisNodeName(),
354
- uses: ['https', 'wss'],
354
+ uses: ['replication'],
355
355
  certificate: cert,
356
356
  private_key_name: 'privateKey.pem',
357
357
  is_authority: false,
@@ -360,7 +360,7 @@ async function createCertificateTable(cert, caCert) {
360
360
 
361
361
  await setCertTable({
362
362
  name: caCert.subject.getField('CN').value,
363
- uses: ['https', 'wss'],
363
+ uses: [],
364
364
  certificate: pki.certificateToPem(caCert),
365
365
  private_key_name: 'privateKey.pem',
366
366
  is_authority: true,
@@ -600,7 +600,7 @@ async function reviewSelfSignedCert() {
600
600
 
601
601
  await setCertTable({
602
602
  name: hdbCa.subject.getField('CN').value,
603
- uses: ['https'],
603
+ uses: [],
604
604
  certificate: pki.certificateToPem(hdbCa),
605
605
  private_key_name: keyName,
606
606
  is_authority: true,
@@ -621,7 +621,7 @@ async function reviewSelfSignedCert() {
621
621
  const newPublicCert = await generateCertificates(pki.privateKeyFromPem(caAndKey.private_key), publicKey, hdbCa);
622
622
  await setCertTable({
623
623
  name: certName,
624
- uses: ['https', 'operations', 'wss'],
624
+ uses: ['replication'],
625
625
  certificate: newPublicCert,
626
626
  is_authority: false,
627
627
  private_key_name: caAndKey.ca.private_key_name,
@@ -755,7 +755,7 @@ function createTLSSelector(type, mtlsOptions) {
755
755
  }
756
756
  let quality = cert.is_self_signed ? 1 : 3;
757
757
  // prefer operations certificates for operations API
758
- if (cert.uses?.includes(type)) quality += 1;
758
+ if (cert.uses?.includes(type)) quality += 3;
759
759
 
760
760
  const private_key = getPrivateKeyByName(cert.private_key_name);
761
761
 
@@ -258,14 +258,16 @@ async function userInfo(body): Promise<string | User> {
258
258
  }
259
259
 
260
260
  let user = _.cloneDeep(body.hdb_user);
261
- let roleData = await search.searchByHash({
262
- schema: 'system',
263
- table: 'hdb_role',
264
- hash_values: [user.role.id],
265
- get_attributes: ['*'],
266
- });
261
+ let roleData =
262
+ user.role &&
263
+ (await search.searchByHash({
264
+ schema: 'system',
265
+ table: 'hdb_role',
266
+ hash_values: [user.role.id],
267
+ get_attributes: ['*'],
268
+ }));
267
269
 
268
- user.role = roleData[0];
270
+ user.role = roleData?.[0];
269
271
  delete user.password;
270
272
  delete user.refresh_token;
271
273
  delete user.hash;
@@ -429,7 +431,7 @@ async function getSuperUser(): Promise<User | undefined> {
429
431
  await setUsersWithRolesCache();
430
432
  }
431
433
  for (let [, user] of usersWithRolesMap) {
432
- if (user.role.role === 'super_user') return user;
434
+ if (user.role?.role === 'super_user') return user;
433
435
  }
434
436
  }
435
437
 
@@ -46,10 +46,6 @@ async function schemaHandler(event) {
46
46
  */
47
47
  async function syncSchemaMetadata(msg) {
48
48
  try {
49
- // reset current read transactions to ensure that we are getting the very latest data
50
- harperBridge.resetReadTxn(hdbTerms.SYSTEM_SCHEMA_NAME, hdbTerms.SYSTEM_TABLE_NAMES.TABLE_TABLE_NAME);
51
- harperBridge.resetReadTxn(hdbTerms.SYSTEM_SCHEMA_NAME, hdbTerms.SYSTEM_TABLE_NAMES.ATTRIBUTE_TABLE_NAME);
52
- harperBridge.resetReadTxn(hdbTerms.SYSTEM_SCHEMA_NAME, hdbTerms.SYSTEM_TABLE_NAMES.SCHEMA_TABLE_NAME);
53
49
  // TODO: Eventually should indicate which database/table changed so we don't have to scan everything
54
50
  let databases = resetDatabases();
55
51
  if (msg.table && msg.database)
@@ -24,7 +24,7 @@ analytics:
24
24
  aggregatePeriod: 60
25
25
  replicate: false
26
26
  applications:
27
- lockdown: freeze
27
+ lockdown: freeze-after-load
28
28
  moduleLoader: vm
29
29
  dependencyLoader: auto
30
30
  allowedSpawnCommands:
@@ -572,6 +572,7 @@ export const CONFIG_PARAMS = {
572
572
  STORAGE_COMPRESSION_THRESHOLD: 'storage_compression_threshold',
573
573
  STORAGE_COMPACTONSTART: 'storage_compactOnStart',
574
574
  STORAGE_COMPACTONSTARTKEEPBACKUP: 'storage_compactOnStartKeepBackup',
575
+ STORAGE_MIGRATEONSTART: 'storage_migrateOnStart',
575
576
  STORAGE_RECLAMATION_THRESHOLD: 'storage_reclamation_threshold',
576
577
  STORAGE_RECLAMATION_INTERVAL: 'storage_reclamation_interval',
577
578
  STORAGE_RECLAMATION_EVICTIONFACTOR: 'storage_reclamation_evictionFactor',
@@ -95,22 +95,26 @@ async function install() {
95
95
  // Check to see if any cmd/env vars are passed that override install prompts.
96
96
  const promptOverride = checkForPromptOverride();
97
97
  Object.assign(promptOverride, configFromFile);
98
+ const hasRequiredPromptOverrides =
99
+ promptOverride[hdbTerms.INSTALL_PROMPTS.ROOTPATH] &&
100
+ promptOverride[hdbTerms.INSTALL_PROMPTS.HDB_ADMIN_USERNAME] &&
101
+ promptOverride[hdbTerms.INSTALL_PROMPTS.HDB_ADMIN_PASSWORD];
102
+
98
103
  if (
99
- promptOverride[hdbTerms.INSTALL_PROMPTS.REPLICATION_HOSTNAME] &&
104
+ hasRequiredPromptOverrides &&
105
+ !promptOverride[hdbTerms.INSTALL_PROMPTS.REPLICATION_HOSTNAME] &&
100
106
  !promptOverride[hdbTerms.INSTALL_PROMPTS.NODE_HOSTNAME]
101
107
  ) {
102
- promptOverride[hdbTerms.INSTALL_PROMPTS.NODE_HOSTNAME] =
103
- promptOverride[hdbTerms.INSTALL_PROMPTS.REPLICATION_HOSTNAME];
108
+ promptOverride[hdbTerms.INSTALL_PROMPTS.NODE_HOSTNAME] = null;
109
+ }
110
+
111
+ // REPLICATION_HOSTNAME was renamed to NODE_HOSTNAME in v5, but we still support the replication value if provided
112
+ if (promptOverride[hdbTerms.INSTALL_PROMPTS.REPLICATION_HOSTNAME]) {
113
+ promptOverride[hdbTerms.INSTALL_PROMPTS.NODE_HOSTNAME] = promptOverride[hdbTerms.INSTALL_PROMPTS.REPLICATION_HOSTNAME];
104
114
  }
105
115
 
106
116
  // For backwards compatibility for a time before DEFAULTS_MODE (and host name) assume prod when these args used
107
- if (
108
- promptOverride[hdbTerms.INSTALL_PROMPTS.ROOTPATH] &&
109
- promptOverride[hdbTerms.INSTALL_PROMPTS.HDB_ADMIN_USERNAME] &&
110
- promptOverride[hdbTerms.INSTALL_PROMPTS.HDB_ADMIN_PASSWORD] &&
111
- promptOverride[hdbTerms.INSTALL_PROMPTS.NODE_HOSTNAME] &&
112
- promptOverride[hdbTerms.INSTALL_PROMPTS.DEFAULTS_MODE] === undefined
113
- ) {
117
+ if (hasRequiredPromptOverrides && promptOverride[hdbTerms.INSTALL_PROMPTS.DEFAULTS_MODE] === undefined) {
114
118
  promptOverride[hdbTerms.INSTALL_PROMPTS.DEFAULTS_MODE] = 'prod';
115
119
  }
116
120
 
@@ -44,6 +44,9 @@ const write_ts_1 = require("../core/resources/analytics/write.js");
44
44
  const environmentManager_js_1 = require("../core/utility/environment/environmentManager.js");
45
45
  const packageUtils_js_1 = require("../core/utility/packageUtils.js");
46
46
  const node_fs_1 = require("node:fs");
47
+ const node_child_process_1 = require("node:child_process");
48
+ const node_util_1 = require("node:util");
49
+ const execFileAsync = (0, node_util_1.promisify)(node_child_process_1.execFile);
47
50
  const pprof_1 = require("@datadog/pprof");
48
51
  const manageThreads_js_1 = require("../core/server/threads/manageThreads.js");
49
52
  const log = __importStar(require("../core/utility/logging/harper_logger.js"));
@@ -77,6 +80,7 @@ function handleApplication({ options }) {
77
80
  }, 1000); // wait for everything to load before we start the profiler
78
81
  }
79
82
  let lastChildCpuTime = 0;
83
+ let gpuAvailable = true;
80
84
  async function captureProfile(delayToNextCapture = (capturePeriod ?? 60) * 1000) {
81
85
  clearTimeout(profilerTimer);
82
86
  if (!profilerStarted) {
@@ -92,6 +96,8 @@ async function captureProfile(delayToNextCapture = (capturePeriod ?? 60) * 1000)
92
96
  const samplesByLocationId = new Map();
93
97
  let totalUserCount = 0;
94
98
  let totalHarperCount = 0;
99
+ // Start GPU measurement early so it runs in parallel with CPU profiling work
100
+ const gpuPromise = (0, manageThreads_js_1.getWorkerIndex)() === 0 && gpuAvailable ? getGpuUtilization() : null;
95
101
  try {
96
102
  const profile = pprof_1.time.stop(true);
97
103
  const strings = profile.stringTable.strings;
@@ -122,6 +128,11 @@ async function captureProfile(delayToNextCapture = (capturePeriod ?? 60) * 1000)
122
128
  (0, write_ts_1.recordAction)(childCpuTimeInInterval, 'cpu-usage', 'user', 'child-processes');
123
129
  lastChildCpuTime = childCpuTime;
124
130
  }
131
+ // Record GPU utilization for this process and child processes
132
+ const gpuSeconds = await gpuPromise;
133
+ if (gpuSeconds !== null) {
134
+ (0, write_ts_1.recordAction)(gpuSeconds, 'gpu-usage', 'user');
135
+ }
125
136
  }
126
137
  }
127
138
  catch (error) {
@@ -211,6 +222,42 @@ function getChildProcessCpuTime() {
211
222
  return null;
212
223
  }
213
224
  }
225
+ /**
226
+ * Get the total SM (shader/streaming multiprocessor) utilization percentage across all GPUs
227
+ * for this process and all descendant processes.
228
+ * Uses nvidia-smi pmon for per-process GPU utilization.
229
+ * Only works on Linux with NVIDIA GPUs. Returns null if unavailable.
230
+ */
231
+ async function getGpuUtilization() {
232
+ try {
233
+ const currentPid = process.pid;
234
+ const descendants = findAllDescendants(currentPid);
235
+ const pidsToMonitor = new Set([currentPid, ...descendants]);
236
+ const { stdout } = await execFileAsync('nvidia-smi', ['pmon', '-c', '1', '-s', 'u']);
237
+ let totalSmPercent = 0;
238
+ for (const line of stdout.split('\n')) {
239
+ if (line.startsWith('#') || !line.trim())
240
+ continue;
241
+ const parts = line.trim().split(/\s+/);
242
+ // pmon -s u format: gpu pid type fb sm enc dec jpg ofa command
243
+ if (parts.length < 5)
244
+ continue;
245
+ const pid = parseInt(parts[1], 10);
246
+ if (isNaN(pid) || !pidsToMonitor.has(pid))
247
+ continue;
248
+ const sm = parseInt(parts[4], 10); // SM utilization %
249
+ if (!isNaN(sm))
250
+ totalSmPercent += sm;
251
+ }
252
+ // Convert SM utilization % to GPU-seconds over the capture period
253
+ // e.g. 50% utilization over 60s = 30 GPU-seconds
254
+ return (totalSmPercent / 100) * (capturePeriod / 1000);
255
+ }
256
+ catch {
257
+ gpuAvailable = false;
258
+ return null;
259
+ }
260
+ }
214
261
  /**
215
262
  * Recursively find all descendant PIDs of the given parent PID.
216
263
  */
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../analytics/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../analytics/profile.ts"],"names":[],"mappings":"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"}
@@ -172,11 +172,6 @@ async function cloneNode() {
172
172
  .replace(/:(\d+)/, `:${replicationPort || DEFAULT_REPLICATION_PORT}`);
173
173
  if (allowSelfSigned)
174
174
  process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
175
- if (!usingCertAuth) {
176
- // Request to leader to verify connectivity and credentials before proceeding with clone
177
- // Cannot check if cloning with WS - module initialization order prevents access to required variables
178
- await leaderRequest({ operation: hdbTerms_ts_1.OPERATIONS_ENUM.GET_STATUS });
179
- }
180
175
  // Check to see if there is an existing config file to read additional config from
181
176
  const cfgPath = (0, node_path_1.join)(rootPath, hdbTerms_ts_1.HARPER_CONFIG_FILE);
182
177
  const oldCfgPath = (0, node_path_1.join)(rootPath, hdbTerms_ts_1.HDB_CONFIG_FILE);
@@ -209,6 +204,11 @@ async function cloneNode() {
209
204
  const { main } = await import('../core/bin/run.js');
210
205
  return main();
211
206
  }
207
+ if (!usingCertAuth) {
208
+ // Request to leader to verify connectivity and credentials before proceeding with clone
209
+ // Cannot check if cloning with WS - module initialization order prevents access to required variables
210
+ await leaderRequest({ operation: hdbTerms_ts_1.OPERATIONS_ENUM.GET_STATUS });
211
+ }
212
212
  // Install Harper if this is a fresh clone or if the system database does not exist
213
213
  const systemDBPath = getDBPath(hdbTerms_ts_1.SYSTEM_SCHEMA_NAME);
214
214
  const systemExists = pathExists(systemDBPath);
@@ -1 +1 @@
1
- {"version":3,"file":"cloneNode.js","sourceRoot":"","sources":["../../cloneNode/cloneNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloneNode.js","sourceRoot":"","sources":["../../cloneNode/cloneNode.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ function buildRequest() {
58
58
  */
59
59
  async function cliOperations(req) {
60
60
  if (!req.target) {
61
- req.target = process.env.CLI_TARGET;
61
+ req.target = process.env.HARPER_CLI_TARGET || process.env.CLI_TARGET;
62
62
  }
63
63
  let target;
64
64
  if (req.target) {
@@ -70,21 +70,23 @@ async function cliOperations(req) {
70
70
  target = new URL(`https://${req.target}:9925`);
71
71
  }
72
72
  catch {
73
- throw error; // throw the original error
73
+ throw error;
74
74
  }
75
75
  }
76
76
  target = {
77
77
  protocol: target.protocol,
78
78
  hostname: target.hostname,
79
79
  port: target.port,
80
- username: req.username || target.username || process.env.CLI_TARGET_USERNAME,
81
- password: req.password || target.password || process.env.CLI_TARGET_PASSWORD,
80
+ username: req.username || target.username || process.env.HARPER_CLI_USERNAME || process.env.CLI_TARGET_USERNAME,
81
+ password: req.password || target.password || process.env.HARPER_CLI_PASSWORD || process.env.CLI_TARGET_PASSWORD,
82
82
  rejectUnauthorized: req.rejectUnauthorized,
83
83
  };
84
+ console.error(`Connecting to ${target.protocol}//${target.hostname}:${target.port}`);
84
85
  }
85
86
  else {
86
87
  // if we aren't doing a targeted operation (like deploy), we initialize the config and verify that local harper
87
88
  // is running and that we can communicate with it.
89
+ console.error('Connecting to local Harper Pro instance');
88
90
  initConfig();
89
91
  if (!getHdbPid()) {
90
92
  console.error('Harper Pro must be running to perform this operation');
@@ -1 +1 @@
1
- {"version":3,"file":"cliOperations.js","sourceRoot":"","sources":["../../../core/bin/cliOperations.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliOperations.js","sourceRoot":"","sources":["../../../core/bin/cliOperations.js"],"names":[],"mappings":"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"}