@harperfast/harper-pro 5.0.30 → 5.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/analytics/profile.ts +4 -0
  2. package/core/AGENTS.md +94 -6
  3. package/core/DESIGN.md +36 -0
  4. package/core/README.md +11 -10
  5. package/core/agent/agent.ts +203 -0
  6. package/core/agent/loop.ts +205 -0
  7. package/core/agent/operations.ts +148 -0
  8. package/core/agent/session.ts +187 -0
  9. package/core/agent/tools/fsTools.ts +276 -0
  10. package/core/agent/tools/httpFetchTool.ts +112 -0
  11. package/core/agent/tools/scheduleTool.ts +68 -0
  12. package/core/agent/toolset.ts +43 -0
  13. package/core/agent/types.ts +85 -0
  14. package/core/benchmarks/hnsw-search.js +157 -0
  15. package/core/benchmarks/ycsb/README.md +144 -0
  16. package/core/benchmarks/ycsb/analyze-profile.mts +120 -0
  17. package/core/benchmarks/ycsb/app/config.yaml +3 -0
  18. package/core/benchmarks/ycsb/app/schema.graphql +17 -0
  19. package/core/benchmarks/ycsb/harness.mts +328 -0
  20. package/core/benchmarks/ycsb/restClient.mts +120 -0
  21. package/core/benchmarks/ycsb/run-single-node.mts +97 -0
  22. package/core/benchmarks/ycsb/to-benchmark-json.mts +58 -0
  23. package/core/benchmarks/ycsb/workload.mts +499 -0
  24. package/core/benchmarks/ycsb/workload.test.mts +174 -0
  25. package/core/bin/{BinObjects.js → BinObjects.ts} +4 -5
  26. package/core/bin/cliCredentials.ts +133 -0
  27. package/core/bin/cliOperations.ts +339 -0
  28. package/core/bin/copyDb.ts +10 -10
  29. package/core/bin/deployRenderer.ts +196 -0
  30. package/core/bin/{harper.js → harper.ts} +48 -24
  31. package/core/bin/{install.js → install.ts} +3 -3
  32. package/core/bin/lite.ts +2 -0
  33. package/core/bin/login.ts +134 -0
  34. package/core/bin/logout.ts +11 -0
  35. package/core/bin/mcp/client.ts +407 -0
  36. package/core/bin/mcp/doctor.ts +189 -0
  37. package/core/bin/mcp/index.ts +80 -0
  38. package/core/bin/mcp/options.ts +122 -0
  39. package/core/bin/mcp/printConfig.ts +89 -0
  40. package/core/bin/multipartBuilder.ts +74 -0
  41. package/core/bin/{restart.js → restart.ts} +31 -32
  42. package/core/bin/{run.js → run.ts} +57 -46
  43. package/core/bin/sseConsumer.ts +126 -0
  44. package/core/bin/{status.js → status.ts} +10 -10
  45. package/core/bin/stop.ts +21 -0
  46. package/core/bin/upgrade.js +17 -24
  47. package/core/components/Application.ts +144 -18
  48. package/core/components/ApplicationScope.ts +2 -2
  49. package/core/components/ComponentV1.ts +2 -2
  50. package/core/components/EntryHandler.ts +159 -9
  51. package/core/components/OptionsWatcher.ts +75 -11
  52. package/core/components/Scope.ts +132 -18
  53. package/core/components/anthropic/index.ts +547 -0
  54. package/core/components/bedrock/index.ts +823 -0
  55. package/core/components/componentLoader.ts +64 -32
  56. package/core/components/deployLifecycle.ts +161 -0
  57. package/core/components/deploymentOperations.ts +173 -0
  58. package/core/components/deploymentRecorder.ts +427 -0
  59. package/core/components/deriveURLPath.ts +4 -4
  60. package/core/components/mcp/adapters/fastify.ts +87 -0
  61. package/core/components/mcp/adapters/harperHttp.ts +103 -0
  62. package/core/components/mcp/audit.ts +75 -0
  63. package/core/components/mcp/index.ts +134 -0
  64. package/core/components/mcp/jsonrpc.ts +134 -0
  65. package/core/components/mcp/lifecycle.ts +105 -0
  66. package/core/components/mcp/listChanged.ts +270 -0
  67. package/core/components/mcp/rateLimit.ts +217 -0
  68. package/core/components/mcp/resources.ts +607 -0
  69. package/core/components/mcp/session.ts +151 -0
  70. package/core/components/mcp/sessionRegistry.ts +140 -0
  71. package/core/components/mcp/toolRegistry.ts +294 -0
  72. package/core/components/mcp/tools/application.ts +761 -0
  73. package/core/components/mcp/tools/operations.ts +311 -0
  74. package/core/components/mcp/tools/schemas/derive.ts +356 -0
  75. package/core/components/mcp/tools/schemas/operationDescriptions.ts +241 -0
  76. package/core/components/mcp/tools/schemas/operations.ts +301 -0
  77. package/core/components/mcp/transport.ts +517 -0
  78. package/core/components/ollama/index.ts +316 -0
  79. package/core/components/openai/index.ts +563 -0
  80. package/core/components/operations.js +217 -60
  81. package/core/components/operationsValidation.js +12 -4
  82. package/core/components/packageComponent.ts +97 -29
  83. package/core/components/requestRestart.ts +17 -2
  84. package/core/components/status/crossThread.ts +14 -5
  85. package/core/components/status/errors.ts +1 -1
  86. package/core/config/RootConfigWatcher.ts +56 -2
  87. package/core/config/configUtils.js +29 -8
  88. package/core/config/harperConfigEnvVars.ts +1 -1
  89. package/core/dataLayer/{CreateAttributeObject.js → CreateAttributeObject.ts} +4 -3
  90. package/core/dataLayer/{CreateTableObject.js → CreateTableObject.ts} +2 -1
  91. package/core/dataLayer/{DataLayerObjects.js → DataLayerObjects.ts} +17 -9
  92. package/core/dataLayer/{DeleteBeforeObject.js → DeleteBeforeObject.ts} +2 -1
  93. package/core/dataLayer/{DeleteObject.js → DeleteObject.ts} +3 -2
  94. package/core/dataLayer/{DropAttributeObject.js → DropAttributeObject.ts} +2 -1
  95. package/core/dataLayer/{GetBackupObject.js → GetBackupObject.ts} +3 -2
  96. package/core/dataLayer/{InsertObject.js → InsertObject.ts} +3 -2
  97. package/core/dataLayer/{ReadAuditLogObject.js → ReadAuditLogObject.ts} +3 -2
  98. package/core/dataLayer/{SQLSearch.js → SQLSearch.ts} +97 -43
  99. package/core/dataLayer/{SearchByConditionsObject.js → SearchByConditionsObject.ts} +5 -6
  100. package/core/dataLayer/{SearchByHashObject.js → SearchByHashObject.ts} +2 -1
  101. package/core/dataLayer/{SearchObject.js → SearchObject.ts} +2 -1
  102. package/core/dataLayer/{SqlSearchObject.js → SqlSearchObject.ts} +2 -1
  103. package/core/dataLayer/{UpdateObject.js → UpdateObject.ts} +3 -2
  104. package/core/dataLayer/{UpsertObject.js → UpsertObject.ts} +3 -2
  105. package/core/dataLayer/{bulkLoad.js → bulkLoad.ts} +40 -49
  106. package/core/dataLayer/{delete.js → delete.ts} +21 -26
  107. package/core/dataLayer/{export.js → export.ts} +22 -26
  108. package/core/dataLayer/{getBackup.js → getBackup.ts} +7 -9
  109. package/core/dataLayer/harperBridge/BridgeMethods.ts +102 -0
  110. package/core/dataLayer/harperBridge/ResourceBridge.ts +27 -26
  111. package/core/dataLayer/harperBridge/TableSizeObject.ts +1 -0
  112. package/core/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +4 -4
  113. package/core/dataLayer/harperBridge/{harperBridge.js → harperBridge.ts} +3 -3
  114. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +8 -6
  115. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +4 -4
  116. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +1 -1
  117. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +6 -4
  118. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +5 -4
  119. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +4 -4
  120. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +6 -5
  121. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +5 -4
  122. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +5 -5
  123. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +1 -1
  124. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +3 -3
  125. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +1 -1
  126. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +3 -2
  127. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +5 -5
  128. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +10 -8
  129. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +1 -1
  130. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +4 -3
  131. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +3 -3
  132. package/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +6 -5
  133. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +2 -1
  134. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +3 -2
  135. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +2 -2
  136. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +5 -4
  137. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +6 -3
  138. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +1 -1
  139. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +4 -4
  140. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +5 -5
  141. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +4 -4
  142. package/core/dataLayer/{hdbInfoController.js → hdbInfoController.ts} +20 -26
  143. package/core/dataLayer/{insert.js → insert.ts} +24 -24
  144. package/core/dataLayer/{readAuditLog.js → readAuditLog.ts} +8 -10
  145. package/core/dataLayer/{schema.js → schema.ts} +32 -44
  146. package/core/dataLayer/{schemaDescribe.js → schemaDescribe.ts} +23 -26
  147. package/core/dataLayer/{search.js → search.ts} +9 -15
  148. package/core/dataLayer/{transaction.js → transaction.ts} +2 -5
  149. package/core/dataLayer/{update.js → update.ts} +19 -22
  150. package/core/index.ts +5 -0
  151. package/core/json/systemSchema.json +65 -0
  152. package/core/launchServiceScripts/utility/checkNodeVersion.js +2 -0
  153. package/core/package-lock.json +9087 -4345
  154. package/core/resources/DESIGN.md +98 -0
  155. package/core/resources/DatabaseTransaction.ts +58 -30
  156. package/core/resources/ErrorResource.ts +2 -1
  157. package/core/resources/LMDBTransaction.ts +38 -29
  158. package/core/resources/RecordEncoder.ts +41 -39
  159. package/core/resources/RequestTarget.ts +2 -0
  160. package/core/resources/Resource.ts +96 -56
  161. package/core/resources/ResourceInterface.ts +44 -21
  162. package/core/resources/Resources.ts +8 -8
  163. package/core/resources/RocksIndexStore.ts +3 -0
  164. package/core/resources/RocksTransactionLogStore.ts +13 -4
  165. package/core/resources/Table.ts +440 -223
  166. package/core/resources/analytics/metadata.ts +1 -0
  167. package/core/resources/analytics/read.ts +99 -10
  168. package/core/resources/analytics/write.ts +240 -17
  169. package/core/resources/auditStore.ts +30 -19
  170. package/core/resources/blob.ts +53 -53
  171. package/core/resources/dataLoader.ts +4 -4
  172. package/core/resources/databases.ts +208 -74
  173. package/core/resources/graphql.ts +267 -165
  174. package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +310 -65
  175. package/core/resources/indexes/vector.ts +17 -0
  176. package/core/resources/jsonSchemaTypes.ts +102 -0
  177. package/core/resources/loadEnv.ts +21 -17
  178. package/core/resources/login.ts +5 -3
  179. package/core/resources/models/Models.ts +304 -0
  180. package/core/resources/models/TestBackend.ts +83 -0
  181. package/core/resources/models/agentLoop.ts +895 -0
  182. package/core/resources/models/analyticsTable.ts +199 -0
  183. package/core/resources/models/backendHelpers.ts +116 -0
  184. package/core/resources/models/backendRegistry.ts +66 -0
  185. package/core/resources/models/bootstrap.ts +135 -0
  186. package/core/resources/models/embedHook.ts +138 -0
  187. package/core/resources/models/types.ts +296 -0
  188. package/core/resources/openApi.ts +65 -31
  189. package/core/resources/replayLogs.ts +20 -9
  190. package/core/resources/replayLogsGuards.ts +45 -0
  191. package/core/resources/roles.ts +62 -67
  192. package/core/resources/search.ts +355 -135
  193. package/core/resources/tracked.ts +18 -9
  194. package/core/resources/transaction.ts +8 -8
  195. package/core/resources/transactionBroadcast.ts +3 -3
  196. package/core/security/auth.ts +35 -26
  197. package/core/security/certificateVerification/crlVerification.ts +11 -4
  198. package/core/security/{cryptoHash.js → cryptoHash.ts} +3 -8
  199. package/core/security/data_objects/{PermissionAttributeResponseObject.js → PermissionAttributeResponseObject.ts} +4 -4
  200. package/core/security/data_objects/{PermissionResponseObject.js → PermissionResponseObject.ts} +12 -11
  201. package/core/security/data_objects/{PermissionTableResponseObject.js → PermissionTableResponseObject.ts} +6 -4
  202. package/core/security/{fastifyAuth.js → fastifyAuth.ts} +93 -20
  203. package/core/security/impersonation.ts +3 -3
  204. package/core/security/jsLoader.ts +22 -8
  205. package/core/security/{keys.js → keys.ts} +113 -121
  206. package/core/security/permissionsTranslator.js +2 -2
  207. package/core/security/{role.js → role.ts} +26 -33
  208. package/core/security/tokenAuthentication.ts +34 -7
  209. package/core/security/user.ts +26 -22
  210. package/core/server/DESIGN.md +139 -0
  211. package/core/server/DurableSubscriptionsSession.ts +67 -50
  212. package/core/server/REST.ts +120 -107
  213. package/core/server/Server.ts +31 -12
  214. package/core/server/fastifyRoutes/helpers/getCORSOptions.js +1 -1
  215. package/core/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +1 -1
  216. package/core/server/fastifyRoutes/helpers/getServerOptions.js +1 -1
  217. package/core/server/fastifyRoutes.ts +37 -33
  218. package/core/server/graphqlQuerying.ts +6 -5
  219. package/core/server/http.ts +517 -26
  220. package/core/server/itc/serverHandlers.js +75 -14
  221. package/core/server/jobs/{JobObject.js → JobObject.ts} +13 -6
  222. package/core/server/jobs/{jobProcess.js → jobProcess.ts} +20 -16
  223. package/core/server/jobs/{jobRunner.js → jobRunner.ts} +20 -21
  224. package/core/server/jobs/{jobs.js → jobs.ts} +41 -44
  225. package/core/server/loadRootComponents.js +1 -1
  226. package/core/server/middlewareChain.ts +270 -0
  227. package/core/server/mqtt.ts +35 -26
  228. package/core/server/nodeName.ts +3 -1
  229. package/core/server/operationsServer.ts +85 -10
  230. package/core/server/serverHelpers/Headers.ts +10 -8
  231. package/core/server/serverHelpers/JSONStream.ts +15 -5
  232. package/core/server/serverHelpers/Request.ts +370 -13
  233. package/core/server/serverHelpers/contentTypes.ts +42 -11
  234. package/core/server/serverHelpers/multipartParser.ts +152 -0
  235. package/core/server/serverHelpers/progressEmitter.ts +110 -0
  236. package/core/server/serverHelpers/serverHandlers.js +43 -7
  237. package/core/server/serverHelpers/serverUtilities.ts +40 -30
  238. package/core/server/static.ts +9 -6
  239. package/core/server/status/index.ts +2 -2
  240. package/core/server/storageReclamation.ts +39 -2
  241. package/core/server/threads/itc.js +7 -4
  242. package/core/server/threads/manageThreads.js +100 -26
  243. package/core/server/threads/socketRouter.ts +12 -275
  244. package/core/server/threads/threadServer.js +345 -105
  245. package/core/server/threads/workerProcessGuard.ts +93 -0
  246. package/core/server/throttle.ts +18 -0
  247. package/core/sqlTranslator/{SelectValidator.js → SelectValidator.ts} +41 -49
  248. package/core/sqlTranslator/{alasqlFunctionImporter.js → alasqlFunctionImporter.ts} +5 -5
  249. package/core/sqlTranslator/{deleteTranslator.js → deleteTranslator.ts} +13 -18
  250. package/core/sqlTranslator/{index.js → index.ts} +30 -33
  251. package/core/sqlTranslator/{sql_statement_bucket.js → sql_statement_bucket.ts} +49 -20
  252. package/core/static/README.md +10 -9
  253. package/core/static/defaultConfig.yaml +0 -1
  254. package/core/system/000004.log +0 -0
  255. package/core/system/CURRENT +1 -0
  256. package/core/system/IDENTITY +1 -0
  257. package/core/system/LOCK +0 -0
  258. package/core/system/LOG +1351 -0
  259. package/core/system/MANIFEST-000005 +0 -0
  260. package/core/system/OPTIONS-000013 +607 -0
  261. package/core/system/OPTIONS-000015 +734 -0
  262. package/core/upgrade/{UpgradeObjects.js → UpgradeObjects.ts} +3 -6
  263. package/core/upgrade/directives/5-1-0.ts +89 -0
  264. package/core/upgrade/directives/{directivesController.js → directivesController.ts} +16 -16
  265. package/core/upgrade/{directivesManager.js → directivesManager.ts} +7 -11
  266. package/core/upgrade/{upgradePrompt.js → upgradePrompt.ts} +6 -54
  267. package/core/upgrade/{upgradeUtilities.js → upgradeUtilities.ts} +3 -7
  268. package/core/utility/{OperationFunctionCaller.js → OperationFunctionCaller.ts} +7 -7
  269. package/core/utility/{assignCmdEnvVariables.js → assignCmdEnvVariables.ts} +6 -8
  270. package/core/utility/{common_utils.js → common_utils.ts} +113 -139
  271. package/core/utility/environment/{environmentManager.js → environmentManager.ts} +34 -33
  272. package/core/utility/environment/systemInformation.ts +18 -4
  273. package/core/utility/errors/{commonErrors.js → commonErrors.ts} +9 -9
  274. package/core/utility/errors/{hdbError.js → hdbError.ts} +39 -45
  275. package/core/utility/expandEnvVar.ts +110 -0
  276. package/core/utility/functions/geo.js +2 -2
  277. package/core/utility/functions/sql/alaSQLExtension.js +1 -1
  278. package/core/utility/globalSchema.ts +30 -0
  279. package/core/utility/hdbTerms.ts +54 -1
  280. package/core/utility/install/checkJWTTokensExist.js +1 -1
  281. package/core/utility/install/{installer.js → installer.ts} +86 -62
  282. package/core/utility/installation.ts +2 -2
  283. package/core/utility/lmdb/{DBIDefinition.js → DBIDefinition.ts} +4 -1
  284. package/core/utility/lmdb/{DeleteRecordsResponseObject.js → DeleteRecordsResponseObject.ts} +2 -1
  285. package/core/utility/lmdb/{InsertRecordsResponseObject.js → InsertRecordsResponseObject.ts} +2 -1
  286. package/core/utility/lmdb/OpenDBIObject.ts +57 -0
  287. package/core/utility/lmdb/{OpenEnvironmentObject.js → OpenEnvironmentObject.ts} +19 -6
  288. package/core/utility/lmdb/{UpdateRecordsResponseObject.js → UpdateRecordsResponseObject.ts} +2 -1
  289. package/core/utility/lmdb/{UpsertRecordsResponseObject.js → UpsertRecordsResponseObject.ts} +2 -1
  290. package/core/utility/lmdb/{cleanLMDBMap.js → cleanLMDBMap.ts} +5 -5
  291. package/core/utility/lmdb/{commonUtility.js → commonUtility.ts} +13 -21
  292. package/core/utility/lmdb/{deleteUtility.js → deleteUtility.ts} +8 -12
  293. package/core/utility/lmdb/{environmentUtility.js → environmentUtility.ts} +43 -52
  294. package/core/utility/lmdb/{searchCursorFunctions.js → searchCursorFunctions.ts} +12 -26
  295. package/core/utility/lmdb/{searchUtility.js → searchUtility.ts} +75 -64
  296. package/core/utility/lmdb/{terms.js → terms.ts} +10 -23
  297. package/core/utility/lmdb/{writeUtility.js → writeUtility.ts} +37 -22
  298. package/core/utility/logging/{harper_logger.js → harper_logger.ts} +137 -90
  299. package/core/utility/logging/{logRotator.js → logRotator.ts} +15 -18
  300. package/core/utility/logging/logger.ts +1 -1
  301. package/core/utility/logging/{readLog.js → readLog.ts} +19 -19
  302. package/core/utility/logging/{transactionLog.js → transactionLog.ts} +10 -14
  303. package/core/utility/{mount_hdb.js → mount_hdb.ts} +15 -16
  304. package/core/utility/{npmUtilities.js → npmUtilities.ts} +14 -17
  305. package/core/utility/{operation_authorization.js → operation_authorization.ts} +173 -124
  306. package/core/utility/packageUtils.js +7 -16
  307. package/core/utility/password.ts +1 -1
  308. package/core/utility/processManagement/processManagement.js +2 -2
  309. package/core/utility/processManagement/servicesConfig.js +1 -1
  310. package/core/utility/{signalling.js → signalling.ts} +6 -11
  311. package/core/utility/watcherFallback.ts +74 -0
  312. package/core/validation/analyticsValidator.ts +44 -0
  313. package/core/validation/{bulkDeleteValidator.js → bulkDeleteValidator.ts} +5 -5
  314. package/core/validation/{check_permissions.js → check_permissions.ts} +3 -3
  315. package/core/validation/{common_validators.js → common_validators.ts} +12 -24
  316. package/core/validation/{configValidator.js → configValidator.ts} +114 -18
  317. package/core/validation/{deleteValidator.js → deleteValidator.ts} +5 -5
  318. package/core/validation/{fileLoadValidator.js → fileLoadValidator.ts} +12 -19
  319. package/core/validation/{insertValidator.js → insertValidator.ts} +5 -5
  320. package/core/validation/{installValidator.js → installValidator.ts} +8 -8
  321. package/core/validation/{readLogValidator.js → readLogValidator.ts} +10 -10
  322. package/core/validation/{role_validation.js → role_validation.ts} +26 -32
  323. package/core/validation/{schemaMetadataValidator.js → schemaMetadataValidator.ts} +5 -11
  324. package/core/validation/{searchValidator.js → searchValidator.ts} +12 -11
  325. package/core/validation/statusValidator.ts +1 -1
  326. package/core/validation/{transactionLogValidator.js → transactionLogValidator.ts} +4 -9
  327. package/core/validation/{user_validation.js → user_validation.ts} +4 -10
  328. package/core/validation/{validationWrapper.js → validationWrapper.ts} +3 -9
  329. package/dist/analytics/profile.js +4 -0
  330. package/dist/analytics/profile.js.map +1 -1
  331. package/dist/cloneNode/cloneNode.js +224 -12
  332. package/dist/cloneNode/cloneNode.js.map +1 -1
  333. package/dist/core/agent/agent.js +175 -0
  334. package/dist/core/agent/agent.js.map +1 -0
  335. package/dist/core/agent/loop.js +176 -0
  336. package/dist/core/agent/loop.js.map +1 -0
  337. package/dist/core/agent/operations.js +137 -0
  338. package/dist/core/agent/operations.js.map +1 -0
  339. package/dist/core/agent/session.js +182 -0
  340. package/dist/core/agent/session.js.map +1 -0
  341. package/dist/core/agent/tools/fsTools.js +286 -0
  342. package/dist/core/agent/tools/fsTools.js.map +1 -0
  343. package/dist/core/agent/tools/httpFetchTool.js +116 -0
  344. package/dist/core/agent/tools/httpFetchTool.js.map +1 -0
  345. package/dist/core/agent/tools/scheduleTool.js +54 -0
  346. package/dist/core/agent/tools/scheduleTool.js.map +1 -0
  347. package/dist/core/agent/toolset.js +33 -0
  348. package/dist/core/agent/toolset.js.map +1 -0
  349. package/dist/core/agent/types.js +10 -0
  350. package/dist/core/agent/types.js.map +1 -0
  351. package/dist/core/bin/BinObjects.js +6 -3
  352. package/dist/core/bin/BinObjects.js.map +1 -1
  353. package/dist/core/bin/cliCredentials.js +130 -0
  354. package/dist/core/bin/cliCredentials.js.map +1 -0
  355. package/dist/core/bin/cliOperations.js +254 -40
  356. package/dist/core/bin/cliOperations.js.map +1 -1
  357. package/dist/core/bin/copyDb.js +16 -16
  358. package/dist/core/bin/copyDb.js.map +1 -1
  359. package/dist/core/bin/deployRenderer.js +185 -0
  360. package/dist/core/bin/deployRenderer.js.map +1 -0
  361. package/dist/core/bin/harper.js +92 -31
  362. package/dist/core/bin/harper.js.map +1 -1
  363. package/dist/core/bin/install.js +41 -4
  364. package/dist/core/bin/install.js.map +1 -1
  365. package/dist/core/bin/lite.js +3 -4
  366. package/dist/core/bin/lite.js.map +1 -1
  367. package/dist/core/bin/login.js +123 -0
  368. package/dist/core/bin/login.js.map +1 -0
  369. package/dist/core/bin/logout.js +16 -0
  370. package/dist/core/bin/logout.js.map +1 -0
  371. package/dist/core/bin/mcp/client.js +395 -0
  372. package/dist/core/bin/mcp/client.js.map +1 -0
  373. package/dist/core/bin/mcp/doctor.js +193 -0
  374. package/dist/core/bin/mcp/doctor.js.map +1 -0
  375. package/dist/core/bin/mcp/index.js +81 -0
  376. package/dist/core/bin/mcp/index.js.map +1 -0
  377. package/dist/core/bin/mcp/options.js +113 -0
  378. package/dist/core/bin/mcp/options.js.map +1 -0
  379. package/dist/core/bin/mcp/printConfig.js +85 -0
  380. package/dist/core/bin/mcp/printConfig.js.map +1 -0
  381. package/dist/core/bin/multipartBuilder.js +55 -0
  382. package/dist/core/bin/multipartBuilder.js.map +1 -0
  383. package/dist/core/bin/restart.js +85 -48
  384. package/dist/core/bin/restart.js.map +1 -1
  385. package/dist/core/bin/run.js +123 -77
  386. package/dist/core/bin/run.js.map +1 -1
  387. package/dist/core/bin/sseConsumer.js +127 -0
  388. package/dist/core/bin/sseConsumer.js.map +1 -0
  389. package/dist/core/bin/status.js +48 -11
  390. package/dist/core/bin/status.js.map +1 -1
  391. package/dist/core/bin/stop.js +44 -7
  392. package/dist/core/bin/stop.js.map +1 -1
  393. package/dist/core/bin/upgrade.js +14 -22
  394. package/dist/core/bin/upgrade.js.map +1 -1
  395. package/dist/core/components/Application.js +134 -28
  396. package/dist/core/components/Application.js.map +1 -1
  397. package/dist/core/components/ApplicationScope.js +2 -2
  398. package/dist/core/components/ComponentV1.js +5 -5
  399. package/dist/core/components/ComponentV1.js.map +1 -1
  400. package/dist/core/components/EntryHandler.js +153 -13
  401. package/dist/core/components/EntryHandler.js.map +1 -1
  402. package/dist/core/components/OptionsWatcher.js +72 -10
  403. package/dist/core/components/OptionsWatcher.js.map +1 -1
  404. package/dist/core/components/Scope.js +112 -12
  405. package/dist/core/components/Scope.js.map +1 -1
  406. package/dist/core/components/anthropic/index.js +428 -0
  407. package/dist/core/components/anthropic/index.js.map +1 -0
  408. package/dist/core/components/bedrock/index.js +734 -0
  409. package/dist/core/components/bedrock/index.js.map +1 -0
  410. package/dist/core/components/componentLoader.js +65 -38
  411. package/dist/core/components/componentLoader.js.map +1 -1
  412. package/dist/core/components/deployLifecycle.js +156 -0
  413. package/dist/core/components/deployLifecycle.js.map +1 -0
  414. package/dist/core/components/deploymentOperations.js +185 -0
  415. package/dist/core/components/deploymentOperations.js.map +1 -0
  416. package/dist/core/components/deploymentRecorder.js +425 -0
  417. package/dist/core/components/deploymentRecorder.js.map +1 -0
  418. package/dist/core/components/deriveURLPath.js +2 -2
  419. package/dist/core/components/deriveURLPath.js.map +1 -1
  420. package/dist/core/components/mcp/adapters/fastify.js +66 -0
  421. package/dist/core/components/mcp/adapters/fastify.js.map +1 -0
  422. package/dist/core/components/mcp/adapters/harperHttp.js +78 -0
  423. package/dist/core/components/mcp/adapters/harperHttp.js.map +1 -0
  424. package/dist/core/components/mcp/audit.js +73 -0
  425. package/dist/core/components/mcp/audit.js.map +1 -0
  426. package/dist/core/components/mcp/index.js +109 -0
  427. package/dist/core/components/mcp/index.js.map +1 -0
  428. package/dist/core/components/mcp/jsonrpc.js +93 -0
  429. package/dist/core/components/mcp/jsonrpc.js.map +1 -0
  430. package/dist/core/components/mcp/lifecycle.js +79 -0
  431. package/dist/core/components/mcp/lifecycle.js.map +1 -0
  432. package/dist/core/components/mcp/listChanged.js +257 -0
  433. package/dist/core/components/mcp/listChanged.js.map +1 -0
  434. package/dist/core/components/mcp/rateLimit.js +226 -0
  435. package/dist/core/components/mcp/rateLimit.js.map +1 -0
  436. package/dist/core/components/mcp/resources.js +526 -0
  437. package/dist/core/components/mcp/resources.js.map +1 -0
  438. package/dist/core/components/mcp/session.js +170 -0
  439. package/dist/core/components/mcp/session.js.map +1 -0
  440. package/dist/core/components/mcp/sessionRegistry.js +124 -0
  441. package/dist/core/components/mcp/sessionRegistry.js.map +1 -0
  442. package/dist/core/components/mcp/toolRegistry.js +177 -0
  443. package/dist/core/components/mcp/toolRegistry.js.map +1 -0
  444. package/dist/core/components/mcp/tools/application.js +660 -0
  445. package/dist/core/components/mcp/tools/application.js.map +1 -0
  446. package/dist/core/components/mcp/tools/operations.js +331 -0
  447. package/dist/core/components/mcp/tools/operations.js.map +1 -0
  448. package/dist/core/components/mcp/tools/schemas/derive.js +291 -0
  449. package/dist/core/components/mcp/tools/schemas/derive.js.map +1 -0
  450. package/dist/core/components/mcp/tools/schemas/operationDescriptions.js +179 -0
  451. package/dist/core/components/mcp/tools/schemas/operationDescriptions.js.map +1 -0
  452. package/dist/core/components/mcp/tools/schemas/operations.js +299 -0
  453. package/dist/core/components/mcp/tools/schemas/operations.js.map +1 -0
  454. package/dist/core/components/mcp/transport.js +467 -0
  455. package/dist/core/components/mcp/transport.js.map +1 -0
  456. package/dist/core/components/ollama/index.js +239 -0
  457. package/dist/core/components/ollama/index.js.map +1 -0
  458. package/dist/core/components/openai/index.js +475 -0
  459. package/dist/core/components/openai/index.js.map +1 -0
  460. package/dist/core/components/operations.js +205 -52
  461. package/dist/core/components/operations.js.map +1 -1
  462. package/dist/core/components/operationsValidation.js +13 -4
  463. package/dist/core/components/operationsValidation.js.map +1 -1
  464. package/dist/core/components/packageComponent.js +87 -26
  465. package/dist/core/components/packageComponent.js.map +1 -1
  466. package/dist/core/components/requestRestart.js +12 -1
  467. package/dist/core/components/requestRestart.js.map +1 -1
  468. package/dist/core/components/status/crossThread.js +12 -5
  469. package/dist/core/components/status/crossThread.js.map +1 -1
  470. package/dist/core/components/status/errors.js +7 -7
  471. package/dist/core/config/RootConfigWatcher.js +52 -1
  472. package/dist/core/config/RootConfigWatcher.js.map +1 -1
  473. package/dist/core/config/configUtils.js +31 -8
  474. package/dist/core/config/configUtils.js.map +1 -1
  475. package/dist/core/config/harperConfigEnvVars.js +1 -1
  476. package/dist/core/config/harperConfigEnvVars.js.map +1 -1
  477. package/dist/core/dataLayer/CreateAttributeObject.js +4 -3
  478. package/dist/core/dataLayer/CreateAttributeObject.js.map +1 -1
  479. package/dist/core/dataLayer/CreateTableObject.js +2 -1
  480. package/dist/core/dataLayer/CreateTableObject.js.map +1 -1
  481. package/dist/core/dataLayer/DataLayerObjects.js +19 -5
  482. package/dist/core/dataLayer/DataLayerObjects.js.map +1 -1
  483. package/dist/core/dataLayer/DeleteBeforeObject.js +2 -1
  484. package/dist/core/dataLayer/DeleteBeforeObject.js.map +1 -1
  485. package/dist/core/dataLayer/DeleteObject.js +4 -3
  486. package/dist/core/dataLayer/DeleteObject.js.map +1 -1
  487. package/dist/core/dataLayer/DropAttributeObject.js +2 -1
  488. package/dist/core/dataLayer/DropAttributeObject.js.map +1 -1
  489. package/dist/core/dataLayer/GetBackupObject.js +4 -3
  490. package/dist/core/dataLayer/GetBackupObject.js.map +1 -1
  491. package/dist/core/dataLayer/InsertObject.js +4 -3
  492. package/dist/core/dataLayer/InsertObject.js.map +1 -1
  493. package/dist/core/dataLayer/ReadAuditLogObject.js +4 -3
  494. package/dist/core/dataLayer/ReadAuditLogObject.js.map +1 -1
  495. package/dist/core/dataLayer/SQLSearch.js +140 -78
  496. package/dist/core/dataLayer/SQLSearch.js.map +1 -1
  497. package/dist/core/dataLayer/SearchByConditionsObject.js +5 -7
  498. package/dist/core/dataLayer/SearchByConditionsObject.js.map +1 -1
  499. package/dist/core/dataLayer/SearchByHashObject.js +2 -1
  500. package/dist/core/dataLayer/SearchByHashObject.js.map +1 -1
  501. package/dist/core/dataLayer/SearchObject.js +2 -1
  502. package/dist/core/dataLayer/SearchObject.js.map +1 -1
  503. package/dist/core/dataLayer/SqlSearchObject.js +2 -1
  504. package/dist/core/dataLayer/SqlSearchObject.js.map +1 -1
  505. package/dist/core/dataLayer/UpdateObject.js +4 -3
  506. package/dist/core/dataLayer/UpdateObject.js.map +1 -1
  507. package/dist/core/dataLayer/UpsertObject.js +4 -3
  508. package/dist/core/dataLayer/UpsertObject.js.map +1 -1
  509. package/dist/core/dataLayer/bulkLoad.js +122 -88
  510. package/dist/core/dataLayer/bulkLoad.js.map +1 -1
  511. package/dist/core/dataLayer/delete.js +74 -39
  512. package/dist/core/dataLayer/delete.js.map +1 -1
  513. package/dist/core/dataLayer/export.js +90 -55
  514. package/dist/core/dataLayer/export.js.map +1 -1
  515. package/dist/core/dataLayer/getBackup.js +43 -11
  516. package/dist/core/dataLayer/getBackup.js.map +1 -1
  517. package/dist/core/dataLayer/harperBridge/BridgeMethods.js +41 -20
  518. package/dist/core/dataLayer/harperBridge/BridgeMethods.js.map +1 -1
  519. package/dist/core/dataLayer/harperBridge/ResourceBridge.js +26 -25
  520. package/dist/core/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  521. package/dist/core/dataLayer/harperBridge/TableSizeObject.js.map +1 -1
  522. package/dist/core/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +4 -4
  523. package/dist/core/dataLayer/harperBridge/harperBridge.js +38 -4
  524. package/dist/core/dataLayer/harperBridge/harperBridge.js.map +1 -1
  525. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +7 -6
  526. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js.map +1 -1
  527. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +4 -4
  528. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js.map +1 -1
  529. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +1 -1
  530. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js.map +1 -1
  531. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +5 -4
  532. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js.map +1 -1
  533. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +4 -4
  534. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js.map +1 -1
  535. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +4 -4
  536. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +5 -5
  537. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js.map +1 -1
  538. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +4 -4
  539. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js.map +1 -1
  540. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +5 -5
  541. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js.map +1 -1
  542. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +1 -1
  543. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +3 -3
  544. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +1 -1
  545. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +2 -2
  546. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js.map +1 -1
  547. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +5 -5
  548. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +8 -8
  549. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js.map +1 -1
  550. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +1 -1
  551. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +3 -3
  552. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js.map +1 -1
  553. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +3 -3
  554. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +5 -5
  555. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js.map +1 -1
  556. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +1 -1
  557. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js.map +1 -1
  558. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +2 -2
  559. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js.map +1 -1
  560. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +2 -2
  561. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +4 -4
  562. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js.map +1 -1
  563. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +5 -3
  564. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js.map +1 -1
  565. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +2 -2
  566. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +4 -4
  567. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js.map +1 -1
  568. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +5 -5
  569. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +4 -4
  570. package/dist/core/dataLayer/hdbInfoController.js +66 -31
  571. package/dist/core/dataLayer/hdbInfoController.js.map +1 -1
  572. package/dist/core/dataLayer/insert.js +63 -28
  573. package/dist/core/dataLayer/insert.js.map +1 -1
  574. package/dist/core/dataLayer/readAuditLog.js +45 -13
  575. package/dist/core/dataLayer/readAuditLog.js.map +1 -1
  576. package/dist/core/dataLayer/schema.js +124 -89
  577. package/dist/core/dataLayer/schema.js.map +1 -1
  578. package/dist/core/dataLayer/schemaDescribe.js +78 -41
  579. package/dist/core/dataLayer/schemaDescribe.js.map +1 -1
  580. package/dist/core/dataLayer/search.js +12 -13
  581. package/dist/core/dataLayer/search.js.map +1 -1
  582. package/dist/core/dataLayer/transaction.js +3 -4
  583. package/dist/core/dataLayer/transaction.js.map +1 -1
  584. package/dist/core/dataLayer/update.js +53 -18
  585. package/dist/core/dataLayer/update.js.map +1 -1
  586. package/dist/core/globals.js +1 -0
  587. package/dist/core/globals.js.map +1 -1
  588. package/dist/core/index.js +4 -1
  589. package/dist/core/index.js.map +1 -1
  590. package/dist/core/json/systemSchema.json +65 -0
  591. package/dist/core/launchServiceScripts/utility/checkNodeVersion.js +3 -0
  592. package/dist/core/launchServiceScripts/utility/checkNodeVersion.js.map +1 -1
  593. package/dist/core/resources/DatabaseTransaction.js +39 -15
  594. package/dist/core/resources/DatabaseTransaction.js.map +1 -1
  595. package/dist/core/resources/ErrorResource.js +3 -1
  596. package/dist/core/resources/ErrorResource.js.map +1 -1
  597. package/dist/core/resources/LMDBTransaction.js +18 -7
  598. package/dist/core/resources/LMDBTransaction.js.map +1 -1
  599. package/dist/core/resources/RecordEncoder.js +38 -38
  600. package/dist/core/resources/RecordEncoder.js.map +1 -1
  601. package/dist/core/resources/RequestTarget.js.map +1 -1
  602. package/dist/core/resources/Resource.js +43 -10
  603. package/dist/core/resources/Resource.js.map +1 -1
  604. package/dist/core/resources/ResourceInterface.js +20 -0
  605. package/dist/core/resources/ResourceInterface.js.map +1 -1
  606. package/dist/core/resources/Resources.js +7 -6
  607. package/dist/core/resources/Resources.js.map +1 -1
  608. package/dist/core/resources/RocksIndexStore.js +3 -0
  609. package/dist/core/resources/RocksIndexStore.js.map +1 -1
  610. package/dist/core/resources/RocksTransactionLogStore.js +10 -3
  611. package/dist/core/resources/RocksTransactionLogStore.js.map +1 -1
  612. package/dist/core/resources/Table.js +306 -116
  613. package/dist/core/resources/Table.js.map +1 -1
  614. package/dist/core/resources/analytics/metadata.js +1 -0
  615. package/dist/core/resources/analytics/metadata.js.map +1 -1
  616. package/dist/core/resources/analytics/read.js +69 -8
  617. package/dist/core/resources/analytics/read.js.map +1 -1
  618. package/dist/core/resources/analytics/write.js +232 -20
  619. package/dist/core/resources/analytics/write.js.map +1 -1
  620. package/dist/core/resources/auditStore.js +16 -8
  621. package/dist/core/resources/auditStore.js.map +1 -1
  622. package/dist/core/resources/blob.js +8 -8
  623. package/dist/core/resources/blob.js.map +1 -1
  624. package/dist/core/resources/dataLoader.js +13 -13
  625. package/dist/core/resources/databases.js +175 -59
  626. package/dist/core/resources/databases.js.map +1 -1
  627. package/dist/core/resources/graphql.js +267 -173
  628. package/dist/core/resources/graphql.js.map +1 -1
  629. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +327 -59
  630. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  631. package/dist/core/resources/indexes/vector.js +14 -0
  632. package/dist/core/resources/indexes/vector.js.map +1 -1
  633. package/dist/core/resources/jsonSchemaTypes.js +78 -0
  634. package/dist/core/resources/jsonSchemaTypes.js.map +1 -0
  635. package/dist/core/resources/loadEnv.js +21 -18
  636. package/dist/core/resources/loadEnv.js.map +1 -1
  637. package/dist/core/resources/login.js +5 -4
  638. package/dist/core/resources/login.js.map +1 -1
  639. package/dist/core/resources/models/Models.js +265 -0
  640. package/dist/core/resources/models/Models.js.map +1 -0
  641. package/dist/core/resources/models/TestBackend.js +71 -0
  642. package/dist/core/resources/models/TestBackend.js.map +1 -0
  643. package/dist/core/resources/models/agentLoop.js +746 -0
  644. package/dist/core/resources/models/agentLoop.js.map +1 -0
  645. package/dist/core/resources/models/analyticsTable.js +166 -0
  646. package/dist/core/resources/models/analyticsTable.js.map +1 -0
  647. package/dist/core/resources/models/backendHelpers.js +109 -0
  648. package/dist/core/resources/models/backendHelpers.js.map +1 -0
  649. package/dist/core/resources/models/backendRegistry.js +54 -0
  650. package/dist/core/resources/models/backendRegistry.js.map +1 -0
  651. package/dist/core/resources/models/bootstrap.js +112 -0
  652. package/dist/core/resources/models/bootstrap.js.map +1 -0
  653. package/dist/core/resources/models/embedHook.js +127 -0
  654. package/dist/core/resources/models/embedHook.js.map +1 -0
  655. package/dist/core/resources/models/types.js +11 -0
  656. package/dist/core/resources/models/types.js.map +1 -0
  657. package/dist/core/resources/openApi.js +74 -34
  658. package/dist/core/resources/openApi.js.map +1 -1
  659. package/dist/core/resources/replayLogs.js +7 -1
  660. package/dist/core/resources/replayLogs.js.map +1 -1
  661. package/dist/core/resources/replayLogsGuards.js +47 -0
  662. package/dist/core/resources/replayLogsGuards.js.map +1 -1
  663. package/dist/core/resources/roles.js +67 -71
  664. package/dist/core/resources/roles.js.map +1 -1
  665. package/dist/core/resources/search.js +349 -140
  666. package/dist/core/resources/search.js.map +1 -1
  667. package/dist/core/resources/tracked.js +23 -15
  668. package/dist/core/resources/tracked.js.map +1 -1
  669. package/dist/core/resources/transaction.js +1 -1
  670. package/dist/core/resources/transaction.js.map +1 -1
  671. package/dist/core/resources/transactionBroadcast.js.map +1 -1
  672. package/dist/core/security/auth.js +34 -25
  673. package/dist/core/security/auth.js.map +1 -1
  674. package/dist/core/security/certificateVerification/crlVerification.js +7 -1
  675. package/dist/core/security/certificateVerification/crlVerification.js.map +1 -1
  676. package/dist/core/security/cryptoHash.js +37 -5
  677. package/dist/core/security/cryptoHash.js.map +1 -1
  678. package/dist/core/security/data_objects/PermissionAttributeResponseObject.js +4 -1
  679. package/dist/core/security/data_objects/PermissionAttributeResponseObject.js.map +1 -1
  680. package/dist/core/security/data_objects/PermissionResponseObject.js +15 -8
  681. package/dist/core/security/data_objects/PermissionResponseObject.js.map +1 -1
  682. package/dist/core/security/data_objects/PermissionTableResponseObject.js +6 -1
  683. package/dist/core/security/data_objects/PermissionTableResponseObject.js.map +1 -1
  684. package/dist/core/security/fastifyAuth.js +131 -22
  685. package/dist/core/security/fastifyAuth.js.map +1 -1
  686. package/dist/core/security/impersonation.js +15 -15
  687. package/dist/core/security/jsLoader.js +18 -5
  688. package/dist/core/security/jsLoader.js.map +1 -1
  689. package/dist/core/security/keys.js +160 -114
  690. package/dist/core/security/keys.js.map +1 -1
  691. package/dist/core/security/permissionsTranslator.js +2 -2
  692. package/dist/core/security/role.js +70 -35
  693. package/dist/core/security/role.js.map +1 -1
  694. package/dist/core/security/tokenAuthentication.js +57 -27
  695. package/dist/core/security/tokenAuthentication.js.map +1 -1
  696. package/dist/core/security/user.js +74 -38
  697. package/dist/core/security/user.js.map +1 -1
  698. package/dist/core/server/DurableSubscriptionsSession.js +71 -55
  699. package/dist/core/server/DurableSubscriptionsSession.js.map +1 -1
  700. package/dist/core/server/REST.js +17 -16
  701. package/dist/core/server/REST.js.map +1 -1
  702. package/dist/core/server/Server.js +1 -1
  703. package/dist/core/server/Server.js.map +1 -1
  704. package/dist/core/server/fastifyRoutes/helpers/getCORSOptions.js +1 -1
  705. package/dist/core/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +1 -1
  706. package/dist/core/server/fastifyRoutes/helpers/getServerOptions.js +1 -1
  707. package/dist/core/server/fastifyRoutes.js +34 -30
  708. package/dist/core/server/fastifyRoutes.js.map +1 -1
  709. package/dist/core/server/graphqlQuerying.js +8 -7
  710. package/dist/core/server/graphqlQuerying.js.map +1 -1
  711. package/dist/core/server/http.js +523 -47
  712. package/dist/core/server/http.js.map +1 -1
  713. package/dist/core/server/itc/serverHandlers.js +66 -15
  714. package/dist/core/server/itc/serverHandlers.js.map +1 -1
  715. package/dist/core/server/jobs/JobObject.js +53 -7
  716. package/dist/core/server/jobs/JobObject.js.map +1 -1
  717. package/dist/core/server/jobs/jobProcess.js +64 -24
  718. package/dist/core/server/jobs/jobProcess.js.map +1 -1
  719. package/dist/core/server/jobs/jobRunner.js +68 -30
  720. package/dist/core/server/jobs/jobRunner.js.map +1 -1
  721. package/dist/core/server/jobs/jobs.js +93 -61
  722. package/dist/core/server/jobs/jobs.js.map +1 -1
  723. package/dist/core/server/loadRootComponents.js +1 -1
  724. package/dist/core/server/middlewareChain.js +252 -0
  725. package/dist/core/server/middlewareChain.js.map +1 -0
  726. package/dist/core/server/mqtt.js +22 -17
  727. package/dist/core/server/mqtt.js.map +1 -1
  728. package/dist/core/server/nodeName.js +46 -13
  729. package/dist/core/server/nodeName.js.map +1 -1
  730. package/dist/core/server/operationsServer.js +106 -33
  731. package/dist/core/server/operationsServer.js.map +1 -1
  732. package/dist/core/server/serverHelpers/Headers.js +2 -0
  733. package/dist/core/server/serverHelpers/Headers.js.map +1 -1
  734. package/dist/core/server/serverHelpers/JSONStream.js +12 -3
  735. package/dist/core/server/serverHelpers/JSONStream.js.map +1 -1
  736. package/dist/core/server/serverHelpers/Request.js +370 -9
  737. package/dist/core/server/serverHelpers/Request.js.map +1 -1
  738. package/dist/core/server/serverHelpers/contentTypes.js +36 -7
  739. package/dist/core/server/serverHelpers/contentTypes.js.map +1 -1
  740. package/dist/core/server/serverHelpers/multipartParser.js +142 -0
  741. package/dist/core/server/serverHelpers/multipartParser.js.map +1 -0
  742. package/dist/core/server/serverHelpers/progressEmitter.js +103 -0
  743. package/dist/core/server/serverHelpers/progressEmitter.js.map +1 -0
  744. package/dist/core/server/serverHelpers/serverHandlers.js +38 -7
  745. package/dist/core/server/serverHelpers/serverHandlers.js.map +1 -1
  746. package/dist/core/server/serverHelpers/serverUtilities.js +97 -93
  747. package/dist/core/server/serverHelpers/serverUtilities.js.map +1 -1
  748. package/dist/core/server/static.js +8 -5
  749. package/dist/core/server/static.js.map +1 -1
  750. package/dist/core/server/status/index.js +3 -3
  751. package/dist/core/server/storageReclamation.js +68 -9
  752. package/dist/core/server/storageReclamation.js.map +1 -1
  753. package/dist/core/server/threads/itc.js +7 -4
  754. package/dist/core/server/threads/itc.js.map +1 -1
  755. package/dist/core/server/threads/manageThreads.js +110 -26
  756. package/dist/core/server/threads/manageThreads.js.map +1 -1
  757. package/dist/core/server/threads/socketRouter.js +8 -271
  758. package/dist/core/server/threads/socketRouter.js.map +1 -1
  759. package/dist/core/server/threads/threadServer.js +360 -118
  760. package/dist/core/server/threads/threadServer.js.map +1 -1
  761. package/dist/core/server/threads/workerProcessGuard.js +114 -0
  762. package/dist/core/server/threads/workerProcessGuard.js.map +1 -0
  763. package/dist/core/server/throttle.js +17 -0
  764. package/dist/core/server/throttle.js.map +1 -1
  765. package/dist/core/sqlTranslator/SelectValidator.js +86 -47
  766. package/dist/core/sqlTranslator/SelectValidator.js.map +1 -1
  767. package/dist/core/sqlTranslator/alasqlFunctionImporter.js +40 -3
  768. package/dist/core/sqlTranslator/alasqlFunctionImporter.js.map +1 -1
  769. package/dist/core/sqlTranslator/deleteTranslator.js +48 -14
  770. package/dist/core/sqlTranslator/deleteTranslator.js.map +1 -1
  771. package/dist/core/sqlTranslator/index.js +69 -30
  772. package/dist/core/sqlTranslator/index.js.map +1 -1
  773. package/dist/core/sqlTranslator/sql_statement_bucket.js +55 -13
  774. package/dist/core/sqlTranslator/sql_statement_bucket.js.map +1 -1
  775. package/dist/core/upgrade/UpgradeObjects.js +37 -4
  776. package/dist/core/upgrade/UpgradeObjects.js.map +1 -1
  777. package/dist/core/upgrade/directives/5-1-0.js +114 -0
  778. package/dist/core/upgrade/directives/5-1-0.js.map +1 -0
  779. package/dist/core/upgrade/directives/directivesController.js +52 -11
  780. package/dist/core/upgrade/directives/directivesController.js.map +1 -1
  781. package/dist/core/upgrade/directivesManager.js +53 -18
  782. package/dist/core/upgrade/directivesManager.js.map +1 -1
  783. package/dist/core/upgrade/upgradePrompt.js +55 -60
  784. package/dist/core/upgrade/upgradePrompt.js.map +1 -1
  785. package/dist/core/upgrade/upgradeUtilities.js +37 -5
  786. package/dist/core/upgrade/upgradeUtilities.js.map +1 -1
  787. package/dist/core/utility/OperationFunctionCaller.js +45 -10
  788. package/dist/core/utility/OperationFunctionCaller.js.map +1 -1
  789. package/dist/core/utility/assignCmdEnvVariables.js +8 -4
  790. package/dist/core/utility/assignCmdEnvVariables.js.map +1 -1
  791. package/dist/core/utility/common_utils.js +140 -79
  792. package/dist/core/utility/common_utils.js.map +1 -1
  793. package/dist/core/utility/environment/environmentManager.js +75 -29
  794. package/dist/core/utility/environment/environmentManager.js.map +1 -1
  795. package/dist/core/utility/environment/systemInformation.js +27 -16
  796. package/dist/core/utility/environment/systemInformation.js.map +1 -1
  797. package/dist/core/utility/errors/commonErrors.js +49 -18
  798. package/dist/core/utility/errors/commonErrors.js.map +1 -1
  799. package/dist/core/utility/errors/hdbError.js +65 -26
  800. package/dist/core/utility/errors/hdbError.js.map +1 -1
  801. package/dist/core/utility/expandEnvVar.js +113 -0
  802. package/dist/core/utility/expandEnvVar.js.map +1 -0
  803. package/dist/core/utility/functions/geo.js +2 -2
  804. package/dist/core/utility/functions/sql/alaSQLExtension.js +1 -1
  805. package/dist/core/utility/globalSchema.js +14 -11
  806. package/dist/core/utility/globalSchema.js.map +1 -1
  807. package/dist/core/utility/hdbTerms.js +54 -1
  808. package/dist/core/utility/hdbTerms.js.map +1 -1
  809. package/dist/core/utility/install/checkJWTTokensExist.js +1 -1
  810. package/dist/core/utility/install/installer.js +136 -73
  811. package/dist/core/utility/install/installer.js.map +1 -1
  812. package/dist/core/utility/installation.js +3 -3
  813. package/dist/core/utility/lmdb/DBIDefinition.js +5 -1
  814. package/dist/core/utility/lmdb/DBIDefinition.js.map +1 -1
  815. package/dist/core/utility/lmdb/DeleteRecordsResponseObject.js +2 -1
  816. package/dist/core/utility/lmdb/DeleteRecordsResponseObject.js.map +1 -1
  817. package/dist/core/utility/lmdb/InsertRecordsResponseObject.js +2 -1
  818. package/dist/core/utility/lmdb/InsertRecordsResponseObject.js.map +1 -1
  819. package/dist/core/utility/lmdb/OpenDBIObject.js +68 -6
  820. package/dist/core/utility/lmdb/OpenDBIObject.js.map +1 -1
  821. package/dist/core/utility/lmdb/OpenEnvironmentObject.js +52 -4
  822. package/dist/core/utility/lmdb/OpenEnvironmentObject.js.map +1 -1
  823. package/dist/core/utility/lmdb/UpdateRecordsResponseObject.js +2 -1
  824. package/dist/core/utility/lmdb/UpdateRecordsResponseObject.js.map +1 -1
  825. package/dist/core/utility/lmdb/UpsertRecordsResponseObject.js +2 -1
  826. package/dist/core/utility/lmdb/UpsertRecordsResponseObject.js.map +1 -1
  827. package/dist/core/utility/lmdb/cleanLMDBMap.js +44 -7
  828. package/dist/core/utility/lmdb/cleanLMDBMap.js.map +1 -1
  829. package/dist/core/utility/lmdb/commonUtility.js +46 -17
  830. package/dist/core/utility/lmdb/commonUtility.js.map +1 -1
  831. package/dist/core/utility/lmdb/deleteUtility.js +51 -16
  832. package/dist/core/utility/lmdb/deleteUtility.js.map +1 -1
  833. package/dist/core/utility/lmdb/environmentUtility.js +91 -51
  834. package/dist/core/utility/lmdb/environmentUtility.js.map +1 -1
  835. package/dist/core/utility/lmdb/searchCursorFunctions.js +46 -14
  836. package/dist/core/utility/lmdb/searchCursorFunctions.js.map +1 -1
  837. package/dist/core/utility/lmdb/searchUtility.js +91 -55
  838. package/dist/core/utility/lmdb/searchUtility.js.map +1 -1
  839. package/dist/core/utility/lmdb/terms.js +12 -22
  840. package/dist/core/utility/lmdb/terms.js.map +1 -1
  841. package/dist/core/utility/lmdb/writeUtility.js +61 -28
  842. package/dist/core/utility/lmdb/writeUtility.js.map +1 -1
  843. package/dist/core/utility/logging/harper_logger.js +177 -82
  844. package/dist/core/utility/logging/harper_logger.js.map +1 -1
  845. package/dist/core/utility/logging/logRotator.js +67 -32
  846. package/dist/core/utility/logging/logRotator.js.map +1 -1
  847. package/dist/core/utility/logging/logger.js +4 -4
  848. package/dist/core/utility/logging/readLog.js +54 -17
  849. package/dist/core/utility/logging/readLog.js.map +1 -1
  850. package/dist/core/utility/logging/transactionLog.js +51 -16
  851. package/dist/core/utility/logging/transactionLog.js.map +1 -1
  852. package/dist/core/utility/mount_hdb.js +54 -17
  853. package/dist/core/utility/mount_hdb.js.map +1 -1
  854. package/dist/core/utility/npmUtilities.js +54 -19
  855. package/dist/core/utility/npmUtilities.js.map +1 -1
  856. package/dist/core/utility/operation_authorization.js +135 -86
  857. package/dist/core/utility/operation_authorization.js.map +1 -1
  858. package/dist/core/utility/packageUtils.js +7 -17
  859. package/dist/core/utility/packageUtils.js.map +1 -1
  860. package/dist/core/utility/password.js +2 -2
  861. package/dist/core/utility/processManagement/processManagement.js +2 -2
  862. package/dist/core/utility/processManagement/servicesConfig.js +1 -1
  863. package/dist/core/utility/signalling.js +51 -16
  864. package/dist/core/utility/signalling.js.map +1 -1
  865. package/dist/core/utility/watcherFallback.js +73 -0
  866. package/dist/core/utility/watcherFallback.js.map +1 -0
  867. package/dist/core/validation/analyticsValidator.js +80 -0
  868. package/dist/core/validation/analyticsValidator.js.map +1 -0
  869. package/dist/core/validation/bulkDeleteValidator.js +49 -11
  870. package/dist/core/validation/bulkDeleteValidator.js.map +1 -1
  871. package/dist/core/validation/check_permissions.js +38 -3
  872. package/dist/core/validation/check_permissions.js.map +1 -1
  873. package/dist/core/validation/common_validators.js +62 -31
  874. package/dist/core/validation/common_validators.js.map +1 -1
  875. package/dist/core/validation/configValidator.js +189 -54
  876. package/dist/core/validation/configValidator.js.map +1 -1
  877. package/dist/core/validation/deleteValidator.js +49 -11
  878. package/dist/core/validation/deleteValidator.js.map +1 -1
  879. package/dist/core/validation/fileLoadValidator.js +67 -32
  880. package/dist/core/validation/fileLoadValidator.js.map +1 -1
  881. package/dist/core/validation/insertValidator.js +48 -10
  882. package/dist/core/validation/insertValidator.js.map +1 -1
  883. package/dist/core/validation/installValidator.js +47 -10
  884. package/dist/core/validation/installValidator.js.map +1 -1
  885. package/dist/core/validation/readLogValidator.js +60 -22
  886. package/dist/core/validation/readLogValidator.js.map +1 -1
  887. package/dist/core/validation/role_validation.js +55 -19
  888. package/dist/core/validation/role_validation.js.map +1 -1
  889. package/dist/core/validation/schemaMetadataValidator.js +11 -12
  890. package/dist/core/validation/schemaMetadataValidator.js.map +1 -1
  891. package/dist/core/validation/searchValidator.js +82 -43
  892. package/dist/core/validation/searchValidator.js.map +1 -1
  893. package/dist/core/validation/transactionLogValidator.js +52 -17
  894. package/dist/core/validation/transactionLogValidator.js.map +1 -1
  895. package/dist/core/validation/user_validation.js +38 -6
  896. package/dist/core/validation/user_validation.js.map +1 -1
  897. package/dist/core/validation/validationWrapper.js +4 -5
  898. package/dist/core/validation/validationWrapper.js.map +1 -1
  899. package/dist/licensing/usageLicensing.js +30 -21
  900. package/dist/licensing/usageLicensing.js.map +1 -1
  901. package/dist/replication/knownNodes.js +171 -41
  902. package/dist/replication/knownNodes.js.map +1 -1
  903. package/dist/replication/replicationConnection.js +441 -85
  904. package/dist/replication/replicationConnection.js.map +1 -1
  905. package/dist/replication/replicator.js +56 -28
  906. package/dist/replication/replicator.js.map +1 -1
  907. package/dist/replication/setNode.js +24 -4
  908. package/dist/replication/setNode.js.map +1 -1
  909. package/dist/replication/subscriptionManager.js +195 -16
  910. package/dist/replication/subscriptionManager.js.map +1 -1
  911. package/dist/security/certificate.js +41 -6
  912. package/dist/security/certificate.js.map +1 -1
  913. package/dist/security/sshKeyOperations.js +35 -2
  914. package/dist/security/sshKeyOperations.js.map +1 -1
  915. package/licensing/usageLicensing.ts +32 -37
  916. package/npm-shrinkwrap.json +9032 -4334
  917. package/package.json +17 -12
  918. package/replication/DESIGN.md +139 -0
  919. package/replication/knownNodes.ts +165 -44
  920. package/replication/replicationConnection.ts +475 -92
  921. package/replication/replicator.ts +54 -27
  922. package/replication/setNode.ts +29 -10
  923. package/replication/subscriptionManager.ts +227 -21
  924. package/security/certificate.ts +8 -4
  925. package/security/sshKeyOperations.ts +1 -1
  926. package/static/defaultConfig.yaml +1 -0
  927. package/studio/web/assets/{index-CybLScHg.js → index-Dqr9oVhe.js} +5 -5
  928. package/studio/web/assets/index-Dqr9oVhe.js.map +1 -0
  929. package/studio/web/assets/{index.lazy-DKx5-iXF.js → index.lazy-CpKcKb7M.js} +2 -2
  930. package/studio/web/assets/{index.lazy-DKx5-iXF.js.map → index.lazy-CpKcKb7M.js.map} +1 -1
  931. package/studio/web/assets/{profile-BOjes0Wl.js → profile-C1cujdsg.js} +2 -2
  932. package/studio/web/assets/{profile-BOjes0Wl.js.map → profile-C1cujdsg.js.map} +1 -1
  933. package/studio/web/assets/{status-EWKUIrjT.js → status-CTiIIQlY.js} +2 -2
  934. package/studio/web/assets/{status-EWKUIrjT.js.map → status-CTiIIQlY.js.map} +1 -1
  935. package/studio/web/index.html +1 -1
  936. package/core/bin/cliOperations.js +0 -159
  937. package/core/bin/lite.js +0 -5
  938. package/core/bin/stop.js +0 -21
  939. package/core/dataLayer/harperBridge/BridgeMethods.js +0 -85
  940. package/core/utility/globalSchema.js +0 -35
  941. package/core/utility/lmdb/OpenDBIObject.js +0 -31
  942. package/studio/web/assets/index-CybLScHg.js.map +0 -1
