@harperfast/harper 5.0.0-alpha.10 → 5.0.0-beta.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 (446) hide show
  1. package/bin/BinObjects.js +17 -0
  2. package/bin/cliOperations.js +157 -0
  3. package/bin/copyDb.ts +280 -0
  4. package/bin/harper.js +156 -0
  5. package/bin/install.js +15 -0
  6. package/bin/lite.js +5 -0
  7. package/bin/restart.js +201 -0
  8. package/bin/run.js +409 -0
  9. package/bin/status.js +65 -0
  10. package/bin/stop.js +22 -0
  11. package/bin/upgrade.js +134 -0
  12. package/components/Application.ts +646 -0
  13. package/components/ApplicationScope.ts +49 -0
  14. package/components/Component.ts +53 -0
  15. package/components/ComponentV1.ts +342 -0
  16. package/components/DEFAULT_CONFIG.ts +18 -0
  17. package/components/EntryHandler.ts +227 -0
  18. package/components/Logger.ts +14 -0
  19. package/components/OptionsWatcher.ts +354 -0
  20. package/components/PluginModule.ts +6 -0
  21. package/components/Scope.ts +329 -0
  22. package/components/componentLoader.ts +529 -0
  23. package/components/deriveCommonPatternBase.ts +31 -0
  24. package/components/deriveGlobOptions.ts +44 -0
  25. package/components/deriveURLPath.ts +57 -0
  26. package/components/operations.js +658 -0
  27. package/components/operationsValidation.js +246 -0
  28. package/components/packageComponent.ts +39 -0
  29. package/components/requestRestart.ts +26 -0
  30. package/components/resolveBaseURLPath.ts +38 -0
  31. package/components/status/ComponentStatus.ts +110 -0
  32. package/components/status/ComponentStatusRegistry.ts +251 -0
  33. package/components/status/api.ts +153 -0
  34. package/components/status/crossThread.ts +405 -0
  35. package/components/status/errors.ts +152 -0
  36. package/components/status/index.ts +44 -0
  37. package/components/status/internal.ts +65 -0
  38. package/components/status/registry.ts +12 -0
  39. package/components/status/types.ts +96 -0
  40. package/config/RootConfigWatcher.ts +59 -0
  41. package/config/configHelpers.ts +11 -0
  42. package/config/configUtils.js +967 -0
  43. package/config/harperConfigEnvVars.ts +641 -0
  44. package/dataLayer/CreateAttributeObject.js +25 -0
  45. package/dataLayer/CreateTableObject.js +11 -0
  46. package/dataLayer/DataLayerObjects.js +43 -0
  47. package/dataLayer/DeleteBeforeObject.js +22 -0
  48. package/dataLayer/DeleteObject.js +25 -0
  49. package/dataLayer/DropAttributeObject.js +11 -0
  50. package/dataLayer/GetBackupObject.js +22 -0
  51. package/dataLayer/InsertObject.js +24 -0
  52. package/dataLayer/ReadAuditLogObject.js +24 -0
  53. package/dataLayer/SQLSearch.js +1335 -0
  54. package/dataLayer/SearchByConditionsObject.js +61 -0
  55. package/dataLayer/SearchByHashObject.js +21 -0
  56. package/dataLayer/SearchObject.js +45 -0
  57. package/dataLayer/SqlSearchObject.js +14 -0
  58. package/dataLayer/UpdateObject.js +23 -0
  59. package/dataLayer/UpsertObject.js +23 -0
  60. package/dataLayer/bulkLoad.js +813 -0
  61. package/dataLayer/dataObjects/BulkLoadObjects.js +27 -0
  62. package/dataLayer/dataObjects/UpsertObject.js +23 -0
  63. package/dataLayer/delete.js +164 -0
  64. package/dataLayer/export.js +381 -0
  65. package/dataLayer/getBackup.js +40 -0
  66. package/dataLayer/harperBridge/BridgeMethods.js +81 -0
  67. package/dataLayer/harperBridge/ResourceBridge.ts +633 -0
  68. package/dataLayer/harperBridge/bridgeUtility/insertUpdateReturnObj.js +28 -0
  69. package/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +88 -0
  70. package/dataLayer/harperBridge/harperBridge.js +21 -0
  71. package/dataLayer/harperBridge/lmdbBridge/LMDBBridge.js +119 -0
  72. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +19 -0
  73. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +112 -0
  74. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +67 -0
  75. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +31 -0
  76. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +94 -0
  77. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +98 -0
  78. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +89 -0
  79. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +109 -0
  80. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +107 -0
  81. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +137 -0
  82. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +35 -0
  83. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +111 -0
  84. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +28 -0
  85. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +29 -0
  86. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +207 -0
  87. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +156 -0
  88. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +21 -0
  89. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +30 -0
  90. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbTransaction.js +19 -0
  91. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +64 -0
  92. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +70 -0
  93. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +22 -0
  94. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBDeleteTransactionObject.js +23 -0
  95. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBInsertTransactionObject.js +22 -0
  96. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBTransactionObject.js +23 -0
  97. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpdateTransactionObject.js +24 -0
  98. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpsertTransactionObject.js +24 -0
  99. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +25 -0
  100. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +21 -0
  101. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +157 -0
  102. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +94 -0
  103. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +39 -0
  104. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +34 -0
  105. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +100 -0
  106. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +371 -0
  107. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +109 -0
  108. package/dataLayer/hdbInfoController.js +254 -0
  109. package/dataLayer/insert.js +266 -0
  110. package/dataLayer/readAuditLog.js +59 -0
  111. package/dataLayer/schema.js +366 -0
  112. package/dataLayer/schemaDescribe.js +289 -0
  113. package/dataLayer/search.js +60 -0
  114. package/dataLayer/transaction.js +17 -0
  115. package/dataLayer/update.js +124 -0
  116. package/dist/components/Logger.d.ts +12 -0
  117. package/dist/{resources/ResourceInterfaceV2.js → components/Logger.js} +1 -1
  118. package/dist/components/Logger.js.map +1 -0
  119. package/dist/components/Scope.d.ts +14 -4
  120. package/dist/components/Scope.js +18 -10
  121. package/dist/components/Scope.js.map +1 -1
  122. package/dist/components/componentLoader.js +17 -10
  123. package/dist/components/componentLoader.js.map +1 -1
  124. package/dist/components/operations.js +2 -2
  125. package/dist/components/operations.js.map +1 -1
  126. package/dist/config/configUtils.d.ts +1 -1
  127. package/dist/config/configUtils.js +1 -1
  128. package/dist/config/configUtils.js.map +1 -1
  129. package/dist/dataLayer/CreateTableObject.d.ts +2 -2
  130. package/dist/dataLayer/CreateTableObject.js +2 -2
  131. package/dist/dataLayer/CreateTableObject.js.map +1 -1
  132. package/dist/dataLayer/delete.d.ts +1 -1
  133. package/dist/dataLayer/schema.js +6 -5
  134. package/dist/dataLayer/schema.js.map +1 -1
  135. package/dist/dataLayer/schemaDescribe.js +1 -1
  136. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  137. package/dist/index.d.ts +1 -1
  138. package/dist/index.js +2 -0
  139. package/dist/index.js.map +1 -1
  140. package/dist/resources/DatabaseTransaction.d.ts +1 -1
  141. package/dist/resources/IterableEventQueue.d.ts +1 -1
  142. package/dist/resources/LMDBTransaction.d.ts +5 -1
  143. package/dist/resources/Resource.d.ts +1 -1
  144. package/dist/resources/ResourceInterface.d.ts +1 -1
  145. package/dist/resources/RocksIndexStore.d.ts +3 -3
  146. package/dist/resources/RocksTransactionLogStore.d.ts +6 -3
  147. package/dist/resources/Table.d.ts +15 -6
  148. package/dist/resources/Table.js +12 -4
  149. package/dist/resources/Table.js.map +1 -1
  150. package/dist/resources/analytics/read.js +32 -22
  151. package/dist/resources/analytics/read.js.map +1 -1
  152. package/dist/resources/analytics/write.js +3 -6
  153. package/dist/resources/analytics/write.js.map +1 -1
  154. package/dist/resources/auditStore.d.ts +3 -3
  155. package/dist/resources/blob.d.ts +25 -2
  156. package/dist/resources/databases.d.ts +12 -2
  157. package/dist/resources/databases.js +22 -19
  158. package/dist/resources/databases.js.map +1 -1
  159. package/dist/resources/search.js +11 -5
  160. package/dist/resources/search.js.map +1 -1
  161. package/dist/resources/transaction.d.ts +2 -1
  162. package/dist/security/auth.js +1 -1
  163. package/dist/security/auth.js.map +1 -1
  164. package/dist/security/cryptoHash.d.ts +2 -2
  165. package/dist/security/jsLoader.js +265 -73
  166. package/dist/security/jsLoader.js.map +1 -1
  167. package/dist/security/keys.js +11 -12
  168. package/dist/security/keys.js.map +1 -1
  169. package/dist/security/user.js +3 -3
  170. package/dist/security/user.js.map +1 -1
  171. package/dist/server/REST.js +16 -2
  172. package/dist/server/REST.js.map +1 -1
  173. package/dist/server/Server.d.ts +2 -1
  174. package/dist/server/Server.js.map +1 -1
  175. package/dist/server/fastifyRoutes/plugins/hdbCore.d.ts +6 -1
  176. package/dist/server/fastifyRoutes.js +2 -0
  177. package/dist/server/fastifyRoutes.js.map +1 -1
  178. package/dist/server/http.js +12 -6
  179. package/dist/server/http.js.map +1 -1
  180. package/dist/server/jobs/JobObject.d.ts +3 -3
  181. package/dist/server/loadRootComponents.js +1 -0
  182. package/dist/server/loadRootComponents.js.map +1 -1
  183. package/dist/server/operationsServer.js +3 -1
  184. package/dist/server/operationsServer.js.map +1 -1
  185. package/dist/server/serverHelpers/JSONStream.d.ts +3 -3
  186. package/dist/server/serverHelpers/Request.d.ts +5 -5
  187. package/dist/server/serverHelpers/requestTimePlugin.d.ts +1 -1
  188. package/dist/server/threads/manageThreads.d.ts +2 -2
  189. package/dist/server/threads/manageThreads.js +52 -35
  190. package/dist/server/threads/manageThreads.js.map +1 -1
  191. package/dist/server/threads/socketRouter.d.ts +1 -1
  192. package/dist/sqlTranslator/deleteTranslator.d.ts +1 -1
  193. package/dist/utility/AWS/AWSConnector.d.ts +3 -2
  194. package/dist/utility/common_utils.d.ts +3 -3
  195. package/dist/utility/environment/systemInformation.d.ts +1 -0
  196. package/dist/utility/functions/date/dateFunctions.d.ts +11 -11
  197. package/dist/utility/globalSchema.d.ts +1 -1
  198. package/dist/utility/hdbTerms.d.ts +3 -0
  199. package/dist/utility/hdbTerms.js +3 -0
  200. package/dist/utility/hdbTerms.js.map +1 -1
  201. package/dist/utility/installation.d.ts +2 -4
  202. package/dist/utility/installation.js.map +1 -1
  203. package/dist/utility/lmdb/commonUtility.d.ts +2 -1
  204. package/dist/utility/lmdb/commonUtility.js +20 -13
  205. package/dist/utility/lmdb/commonUtility.js.map +1 -1
  206. package/dist/utility/lmdb/deleteUtility.d.ts +1 -0
  207. package/dist/utility/lmdb/environmentUtility.d.ts +1 -0
  208. package/dist/utility/lmdb/searchUtility.d.ts +2 -1
  209. package/dist/utility/lmdb/writeUtility.d.ts +1 -0
  210. package/dist/utility/logging/harper_logger.d.ts +6 -6
  211. package/dist/utility/processManagement/processManagement.d.ts +1 -1
  212. package/dist/utility/processManagement/servicesConfig.d.ts +12 -6
  213. package/dist/validation/common_validators.d.ts +4 -3
  214. package/dist/validation/configValidator.d.ts +3 -2
  215. package/index.d.ts +56 -0
  216. package/index.js +41 -0
  217. package/json/systemSchema.json +373 -0
  218. package/launchServiceScripts/launchHarperDB.js +3 -0
  219. package/launchServiceScripts/utility/checkNodeVersion.js +15 -0
  220. package/package.json +35 -16
  221. package/resources/DatabaseTransaction.ts +378 -0
  222. package/resources/ErrorResource.ts +57 -0
  223. package/resources/IterableEventQueue.ts +94 -0
  224. package/resources/LMDBTransaction.ts +349 -0
  225. package/resources/RecordEncoder.ts +702 -0
  226. package/resources/RequestTarget.ts +134 -0
  227. package/resources/Resource.ts +789 -0
  228. package/resources/ResourceInterface.ts +221 -0
  229. package/resources/Resources.ts +162 -0
  230. package/resources/RocksIndexStore.ts +70 -0
  231. package/resources/RocksTransactionLogStore.ts +352 -0
  232. package/resources/Table.ts +4531 -0
  233. package/resources/analytics/hostnames.ts +72 -0
  234. package/resources/analytics/metadata.ts +10 -0
  235. package/resources/analytics/read.ts +252 -0
  236. package/resources/analytics/write.ts +803 -0
  237. package/resources/auditStore.ts +556 -0
  238. package/resources/blob.ts +1268 -0
  239. package/resources/crdt.ts +125 -0
  240. package/resources/dataLoader.ts +527 -0
  241. package/resources/databases.ts +1290 -0
  242. package/resources/graphql.ts +221 -0
  243. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +638 -0
  244. package/resources/indexes/customIndexes.ts +7 -0
  245. package/resources/indexes/vector.ts +38 -0
  246. package/resources/jsResource.ts +86 -0
  247. package/resources/loadEnv.ts +22 -0
  248. package/resources/login.ts +18 -0
  249. package/resources/openApi.ts +409 -0
  250. package/resources/registrationDeprecated.ts +8 -0
  251. package/resources/replayLogs.ts +136 -0
  252. package/resources/roles.ts +98 -0
  253. package/resources/search.ts +1301 -0
  254. package/resources/tracked.ts +584 -0
  255. package/resources/transaction.ts +89 -0
  256. package/resources/transactionBroadcast.ts +258 -0
  257. package/security/auth.ts +376 -0
  258. package/security/certificateVerification/certificateVerificationSource.ts +84 -0
  259. package/security/certificateVerification/configValidation.ts +107 -0
  260. package/security/certificateVerification/crlVerification.ts +623 -0
  261. package/security/certificateVerification/index.ts +121 -0
  262. package/security/certificateVerification/ocspVerification.ts +148 -0
  263. package/security/certificateVerification/pkijs-ed25519-patch.ts +188 -0
  264. package/security/certificateVerification/types.ts +128 -0
  265. package/security/certificateVerification/verificationConfig.ts +138 -0
  266. package/security/certificateVerification/verificationUtils.ts +447 -0
  267. package/security/cryptoHash.js +42 -0
  268. package/security/data_objects/PermissionAttributeResponseObject.js +15 -0
  269. package/security/data_objects/PermissionResponseObject.js +115 -0
  270. package/security/data_objects/PermissionTableResponseObject.js +20 -0
  271. package/security/fastifyAuth.js +169 -0
  272. package/security/impersonation.ts +160 -0
  273. package/security/jsLoader.ts +733 -0
  274. package/security/keys.js +948 -0
  275. package/security/permissionsTranslator.js +300 -0
  276. package/security/role.js +218 -0
  277. package/security/tokenAuthentication.ts +228 -0
  278. package/security/user.ts +449 -0
  279. package/server/DurableSubscriptionsSession.ts +503 -0
  280. package/server/REST.ts +407 -0
  281. package/server/Server.ts +89 -0
  282. package/server/fastifyRoutes/helpers/getCORSOptions.js +36 -0
  283. package/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +15 -0
  284. package/server/fastifyRoutes/helpers/getServerOptions.js +33 -0
  285. package/server/fastifyRoutes/plugins/hdbCore.js +39 -0
  286. package/server/fastifyRoutes.ts +205 -0
  287. package/server/graphqlQuerying.ts +700 -0
  288. package/server/http.ts +640 -0
  289. package/server/itc/serverHandlers.js +161 -0
  290. package/server/itc/utility/ITCEventObject.js +10 -0
  291. package/server/jobs/JobObject.js +24 -0
  292. package/server/jobs/jobProcess.js +69 -0
  293. package/server/jobs/jobRunner.js +162 -0
  294. package/server/jobs/jobs.js +304 -0
  295. package/server/loadRootComponents.js +44 -0
  296. package/server/mqtt.ts +485 -0
  297. package/server/nodeName.ts +75 -0
  298. package/server/operationsServer.ts +313 -0
  299. package/server/serverHelpers/Headers.ts +108 -0
  300. package/server/serverHelpers/JSONStream.ts +269 -0
  301. package/server/serverHelpers/OperationFunctionObject.ts +13 -0
  302. package/server/serverHelpers/Request.ts +158 -0
  303. package/server/serverHelpers/contentTypes.ts +637 -0
  304. package/server/serverHelpers/requestTimePlugin.js +57 -0
  305. package/server/serverHelpers/serverHandlers.js +148 -0
  306. package/server/serverHelpers/serverUtilities.ts +473 -0
  307. package/server/serverRegistry.ts +8 -0
  308. package/server/static.ts +187 -0
  309. package/server/status/definitions.ts +37 -0
  310. package/server/status/index.ts +125 -0
  311. package/server/storageReclamation.ts +93 -0
  312. package/server/threads/itc.js +89 -0
  313. package/server/threads/manageThreads.js +596 -0
  314. package/server/threads/socketRouter.ts +360 -0
  315. package/server/threads/threadServer.js +279 -0
  316. package/server/throttle.ts +73 -0
  317. package/sqlTranslator/SelectValidator.js +330 -0
  318. package/sqlTranslator/alasqlFunctionImporter.js +62 -0
  319. package/sqlTranslator/deleteTranslator.js +67 -0
  320. package/sqlTranslator/index.js +242 -0
  321. package/sqlTranslator/sql_statement_bucket.js +472 -0
  322. package/static/defaultConfig.yaml +3 -0
  323. package/studio/web/HDBDogOnly.svg +78 -0
  324. package/studio/web/assets/PPRadioGrotesk-Bold-DDaUYG8E.woff +0 -0
  325. package/studio/web/assets/fa-brands-400-CEJbCg16.woff +0 -0
  326. package/studio/web/assets/fa-brands-400-CSYNqBb_.ttf +0 -0
  327. package/studio/web/assets/fa-brands-400-DnkPfk3o.eot +0 -0
  328. package/studio/web/assets/fa-brands-400-UxlILjvJ.woff2 +0 -0
  329. package/studio/web/assets/fa-brands-400-cH1MgKbP.svg +3717 -0
  330. package/studio/web/assets/fa-regular-400-BhTwtT8w.eot +0 -0
  331. package/studio/web/assets/fa-regular-400-D1vz6WBx.ttf +0 -0
  332. package/studio/web/assets/fa-regular-400-DFnMcJPd.woff +0 -0
  333. package/studio/web/assets/fa-regular-400-DGzu1beS.woff2 +0 -0
  334. package/studio/web/assets/fa-regular-400-gwj8Pxq-.svg +801 -0
  335. package/studio/web/assets/fa-solid-900-B4ZZ7kfP.svg +5034 -0
  336. package/studio/web/assets/fa-solid-900-B6Axprfb.eot +0 -0
  337. package/studio/web/assets/fa-solid-900-BUswJgRo.woff2 +0 -0
  338. package/studio/web/assets/fa-solid-900-DOXgCApm.woff +0 -0
  339. package/studio/web/assets/fa-solid-900-mxuxnBEa.ttf +0 -0
  340. package/studio/web/assets/index-C1G-Jo6n.js +37 -0
  341. package/studio/web/assets/index-C1G-Jo6n.js.map +1 -0
  342. package/studio/web/assets/index-D-CahN0-.js +2 -0
  343. package/studio/web/assets/index-D-CahN0-.js.map +1 -0
  344. package/studio/web/assets/index-DxlZI0PX.js +235 -0
  345. package/studio/web/assets/index-DxlZI0PX.js.map +1 -0
  346. package/studio/web/assets/index-Y2g_iFpU.css +1 -0
  347. package/studio/web/assets/index-jiPwkrsB.css +1 -0
  348. package/studio/web/assets/index.lazy-BUXDDqq9.js +266 -0
  349. package/studio/web/assets/index.lazy-BUXDDqq9.js.map +1 -0
  350. package/studio/web/assets/profiler-CU93QiSW.js +2 -0
  351. package/studio/web/assets/profiler-CU93QiSW.js.map +1 -0
  352. package/studio/web/assets/react-redux-B8k9Ep7e.js +6 -0
  353. package/studio/web/assets/react-redux-B8k9Ep7e.js.map +1 -0
  354. package/studio/web/assets/startRecording-DFeBXGk6.js +3 -0
  355. package/studio/web/assets/startRecording-DFeBXGk6.js.map +1 -0
  356. package/studio/web/fabric-signup-background.webp +0 -0
  357. package/studio/web/fabric-signup-text.png +0 -0
  358. package/studio/web/favicon_purple.png +0 -0
  359. package/studio/web/github-icon.svg +15 -0
  360. package/studio/web/harper-fabric_black.png +0 -0
  361. package/studio/web/harper-fabric_white.png +0 -0
  362. package/studio/web/harper-studio_white.png +0 -0
  363. package/studio/web/index.html +16 -0
  364. package/studio/web/running.css +148 -0
  365. package/studio/web/running.html +147 -0
  366. package/studio/web/running.js +111 -0
  367. package/upgrade/UpgradeObjects.js +13 -0
  368. package/upgrade/directives/directivesController.js +90 -0
  369. package/upgrade/directivesManager.js +139 -0
  370. package/upgrade/upgradePrompt.js +124 -0
  371. package/upgrade/upgradeUtilities.js +28 -0
  372. package/utility/AWS/AWSConnector.js +29 -0
  373. package/utility/OperationFunctionCaller.js +63 -0
  374. package/utility/assignCmdEnvVariables.js +62 -0
  375. package/utility/common_utils.js +867 -0
  376. package/utility/environment/environmentManager.js +208 -0
  377. package/utility/environment/systemInformation.js +355 -0
  378. package/utility/errors/commonErrors.js +267 -0
  379. package/utility/errors/hdbError.js +146 -0
  380. package/utility/functions/date/dateFunctions.js +65 -0
  381. package/utility/functions/geo.js +355 -0
  382. package/utility/functions/sql/alaSQLExtension.js +104 -0
  383. package/utility/globalSchema.js +35 -0
  384. package/utility/hdbTerms.ts +819 -0
  385. package/utility/install/checkJWTTokensExist.js +62 -0
  386. package/utility/install/harperdb.conf +15 -0
  387. package/utility/install/harperdb.service +14 -0
  388. package/utility/install/installer.js +635 -0
  389. package/utility/installation.ts +30 -0
  390. package/utility/lmdb/DBIDefinition.js +20 -0
  391. package/utility/lmdb/DeleteRecordsResponseObject.js +25 -0
  392. package/utility/lmdb/InsertRecordsResponseObject.js +22 -0
  393. package/utility/lmdb/OpenDBIObject.js +31 -0
  394. package/utility/lmdb/OpenEnvironmentObject.js +41 -0
  395. package/utility/lmdb/UpdateRecordsResponseObject.js +25 -0
  396. package/utility/lmdb/UpsertRecordsResponseObject.js +22 -0
  397. package/utility/lmdb/cleanLMDBMap.js +65 -0
  398. package/utility/lmdb/commonUtility.js +130 -0
  399. package/utility/lmdb/deleteUtility.js +128 -0
  400. package/utility/lmdb/environmentUtility.js +477 -0
  401. package/utility/lmdb/searchCursorFunctions.js +187 -0
  402. package/utility/lmdb/searchUtility.js +918 -0
  403. package/utility/lmdb/terms.js +57 -0
  404. package/utility/lmdb/writeUtility.js +407 -0
  405. package/utility/logging/harper_logger.js +876 -0
  406. package/utility/logging/logRotator.js +157 -0
  407. package/utility/logging/logger.ts +24 -0
  408. package/utility/logging/readLog.js +355 -0
  409. package/utility/logging/transactionLog.js +57 -0
  410. package/utility/mount_hdb.js +59 -0
  411. package/utility/npmUtilities.js +102 -0
  412. package/utility/operationPermissions.ts +112 -0
  413. package/utility/operation_authorization.js +836 -0
  414. package/utility/packageUtils.js +55 -0
  415. package/utility/password.ts +99 -0
  416. package/utility/processManagement/processManagement.js +187 -0
  417. package/utility/processManagement/servicesConfig.js +56 -0
  418. package/utility/scripts/restartHdb.js +24 -0
  419. package/utility/scripts/user_data.sh +13 -0
  420. package/utility/signalling.js +36 -0
  421. package/utility/terms/certificates.js +81 -0
  422. package/utility/when.ts +20 -0
  423. package/validation/bulkDeleteValidator.js +24 -0
  424. package/validation/check_permissions.js +19 -0
  425. package/validation/common_validators.js +95 -0
  426. package/validation/configValidator.js +331 -0
  427. package/validation/deleteValidator.js +15 -0
  428. package/validation/fileLoadValidator.js +153 -0
  429. package/validation/insertValidator.js +40 -0
  430. package/validation/installValidator.js +37 -0
  431. package/validation/readLogValidator.js +64 -0
  432. package/validation/role_validation.js +320 -0
  433. package/validation/schemaMetadataValidator.js +42 -0
  434. package/validation/searchValidator.js +166 -0
  435. package/validation/statusValidator.ts +66 -0
  436. package/validation/transactionLogValidator.js +33 -0
  437. package/validation/user_validation.js +55 -0
  438. package/validation/validationWrapper.js +105 -0
  439. package/dist/resources/ResourceInterfaceV2.d.ts +0 -21
  440. package/dist/resources/ResourceInterfaceV2.js.map +0 -1
  441. package/dist/resources/ResourceV2.d.ts +0 -30
  442. package/dist/resources/ResourceV2.js +0 -27
  443. package/dist/resources/ResourceV2.js.map +0 -1
  444. package/dist/resources/analytics/profile.d.ts +0 -2
  445. package/dist/resources/analytics/profile.js +0 -144
  446. package/dist/resources/analytics/profile.js.map +0 -1
