@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
@@ -1 +1 @@
1
- {"version":3,"file":"replicator.js","sourceRoot":"","sources":["../../replication/replicator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replicator.js","sourceRoot":"","sources":["../../replication/replicator.ts"],"names":[],"mappings":"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"}
@@ -57,18 +57,21 @@ const { HTTP_STATUS_CODES } = hdbError_js_1.hdbErrors;
57
57
  const validationSchema = joi_1.default.object({
58
58
  hostname: joi_1.default.string(),
59
59
  verify_tls: joi_1.default.boolean(),
60
- replicates: joi_1.default.boolean(),
60
+ replicates: joi_1.default.alternatives().try(joi_1.default.boolean(), joi_1.default.object()),
61
+ sendsTo: joi_1.default.array(),
62
+ receivesFrom: joi_1.default.array(),
61
63
  subscriptions: joi_1.default.array(),
62
64
  revoked_certificates: joi_1.default.array(),
63
65
  shard: joi_1.default.number(),
66
+ isLeader: joi_1.default.boolean(),
64
67
  });
65
68
  /**
66
69
  * Can add, update or remove a node from replication
67
70
  * @param req
68
71
  */
69
72
  async function setNode(req) {
70
- if (req.node_name && !req.hostname)
71
- req.hostname = req.node_name;
73
+ if (!req.hostname)
74
+ req.hostname = req.node_name || req.name;
72
75
  if (req.verify_tls !== undefined)
73
76
  req.rejectUnauthorized = req.verify_tls;
74
77
  let { url, hostname } = req;
@@ -147,6 +150,12 @@ async function setNode(req) {
147
150
  }
148
151
  else
149
152
  targetAddNodeObj.subscriptions = null;
153
+ // Pass route exclusions to the peer with directions swapped: what LOCAL sends to PEER
154
+ // becomes what PEER receives from LOCAL, and vice versa.
155
+ if (req.sendsTo || req.receivesFrom) {
156
+ targetAddNodeObj.sendsTo = req.receivesFrom;
157
+ targetAddNodeObj.receivesFrom = req.sendsTo;
158
+ }
150
159
  if (req.hasOwnProperty('subscribe') || req.hasOwnProperty('publish')) {
151
160
  const rev = reverseSubscription(req);
152
161
  targetAddNodeObj.subscribe = rev.subscribe;
@@ -158,7 +167,7 @@ async function setNode(req) {
158
167
  }
159
168
  let targetNodeResponse;
160
169
  let targetNodeResponseError;
161
- hdbLogger.debug('sending add_node_back operation', targetAddNodeObj);
170
+ hdbLogger.notify('sending add_node_back operation', targetAddNodeObj);
162
171
  try {
163
172
  targetNodeResponse = await (0, replicator_ts_1.sendOperationToNode)({ url }, targetAddNodeObj, req);
164
173
  }
@@ -199,6 +208,8 @@ async function setNode(req) {
199
208
  nodeRecord.name = req.hostname;
200
209
  if (req.subscriptions)
201
210
  nodeRecord.subscriptions = req.subscriptions;
211
+ else if (req.sendsTo || req.receivesFrom)
212
+ nodeRecord.replicates = { sends: true, sendsTo: req.sendsTo, receivesFrom: req.receivesFrom };
202
213
  else
203
214
  nodeRecord.replicates = true;
204
215
  if (req.start_time) {
@@ -212,6 +223,11 @@ async function setNode(req) {
212
223
  nodeRecord.shard = targetNodeResponse.shard;
213
224
  else if (req.shard !== undefined)
214
225
  nodeRecord.shard = req.shard;
226
+ // isLeader is LOCAL-ONLY: it means "this peer is my leader; request a full-table copy from it".
227
+ // It must NOT be forwarded to the peer via targetAddNodeObj — doing so would cause the peer
228
+ // to treat this node as its leader and attempt to full-copy in the wrong direction.
229
+ if (req.isLeader !== undefined)
230
+ nodeRecord.isLeader = req.isLeader;
215
231
  if (nodeRecord.replicates) {
216
232
  const thisNode = {
217
233
  url: thisUrl,
@@ -261,6 +277,10 @@ async function addNodeBack(req) {
261
277
  const nodeRecord = { url: req.url, ca: originCa };
262
278
  if (req.subscriptions)
263
279
  nodeRecord.subscriptions = req.subscriptions;
280
+ else if (req.sendsTo || req.receivesFrom) {
281
+ nodeRecord.replicates = { sends: true, sendsTo: req.sendsTo, receivesFrom: req.receivesFrom };
282
+ nodeRecord.subscriptions = null;
283
+ }
264
284
  else {
265
285
  nodeRecord.replicates = true;
266
286
  nodeRecord.subscriptions = null;
@@ -1 +1 @@
1
- {"version":3,"file":"setNode.js","sourceRoot":"","sources":["../../replication/setNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setNode.js","sourceRoot":"","sources":["../../replication/setNode.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.connectedToNode = exports.disconnectedFromNode = void 0;
40
+ exports.findStaleNodeUrls = findStaleNodeUrls;
41
+ exports.findWedgedNodeUrls = findWedgedNodeUrls;
40
42
  exports.startOnMainThread = startOnMainThread;
41
43
  exports.requestClusterStatus = requestClusterStatus;
42
44
  exports.ensureNode = ensureNode;
@@ -55,7 +57,7 @@ const knownNodes_ts_1 = require("./knownNodes.js");
55
57
  const logger = __importStar(require("../core/utility/logging/harper_logger.js"));
56
58
  const lodash_1 = __importDefault(require("lodash"));
57
59
  const { cloneDeep } = lodash_1.default;
58
- const environmentManager_js_1 = __importDefault(require("../core/utility/environment/environmentManager.js"));
60
+ const env = __importStar(require("../core/utility/environment/environmentManager.js"));
59
61
  const hdbTerms_ts_1 = require("../core/utility/hdbTerms.js");
60
62
  const crypto_1 = require("crypto");
61
63
  const minimist_1 = __importDefault(require("minimist"));
@@ -67,8 +69,73 @@ const NODE_SUBSCRIBE_DELAY = 200; // delay before sending node subscribe to othe
67
69
  // caused the OOM in the first place. We stagger the re-subscriptions in time so the new
68
70
  // worker(s) absorb them gradually.
69
71
  const WORKER_EXIT_REASSIGN_STAGGER_MS = 100;
72
+ // Cadence of the per-process safety-net reconcile that rebinds subscriptions whose
73
+ // worker no longer exists. Pure read-side filter against `workers` and
74
+ // `connectionReplicationMap` on each tick when nothing is wrong, so a short interval
75
+ // is cheap. Sized for the deploy-time rapid-restart-storm pattern (stacked
76
+ // `restart_http_workers` at ~1.5s spacing under live write traffic), where the per-
77
+ // worker exit chain races against shutdown and silently drops half the subscription
78
+ // assignments — this is the user-visible recovery latency for the resulting drift.
79
+ const RECONCILE_INTERVAL_MS = 5_000;
80
+ // A connection that is connected:false but still actively retrying reconnects within seconds (the
81
+ // retry backoff starts at 500ms). Only re-drive a connection that has stayed disconnected well
82
+ // beyond that, so the reconcile targets genuinely wedged connections (e.g. an intentionally-closed
83
+ // connection with no pending retry) rather than churning connections that are mid-reconnect.
84
+ const WEDGE_RECONCILE_THRESHOLD_MS = 30_000;
70
85
  let nextWorkerExitReassignAt = 0;
71
86
  const connectionReplicationMap = new Map();
87
+ // Returns the set of node URLs whose replication entries either point at a worker no longer
88
+ // in the supplied http pool, OR have no worker assigned at all while live workers exist.
89
+ // The second case covers "all workers were down at registration time" — onDatabase stores
90
+ // `worker: undefined` when httpWorkers is empty, and without this the entry would never
91
+ // get reassigned once workers came back. Pure helper so the reconcile pass below — and its
92
+ // unit tests — can verify the broken-chain detection without spinning up real workers.
93
+ function findStaleNodeUrls(connectionMap, httpWorkers) {
94
+ const staleNodeUrls = new Set();
95
+ // No live workers to reassign to — flagging here would cause endless no-op reassignments.
96
+ if (httpWorkers.length === 0)
97
+ return staleNodeUrls;
98
+ for (const [url, dbReplicationWorkers] of connectionMap) {
99
+ for (const entry of dbReplicationWorkers.values()) {
100
+ if (!entry.worker || !httpWorkers.includes(entry.worker)) {
101
+ staleNodeUrls.add(url);
102
+ break;
103
+ }
104
+ }
105
+ }
106
+ return staleNodeUrls;
107
+ }
108
+ // Returns the set of node URLs that have a desired replication subscription but have been
109
+ // connected:false on a *live* worker for longer than `thresholdMs`. This is the recovery path for a
110
+ // connection that wedged without a pending retry — most notably the empty-subscription delayed close
111
+ // (intentionallyUnsubscribed) firing during a peer restart and then never re-establishing even though
112
+ // the peer is reachable and still subscribed. findStaleNodeUrls does not catch this because the
113
+ // worker is alive. Re-driving these through onNodeUpdate creates a fresh connection (the prior one is
114
+ // no longer reusable — see replicator.isReusableConnection). A threshold well above the normal
115
+ // reconnect backoff keeps this from firing on connections that are merely mid-retry.
116
+ // `isDesired` must be the same predicate onDatabase uses to decide shouldSubscribe
117
+ // (shouldReplicateFromNode), so a connection intentionally unsubscribed because this node should NOT
118
+ // subscribe (replication off, or a sendsTo/subscription targeting another database) is not flagged
119
+ // and re-driven forever. See harper-pro#233 / #289.
120
+ function findWedgedNodeUrls(connectionMap, httpWorkers, now, thresholdMs, isDesired) {
121
+ const wedgedNodeUrls = new Set();
122
+ if (httpWorkers.length === 0)
123
+ return wedgedNodeUrls;
124
+ for (const [url, dbReplicationWorkers] of connectionMap) {
125
+ for (const [database, entry] of dbReplicationWorkers) {
126
+ if (entry.connected === false &&
127
+ entry.worker &&
128
+ httpWorkers.includes(entry.worker) &&
129
+ entry.disconnectedAt != null &&
130
+ now - entry.disconnectedAt >= thresholdMs &&
131
+ isDesired(entry.nodes?.[0], database)) {
132
+ wedgedNodeUrls.add(url);
133
+ break;
134
+ }
135
+ }
136
+ }
137
+ return wedgedNodeUrls;
138
+ }
72
139
  const nodeMap = new Map(); // this is a map of all nodes that are available to connect to
73
140
  const selfCatchupOfDatabase = new Map(); // this is a map of databases that need to catch up to themselves, and the time of the last audit entry (to start from)
74
141
  const routes = [];
@@ -143,7 +210,7 @@ async function startOnMainThread(options) {
143
210
  * This is called when a new node is added to the hdbNodes table
144
211
  * @param node
145
212
  */
146
- function onNodeUpdate(node, hostname = node?.name) {
213
+ function onNodeUpdate(node, hostname = node?.name, forceResubscribe = false) {
147
214
  const isSelf = ((0, nodeName_ts_1.getThisNodeName)() && hostname === (0, nodeName_ts_1.getThisNodeName)()) || ((0, nodeName_ts_1.getThisNodeUrl)() && node?.url === (0, nodeName_ts_1.getThisNodeUrl)());
148
215
  if (isSelf) {
149
216
  // this is just this node, we don't need to connect to ourselves, but if we get removed, we need to remove all fully replicating connections,
@@ -160,6 +227,7 @@ async function startOnMainThread(options) {
160
227
  logger.info('Setting up node replication for', node);
161
228
  if (!node) {
162
229
  // deleted node
230
+ nodeMap.delete(hostname);
163
231
  for (const [url, dbReplicationWorkers] of connectionReplicationMap) {
164
232
  let foundNode;
165
233
  for (const [_database, { nodes }] of dbReplicationWorkers) {
@@ -190,7 +258,12 @@ async function startOnMainThread(options) {
190
258
  let dbReplicationWorkers = connectionReplicationMap.get((0, knownNodes_ts_1.getNodeURL)(node));
191
259
  if (dbReplicationWorkers)
192
260
  dbReplicationWorkers.iterator.remove(); // we need to remove the old iterator so we can create a new one
193
- if (!(node.replicates === true || node.replicates?.sends) && !node.subscriptions?.length && !dbReplicationWorkers)
261
+ if (!(node.replicates === true ||
262
+ node.replicates?.sends ||
263
+ node.replicates?.sendsTo?.length ||
264
+ node.replicates?.receivesFrom?.length) &&
265
+ !node.subscriptions?.length &&
266
+ !dbReplicationWorkers)
194
267
  return; // we don't have any subscriptions and we haven't connected yet, so just return
195
268
  logger.info(`Added node ${node.name} at ${(0, knownNodes_ts_1.getNodeURL)(node)} for process ${(0, nodeName_ts_1.getThisNodeName)()}`);
196
269
  if (node.replicates && node.subscriptions) {
@@ -214,10 +287,10 @@ async function startOnMainThread(options) {
214
287
  }
215
288
  dbReplicationWorkers.iterator = (0, replicator_ts_1.forEachReplicatedDatabase)(options, (database, databaseName, replicateByDefault) => {
216
289
  if (replicateByDefault) {
217
- onDatabase(databaseName, true);
290
+ onDatabase(databaseName, true, forceResubscribe);
218
291
  }
219
292
  else {
220
- onDatabase(databaseName, false);
293
+ onDatabase(databaseName, false, forceResubscribe);
221
294
  }
222
295
  });
223
296
  // check to see if there are any explicit subscriptions to databases that don't exist yet
@@ -228,18 +301,40 @@ async function startOnMainThread(options) {
228
301
  const databaseName = sub.database || sub.schema;
229
302
  if (!databases[databaseName]) {
230
303
  logger.warn(`Database ${databaseName} not found for node ${node.name}, making a subscription anyway`);
231
- onDatabase(databaseName, false);
304
+ onDatabase(databaseName, false, forceResubscribe);
305
+ }
306
+ }
307
+ }
308
+ // When this peer is our leader, bootstrap subscriptions for configured databases
309
+ // that don't exist locally yet — they need a full-table copy from the leader.
310
+ // forEachReplicatedDatabase above only iterates local databases, so an empty node
311
+ // joining a populated leader would never schedule the catchup without this.
312
+ if (node.isLeader && Array.isArray(options?.databases)) {
313
+ for (const dbConfig of options.databases) {
314
+ const databaseName = typeof dbConfig === 'string' ? dbConfig : dbConfig?.name;
315
+ if (databaseName && !databases[databaseName]) {
316
+ logger.warn(`isLeader: bootstrapping full-copy subscription for non-existent database ${databaseName} from ${node.name}`);
317
+ onDatabase(databaseName, true, forceResubscribe);
232
318
  }
233
319
  }
234
320
  }
235
- function onDatabase(databaseName, tablesReplicateByDefault) {
321
+ function onDatabase(databaseName, tablesReplicateByDefault, forceResubscribe = false) {
236
322
  logger.trace('Setting up replication for database', databaseName, 'on node', node.name);
237
- const existingEntry = dbReplicationWorkers.get(databaseName);
323
+ let existingEntry = dbReplicationWorkers.get(databaseName);
238
324
  let worker;
239
- const nodes = [{ replicateByDefault: tablesReplicateByDefault, ...node }];
325
+ // Find the matching route config for this peer so we can pass its receivesFrom/sendsTo
326
+ // exclusions to the worker thread (via the node subscription payload). For dynamic
327
+ // routes (add_node), fall back to the node's own hdb_nodes replicates object.
328
+ const matchingRoute = routes.find((r) => r.name === node.name);
329
+ const routeReplicates = typeof matchingRoute?.replicates === 'object'
330
+ ? matchingRoute.replicates
331
+ : node.replicates && typeof node.replicates === 'object'
332
+ ? node.replicates
333
+ : null;
334
+ const nodes = [{ replicateByDefault: tablesReplicateByDefault, ...node, routeReplicates }];
240
335
  // Self catchup is done in case we have replicated any records that weren't actually written to our storage
241
336
  // before a crash.
242
- if (selfCatchupOfDatabase.has(databaseName) && environmentManager_js_1.default.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
337
+ if (selfCatchupOfDatabase.has(databaseName) && env.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
243
338
  // if we have a self catchup (only do if we have failover enabled), we need to add this node to the list of nodes that need to catch up
244
339
  // and then we will remove it when it is done
245
340
  nodes.push({
@@ -253,11 +348,28 @@ async function startOnMainThread(options) {
253
348
  }
254
349
  const shouldSubscribe = (0, knownNodes_ts_1.shouldReplicateFromNode)(node, databaseName);
255
350
  const httpWorkers = manageThreads_js_1.workers.filter((worker) => worker.name === 'http');
351
+ // Defensively detect entries that point at a worker no longer in the http pool.
352
+ // This happens when the worker.on('exit') handler below never fired (hung WebSocket
353
+ // refs blocking exit), the identity check rejected the reassignment, or its
354
+ // setTimeout retry was lost. We also catch the case where the entry has no worker
355
+ // assigned at all (all workers were down at registration time) so it gets rebound
356
+ // once workers come back. Without these checks, the early-return branch keeps the
357
+ // entry stuck and the subscription never recovers.
358
+ if (existingEntry && httpWorkers.length > 0 && !httpWorkers.includes(existingEntry.worker)) {
359
+ logger.warn(`Subscription for ${databaseName} on node ${node.name} has no live worker; reassigning`);
360
+ dbReplicationWorkers.delete(databaseName);
361
+ existingEntry = undefined;
362
+ }
256
363
  if (existingEntry) {
257
364
  worker = existingEntry.worker;
258
365
  existingEntry.nodes = nodes;
259
- if (shouldSubscribe) {
260
- // already subscribed, don't need to do anything
366
+ // Normally an existing subscribed entry is left alone. Only the wedge reconcile passes
367
+ // forceResubscribe for a connection that has been connected:false past the threshold: that
368
+ // falls through to re-post subscribe-to-node on the same worker (the worker then reuses a
369
+ // still-retrying connection or builds a fresh one — replicator.isReusableConnection). We
370
+ // deliberately do NOT re-subscribe every connected:false entry on an ordinary onNodeUpdate —
371
+ // doing so disrupts in-flight replication (e.g. an active legacy-node base copy).
372
+ if (shouldSubscribe && !(forceResubscribe && existingEntry.connected === false)) {
261
373
  return;
262
374
  }
263
375
  }
@@ -288,6 +400,12 @@ async function startOnMainThread(options) {
288
400
  let leaderUrl = cliArgs.HDB_LEADER_URL ?? // first see if there was a leader explicitly specified
289
401
  process.env.HDB_LEADER_URL ??
290
402
  routes[0]?.url; // if we have routes, use the first one
403
+ // Track whether the leader is explicitly configured (env/cli/routes). The
404
+ // fallback "first other node in hdb_nodes" is only a guess and must NOT be
405
+ // treated as authoritative — otherwise a bidirectional add_node handshake
406
+ // where the responder has no leader config will incorrectly mark the
407
+ // requester as its leader and trigger a reverse full-table copy.
408
+ const hasExplicitLeader = !!leaderUrl;
291
409
  let leaderName = leaderUrl
292
410
  ? new URL(leaderUrl).hostname
293
411
  : Array.from((0, knownNodes_ts_1.getHDBNodeTable)()
@@ -296,7 +414,13 @@ async function startOnMainThread(options) {
296
414
  )[0]; // try to find the first node
297
415
  const nodeName = nodes[0].name ?? (nodes[0].url && new URL(nodes[0].url).hostname);
298
416
  logger.warn(`Setting up subscription with leader ${leaderName} for node ${nodeName}`);
299
- nodes[0].isLeader = !leaderName || nodeName === leaderName;
417
+ // isLeader is true only if:
418
+ // 1. it was explicitly persisted (e.g. by add_node { isLeader: true }), OR
419
+ // 2. there is no leader candidate at all, OR
420
+ // 3. an explicitly configured leader (env/cli/routes) matches this node.
421
+ // We deliberately do NOT honour nodeName === leaderName when leaderName came
422
+ // from the "first other node in hdb_nodes" fallback — that's just a guess.
423
+ nodes[0].isLeader = nodes[0].isLeader || !leaderName || (hasExplicitLeader && nodeName === leaderName);
300
424
  nodes[0].url ??= (0, knownNodes_ts_1.getNodeURL)(nodes[0]);
301
425
  setTimeout(() => {
302
426
  const request = {
@@ -363,16 +487,24 @@ async function startOnMainThread(options) {
363
487
  logger.warn('Disconnected node not found in replication map', connection.database, dbReplicationWorkers);
364
488
  return;
365
489
  }
490
+ // Record the first transition to disconnected so the reconcile can tell a wedged connection
491
+ // from one that is briefly mid-retry; don't reset it on repeated disconnect notifications.
492
+ if (existingWorkerEntry.connected !== false)
493
+ existingWorkerEntry.disconnectedAt = Date.now();
366
494
  existingWorkerEntry.connected = false;
367
495
  if (connection.finished) {
368
496
  return;
369
497
  } // intentionally closed connection
370
- if (!environmentManager_js_1.default.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
498
+ if (!env.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
371
499
  // if failover is disabled, immediately return
372
500
  return;
373
501
  }
374
502
  const mainNode = existingWorkerEntry.nodes[0];
375
- if (!(mainNode.replicates === true || mainNode.replicates?.sends || mainNode.subscriptions?.length)) {
503
+ if (!(mainNode.replicates === true ||
504
+ mainNode.replicates?.sends ||
505
+ mainNode.replicates?.sendsTo?.length ||
506
+ mainNode.replicates?.receivesFrom?.length ||
507
+ mainNode.subscriptions?.length)) {
376
508
  // no replication, so just return
377
509
  return;
378
510
  }
@@ -426,6 +558,7 @@ async function startOnMainThread(options) {
426
558
  return;
427
559
  }
428
560
  mainWorkerEntry.connected = true;
561
+ mainWorkerEntry.disconnectedAt = undefined;
429
562
  mainWorkerEntry.latency = connection.latency;
430
563
  const restoredNode = mainWorkerEntry.nodes[0];
431
564
  if (!restoredNode) {
@@ -436,7 +569,7 @@ async function startOnMainThread(options) {
436
569
  logger.debug('Connected node is not named yet', connection.database, mainWorkerEntry.url);
437
570
  return;
438
571
  }
439
- if (!environmentManager_js_1.default.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
572
+ if (!env.get(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_FAILOVER)) {
440
573
  // if failover is disabled, immediately return, we don't need to restore anything
441
574
  return;
442
575
  }
@@ -495,6 +628,52 @@ async function startOnMainThread(options) {
495
628
  else
496
629
  (0, replicator_ts_1.subscribeToNode)({ url: (0, knownNodes_ts_1.getNodeURL)(connectingNode), name: connectingNode.name, database, nodes: [node] });
497
630
  }
631
+ // Periodic safety net for stale subscription entries. The existing per-database
632
+ // worker.on('exit') chain reassigns to a healthy worker after a worker dies, but a
633
+ // single broken link in that chain (identity check failing, setTimeout retry being
634
+ // lost under load, shouldSubscribe early-return pinning to a dead worker before
635
+ // the defensive check was added) used to leave the entry permanently pointing at
636
+ // an exited worker, silently breaking outbound replication for the lifetime of the
637
+ // process. This reconciles independently of the chain so the broken-state node
638
+ // can never get stuck.
639
+ function reconcileWorkers() {
640
+ const httpWorkers = manageThreads_js_1.workers.filter((worker) => worker.name === 'http');
641
+ const staleNodeUrls = findStaleNodeUrls(connectionReplicationMap, httpWorkers);
642
+ const wedgedNodeUrls = findWedgedNodeUrls(connectionReplicationMap, httpWorkers, Date.now(), WEDGE_RECONCILE_THRESHOLD_MS, knownNodes_ts_1.shouldReplicateFromNode);
643
+ if (staleNodeUrls.size === 0 && wedgedNodeUrls.size === 0)
644
+ return;
645
+ if (staleNodeUrls.size > 0)
646
+ logger.warn('Reconciling replication subscriptions for nodes pointing at exited workers:', Array.from(staleNodeUrls));
647
+ if (wedgedNodeUrls.size > 0)
648
+ logger.warn('Reconciling replication subscriptions for nodes wedged disconnected on a live worker:', Array.from(wedgedNodeUrls));
649
+ for (const node of nodeMap.values()) {
650
+ const url = (0, knownNodes_ts_1.getNodeURL)(node);
651
+ const isWedged = wedgedNodeUrls.has(url);
652
+ if (!staleNodeUrls.has(url) && !isWedged)
653
+ continue;
654
+ if (isWedged) {
655
+ // Restart the disconnect clock before re-driving so a peer that is still unreachable after
656
+ // the re-subscribe (it stays connected:false, which does not re-stamp disconnectedAt) is
657
+ // retried at most once per threshold window rather than on every reconcile tick.
658
+ // onNodeUpdate -> onDatabase then re-posts subscribe-to-node for the connected:false entry
659
+ // (it no longer early-returns), reusing the existing worker — so no entry/listener churn.
660
+ const entries = connectionReplicationMap.get(url);
661
+ if (entries)
662
+ for (const entry of entries.values())
663
+ if (entry.connected === false)
664
+ entry.disconnectedAt = Date.now();
665
+ }
666
+ try {
667
+ // forceResubscribe only for wedged entries, so a normal stale-worker reconcile keeps its
668
+ // original behavior and ordinary onNodeUpdate calls never re-subscribe live subscriptions.
669
+ onNodeUpdate(node, undefined, isWedged);
670
+ }
671
+ catch (error) {
672
+ logger.error('Error reconciling node', node?.name, error);
673
+ }
674
+ }
675
+ }
676
+ setInterval(reconcileWorkers, RECONCILE_INTERVAL_MS).unref();
498
677
  (0, manageThreads_js_1.onMessageByType)('disconnected-from-node', exports.disconnectedFromNode);
499
678
  (0, manageThreads_js_1.onMessageByType)('connected-to-node', exports.connectedToNode);
500
679
  (0, manageThreads_js_1.onMessageByType)('request-cluster-status', requestClusterStatus);