@@ -177,6 +177,8 @@ export const SYSTEM_TABLE_NAMES = {
177
177
  TABLE_TABLE_NAME: 'hdb_table',
178
178
  USER_TABLE_NAME: 'hdb_user',
179
179
  INFO_TABLE_NAME: 'hdb_info',
180
+ DEPLOYMENT_TABLE_NAME: 'hdb_deployment',
181
+ AGENT_SESSION_TABLE_NAME: 'hdb_agent_session',
180
182
  } as const;
181
183
 
182
184
  /** Hash attribute for the system info table */
@@ -297,6 +299,16 @@ export const OPERATIONS_ENUM = {
297
299
  GET_STATUS: 'get_status',
298
300
  SET_STATUS: 'set_status',
299
301
  CLEAR_STATUS: 'clear_status',
302
+ LIST_DEPLOYMENTS: 'list_deployments',
303
+ GET_DEPLOYMENT: 'get_deployment',
304
+ GET_DEPLOYMENT_PAYLOAD: 'get_deployment_payload',
305
+ DELETE_DEPLOYMENT_PAYLOAD: 'delete_deployment_payload',
306
+ AGENT_PROMPT: 'agent_prompt',
307
+ GET_AGENT_SESSION: 'get_agent_session',
308
+ LIST_AGENT_SESSIONS: 'list_agent_sessions',
309
+ CANCEL_AGENT_RUN: 'cancel_agent_run',
310
+ APPROVE_AGENT_ACTION: 'approve_agent_action',
311
+ SET_AGENT_CONFIG: 'set_agent_config',
300
312
  } as const;