@@ -51,15 +51,18 @@ const transaction_ts_1 = require("../resources/transaction.js");
51
51
  const RequestTarget_ts_1 = require("../resources/RequestTarget.js");
52
52
  const databases_ts_1 = require("../resources/databases.js");
53
53
  const promises_1 = require("node:fs/promises");
54
- const node_fs_1 = require("node:fs");
55
54
  const node_path_1 = require("node:path");
56
55
  const node_url_1 = require("node:url");
57
56
  const node_vm_1 = require("node:vm");
58
57
  const harper_logger_js_1 = __importDefault(require("../utility/logging/harper_logger.js"));
59
58
  const node_module_1 = require("node:module");
60
59
  const env = __importStar(require("../utility/environment/environmentManager"));
60
+ const child_process = __importStar(require("node:child_process"));
61
61
  const hdbTerms_ts_1 = require("../utility/hdbTerms.js");
62
62
  const contentTypes_ts_1 = require("../server/serverHelpers/contentTypes.js");
63
+ const node_fs_1 = require("node:fs");
64
+ const node_path_2 = require("node:path");
65
+ const node_events_1 = require("node:events");
63
66
  const APPLICATIONS_LOCKDOWN = env.get(hdbTerms_ts_1.CONFIG_PARAMS.APPLICATIONS_LOCKDOWN);
64
67
  let lockedDown = false;
65
68
  /**
@@ -132,13 +135,14 @@ async function scopedImport(filePath, scope) {
132
135
  scope.compartment = getCompartment(scope, globals);
133
136
  const result = await (await scope.compartment).import(moduleUrl);
134
137
  return result.namespace;
135
- } // else use standard node:vm module to do containment
136
- return await loadModuleWithVM(moduleUrl, scope);
137
- }
138
- else {
139
- // important! we need to await the import, otherwise the error will not be caught
140
- return await import(__rewriteRelativeImportExtension(moduleUrl));
138
+ }
139
+ else if (node_vm_1.SourceTextModule) {
140
+ // else use standard node:vm module to do containment (if it is available)
141
+ return await loadModuleWithVM(moduleUrl, scope);
142
+ }
141
143
  }
144
+ // important! we need to await the import, otherwise the error will not be caught
145
+ return await import(__rewriteRelativeImportExtension(moduleUrl));
142
146
  }
143
147
  catch (err) {
144
148
  try {
@@ -155,11 +159,22 @@ async function scopedImport(filePath, scope) {
155
159
  throw err;
156
160
  }
157
161
  }
162
+ let amaro;
163
+ /**
164
+ * Strip TypeScript types using the amaro library (what Node.js uses internally)
165
+ * Falls back to regex-based stripping if amaro is not available
166
+ */
167
+ async function stripTypeScriptTypes(source) {
168
+ // Use amaro - the library that Node.js uses internally for type stripping
169
+ amaro = await import('amaro');
170
+ return amaro.transformSync(source, { mode: 'strip-only' }).code;
171
+ }
158
172
  /**
159
173
  * Load a module using Node's vm.Module API with (not really secure) sandboxing
160
174
  */