301
313
 
302
314
  /** Defines valid file types that we are able to handle in 'import_from_s3' ops */
@@ -337,9 +349,12 @@ export const SERVICE_ACTIONS_ENUM = {
337
349
  UPGRADE: 'upgrade',
338
350
  HELP: 'help',
339
351
  STATUS: 'status',
352
+ LOGIN: 'login',
353
+ LOGOUT: 'logout',
340
354
  OPERATION: 'operation',
341
355
  RENEWCERTS: 'renew-certs',
342
356
  COPYDB: 'copy-db',
357
+ MCP: 'mcp',
343
358
  } as const;
344
359
 
345
360
  /** describes the Geo Conversion types */
@@ -424,6 +439,8 @@ export const LEGACY_CONFIG_PARAMS = {
424
439
  */
425
440
  export const CONFIG_PARAMS = {
426
441
  ANALYTICS_AGGREGATEPERIOD: 'analytics_aggregatePeriod',
442
+ ANALYTICS_AGGREGATERETENTIONMS: 'analytics_aggregateRetentionMs',
443
+ ANALYTICS_RAWRETENTIONMS: 'analytics_rawRetentionMs',
427
444
  ANALYTICS_REPLICATE: 'analytics_replicate',
428
445
  ANALYTICS_STORAGEINTERVAL: 'analytics_storageInterval',
429
446
  AUTHENTICATION_AUTHORIZELOCAL: 'authentication_authorizeLocal',
@@ -514,6 +531,7 @@ export const CONFIG_PARAMS = {
514
531
  OPERATIONSAPI_NETWORK_SECUREPORT: 'operationsApi_network_securePort',
515
532
  OPERATIONSAPI_NETWORK_HTTP2: 'operationsApi_network_http2',
516
533
  OPERATIONSAPI_NETWORK_MAXREQUESTBODYSIZE: 'operationsApi_network_maxRequestBodySize',
534
+ OPERATIONSAPI_COMPONENTFILE_MAXSIZE: 'operationsApi_componentFile_maxSize',
517
535
  OPERATIONSAPI_TLS: 'operationsApi_tls',
518
536
  OPERATIONSAPI_TLS_CERTIFICATE: 'operationsApi_tls_certificate',
519
537
  OPERATIONSAPI_TLS_PRIVATEKEY: 'operationsApi_tls_privateKey',
@@ -521,6 +539,34 @@ export const CONFIG_PARAMS = {
521
539
  OPERATIONSAPI_NETWORK_TIMEOUT: 'operationsApi_network_timeout',
522
540
  OPERATIONSAPI_SYSINFO_NETWORK: 'operationsApi_sysInfo_network',
523
541
  OPERATIONSAPI_SYSINFO_DISK: 'operationsApi_sysInfo_disk',
542
+ MCP_OPERATIONS_MOUNTPATH: 'mcp_operations_mountPath',
543
+ MCP_OPERATIONS_ALLOW: 'mcp_operations_allow',
544
+ MCP_OPERATIONS_DENY: 'mcp_operations_deny',
545
+ MCP_OPERATIONS_MAXTOOLS: 'mcp_operations_maxTools',
546
+ MCP_OPERATIONS_RATELIMIT_PERTOOLPERSECOND: 'mcp_operations_rateLimit_perToolPerSecond',
547
+ MCP_OPERATIONS_RATELIMIT_PERTOOLBURST: 'mcp_operations_rateLimit_perToolBurst',
548
+ MCP_OPERATIONS_RATELIMIT_SESSIONCONCURRENCY: 'mcp_operations_rateLimit_sessionConcurrency',
549
+ MCP_OPERATIONS_RATELIMIT_SESSIONPERSECOND: 'mcp_operations_rateLimit_sessionPerSecond',
550
+ MCP_APPLICATION_MOUNTPATH: 'mcp_application_mountPath',
551
+ MCP_APPLICATION_ALLOW: 'mcp_application_allow',
552
+ MCP_APPLICATION_DENY: 'mcp_application_deny',
553
+ MCP_APPLICATION_MAXTOOLS: 'mcp_application_maxTools',
554
+ MCP_APPLICATION_SEARCHMAXRESULTS: 'mcp_application_searchMaxResults',
555
+ MCP_APPLICATION_RATELIMIT_PERTOOLPERSECOND: 'mcp_application_rateLimit_perToolPerSecond',
556
+ MCP_APPLICATION_RATELIMIT_PERTOOLBURST: 'mcp_application_rateLimit_perToolBurst',
557
+ MCP_APPLICATION_RATELIMIT_SESSIONCONCURRENCY: 'mcp_application_rateLimit_sessionConcurrency',
558
+ MCP_APPLICATION_RATELIMIT_SESSIONPERSECOND: 'mcp_application_rateLimit_sessionPerSecond',
559
+ MCP_SESSION_IDLETIMEOUTSECONDS: 'mcp_session_idleTimeoutSeconds',
560
+ MCP_SESSION_ALLOWCLIENTDELETE: 'mcp_session_allowClientDelete',
561
+ AGENT_ENABLED: 'agent_enabled',
562
+ AGENT_PROVIDER: 'agent_provider',
563
+ AGENT_MODEL: 'agent_model',
564
+ AGENT_MAXTURNS: 'agent_maxTurns',
565
+ AGENT_MAXCOSTUSD: 'agent_maxCostUsd',
566
+ AGENT_AUTOAPPROVE: 'agent_autoApprove',
567
+ AGENT_ALLOWDESTRUCTIVE: 'agent_allowDestructive',
568
+ AGENT_USER: 'agent_user',
569
+ AGENT_COMPONENTSSCOPE: 'agent_componentsScope',
524
570
  REPLICATION: 'replication',
525
571
  REPLICATION_HOSTNAME: 'replication_hostname',
526
572
  REPLICATION_URL: 'replication_url',
@@ -549,18 +595,21 @@ export const CONFIG_PARAMS = {
549
595
  REPLICATION_BLOBCONCURRENCY: 'replication_blobConcurrency',
550
596
  REPLICATION_MAXPAYLOAD: 'replication_maxPayload',
551
597
  REPLICATION_RECORDCONCURRENCY: 'replication_recordConcurrency',
598
+ REPLICATION_PINGINTERVAL: 'replication_pingInterval',
599
+ REPLICATION_PINGTIMEOUT: 'replication_pingTimeout',
552
600
  ROOTPATH: 'rootPath',
553
601
  SERIALIZATION_BIGINT: 'serialization_bigInt',
554
602
  STORAGE_WRITEASYNC: 'storage_writeAsync',
555
603
  STORAGE_OVERLAPPINGSYNC: 'storage_overlappingSync',
556
604
  STORAGE_CACHING: 'storage_caching',
557
- STORAGE_RANDOMACCESSFIELDS: 'storage_randomAccessFields',
558
605
  STORAGE_COMPRESSION: 'storage_compression',
559
606
  STORAGE_NOREADAHEAD: 'storage_noReadAhead',
607
+ STORAGE_RANDOMACCESSFIELDS: 'storage_randomAccessFields',
560
608
  STORAGE_PREFETCHWRITES: 'storage_prefetchWrites',
561
609
  STORAGE_ENCRYPTION: 'storage_encryption',
562
610
  STORAGE_MAXTRANSACTIONQUEUETIME: 'storage_maxTransactionQueueTime',
563
611
  STORAGE_MAXTRANSACTIONOPENTIME: 'storage_maxTransactionOpenTime',
612
+ STORAGE_MAX_READ_TRANSACTION_OPEN_TIME: 'storage_maxReadTransactionOpenTime',
564
613
  STORAGE_DEBUGLONGTRANSACTIONS: 'storage_debugLongTransactions',
565
614
  STORAGE_PATH: 'storage_path',
566
615
  STORAGE_BLOBPATHS: 'storage_blobPaths',
@@ -578,6 +627,7 @@ export const CONFIG_PARAMS = {
578
627
  STORAGE_RECLAMATION_INTERVAL: 'storage_reclamation_interval',
579
628
  STORAGE_RECLAMATION_EVICTIONFACTOR: 'storage_reclamation_evictionFactor',
580
629
  STORAGE_ENGINE: 'storage_engine',
630
+ STORAGE_READONLY: 'storage_readOnly',
581
631
  STORAGE_ROCKS_BLOCKCACHESIZE: 'storage_rocks_blockCacheSize',
582
632
  STORAGE_ROCKS_WRITEBUFFERMANAGERSIZE: 'storage_rocks_writeBufferManagerSize',
583
633
  STORAGE_ROCKS_WRITEBUFFERMANAGERCOSTTOCACHE: 'storage_rocks_writeBufferManagerCostToCache',
@@ -597,6 +647,7 @@ export const CONFIG_PARAMS = {
597
647
  TLS_PRIVATEKEY: 'tls_privateKey',
598
648
  TLS_CERTIFICATEAUTHORITY: 'tls_certificateAuthority',
599
649
  TLS_CIPHERS: 'tls_ciphers',
650
+ TLS_UNIXDOMAINSOCKETS: 'tls_unixDomainSockets',
600
651
  TLS: 'tls',
601
652
  CLONED: 'cloned',
602
653
  NODE_HOSTNAME: 'node_hostname',
@@ -803,6 +854,8 @@ export const ITC_EVENT_TYPES = {
803
854
  START_JOB: 'start_job',
804
855
  COMPONENT_STATUS_REQUEST: 'component_status_request',
805
856
  COMPONENT_STATUS_RESPONSE: 'component_status_response',
857
+ RESOURCE_OPENAPI_REQUEST: 'resource_openapi_request',
858
+ RESOURCE_OPENAPI_RESPONSE: 'resource_openapi_response',
806
859
  } as const;
807
860
 
808
861
  /** Supported thread types */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const env = require('../../utility/environment/environmentManager.js');
3
+ const env = require('../../utility/environment/environmentManager.ts');
4
4
  env.initSync();
5
5
  const fs = require('fs-extra');
6
6
  const path = require('path');
@@ -1,42 +1,42 @@
1
1
  'use strict';
2
2
 
3
- const os = require('os');
4
- const inquirer = require('inquirer');
5
- const fs = require('fs-extra');
6
- const PropertiesReader = require('properties-reader');
7
- const chalk = require('chalk');
8
- const path = require('path');
3
+ import * as os from 'os';
4
+ import inquirer from 'inquirer';
5
+ import * as fs from 'fs-extra';
6
+ import PropertiesReader from 'properties-reader';
7
+ import chalk from 'chalk';
8
+ import * as path from 'path';
9
9
  let ora; // Will be loaded dynamically as it's an ES module
10
- const YAML = require('yaml');
11
-
12
- const hdbLogger = require('../logging/harper_logger.js');
13
- const envManager = require('../environment/environmentManager.js');
14
- const hdbUtils = require('../common_utils.js');
15
- const assignCMDENVVariables = require('../../utility/assignCmdEnvVariables.js');
16
- const hdbInfoController = require('../../dataLayer/hdbInfoController.js');
17
- const { packageJson } = require('../packageUtils.js');
18
- const hdbTerms = require('../hdbTerms.ts');
10
+ import * as YAML from 'yaml';
11
+
12
+ import * as hdbLogger from '../logging/harper_logger.ts';
13
+ import * as envManager from '../environment/environmentManager.ts';
14
+ import * as hdbUtils from '../common_utils.ts';
15
+
16
+ import * as hdbInfoController from '../../dataLayer/hdbInfoController.ts';
17
+ import { packageJson } from '../packageUtils.js';
18
+ import * as hdbTerms from '../hdbTerms.ts';
19
19
  const { CONFIG_PARAMS } = hdbTerms;
20
- const installValidator = require('../../validation/installValidator.js');
21
- const mountHdb = require('../mount_hdb.js');
22
- const configUtils = require('../../config/configUtils.js');
23
- const userOps = require('../../security/user.ts');
24
- const roleOps = require('../../security/role.js');
25
- const checkJwtTokens = require('./checkJWTTokensExist.js');
26
- const globalSchema = require('../globalSchema.js');
27
- const promisify = require('util').promisify;
20
+ import installValidator from '../../validation/installValidator.ts';
21
+ import mountHdb from '../mount_hdb.ts';
22
+ import * as configUtils from '../../config/configUtils.js';
23
+ import * as userOps from '../../security/user.ts';
24
+ import * as roleOps from '../../security/role.ts';
25
+ import checkJwtTokens from './checkJWTTokensExist.js';
26
+ import * as globalSchema from '../globalSchema.ts';
27
+ import { promisify } from 'util';
28
28
  const pSchemaToGlobal = promisify(globalSchema.setSchemaDataToGlobal);
29
- const keys = require('../../security/keys.js');
29
+ import * as keys from '../../security/keys.ts';
30
30
 
31
31
  // Removes the color formatting that was being applied to the prompt answer.
32
32
  const PROMPT_ANSWER_TRANSFORMER = (answer) => answer;
33
33
  const HDB_PROMPT_MSG = (msg) => chalk.magenta.bold(msg);
34
34
  const LINE_BREAK = os.EOL;
35
35
  const PROMPT_PREFIX = '';
36
- const INSTALL_START_MSG = 'Starting Harper Pro install...';
37
- const INSTALL_COMPLETE_MSG = 'Harper Pro installation was successful.';
38
- const UPGRADE_MSG = 'An out of date version of Harper Pro is already installed.';
39
- const HDB_EXISTS_MSG = 'It appears that Harper Pro is already installed. Exiting install...';
36
+ const INSTALL_START_MSG = 'Starting Harper install...';
37
+ const INSTALL_COMPLETE_MSG = 'Harper installation was successful.';
38
+ const UPGRADE_MSG = 'An out of date version of Harper is already installed.';
39
+ const HDB_EXISTS_MSG = 'It appears that Harper is already installed. Exiting install...';
40
40
  const ABORT_MSG = 'Aborting install';
41
41
  const PROCESS_HOME = os.homedir();
42
42
  const DEFAULT_HDB_ROOT = path.join(PROCESS_HOME, hdbTerms.HDB_ROOT_DIR_NAME);
@@ -61,31 +61,32 @@ const DEV_MODE_CONFIG = {
61
61
 
62
62
  // Install prompts
63
63
  const INSTALL_PROMPTS = {
64
- DESTINATION: 'Please enter a destination for Harper Pro:',
64
+ DESTINATION: 'Please enter a destination for Harper:',
65
65
  HDB_USERNAME: 'Please enter a username for the administrative user:',
66
66
  HDB_PASS: 'Please enter a password for the administrative user:',
67
- NODE_HOSTNAME: 'Please enter the hostname for the Harper Pro instance:',
67
+ NODE_HOSTNAME: 'Please enter the hostname for the Harper instance:',
68
68
  DEFAULTS_MODE: 'Default Config - dev (easy access/debugging) or prod (security/performance): (dev/prod)',
69
69
  };
70
70
 
71
+ import assignCMDENVVariables from '../assignCmdEnvVariables.ts';
71
72
  const cfgEnv = assignCMDENVVariables([hdbTerms.INSTALL_PROMPTS.HDB_CONFIG]);
72
73
  let hdbRoot = undefined;
73
74
  let conditionalRollback = false;
74
75
  let ignoreExisting = false;
75
76
 
76
77
  /**
77
- * This module orchestrates the installation of Harper Pro.
78
+ * This module orchestrates the installation of Harper.
78
79
  */
79
80
 
80
- module.exports = { install, updateConfigEnv, setIgnoreExisting };
81
+ export { install, updateConfigEnv, setIgnoreExisting };
81
82
  install.createSuperUser = createSuperUser;
82
83
 
83
84
  /**
84
- * Calls all the functions that are needed to install Harper Pro.
85
+ * Calls all the functions that are needed to install Harper.
85
86
  * @returns {Promise<void>}
86
87
  */
87
88
  async function install() {
88
- console.log(HDB_PROMPT_MSG(LINE_BREAK + INSTALL_START_MSG + LINE_BREAK));
89
+ console.error(HDB_PROMPT_MSG(LINE_BREAK + INSTALL_START_MSG + LINE_BREAK));
89
90
  hdbLogger.notify(INSTALL_START_MSG);
90
91
 
91
92
  let configFromFile;
@@ -126,7 +127,7 @@ async function install() {
126
127
  throw validationError.message;
127
128
  }
128
129
 
129
- // Check for an existing installation of Harper Pro.
130
+ // Check for an existing installation of Harper.
130
131
  await checkForExistingInstall();
131
132
 
132
133
  // Prompt the user with params needed for install.
@@ -146,10 +147,8 @@ async function install() {
146
147
  if (
147
148
  !ignoreExisting &&
148
149
  !cfgEnv[hdbTerms.INSTALL_PROMPTS.HDB_CONFIG] &&
149
- (await fs.pathExists(
150
- path.join(hdbRoot, hdbTerms.HARPER_CONFIG_FILE) ||
151
- (await fs.pathExists(path.join(hdbRoot, hdbTerms.HDB_CONFIG_FILE)))
152
- ))
150
+ ((await fs.pathExists(path.join(hdbRoot, hdbTerms.HARPER_CONFIG_FILE))) ||
151
+ (await fs.pathExists(path.join(hdbRoot, hdbTerms.HDB_CONFIG_FILE))))
153
152
  ) {
154
153
  console.error(HDB_EXISTS_MSG);
155
154
  process.exit();
@@ -171,7 +170,7 @@ async function install() {
171
170
  envManager.setHdbBasePath(hdbRoot);
172
171
  envManager.setProperty(hdbTerms.CONFIG_PARAMS.STORAGE_ENGINE, installParams.STORAGE_ENGINE);
173
172
 
174
- // Creates the Harper Pro project folder structure and the LMDB environments/dbis.
173
+ // Creates the Harper project folder structure and the LMDB environments/dbis.
175
174
  await mountHdb(hdbRoot);
176
175
 
177
176
  // Creates the boot prop file in user home dir. Boot prop file contains location of hdb config.
@@ -180,7 +179,7 @@ async function install() {
180
179
  // Create the harperdb-config.yaml file
181
180
  await createConfigFile(installParams);
182
181
 
183
- // At this point there should be config and Harper Pro folders so re-init log settings to update
182
+ // At this point there should be config and Harper folders so re-init log settings to update
184
183
  hdbLogger.initLogSettings(true);
185
184
 
186
185
  // Create the super user.
@@ -190,7 +189,7 @@ async function install() {
190
189
  await keys.updateConfigCert();
191
190
  await keys.generateCertsKeys();
192
191
 
193
- // Insert current version of Harper Pro into versions table.
192
+ // Insert current version of Harper into versions table.
194
193
  await insertHdbVersionInfo();
195
194
 
196
195
  // Checks that the RSA keys exist for JWT generation, if not we create them.
@@ -198,15 +197,15 @@ async function install() {
198
197
 
199
198
  spinner.stop();
200
199
 
201
- console.log(HDB_PROMPT_MSG(LINE_BREAK + INSTALL_COMPLETE_MSG + LINE_BREAK));
200
+ console.error(HDB_PROMPT_MSG(LINE_BREAK + INSTALL_COMPLETE_MSG + LINE_BREAK));
202
201
  hdbLogger.notify(INSTALL_COMPLETE_MSG);
203
202
  }
204
203
 
205
204
  function getConfigFromFile() {
206
205
  let doc = YAML.parseDocument(fs.readFileSync(cfgEnv[hdbTerms.INSTALL_PROMPTS.HDB_CONFIG], 'utf8'), {
207
206
  simpleKeys: true,
208
- });
209
- const flatCfg = configUtils.flattenConfig(doc.toJSON());
207
+ } as any);
208
+ const flatCfg: any = configUtils.flattenConfig(doc.toJSON()) ?? {};
210
209
 
211
210
  // This ensures that if config file has rootpath, rootpath install prompt uses this value
212
211
  if (flatCfg[hdbTerms.CONFIG_PARAMS.ROOTPATH.toLowerCase()])
@@ -216,7 +215,7 @@ function getConfigFromFile() {
216
215
  }
217
216
 
218
217
  /**
219
- * Asks the user the questions needed to get Harper Pro installed.
218
+ * Asks the user the questions needed to get Harper installed.
220
219
  * If cmd/env vats are passed to install the prompts will not be asked.
221
220
  * @param promptOverride - an object that contains all the params needed to install.
222
221
  * @returns {Promise<*>}
@@ -321,10 +320,10 @@ async function installPrompts(promptOverride) {
321
320
  function displayCmdEnvVar(value, msg) {
322
321
  if (value !== undefined) {
323
322
  if (msg.includes('password')) {
324
- console.log(`${HDB_PROMPT_MSG(msg)} ${chalk.gray('[hidden]')}`);
323
+ console.error(`${HDB_PROMPT_MSG(msg)} ${chalk.gray('[hidden]')}`);
325
324
  hdbLogger.trace(`${HDB_PROMPT_MSG(msg)} [hidden]`);
326
325
  } else {
327
- console.log(`${HDB_PROMPT_MSG(msg)} ${value}`);
326
+ console.error(`${HDB_PROMPT_MSG(msg)} ${value}`);
328
327
  hdbLogger.trace(`${HDB_PROMPT_MSG(msg)} ${value}`);
329
328
  }
330
329
  return false;
@@ -383,7 +382,7 @@ function checkForPromptOverride() {
383
382
  }
384
383
 
385
384
  /**
386
- * Checks for an existing install of Harper Pro and prompts user accordingly.
385
+ * Checks for an existing install of Harper and prompts user accordingly.
387
386
  * @returns {Promise<void>}
388
387
  */
389
388
  async function checkForExistingInstall() {
@@ -411,11 +410,11 @@ async function checkForExistingInstall() {
411
410
  const upgradeObj = await hdbInfoController.getVersionUpdateInfo();
412
411
  if (upgradeObj) {
413
412
  const upgradeToVerMsg = `Please use \`harperdb upgrade\` to update to ${packageJson.version}. Exiting install...`;
414
- console.log(LINE_BREAK + chalk.magenta.bold(UPGRADE_MSG));
415
- console.log(chalk.magenta.bold(upgradeToVerMsg));
413
+ console.error(LINE_BREAK + chalk.magenta.bold(UPGRADE_MSG));
414
+ console.error(chalk.magenta.bold(upgradeToVerMsg));
416
415
  hdbLogger.error(upgradeToVerMsg);
417
416
  } else {
418
- console.log(LINE_BREAK + chalk.magenta.bold(HDB_EXISTS_MSG));
417
+ console.error(LINE_BREAK + chalk.magenta.bold(HDB_EXISTS_MSG));
419
418
  hdbLogger.error(HDB_EXISTS_MSG);
420
419
  }
421
420
  process.exit(0);
@@ -442,9 +441,28 @@ async function createBootPropertiesFile() {
442
441
  const homeDirPath = path.join(homeDir, hdbTerms.HDB_HOME_DIR_NAME);
443
442
  const homeDirKeysDirPath = path.join(homeDirPath, hdbTerms.LICENSE_KEY_DIR_NAME);
444
443
  const propsFilePath = path.join(homeDirPath, hdbTerms.BOOT_PROPS_FILE_NAME);
445
- // if the properties file already exists, and we have an explicit ROOTPATH, we don't overwrite the existing
446
- // properties file
447
- if (!fs.existsSync(propsFilePath) || !hdbUtils.getEnvCliRootPath()) {
444
+ // Write boot props when: file doesn't exist, OR no explicit ROOTPATH was given (caller
445
+ // accepts whatever path this install produces), OR the existing file points to a
446
+ // settings_path that no longer exists (stale from a deleted previous install dir).
447
+ let shouldWriteBootProps = !fs.existsSync(propsFilePath) || !hdbUtils.getEnvCliRootPath();
448
+ if (!shouldWriteBootProps) {
449
+ try {
450
+ const content = fs.readFileSync(propsFilePath, 'utf8');
451
+ // Anchor to line start (with /m) to avoid matching commented-out lines.
452
+ const match = content.match(/^[ \t]*settings_path\s*=\s*(.+)/m);
453
+ if (match) {
454
+ const settingsPath = match[1].trim().replace(/^["']|["']$/g, '');
455
+ if (!fs.existsSync(settingsPath)) {
456
+ shouldWriteBootProps = true;
457
+ }
458
+ } else {
459
+ shouldWriteBootProps = true;
460
+ }
461
+ } catch {
462
+ shouldWriteBootProps = true;
463
+ }
464
+ }
465
+ if (shouldWriteBootProps) {
448
466
  try {
449
467
  fs.mkdirpSync(homeDirPath, { mode: hdbTerms.HDB_FILE_PERMISSIONS });
450
468
  fs.mkdirpSync(homeDirKeysDirPath, { mode: hdbTerms.HDB_FILE_PERMISSIONS });
@@ -469,13 +487,13 @@ async function createBootPropertiesFile() {
469
487
  }
470
488
 
471
489
  /**
472
- * Calls the util function that creates the Harper Pro config file.
490
+ * Calls the util function that creates the Harper config file.
473
491
  * If an error occurs during the create install is rolled backed.
474
492
  * @param installParams
475
493
  * @returns {Promise<void>}
476
494
  */
477
495
  async function createConfigFile(installParams) {
478
- hdbLogger.trace('Creating Harper Pro config file');
496
+ hdbLogger.trace('Creating Harper config file');
479
497
  const args = assignCMDENVVariables(Object.keys(hdbTerms.CONFIG_PARAM_MAP), true);
480
498
  Object.assign(args, installParams);
481
499
 
@@ -509,6 +527,12 @@ async function createConfigFile(installParams) {
509
527
  if (args[cfg.toLowerCase()] === undefined) args[cfg] = DEV_MODE_CONFIG[cfg];
510
528
  }
511
529
  } else {
530
+ const defaultsMode = installParams[hdbTerms.INSTALL_PROMPTS.DEFAULTS_MODE];
531
+ if (defaultsMode !== undefined && defaultsMode !== 'prod') {
532
+ const warn = `DEFAULTS_MODE value "${defaultsMode}" is not recognized (expected "dev" or "prod"). Using prod defaults.`;
533
+ console.error(chalk.yellow.bold(`Warning: ${warn}`));
534
+ hdbLogger.warn(warn);
535
+ }
512
536
  if (args[CONFIG_PARAMS.OPERATIONSAPI_NETWORK_PORT.toLowerCase()])
513
537
  args[CONFIG_PARAMS.OPERATIONSAPI_NETWORK_SECUREPORT] = null;
514
538
  if (args[CONFIG_PARAMS.HTTP_PORT.toLowerCase()]) args[CONFIG_PARAMS.HTTP_SECUREPORT] = null;
@@ -516,7 +540,7 @@ async function createConfigFile(installParams) {
516
540
 
517
541
  try {
518
542
  if (!cfgEnv[hdbTerms.INSTALL_PROMPTS.HDB_CONFIG]) {
519
- // Create the Harper Pro config file.
543
+ // Create the Harper config file.
520
544
  configUtils.createConfigFile(args);
521
545
  }
522
546
 
@@ -531,7 +555,7 @@ async function createConfigFile(installParams) {
531
555
  * @param errMsg
532
556
  */
533
557
  function rollbackInstall(errMsg) {
534
- hdbLogger.error(`Error creating Harper Pro config file. Rolling back install - ${errMsg}`);
558
+ hdbLogger.error(`Error creating Harper config file. Rolling back install - ${errMsg}`);
535
559
  console.error(errMsg);
536
560
  console.error(ABORT_MSG);
537
561
 
@@ -547,7 +571,7 @@ function rollbackInstall(errMsg) {
547
571
  if (conditionalRollback) {
548
572
  const dir = fs.readdirSync(hdbRoot, { withFileTypes: true });
549
573
  dir.forEach((d) => {
550
- const fullPath = path.join(d.path, d.name);
574
+ const fullPath = path.join((d as any).parentPath ?? (d as any).path, d.name);
551
575
  if (fullPath !== cfgEnv[hdbTerms.INSTALL_PROMPTS.HDB_CONFIG]) {
552
576
  fs.removeSync(fullPath);
553
577
  }
@@ -561,7 +585,7 @@ function rollbackInstall(errMsg) {
561
585
  }
562
586
 
563
587
  /**
564
- * Creates a Harper Pro role and then adds a use to that role.
588
+ * Creates a Harper role and then adds a use to that role.
565
589
  * @param role
566
590
  * @param adminUser
567
591
  * @returns {Promise<void>}
@@ -628,7 +652,7 @@ async function insertHdbVersionInfo() {
628
652
  if (vers) {
629
653
  await hdbInfoController.insertHdbInstallInfo(vers);
630
654
  } else {
631
- throw new Error('The version is missing/removed from Harper Pro package.json');
655
+ throw new Error('The version is missing/removed from Harper package.json');
632
656
  }
633
657
  }
634
658
 
@@ -1,7 +1,7 @@
1
1
  import type { Logger } from '../components/Logger.ts';
2
- import * as terms from './hdbTerms.js';
2
+ import * as terms from './hdbTerms.ts';
3
3
  import fs from 'node:fs';
4
- import { noBootFile, getPropsFilePath } from './common_utils.js';
4
+ import { noBootFile, getPropsFilePath } from './common_utils.ts';
5
5
 
6
6
  interface Env {
7
7
  get(key: string): string;
@@ -6,6 +6,9 @@
6
6
  * intKey defines if the key entries are integers or not
7
7
  */
8
8
  class DBIDefinition {
9
+ dup_sort: boolean;
10
+ isPrimaryKey: boolean;
11
+ useVersions: boolean;
9
12
  /**
10
13
  * @param {Boolean} dupSort - allow duplicate keys, or not
11
14
  * @param {Boolean} isPrimaryKey - defines if this is the primary key
@@ -17,4 +20,4 @@ class DBIDefinition {
17
20
  }
18
21
  }
19
22
 
20
- module.exports = DBIDefinition;
23
+ export default DBIDefinition;
@@ -8,6 +8,7 @@
8
8
  * @param {Array.<Object>} originalRecords
9
9
  */
10
10
  class DeleteRecordsResponseObject {
11
+ [key: string]: any;
11
12
  /**
12
13
  * @param {Array.<string|number>} deleted
13
14
  * @param {Array.<string|number>} skipped
@@ -22,4 +23,4 @@ class DeleteRecordsResponseObject {
22
23
  }
23
24
  }
24
25
 
25
- module.exports = DeleteRecordsResponseObject;
26
+ export default DeleteRecordsResponseObject;
@@ -7,6 +7,7 @@
7
7
  * @param {number} txnTime
8
8
  */
9
9
  class InsertRecordsResponseObject {
10
+ [key: string]: any;
10
11
  /**
11
12
  * @param {Array.<string|number>} written_hashes
12
13
  * @param {Array.<string|number>} skipped_hashes
@@ -19,4 +20,4 @@ class InsertRecordsResponseObject {
19
20
  }
20
21
  }
21
22
 
22
- module.exports = InsertRecordsResponseObject;
23
+ export default InsertRecordsResponseObject;
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+ import * as envMngr from '../environment/environmentManager.ts';
3
+ import * as terms from '../../utility/hdbTerms.ts';
4
+ import { RecordEncoder } from '../../resources/RecordEncoder.ts';
5
+ envMngr.initSync();
6
+
7
+ const LMDB_CACHING = envMngr.get(terms.CONFIG_PARAMS.STORAGE_CACHING) !== false;
8
+
9
+ /**
10
+ * Defines how a DBI will be created/opened
11
+ */
12
+ export class OpenDBIObject {
13
+ [key: string]: any;
14
+ dupSort: boolean;
15
+ encoding: 'string' | 'json' | 'binary' | 'msgpack' | 'ordered-binary';
16
+ useVersions: boolean;
17
+ sharedStructuresKey: symbol;
18
+ compression: any;
19
+ cache: any;
20
+ freezeData: boolean;
21
+ encoder: any;
22
+ randomAccessStructure: boolean;
23
+ /**
24
+ * @param {Boolean} dupSort - if the dbi allows duplicate keys
25
+ * @param {Boolean} [isPrimary] - if the dbi is the primary dbi
26
+ */
27
+ constructor(dupSort, isPrimary = false) {
28
+ /** @type {boolean} */
29
+ this.dupSort = dupSort === true;
30
+ /** @type {"string" | "json" | "binary" | "msgpack" | "ordered-binary"} */
31
+ this.encoding = dupSort ? 'ordered-binary' : 'msgpack';
32
+ /** @type {boolean} */
33
+ this.useVersions = isPrimary;
34
+ /** @type {Symbol} */
35
+ this.sharedStructuresKey = Symbol.for('structures');
36
+ /** @type {any} */
37
+ this.compression = undefined;
38
+ this.encoder = { Encoder: RecordEncoder };
39
+ // Only enable struct (random-access) encoding on primary DBIs. Struct headers occupy
40
+ // the 0x20-0x3f range, which readers without struct support (msgpackr v1 / Harper v4)
41
+ // decode as positive fixints. v4 likewise gated struct mode behind is_primary, so
42
+ // non-primary stores (e.g. the __dbis__ metadata DBI) stay in records mode and remain
43
+ // decodable after a downgrade. RecordEncoder still reads struct data so existing v5
44
+ // struct entries decode.
45
+ // As of 5.1 the primary default is itself opt-in via storage.randomAccessFields (default
46
+ // off; overridable per-table via databases.ts before the store opens). Typed structures key
47
+ // on per-field value WIDTH, so wide/variably-typed schemas can mint an unbounded dictionary
48
+ // (OOM) and diverge across replicas. Read the config here at construction — not at module
49
+ // import — so an env/CLI override applied during startup is honored (DBIs open after config
50
+ // is finalized).
51
+ this.randomAccessStructure = isPrimary && envMngr.get(terms.CONFIG_PARAMS.STORAGE_RANDOMACCESSFIELDS) === true;
52
+ if (isPrimary) {
53
+ this.cache = LMDB_CACHING && { validated: true };
54
+ this.freezeData = true;
55
+ }
56
+ }
57
+ }
@@ -5,11 +5,27 @@ const MAP_SIZE = 1024 * 1024 * 1024;
5
5
  //allow up to 1,000 named data bases in an environment
6
6
  const MAX_DBS = 10000;
7
7
  const MAX_READERS = 2048;
8
- const envMngr = require('../environment/environmentManager.js');
9
- const terms = require('../../utility/hdbTerms.ts');
8
+ import * as envMngr from '../environment/environmentManager.ts';
9
+ import * as terms from '../../utility/hdbTerms.ts';
10
10
  envMngr.initSync();
11
11
 
12
- class OpenEnvironmentObject {
12
+ export default class OpenEnvironmentObject {
13
+ [key: string]: any;
14
+ static MAX_DBS = MAX_DBS;
15
+ path: string;
16
+ mapSize: number;
17
+ maxDbs: number;
18
+ maxReaders: number;
19
+ sharedStructuresKey: symbol;
20
+ readOnly: boolean;
21
+ trackMetrics: boolean;
22
+ eventTurnBatching: boolean;
23
+ noSync: boolean;
24
+ overlappingSync: any;
25
+ maxFreeSpaceToLoad: any;
26
+ maxFreeSpaceToRetain: any;
27
+ pageSize: any;
28
+ noReadAhead: any;
13
29
  constructor(path, readOnly = false) {
14
30
  this.path = path;
15
31
  this.mapSize = MAP_SIZE;
@@ -36,6 +52,3 @@ class OpenEnvironmentObject {
36
52
  this.noReadAhead = envMngr.get(terms.CONFIG_PARAMS.STORAGE_NOREADAHEAD);
37
53
  }
38
54
  }
39
-
40
- module.exports = OpenEnvironmentObject;
41
- OpenEnvironmentObject.MAX_DBS = MAX_DBS;
@@ -8,6 +8,7 @@
8
8
  * @param {Array.<Object>} originalRecords
9
9
  */
10
10
  class UpdateRecordsResponseObject {
11
+ [key: string]: any;
11
12
  /**
12
13
  * @param {Array.<string|number>} written_hashes
13
14
  * @param {Array.<string|number>} skipped_hashes
@@ -22,4 +23,4 @@ class UpdateRecordsResponseObject {
22
23
  }
23
24
  }
24
25
 
25
- module.exports = UpdateRecordsResponseObject;
26
+ export default UpdateRecordsResponseObject;
@@ -7,6 +7,7 @@
7
7
  * @param {Array.<Object>} originalRecords
8
8
  */
9
9
  class UpsertRecordsResponseObject {
10
+ [key: string]: any;
10
11
  /**
11
12
  * @param {Array.<string|number>} written_hashes
12
13
  * @param {number} txnTime
@@ -19,4 +20,4 @@ class UpsertRecordsResponseObject {
19
20
  }
20
21
  }
21
22
 
22
- module.exports = UpsertRecordsResponseObject;
23
+ export default UpsertRecordsResponseObject;