161
175
  async function loadModuleWithVM(moduleUrl, scope) {
162
176
  const moduleCache = new Map();
177
+ const linkingPromises = new Map();
163
178
  // Create a secure context with limited globals
164
179
  const contextObject = getGlobalObject(scope);
165
180
  const context = (0, node_vm_1.createContext)(contextObject);
@@ -175,11 +190,16 @@ async function loadModuleWithVM(moduleUrl, scope) {
175
190
  if (specifier.startsWith('file://')) {
176
191
  return specifier;
177
192
  }
178
- const resolved = (0, node_module_1.createRequire)(referrer).resolve(specifier);
179
- if ((0, node_path_1.isAbsolute)(resolved)) {
180
- return (0, node_url_1.pathToFileURL)(resolved).toString();
193
+ // For relative paths, resolve to absolute file URL
194
+ if (specifier.startsWith('.')) {
195
+ const resolved = (0, node_module_1.createRequire)(referrer).resolve(specifier);
196
+ if ((0, node_path_1.isAbsolute)(resolved)) {
197
+ return (0, node_url_1.pathToFileURL)(resolved).toString();
198
+ }
199
+ return resolved;
181
200
  }
182
- return resolved;
201
+ // For package names and node: specifiers, keep as-is for proper require() handling
202
+ return specifier;
183
203
  }
184
204
  /**
185
205
  * Load a CommonJS module in our private context
@@ -240,30 +260,37 @@ async function loadModuleWithVM(moduleUrl, scope) {
240
260
  */
241
261
  async function linker(specifier, referencingModule) {
242
262
  const resolvedUrl = resolveModule(specifier, referencingModule.identifier);
243
- // Check cache first
244
- if (moduleCache.has(resolvedUrl)) {
245
- return moduleCache.get(resolvedUrl);
246
- }
247
263
  const useContainment = specifier.startsWith('.') || scope.dependencyContainment;
248
- // Load the module
249
- return await loadModuleWithCache(resolvedUrl, useContainment);
264
+ // Return the module immediately (even if not yet linked) to support circular dependencies
265
+ return await getOrCreateModule(resolvedUrl, useContainment);
250
266
  }
251
- function loadModuleWithCache(url, usePrivateGlobal) {
252
- // Check cache
267
+ async function getOrCreateModule(url, usePrivateGlobal) {
268
+ // Check cache first - return cached module immediately (even if not linked yet)
253
269
  if (moduleCache.has(url)) {
254
270
  return moduleCache.get(url);
255
271
  }
256
- const loadingModule = loadModule(url, usePrivateGlobal);
257
- moduleCache.set(url, loadingModule);
258
- return loadingModule;
272
+ // Create the module and cache it immediately (before linking)
273
+ const module = await createModule(url, usePrivateGlobal);
274
+ moduleCache.set(url, module);
275
+ return module;
276
+ }
277
+ async function loadModuleWithCache(url, usePrivateGlobal) {
278
+ const module = await getOrCreateModule(url, usePrivateGlobal);
279
+ // Only link/evaluate once per module
280
+ if (!linkingPromises.has(url)) {
281
+ linkingPromises.set(url, module.link(linker).then(() => module.evaluate()));
282
+ }
283
+ // Wait for linking to complete
284
+ await linkingPromises.get(url);
285
+ return module;
259
286
  }
260
287
  /**
261
- * Load a module from URL and create appropriate vm.Module
288
+ * Create a module from URL without linking or evaluating
262
289
  */
263
- async function loadModule(url, usePrivateGlobal) {
290
+ async function createModule(url, usePrivateGlobal) {
264
291
  let module;
265
292
  // Handle special built-in modules
266
- if (url === 'harper') {
293
+ if (url === 'harper' || url === 'harperdb') {
267
294
  let harperExports = getHarperExports(scope);
268
295
  module = new node_vm_1.SyntheticModule(Object.keys(harperExports), function () {
269
296
  for (let key in harperExports) {
@@ -271,10 +298,14 @@ async function loadModuleWithVM(moduleUrl, scope) {
271
298
  }
272
299
  }, { identifier: url, context });
273
300
  }
274
- else if (usePrivateGlobal && url.startsWith('file://')) {
301
+ else if (url.startsWith('file://')) {
275
302
  checkAllowedModulePath(url, scope.verifyPath);
276
303
  // Load source text from file
277
- const source = await (0, promises_1.readFile)(new URL(url), { encoding: 'utf-8' });
304
+ let source = await (0, promises_1.readFile)(new URL(url), { encoding: 'utf-8' });
305
+ // Strip TypeScript types if this is a .ts file
306
+ if (url.endsWith('.ts') || url.endsWith('.tsx')) {
307
+ source = await stripTypeScriptTypes(source);
308
+ }
278
309
  // Try to parse as ESM first
279
310
  try {
280
311
  module = new node_vm_1.SourceTextModule(source, {
@@ -289,17 +320,9 @@ async function loadModuleWithVM(moduleUrl, scope) {
289
320
  return dynamicModule;
290
321
  },
291
322
  });
292
- // Cache the module
293
- moduleCache.set(url, module);
294
- // Link the module (resolve all imports)
295
- await module.link(linker);
296
- // Evaluate the module
297
- await module.evaluate();
298
- return module;
299
323
  }
300
324
  catch (err) {
301
325
  // If ESM parsing fails, try to load as CommonJS
302
- // but first try the cache again
303
326
  if (err.message?.includes('require is not defined') ||
304
327
  source.includes('module.exports') ||
305
328
  source.includes('exports.')) {
@@ -311,20 +334,33 @@ async function loadModuleWithVM(moduleUrl, scope) {
311
334
  }
312
335
  }
313
336
  else {
314
- checkAllowedModulePath(url, scope.verifyPath);
315
- // For Node.js built-in modules (node:) and npm packages, use dynamic import
316
- const importedModule = await import(__rewriteRelativeImportExtension(url));
317
- const exportNames = Object.keys(importedModule);
318
- module = new node_vm_1.SyntheticModule(exportNames, function () {
319
- for (const key of exportNames) {
320
- this.setExport(key, importedModule[key]);
321
- }
322
- }, { identifier: url, context });
337
+ const replacedModule = checkAllowedModulePath(url, scope.verifyPath);
338
+ // For Node.js built-in modules (node:) and npm packages
339
+ // Always try require first to properly handle CJS modules with named exports
340
+ try {
341
+ const cjsExports = replacedModule ?? require(url);
342
+ // It's a CJS module - expose all properties as named exports
343
+ const exportNames = Object.keys(cjsExports);
344
+ module = new node_vm_1.SyntheticModule(exportNames.length > 0 ? [...exportNames, 'default'] : ['default'], function () {
345
+ if (exportNames.length > 0) {
346
+ for (const key of exportNames) {
347
+ this.setExport(key, cjsExports[key]);
348
+ }
349
+ }
350
+ this.setExport('default', cjsExports);
351
+ }, { identifier: url, context });
352
+ }
353
+ catch {
354
+ // Fall back to dynamic import for ESM packages
355
+ const importedModule = await import(__rewriteRelativeImportExtension(url));
356
+ const exportNames = Object.keys(importedModule);
357
+ module = new node_vm_1.SyntheticModule(exportNames, function () {
358
+ for (const key of exportNames) {
359
+ this.setExport(key, importedModule[key]);
360
+ }
361
+ }, { identifier: url, context });
362
+ }
323
363
  }
324
- // Link the module (resolve all imports)
325
- await module.link(linker);
326
- // Evaluate the module
327
- await module.evaluate();
328
364
  return module;
329
365
  }
330
366
  // Load the entry module
@@ -448,41 +484,197 @@ function getHarperExports(scope) {
448
484
  contentTypes: contentTypes_ts_1.contentTypes,
449
485
  };
450
486
  }
451
- const ALLOWED_NODE_BUILTIN_MODULES = new Set([
452
- 'assert',
453
- 'http',
454
- 'https',
455
- 'path',
456
- 'url',
457
- 'util',
458
- 'stream',
459
- 'crypto',
460
- 'buffer',
461
- 'string_decoder',
462
- 'querystring',
463
- 'punycode',
464
- 'zlib',
465
- 'events',
466
- 'timers',
467
- 'process',
468
- 'async_hooks',
469
- 'console',
470
- 'perf_hooks',
471
- 'diagnostics_channel',
472
- 'fs',
473
- ]);
487
+ const ALLOWED_NODE_BUILTIN_MODULES = env.get(hdbTerms_ts_1.CONFIG_PARAMS.APPLICATIONS_ALLOWEDBUILTINMODULES)
488
+ ? new Set(env.get(hdbTerms_ts_1.CONFIG_PARAMS.APPLICATIONS_ALLOWEDBUILTINMODULES))
489
+ : {
490
+ // if we don't have a list of allowed modules, allow everything
491
+ has() {
492
+ return true;
493
+ },
494
+ };
495
+ const ALLOWED_COMMANDS = new Set(env.get(hdbTerms_ts_1.CONFIG_PARAMS.APPLICATIONS_ALLOWEDSPAWNCOMMANDS) ?? []);
496
+ const REPLACED_BUILTIN_MODULES = {
497
+ child_process: {
498
+ exec: createSpawn(child_process.exec),
499
+ execFile: createSpawn(child_process.execFile),
500
+ fork: createSpawn(child_process.fork, true), // this is launching node, so deemed safe
501
+ spawn: createSpawn(child_process.spawn),
502
+ },
503
+ };
504
+ /**
505
+ * Creates a ChildProcess-like object for an existing process
506
+ */
507
+ class ExistingProcessWrapper extends node_events_1.EventEmitter {
508
+ pid;
509
+ checkInterval;
510
+ constructor(pid) {
511
+ super();
512
+ this.pid = pid;
513
+ // Monitor process and emit exit event when it terminates
514
+ this.checkInterval = setInterval(() => {
515
+ try {
516
+ // Signal 0 checks if process exists without actually killing it
517
+ process.kill(pid, 0);
518
+ }
519
+ catch {
520
+ // Process no longer exists
521
+ clearInterval(this.checkInterval);
522
+ this.emit('exit', null, null);
523
+ }
524
+ }, 1000);
525
+ }
526
+ // Kill the process
527
+ kill(signal) {
528
+ try {
529
+ process.kill(this.pid, signal);
530
+ return true;
531
+ }
532
+ catch {
533
+ return false;
534
+ }
535
+ }
536
+ // Clean up interval when wrapper is no longer needed
537
+ unref() {
538
+ clearInterval(this.checkInterval);
539
+ return this;
540
+ }
541
+ }
542
+ /**
543
+ * Checks if a process with the given PID is running
544
+ */
545
+ function isProcessRunning(pid) {
546
+ try {
547
+ // Signal 0 checks existence without killing
548
+ process.kill(pid, 0);
549
+ return true;
550
+ }
551
+ catch {
552
+ return false;
553
+ }
554
+ }
555
+ /**
556
+ * Acquires an exclusive lock using the PID file itself (synchronously with busy-wait)
557
+ * Returns 0 if lock was acquired (need to spawn new process), or the existing PID if process is running
558
+ */
559
+ function acquirePidFileLock(pidFilePath, maxRetries = 100, retryDelay = 5) {
560
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
561
+ try {
562
+ // Try to open exclusively - 'wx' fails if file exists
563
+ const fd = (0, node_fs_1.openSync)(pidFilePath, 'wx');
564
+ (0, node_fs_1.closeSync)(fd);
565
+ return 0; // Successfully acquired lock (file created), caller should spawn process
566
+ }
567
+ catch (err) {
568
+ if (err.code === 'EEXIST') {
569
+ // File exists - check if it contains a valid running process
570
+ try {
571
+ const pidContent = (0, node_fs_1.readFileSync)(pidFilePath, 'utf-8');
572
+ const existingPid = parseInt(pidContent.trim(), 10);
573
+ if (!isNaN(existingPid) && isProcessRunning(existingPid)) {
574
+ // Valid process is running, return its PID immediately
575
+ return existingPid;
576
+ }
577
+ // Invalid/empty PID - check file age to determine if it's stale or being written
578
+ const stats = (0, node_fs_1.statSync)(pidFilePath);
579
+ const fileAge = Date.now() - stats.mtimeMs;
580
+ // If file is very new (less than 100ms) and empty/invalid, another thread is likely still writing to it
581
+ if (fileAge < 100) {
582
+ // Just wait and retry, don't try to remove
583
+ }
584
+ else {
585
+ // Stale PID file (old and invalid), try to remove it
586
+ try {
587
+ (0, node_fs_1.unlinkSync)(pidFilePath);
588
+ }
589
+ catch {
590
+ // Another thread may have removed it, retry
591
+ }
592
+ }
593
+ }
594
+ catch {
595
+ // Couldn't read/stat file, another thread might be modifying it, retry
596
+ }
597
+ // Wait a bit before retrying
598
+ const start = Date.now();
599
+ while (Date.now() - start < retryDelay) {
600
+ // Busy wait
601
+ }
602
+ }
603
+ else {
604
+ throw err;
605
+ }
606
+ }
607
+ }
608
+ throw new Error(`Failed to acquire PID file lock after ${maxRetries} attempts`);
609
+ }
610
+ function createSpawn(spawnFunction, alwaysAllow) {
611
+ const basePath = env.getHdbBasePath();
612
+ return function (command, args, options, callback) {
613
+ if (!ALLOWED_COMMANDS.has(command.split(' ')[0]) && !alwaysAllow) {
614
+ throw new Error(`Command ${command} is not allowed`);
615
+ }
616
+ const processName = options?.name;
617
+ if (!processName)
618
+ throw new Error(`Calling ${spawnFunction.name} in Harper must have a process "name" in the options to ensure that a single process is started and reused`);
619
+ // Ensure PID directory exists
620
+ const pidDir = (0, node_path_2.join)(basePath, 'pids');
621
+ (0, node_fs_1.mkdirSync)(pidDir, { recursive: true });
622
+ const pidFilePath = (0, node_path_2.join)(pidDir, `${processName}.pid`);
623
+ // Try to acquire lock - returns 0 if acquired, or existing PID
624
+ const existingPid = acquirePidFileLock(pidFilePath);
625
+ if (existingPid !== 0) {
626
+ // Existing process is running, return wrapper
627
+ return new ExistingProcessWrapper(existingPid);
628
+ }
629
+ // We acquired the lock (file was created), spawn new process
630
+ const childProcess = spawnFunction(command, args, options, callback);
631
+ // Write PID to the file we just created
632
+ try {
633
+ (0, node_fs_1.writeFileSync)(pidFilePath, childProcess.pid.toString(), 'utf-8');
634
+ }
635
+ catch (err) {
636
+ // Failed to write PID, clean up
637
+ try {
638
+ childProcess.kill();
639
+ (0, node_fs_1.unlinkSync)(pidFilePath);
640
+ }
641
+ catch { }
642
+ throw err;
643
+ }
644
+ // Clean up PID file when process exits
645
+ childProcess.on('exit', () => {
646
+ try {
647
+ (0, node_fs_1.unlinkSync)(pidFilePath);
648
+ }
649
+ catch {
650
+ // File may already be removed
651
+ }
652
+ });
653
+ return childProcess;
654
+ };
655
+ }
656
+ /**
657
+ * Validates whether a module can be loaded based on security restrictions and returns the module path or replacement.
658
+ * For file URLs, ensures the module is within the containing folder.
659
+ * For node built-in modules, checks against an allowlist and returns any replacements.
660
+ *
661
+ * @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.
662
+ * @param {string} containingFolder - The absolute path of the folder that contains the application, used to validate file: URLs are within bounds.
663
+ * @return {any} Returns undefined for allowed file paths, or a replacement module identifier for allowed node built-in modules.
664
+ * @throws {Error} Throws an error if the module is outside the application folder or if the module is not in the allowed list.
665
+ */
474
666
  function checkAllowedModulePath(moduleUrl, containingFolder) {
475
667
  if (moduleUrl.startsWith('file:')) {
476
668
  const path = moduleUrl.slice(7);
477
669
  if (!containingFolder || path.startsWith(containingFolder)) {
478
- return true;
670
+ return;
479
671
  }
480
672
  throw new Error(`Can not load module outside of application folder ${containingFolder}`);
481
673
  }
482
674
  let simpleName = moduleUrl.startsWith('node:') ? moduleUrl.slice(5) : moduleUrl;
483
675
  simpleName = simpleName.split('/')[0];
484
676
  if (ALLOWED_NODE_BUILTIN_MODULES.has(simpleName))
485
- return true;
677
+ return REPLACED_BUILTIN_MODULES[simpleName];
486
678
  throw new Error(`Module ${moduleUrl} is not allowed to be imported`);
487
679
  }
488
680
  function getContext() {
@@ -1 +1 @@
1
- {"version":3,"file":"jsLoader.js","sourceRoot":"","sources":["../../security/jsLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsLoader.js","sourceRoot":"","sources":["../../security/jsLoader.ts"],"names":[],"mappings":"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"}
@@ -184,7 +184,7 @@ function loadCertificates() {
184
184
  const x509Cert = new X509Certificate(certificatePem);
185
185
  let certCn;
186
186
  try {
187
- certCn = getPrimaryHostName(x509Cert);
187
+ certCn = (!ca && config.name) || getPrimaryHostName(x509Cert);
188
188
  }
189
189
  catch (err) {
190
190
  logger.error?.('error extracting host name from certificate', err);
@@ -211,7 +211,7 @@ function loadCertificates() {
211
211
  }
212
212
  promise = certificateTable.put({
213
213
  name: certCn,
214
- uses: ['https', ...(configKey.includes('operations') ? ['operations'] : [])],
214
+ uses: config.uses ?? ['https', ...(configKey.includes('operations') ? ['operations'] : [])],
215
215
  ciphers: config.ciphers,
216
216
  certificate: certificatePem,
217
217
  private_key_name,
@@ -415,7 +415,7 @@ async function getCertAuthority() {
415
415
  for (let cert of allCerts) {
416
416
  if (!cert.is_authority)
417
417
  continue;
418
- const matchingPrivateKey = await getPrivateKeyByName(cert.private_key_name);
418
+ const matchingPrivateKey = getPrivateKeyByName(cert.private_key_name);
419
419
  if (cert.private_key_name && matchingPrivateKey) {
420
420
  const keyCheck = new X509Certificate(cert.certificate).checkPrivateKey(createPrivateKey(matchingPrivateKey));
421
421
  if (keyCheck) {
@@ -647,7 +647,7 @@ function createTLSSelector(type, mtlsOptions) {
647
647
  server.secureContextsListeners = [];
648
648
  }
649
649
  return (SNICallback.ready = new Promise((resolve, reject) => {
650
- async function updateTLS() {
650
+ function updateTLS() {
651
651
  try {
652
652
  secureContexts.clear();
653
653
  caCerts.clear();
@@ -656,7 +656,7 @@ function createTLSSelector(type, mtlsOptions) {
656
656
  resolve();
657
657
  return;
658
658
  }
659
- for await (const cert of databases.system.hdb_certificate.search([])) {
659
+ for (const cert of databases.system.hdb_certificate.search([])) {
660
660
  const certificate = cert.certificate;
661
661
  const certParsed = new X509Certificate(certificate);
662
662
  if (cert.is_authority) {
@@ -664,17 +664,16 @@ function createTLSSelector(type, mtlsOptions) {
664
664
  caCerts.set(certParsed.subject, certificate);
665
665
  }
666
666
  }
667
- for await (const cert of databases.system.hdb_certificate.search([])) {
667
+ for (const cert of databases.system.hdb_certificate.search([])) {
668
668
  try {
669
669
  if (cert.is_authority) {
670
670
  continue;
671
671
  }
672
- let isOperations = type === 'operations-api';
673
672
  let quality = cert.is_self_signed ? 1 : 3;
674
673
  // prefer operations certificates for operations API
675
- if (isOperations && cert.uses?.includes?.('operations'))
674
+ if (cert.uses?.includes(type))
676
675
  quality += 1;
677
- const private_key = await getPrivateKeyByName(cert.private_key_name);
676
+ const private_key = getPrivateKeyByName(cert.private_key_name);
678
677
  let certificate = cert.certificate;
679
678
  const certParsed = new X509Certificate(certificate);
680
679
  if (caCerts.has(certParsed.issuer)) {
@@ -700,7 +699,7 @@ function createTLSSelector(type, mtlsOptions) {
700
699
  hostnames = [hostnames];
701
700
  for (let hostname of hostnames) {
702
701
  if (hostname === getHost())
703
- quality += 1; // prefer a certificate that has our hostname in the SANs
702
+ quality += 0.1; // prefer a certificate that has our hostname in the SANs
704
703
  }
705
704
  let secureContext = tls.createSecureContext(secureOptions);
706
705
  secureContext.name = cert.name;
@@ -798,10 +797,10 @@ function createTLSSelector(type, mtlsOptions) {
798
797
  cb(null, context);
799
798
  }
800
799
  }
801
- async function getPrivateKeyByName(private_key_name) {
800
+ function getPrivateKeyByName(private_key_name) {
802
801
  const private_key = privateKeys.get(private_key_name);
803
802
  if (!private_key && private_key_name) {
804
- return await fs.readFile(path.join(envManager.get(CONFIG_PARAMS.ROOTPATH), hdbTerms.LICENSE_KEY_DIR_NAME, private_key_name), 'utf8');
803
+ return fs.readFileSync(path.join(envManager.get(CONFIG_PARAMS.ROOTPATH), hdbTerms.LICENSE_KEY_DIR_NAME, private_key_name), 'utf8');
805
804
  }
806
805
  return private_key;
807
806
  }