@harperfast/harper 5.0.25 → 5.1.0-beta.1

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 (1121) hide show
  1. package/README.md +11 -10
  2. package/agent/agent.ts +203 -0
  3. package/agent/loop.ts +205 -0
  4. package/agent/operations.ts +148 -0
  5. package/agent/session.ts +187 -0
  6. package/agent/tools/fsTools.ts +276 -0
  7. package/agent/tools/httpFetchTool.ts +112 -0
  8. package/agent/tools/scheduleTool.ts +68 -0
  9. package/agent/toolset.ts +43 -0
  10. package/agent/types.ts +85 -0
  11. package/bin/{BinObjects.js → BinObjects.ts} +4 -5
  12. package/bin/cliCredentials.ts +133 -0
  13. package/bin/cliOperations.ts +339 -0
  14. package/bin/copyDb.ts +10 -10
  15. package/bin/deployRenderer.ts +196 -0
  16. package/bin/{harper.js → harper.ts} +43 -19
  17. package/bin/{install.js → install.ts} +3 -3
  18. package/bin/lite.ts +2 -0
  19. package/bin/login.ts +168 -0
  20. package/bin/logout.ts +11 -0
  21. package/bin/mcp/client.ts +407 -0
  22. package/bin/mcp/doctor.ts +189 -0
  23. package/bin/mcp/index.ts +80 -0
  24. package/bin/mcp/options.ts +122 -0
  25. package/bin/mcp/printConfig.ts +89 -0
  26. package/bin/multipartBuilder.ts +74 -0
  27. package/bin/{restart.js → restart.ts} +27 -28
  28. package/bin/{run.js → run.ts} +41 -30
  29. package/bin/sseConsumer.ts +126 -0
  30. package/bin/{status.js → status.ts} +10 -10
  31. package/bin/{stop.js → stop.ts} +5 -5
  32. package/bin/upgrade.js +6 -6
  33. package/components/Application.ts +144 -18
  34. package/components/ApplicationScope.ts +2 -2
  35. package/components/ComponentV1.ts +2 -2
  36. package/components/EntryHandler.ts +159 -9
  37. package/components/OptionsWatcher.ts +75 -11
  38. package/components/Scope.ts +125 -15
  39. package/components/anthropic/index.ts +547 -0
  40. package/components/bedrock/index.ts +823 -0
  41. package/components/componentLoader.ts +63 -32
  42. package/components/deployLifecycle.ts +161 -0
  43. package/components/deploymentOperations.ts +173 -0
  44. package/components/deploymentRecorder.ts +402 -0
  45. package/components/deriveURLPath.ts +4 -4
  46. package/components/mcp/adapters/fastify.ts +87 -0
  47. package/components/mcp/adapters/harperHttp.ts +103 -0
  48. package/components/mcp/audit.ts +75 -0
  49. package/components/mcp/index.ts +134 -0
  50. package/components/mcp/jsonrpc.ts +134 -0
  51. package/components/mcp/lifecycle.ts +105 -0
  52. package/components/mcp/listChanged.ts +270 -0
  53. package/components/mcp/rateLimit.ts +217 -0
  54. package/components/mcp/resources.ts +593 -0
  55. package/components/mcp/session.ts +151 -0
  56. package/components/mcp/sessionRegistry.ts +140 -0
  57. package/components/mcp/toolRegistry.ts +292 -0
  58. package/components/mcp/tools/application.ts +603 -0
  59. package/components/mcp/tools/operations.ts +283 -0
  60. package/components/mcp/tools/schemas/derive.ts +256 -0
  61. package/components/mcp/tools/schemas/operations.ts +245 -0
  62. package/components/mcp/transport.ts +517 -0
  63. package/components/ollama/index.ts +316 -0
  64. package/components/openai/index.ts +563 -0
  65. package/components/operations.js +211 -60
  66. package/components/operationsValidation.js +3 -3
  67. package/components/packageComponent.ts +97 -29
  68. package/components/requestRestart.ts +17 -2
  69. package/components/status/crossThread.ts +14 -5
  70. package/components/status/errors.ts +1 -1
  71. package/config/RootConfigWatcher.ts +56 -2
  72. package/config/configUtils.js +29 -8
  73. package/config/harperConfigEnvVars.ts +1 -1
  74. package/config-root.schema.json +74 -0
  75. package/dataLayer/{CreateAttributeObject.js → CreateAttributeObject.ts} +4 -3
  76. package/dataLayer/{CreateTableObject.js → CreateTableObject.ts} +2 -1
  77. package/dataLayer/{DataLayerObjects.js → DataLayerObjects.ts} +17 -9
  78. package/dataLayer/{DeleteBeforeObject.js → DeleteBeforeObject.ts} +2 -1
  79. package/dataLayer/{DeleteObject.js → DeleteObject.ts} +3 -2
  80. package/dataLayer/{DropAttributeObject.js → DropAttributeObject.ts} +2 -1
  81. package/dataLayer/{GetBackupObject.js → GetBackupObject.ts} +3 -2
  82. package/dataLayer/{InsertObject.js → InsertObject.ts} +3 -2
  83. package/dataLayer/{ReadAuditLogObject.js → ReadAuditLogObject.ts} +3 -2
  84. package/dataLayer/{SQLSearch.js → SQLSearch.ts} +97 -43
  85. package/dataLayer/{SearchByConditionsObject.js → SearchByConditionsObject.ts} +5 -6
  86. package/dataLayer/{SearchByHashObject.js → SearchByHashObject.ts} +2 -1
  87. package/dataLayer/{SearchObject.js → SearchObject.ts} +2 -1
  88. package/dataLayer/{SqlSearchObject.js → SqlSearchObject.ts} +2 -1
  89. package/dataLayer/{UpdateObject.js → UpdateObject.ts} +3 -2
  90. package/dataLayer/{UpsertObject.js → UpsertObject.ts} +3 -2
  91. package/dataLayer/{bulkLoad.js → bulkLoad.ts} +40 -49
  92. package/dataLayer/{delete.js → delete.ts} +21 -26
  93. package/dataLayer/{export.js → export.ts} +22 -26
  94. package/dataLayer/{getBackup.js → getBackup.ts} +7 -9
  95. package/dataLayer/harperBridge/BridgeMethods.ts +102 -0
  96. package/dataLayer/harperBridge/ResourceBridge.ts +27 -26
  97. package/dataLayer/harperBridge/TableSizeObject.ts +1 -0
  98. package/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +4 -4
  99. package/dataLayer/harperBridge/{harperBridge.js → harperBridge.ts} +3 -3
  100. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +8 -6
  101. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +4 -4
  102. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +1 -1
  103. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +6 -4
  104. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +5 -4
  105. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +4 -4
  106. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +6 -5
  107. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +5 -4
  108. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +5 -5
  109. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +1 -1
  110. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +3 -3
  111. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +1 -1
  112. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +3 -2
  113. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +5 -5
  114. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +10 -8
  115. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +1 -1
  116. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +4 -3
  117. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +3 -3
  118. package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +6 -5
  119. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +2 -1
  120. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +3 -2
  121. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +2 -2
  122. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +5 -4
  123. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +6 -3
  124. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +1 -1
  125. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +4 -4
  126. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +5 -5
  127. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +4 -4
  128. package/dataLayer/{hdbInfoController.js → hdbInfoController.ts} +20 -26
  129. package/dataLayer/{insert.js → insert.ts} +24 -24
  130. package/dataLayer/{readAuditLog.js → readAuditLog.ts} +8 -10
  131. package/dataLayer/{schema.js → schema.ts} +32 -44
  132. package/dataLayer/{schemaDescribe.js → schemaDescribe.ts} +23 -26
  133. package/dataLayer/{search.js → search.ts} +9 -15
  134. package/dataLayer/{transaction.js → transaction.ts} +2 -5
  135. package/dataLayer/{update.js → update.ts} +19 -22
  136. package/dist/agent/agent.d.ts +35 -0
  137. package/dist/agent/agent.js +175 -0
  138. package/dist/agent/agent.js.map +1 -0
  139. package/dist/agent/loop.d.ts +34 -0
  140. package/dist/agent/loop.js +176 -0
  141. package/dist/agent/loop.js.map +1 -0
  142. package/dist/agent/operations.d.ts +17 -0
  143. package/dist/agent/operations.js +137 -0
  144. package/dist/agent/operations.js.map +1 -0
  145. package/dist/agent/session.d.ts +36 -0
  146. package/dist/agent/session.js +182 -0
  147. package/dist/agent/session.js.map +1 -0
  148. package/dist/agent/tools/fsTools.d.ts +19 -0
  149. package/dist/agent/tools/fsTools.js +286 -0
  150. package/dist/agent/tools/fsTools.js.map +1 -0
  151. package/dist/agent/tools/httpFetchTool.d.ts +9 -0
  152. package/dist/agent/tools/httpFetchTool.js +116 -0
  153. package/dist/agent/tools/httpFetchTool.js.map +1 -0
  154. package/dist/agent/tools/scheduleTool.d.ts +22 -0
  155. package/dist/agent/tools/scheduleTool.js +54 -0
  156. package/dist/agent/tools/scheduleTool.js.map +1 -0
  157. package/dist/agent/toolset.d.ts +24 -0
  158. package/dist/agent/toolset.js +33 -0
  159. package/dist/agent/toolset.js.map +1 -0
  160. package/dist/agent/types.d.ts +75 -0
  161. package/dist/agent/types.js +10 -0
  162. package/dist/agent/types.js.map +1 -0
  163. package/dist/bin/BinObjects.d.ts +2 -2
  164. package/dist/bin/BinObjects.js +6 -3
  165. package/dist/bin/BinObjects.js.map +1 -1
  166. package/dist/bin/cliCredentials.d.ts +27 -0
  167. package/dist/bin/cliCredentials.js +130 -0
  168. package/dist/bin/cliCredentials.js.map +1 -0
  169. package/dist/bin/cliOperations.d.ts +7 -7
  170. package/dist/bin/cliOperations.js +251 -37
  171. package/dist/bin/cliOperations.js.map +1 -1
  172. package/dist/bin/copyDb.js +16 -16
  173. package/dist/bin/copyDb.js.map +1 -1
  174. package/dist/bin/deployRenderer.d.ts +47 -0
  175. package/dist/bin/deployRenderer.js +185 -0
  176. package/dist/bin/deployRenderer.js.map +1 -0
  177. package/dist/bin/harper.d.ts +2 -1
  178. package/dist/bin/harper.js +87 -26
  179. package/dist/bin/harper.js.map +1 -1
  180. package/dist/bin/install.d.ts +1 -1
  181. package/dist/bin/install.js +41 -4
  182. package/dist/bin/install.js.map +1 -1
  183. package/dist/bin/lite.js +3 -4
  184. package/dist/bin/lite.js.map +1 -1
  185. package/dist/bin/login.d.ts +4 -0
  186. package/dist/bin/login.js +158 -0
  187. package/dist/bin/login.js.map +1 -0
  188. package/dist/bin/logout.d.ts +4 -0
  189. package/dist/bin/logout.js +16 -0
  190. package/dist/bin/logout.js.map +1 -0
  191. package/dist/bin/mcp/client.d.ts +34 -0
  192. package/dist/bin/mcp/client.js +395 -0
  193. package/dist/bin/mcp/client.js.map +1 -0
  194. package/dist/bin/mcp/doctor.d.ts +11 -0
  195. package/dist/bin/mcp/doctor.js +193 -0
  196. package/dist/bin/mcp/doctor.js.map +1 -0
  197. package/dist/bin/mcp/index.d.ts +10 -0
  198. package/dist/bin/mcp/index.js +81 -0
  199. package/dist/bin/mcp/index.js.map +1 -0
  200. package/dist/bin/mcp/options.d.ts +33 -0
  201. package/dist/bin/mcp/options.js +113 -0
  202. package/dist/bin/mcp/options.js.map +1 -0
  203. package/dist/bin/mcp/printConfig.d.ts +14 -0
  204. package/dist/bin/mcp/printConfig.js +85 -0
  205. package/dist/bin/mcp/printConfig.js.map +1 -0
  206. package/dist/bin/multipartBuilder.d.ts +26 -0
  207. package/dist/bin/multipartBuilder.js +55 -0
  208. package/dist/bin/multipartBuilder.js.map +1 -0
  209. package/dist/bin/restart.d.ts +3 -2
  210. package/dist/bin/restart.js +82 -45
  211. package/dist/bin/restart.js.map +1 -1
  212. package/dist/bin/run.d.ts +13 -9
  213. package/dist/bin/run.js +111 -65
  214. package/dist/bin/run.js.map +1 -1
  215. package/dist/bin/sseConsumer.d.ts +24 -0
  216. package/dist/bin/sseConsumer.js +127 -0
  217. package/dist/bin/sseConsumer.js.map +1 -0
  218. package/dist/bin/status.d.ts +1 -1
  219. package/dist/bin/status.js +48 -11
  220. package/dist/bin/status.js.map +1 -1
  221. package/dist/bin/stop.d.ts +1 -1
  222. package/dist/bin/stop.js +43 -6
  223. package/dist/bin/stop.js.map +1 -1
  224. package/dist/bin/upgrade.js +6 -6
  225. package/dist/components/Application.d.ts +29 -17
  226. package/dist/components/Application.js +134 -28
  227. package/dist/components/Application.js.map +1 -1
  228. package/dist/components/ApplicationScope.js +2 -2
  229. package/dist/components/ComponentV1.d.ts +1 -1
  230. package/dist/components/ComponentV1.js +5 -5
  231. package/dist/components/ComponentV1.js.map +1 -1
  232. package/dist/components/EntryHandler.d.ts +26 -3
  233. package/dist/components/EntryHandler.js +153 -13
  234. package/dist/components/EntryHandler.js.map +1 -1
  235. package/dist/components/OptionsWatcher.d.ts +7 -2
  236. package/dist/components/OptionsWatcher.js +72 -10
  237. package/dist/components/OptionsWatcher.js.map +1 -1
  238. package/dist/components/Scope.d.ts +11 -6
  239. package/dist/components/Scope.js +105 -9
  240. package/dist/components/Scope.js.map +1 -1
  241. package/dist/components/anthropic/index.d.ts +40 -0
  242. package/dist/components/anthropic/index.js +428 -0
  243. package/dist/components/anthropic/index.js.map +1 -0
  244. package/dist/components/bedrock/index.d.ts +79 -0
  245. package/dist/components/bedrock/index.js +734 -0
  246. package/dist/components/bedrock/index.js.map +1 -0
  247. package/dist/components/componentLoader.d.ts +29 -0
  248. package/dist/components/componentLoader.js +63 -38
  249. package/dist/components/componentLoader.js.map +1 -1
  250. package/dist/components/deployLifecycle.d.ts +39 -0
  251. package/dist/components/deployLifecycle.js +156 -0
  252. package/dist/components/deployLifecycle.js.map +1 -0
  253. package/dist/components/deploymentOperations.d.ts +19 -0
  254. package/dist/components/deploymentOperations.js +185 -0
  255. package/dist/components/deploymentOperations.js.map +1 -0
  256. package/dist/components/deploymentRecorder.d.ts +81 -0
  257. package/dist/components/deploymentRecorder.js +401 -0
  258. package/dist/components/deploymentRecorder.js.map +1 -0
  259. package/dist/components/deriveURLPath.d.ts +2 -2
  260. package/dist/components/deriveURLPath.js +2 -2
  261. package/dist/components/deriveURLPath.js.map +1 -1
  262. package/dist/components/mcp/adapters/fastify.d.ts +35 -0
  263. package/dist/components/mcp/adapters/fastify.js +66 -0
  264. package/dist/components/mcp/adapters/fastify.js.map +1 -0
  265. package/dist/components/mcp/adapters/harperHttp.d.ts +38 -0
  266. package/dist/components/mcp/adapters/harperHttp.js +78 -0
  267. package/dist/components/mcp/adapters/harperHttp.js.map +1 -0
  268. package/dist/components/mcp/audit.d.ts +27 -0
  269. package/dist/components/mcp/audit.js +73 -0
  270. package/dist/components/mcp/audit.js.map +1 -0
  271. package/dist/components/mcp/index.d.ts +47 -0
  272. package/dist/components/mcp/index.js +109 -0
  273. package/dist/components/mcp/index.js.map +1 -0
  274. package/dist/components/mcp/jsonrpc.d.ts +71 -0
  275. package/dist/components/mcp/jsonrpc.js +93 -0
  276. package/dist/components/mcp/jsonrpc.js.map +1 -0
  277. package/dist/components/mcp/lifecycle.d.ts +69 -0
  278. package/dist/components/mcp/lifecycle.js +79 -0
  279. package/dist/components/mcp/lifecycle.js.map +1 -0
  280. package/dist/components/mcp/listChanged.d.ts +24 -0
  281. package/dist/components/mcp/listChanged.js +257 -0
  282. package/dist/components/mcp/listChanged.js.map +1 -0
  283. package/dist/components/mcp/rateLimit.d.ts +25 -0
  284. package/dist/components/mcp/rateLimit.js +226 -0
  285. package/dist/components/mcp/rateLimit.js.map +1 -0
  286. package/dist/components/mcp/resources.d.ts +90 -0
  287. package/dist/components/mcp/resources.js +515 -0
  288. package/dist/components/mcp/resources.js.map +1 -0
  289. package/dist/components/mcp/session.d.ts +36 -0
  290. package/dist/components/mcp/session.js +170 -0
  291. package/dist/components/mcp/session.js.map +1 -0
  292. package/dist/components/mcp/sessionRegistry.d.ts +63 -0
  293. package/dist/components/mcp/sessionRegistry.js +124 -0
  294. package/dist/components/mcp/sessionRegistry.js.map +1 -0
  295. package/dist/components/mcp/toolRegistry.d.ts +150 -0
  296. package/dist/components/mcp/toolRegistry.js +176 -0
  297. package/dist/components/mcp/toolRegistry.js.map +1 -0
  298. package/dist/components/mcp/tools/application.d.ts +58 -0
  299. package/dist/components/mcp/tools/application.js +549 -0
  300. package/dist/components/mcp/tools/application.js.map +1 -0
  301. package/dist/components/mcp/tools/operations.d.ts +23 -0
  302. package/dist/components/mcp/tools/operations.js +303 -0
  303. package/dist/components/mcp/tools/operations.js.map +1 -0
  304. package/dist/components/mcp/tools/schemas/derive.d.ts +36 -0
  305. package/dist/components/mcp/tools/schemas/derive.js +216 -0
  306. package/dist/components/mcp/tools/schemas/derive.js.map +1 -0
  307. package/dist/components/mcp/tools/schemas/operations.d.ts +27 -0
  308. package/dist/components/mcp/tools/schemas/operations.js +243 -0
  309. package/dist/components/mcp/tools/schemas/operations.js.map +1 -0
  310. package/dist/components/mcp/transport.d.ts +38 -0
  311. package/dist/components/mcp/transport.js +467 -0
  312. package/dist/components/mcp/transport.js.map +1 -0
  313. package/dist/components/ollama/index.d.ts +46 -0
  314. package/dist/components/ollama/index.js +239 -0
  315. package/dist/components/ollama/index.js.map +1 -0
  316. package/dist/components/openai/index.d.ts +51 -0
  317. package/dist/components/openai/index.js +475 -0
  318. package/dist/components/openai/index.js.map +1 -0
  319. package/dist/components/operations.d.ts +6 -6
  320. package/dist/components/operations.js +198 -52
  321. package/dist/components/operations.js.map +1 -1
  322. package/dist/components/operationsValidation.d.ts +2 -2
  323. package/dist/components/operationsValidation.js +3 -3
  324. package/dist/components/packageComponent.d.ts +28 -6
  325. package/dist/components/packageComponent.js +87 -26
  326. package/dist/components/packageComponent.js.map +1 -1
  327. package/dist/components/requestRestart.d.ts +1 -0
  328. package/dist/components/requestRestart.js +12 -1
  329. package/dist/components/requestRestart.js.map +1 -1
  330. package/dist/components/status/crossThread.d.ts +5 -1
  331. package/dist/components/status/crossThread.js +12 -5
  332. package/dist/components/status/crossThread.js.map +1 -1
  333. package/dist/components/status/errors.js +7 -7
  334. package/dist/config/RootConfigWatcher.d.ts +3 -0
  335. package/dist/config/RootConfigWatcher.js +52 -1
  336. package/dist/config/RootConfigWatcher.js.map +1 -1
  337. package/dist/config/configUtils.js +31 -8
  338. package/dist/config/configUtils.js.map +1 -1
  339. package/dist/config/harperConfigEnvVars.js +1 -1
  340. package/dist/config/harperConfigEnvVars.js.map +1 -1
  341. package/dist/dataLayer/CreateAttributeObject.d.ts +3 -7
  342. package/dist/dataLayer/CreateAttributeObject.js +4 -3
  343. package/dist/dataLayer/CreateAttributeObject.js.map +1 -1
  344. package/dist/dataLayer/CreateTableObject.d.ts +2 -4
  345. package/dist/dataLayer/CreateTableObject.js +2 -1
  346. package/dist/dataLayer/CreateTableObject.js.map +1 -1
  347. package/dist/dataLayer/DataLayerObjects.d.ts +17 -16
  348. package/dist/dataLayer/DataLayerObjects.js +19 -5
  349. package/dist/dataLayer/DataLayerObjects.js.map +1 -1
  350. package/dist/dataLayer/DeleteBeforeObject.d.ts +3 -5
  351. package/dist/dataLayer/DeleteBeforeObject.js +2 -1
  352. package/dist/dataLayer/DeleteBeforeObject.js.map +1 -1
  353. package/dist/dataLayer/DeleteObject.d.ts +3 -7
  354. package/dist/dataLayer/DeleteObject.js +4 -3
  355. package/dist/dataLayer/DeleteObject.js.map +1 -1
  356. package/dist/dataLayer/DropAttributeObject.d.ts +2 -4
  357. package/dist/dataLayer/DropAttributeObject.js +2 -1
  358. package/dist/dataLayer/DropAttributeObject.js.map +1 -1
  359. package/dist/dataLayer/GetBackupObject.d.ts +3 -5
  360. package/dist/dataLayer/GetBackupObject.js +4 -3
  361. package/dist/dataLayer/GetBackupObject.js.map +1 -1
  362. package/dist/dataLayer/InsertObject.d.ts +3 -8
  363. package/dist/dataLayer/InsertObject.js +4 -3
  364. package/dist/dataLayer/InsertObject.js.map +1 -1
  365. package/dist/dataLayer/ReadAuditLogObject.d.ts +3 -7
  366. package/dist/dataLayer/ReadAuditLogObject.js +4 -3
  367. package/dist/dataLayer/ReadAuditLogObject.js.map +1 -1
  368. package/dist/dataLayer/SQLSearch.d.ts +68 -38
  369. package/dist/dataLayer/SQLSearch.js +140 -78
  370. package/dist/dataLayer/SQLSearch.js.map +1 -1
  371. package/dist/dataLayer/SearchByConditionsObject.d.ts +10 -58
  372. package/dist/dataLayer/SearchByConditionsObject.js +5 -7
  373. package/dist/dataLayer/SearchByConditionsObject.js.map +1 -1
  374. package/dist/dataLayer/SearchByHashObject.d.ts +3 -6
  375. package/dist/dataLayer/SearchByHashObject.js +2 -1
  376. package/dist/dataLayer/SearchByHashObject.js.map +1 -1
  377. package/dist/dataLayer/SearchObject.d.ts +3 -12
  378. package/dist/dataLayer/SearchObject.js +2 -1
  379. package/dist/dataLayer/SearchObject.js.map +1 -1
  380. package/dist/dataLayer/SqlSearchObject.d.ts +2 -4
  381. package/dist/dataLayer/SqlSearchObject.js +2 -1
  382. package/dist/dataLayer/SqlSearchObject.js.map +1 -1
  383. package/dist/dataLayer/UpdateObject.d.ts +3 -7
  384. package/dist/dataLayer/UpdateObject.js +4 -3
  385. package/dist/dataLayer/UpdateObject.js.map +1 -1
  386. package/dist/dataLayer/UpsertObject.d.ts +3 -7
  387. package/dist/dataLayer/UpsertObject.js +4 -3
  388. package/dist/dataLayer/UpsertObject.js.map +1 -1
  389. package/dist/dataLayer/bulkLoad.d.ts +4 -4
  390. package/dist/dataLayer/bulkLoad.js +122 -88
  391. package/dist/dataLayer/bulkLoad.js.map +1 -1
  392. package/dist/dataLayer/delete.d.ts +10 -11
  393. package/dist/dataLayer/delete.js +74 -39
  394. package/dist/dataLayer/delete.js.map +1 -1
  395. package/dist/dataLayer/export.d.ts +8 -8
  396. package/dist/dataLayer/export.js +90 -55
  397. package/dist/dataLayer/export.js.map +1 -1
  398. package/dist/dataLayer/getBackup.d.ts +4 -3
  399. package/dist/dataLayer/getBackup.js +43 -11
  400. package/dist/dataLayer/getBackup.js.map +1 -1
  401. package/dist/dataLayer/harperBridge/BridgeMethods.d.ts +39 -21
  402. package/dist/dataLayer/harperBridge/BridgeMethods.js +41 -20
  403. package/dist/dataLayer/harperBridge/BridgeMethods.js.map +1 -1
  404. package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +2 -2
  405. package/dist/dataLayer/harperBridge/ResourceBridge.js +26 -25
  406. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  407. package/dist/dataLayer/harperBridge/TableSizeObject.d.ts +1 -0
  408. package/dist/dataLayer/harperBridge/TableSizeObject.js.map +1 -1
  409. package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.d.ts +4 -4
  410. package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +4 -4
  411. package/dist/dataLayer/harperBridge/harperBridge.d.ts +2 -3
  412. package/dist/dataLayer/harperBridge/harperBridge.js +38 -4
  413. package/dist/dataLayer/harperBridge/harperBridge.js.map +1 -1
  414. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.d.ts +1 -2
  415. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +7 -6
  416. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js.map +1 -1
  417. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.d.ts +1 -2
  418. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +4 -4
  419. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js.map +1 -1
  420. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +1 -1
  421. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js.map +1 -1
  422. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +5 -4
  423. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js.map +1 -1
  424. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.d.ts +1 -2
  425. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +4 -4
  426. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js.map +1 -1
  427. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +4 -4
  428. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.d.ts +1 -2
  429. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +5 -5
  430. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js.map +1 -1
  431. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +4 -4
  432. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js.map +1 -1
  433. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +5 -5
  434. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js.map +1 -1
  435. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +1 -1
  436. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +3 -3
  437. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +1 -1
  438. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +2 -2
  439. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js.map +1 -1
  440. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +5 -5
  441. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.d.ts +1 -2
  442. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +8 -8
  443. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js.map +1 -1
  444. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.d.ts +1 -1
  445. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +1 -1
  446. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.d.ts +1 -2
  447. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +3 -3
  448. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js.map +1 -1
  449. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +3 -3
  450. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.d.ts +1 -2
  451. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +5 -5
  452. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js.map +1 -1
  453. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.d.ts +1 -2
  454. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +1 -1
  455. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js.map +1 -1
  456. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +2 -2
  457. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js.map +1 -1
  458. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +2 -2
  459. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +4 -4
  460. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js.map +1 -1
  461. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.d.ts +1 -2
  462. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +5 -3
  463. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js.map +1 -1
  464. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +2 -2
  465. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.d.ts +1 -2
  466. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +4 -4
  467. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js.map +1 -1
  468. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +5 -5
  469. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +4 -4
  470. package/dist/dataLayer/hdbInfoController.d.ts +4 -8
  471. package/dist/dataLayer/hdbInfoController.js +66 -31
  472. package/dist/dataLayer/hdbInfoController.js.map +1 -1
  473. package/dist/dataLayer/insert.d.ts +14 -26
  474. package/dist/dataLayer/insert.js +63 -28
  475. package/dist/dataLayer/insert.js.map +1 -1
  476. package/dist/dataLayer/readAuditLog.d.ts +1 -3
  477. package/dist/dataLayer/readAuditLog.js +45 -13
  478. package/dist/dataLayer/readAuditLog.js.map +1 -1
  479. package/dist/dataLayer/schema.d.ts +10 -10
  480. package/dist/dataLayer/schema.js +124 -89
  481. package/dist/dataLayer/schema.js.map +1 -1
  482. package/dist/dataLayer/schemaDescribe.d.ts +4 -4
  483. package/dist/dataLayer/schemaDescribe.js +78 -41
  484. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  485. package/dist/dataLayer/search.d.ts +4 -4
  486. package/dist/dataLayer/search.js +12 -13
  487. package/dist/dataLayer/search.js.map +1 -1
  488. package/dist/dataLayer/transaction.d.ts +1 -1
  489. package/dist/dataLayer/transaction.js +3 -4
  490. package/dist/dataLayer/transaction.js.map +1 -1
  491. package/dist/dataLayer/update.d.ts +2 -8
  492. package/dist/dataLayer/update.js +53 -18
  493. package/dist/dataLayer/update.js.map +1 -1
  494. package/dist/globals.d.ts +1 -1
  495. package/dist/globals.js +1 -0
  496. package/dist/globals.js.map +1 -1
  497. package/dist/index.d.ts +4 -0
  498. package/dist/index.js +4 -1
  499. package/dist/index.js.map +1 -1
  500. package/dist/json/systemSchema.json +65 -0
  501. package/dist/launchServiceScripts/launchHarperDB.d.ts +1 -0
  502. package/dist/launchServiceScripts/launchHarperDB.js +3 -0
  503. package/dist/launchServiceScripts/launchHarperDB.js.map +1 -0
  504. package/dist/launchServiceScripts/utility/checkNodeVersion.js +3 -0
  505. package/dist/launchServiceScripts/utility/checkNodeVersion.js.map +1 -1
  506. package/dist/resources/DatabaseTransaction.d.ts +14 -6
  507. package/dist/resources/DatabaseTransaction.js +39 -15
  508. package/dist/resources/DatabaseTransaction.js.map +1 -1
  509. package/dist/resources/ErrorResource.d.ts +1 -1
  510. package/dist/resources/ErrorResource.js +3 -1
  511. package/dist/resources/ErrorResource.js.map +1 -1
  512. package/dist/resources/LMDBTransaction.d.ts +10 -13
  513. package/dist/resources/LMDBTransaction.js +18 -7
  514. package/dist/resources/LMDBTransaction.js.map +1 -1
  515. package/dist/resources/RecordEncoder.d.ts +7 -1
  516. package/dist/resources/RecordEncoder.js +5 -2
  517. package/dist/resources/RecordEncoder.js.map +1 -1
  518. package/dist/resources/RequestTarget.d.ts +1 -0
  519. package/dist/resources/RequestTarget.js.map +1 -1
  520. package/dist/resources/Resource.d.ts +9 -5
  521. package/dist/resources/Resource.js +37 -10
  522. package/dist/resources/Resource.js.map +1 -1
  523. package/dist/resources/ResourceInterface.d.ts +24 -5
  524. package/dist/resources/ResourceInterface.js +20 -0
  525. package/dist/resources/ResourceInterface.js.map +1 -1
  526. package/dist/resources/Resources.d.ts +3 -4
  527. package/dist/resources/Resources.js +7 -6
  528. package/dist/resources/Resources.js.map +1 -1
  529. package/dist/resources/RocksIndexStore.js +3 -0
  530. package/dist/resources/RocksIndexStore.js.map +1 -1
  531. package/dist/resources/RocksTransactionLogStore.d.ts +1 -1
  532. package/dist/resources/RocksTransactionLogStore.js +46 -27
  533. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  534. package/dist/resources/Table.d.ts +59 -329
  535. package/dist/resources/Table.js +267 -107
  536. package/dist/resources/Table.js.map +1 -1
  537. package/dist/resources/analytics/metadata.d.ts +1 -0
  538. package/dist/resources/analytics/metadata.js +1 -0
  539. package/dist/resources/analytics/metadata.js.map +1 -1
  540. package/dist/resources/analytics/read.d.ts +5 -0
  541. package/dist/resources/analytics/read.js +16 -5
  542. package/dist/resources/analytics/read.js.map +1 -1
  543. package/dist/resources/analytics/write.d.ts +28 -0
  544. package/dist/resources/analytics/write.js +232 -20
  545. package/dist/resources/analytics/write.js.map +1 -1
  546. package/dist/resources/auditStore.d.ts +18 -13
  547. package/dist/resources/auditStore.js +13 -8
  548. package/dist/resources/auditStore.js.map +1 -1
  549. package/dist/resources/blob.d.ts +16 -27
  550. package/dist/resources/blob.js +8 -8
  551. package/dist/resources/blob.js.map +1 -1
  552. package/dist/resources/dataLoader.d.ts +1 -1
  553. package/dist/resources/dataLoader.js +13 -13
  554. package/dist/resources/databases.d.ts +13 -0
  555. package/dist/resources/databases.js +160 -52
  556. package/dist/resources/databases.js.map +1 -1
  557. package/dist/resources/graphql.d.ts +1 -7
  558. package/dist/resources/graphql.js +224 -174
  559. package/dist/resources/graphql.js.map +1 -1
  560. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +16 -1
  561. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +308 -59
  562. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  563. package/dist/resources/indexes/vector.d.ts +1 -0
  564. package/dist/resources/indexes/vector.js +14 -0
  565. package/dist/resources/indexes/vector.js.map +1 -1
  566. package/dist/resources/loadEnv.d.ts +2 -5
  567. package/dist/resources/loadEnv.js +21 -18
  568. package/dist/resources/loadEnv.js.map +1 -1
  569. package/dist/resources/login.d.ts +2 -3
  570. package/dist/resources/login.js +5 -4
  571. package/dist/resources/login.js.map +1 -1
  572. package/dist/resources/models/Models.d.ts +45 -0
  573. package/dist/resources/models/Models.js +265 -0
  574. package/dist/resources/models/Models.js.map +1 -0
  575. package/dist/resources/models/TestBackend.d.ts +15 -0
  576. package/dist/resources/models/TestBackend.js +71 -0
  577. package/dist/resources/models/TestBackend.js.map +1 -0
  578. package/dist/resources/models/agentLoop.d.ts +125 -0
  579. package/dist/resources/models/agentLoop.js +746 -0
  580. package/dist/resources/models/agentLoop.js.map +1 -0
  581. package/dist/resources/models/analyticsTable.d.ts +65 -0
  582. package/dist/resources/models/analyticsTable.js +166 -0
  583. package/dist/resources/models/analyticsTable.js.map +1 -0
  584. package/dist/resources/models/backendHelpers.d.ts +57 -0
  585. package/dist/resources/models/backendHelpers.js +109 -0
  586. package/dist/resources/models/backendHelpers.js.map +1 -0
  587. package/dist/resources/models/backendRegistry.d.ts +36 -0
  588. package/dist/resources/models/backendRegistry.js +54 -0
  589. package/dist/resources/models/backendRegistry.js.map +1 -0
  590. package/dist/resources/models/bootstrap.d.ts +24 -0
  591. package/dist/resources/models/bootstrap.js +112 -0
  592. package/dist/resources/models/bootstrap.js.map +1 -0
  593. package/dist/resources/models/embedHook.d.ts +33 -0
  594. package/dist/resources/models/embedHook.js +127 -0
  595. package/dist/resources/models/embedHook.js.map +1 -0
  596. package/dist/resources/models/types.d.ts +301 -0
  597. package/dist/resources/models/types.js +11 -0
  598. package/dist/resources/models/types.js.map +1 -0
  599. package/dist/resources/replayLogs.js +7 -1
  600. package/dist/resources/replayLogs.js.map +1 -1
  601. package/dist/resources/roles.d.ts +1 -7
  602. package/dist/resources/roles.js +67 -71
  603. package/dist/resources/roles.js.map +1 -1
  604. package/dist/resources/search.d.ts +18 -1
  605. package/dist/resources/search.js +349 -140
  606. package/dist/resources/search.js.map +1 -1
  607. package/dist/resources/tracked.d.ts +1 -1
  608. package/dist/resources/tracked.js +14 -14
  609. package/dist/resources/tracked.js.map +1 -1
  610. package/dist/resources/transaction.d.ts +1 -1
  611. package/dist/resources/transaction.js +1 -1
  612. package/dist/resources/transaction.js.map +1 -1
  613. package/dist/resources/transactionBroadcast.d.ts +1 -1
  614. package/dist/resources/transactionBroadcast.js.map +1 -1
  615. package/dist/security/auth.d.ts +1 -5
  616. package/dist/security/auth.js +34 -25
  617. package/dist/security/auth.js.map +1 -1
  618. package/dist/security/certificateVerification/crlVerification.js +7 -1
  619. package/dist/security/certificateVerification/crlVerification.js.map +1 -1
  620. package/dist/security/cryptoHash.d.ts +2 -2
  621. package/dist/security/cryptoHash.js +37 -5
  622. package/dist/security/cryptoHash.js.map +1 -1
  623. package/dist/security/data_objects/PermissionAttributeResponseObject.d.ts +3 -4
  624. package/dist/security/data_objects/PermissionAttributeResponseObject.js +4 -1
  625. package/dist/security/data_objects/PermissionAttributeResponseObject.js.map +1 -1
  626. package/dist/security/data_objects/PermissionResponseObject.d.ts +9 -9
  627. package/dist/security/data_objects/PermissionResponseObject.js +15 -8
  628. package/dist/security/data_objects/PermissionResponseObject.js.map +1 -1
  629. package/dist/security/data_objects/PermissionTableResponseObject.d.ts +5 -6
  630. package/dist/security/data_objects/PermissionTableResponseObject.js +6 -1
  631. package/dist/security/data_objects/PermissionTableResponseObject.js.map +1 -1
  632. package/dist/security/fastifyAuth.d.ts +2 -2
  633. package/dist/security/fastifyAuth.js +131 -22
  634. package/dist/security/fastifyAuth.js.map +1 -1
  635. package/dist/security/impersonation.js +15 -15
  636. package/dist/security/jsLoader.js +18 -5
  637. package/dist/security/jsLoader.js.map +1 -1
  638. package/dist/security/keys.d.ts +45 -48
  639. package/dist/security/keys.js +160 -114
  640. package/dist/security/keys.js.map +1 -1
  641. package/dist/security/permissionsTranslator.js +2 -2
  642. package/dist/security/role.d.ts +5 -5
  643. package/dist/security/role.js +70 -35
  644. package/dist/security/role.js.map +1 -1
  645. package/dist/security/tokenAuthentication.d.ts +13 -0
  646. package/dist/security/tokenAuthentication.js +57 -27
  647. package/dist/security/tokenAuthentication.js.map +1 -1
  648. package/dist/security/user.js +74 -38
  649. package/dist/security/user.js.map +1 -1
  650. package/dist/server/DurableSubscriptionsSession.d.ts +4 -2
  651. package/dist/server/DurableSubscriptionsSession.js +71 -55
  652. package/dist/server/DurableSubscriptionsSession.js.map +1 -1
  653. package/dist/server/REST.d.ts +1 -8
  654. package/dist/server/REST.js +17 -16
  655. package/dist/server/REST.js.map +1 -1
  656. package/dist/server/Server.d.ts +23 -4
  657. package/dist/server/Server.js +1 -1
  658. package/dist/server/Server.js.map +1 -1
  659. package/dist/server/fastifyRoutes/helpers/getCORSOptions.js +1 -1
  660. package/dist/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +1 -1
  661. package/dist/server/fastifyRoutes/helpers/getServerOptions.js +1 -1
  662. package/dist/server/fastifyRoutes.d.ts +1 -4
  663. package/dist/server/fastifyRoutes.js +34 -30
  664. package/dist/server/fastifyRoutes.js.map +1 -1
  665. package/dist/server/graphqlQuerying.d.ts +1 -1
  666. package/dist/server/graphqlQuerying.js +8 -7
  667. package/dist/server/graphqlQuerying.js.map +1 -1
  668. package/dist/server/http.d.ts +9 -4
  669. package/dist/server/http.js +523 -47
  670. package/dist/server/http.js.map +1 -1
  671. package/dist/server/itc/serverHandlers.js +66 -15
  672. package/dist/server/itc/serverHandlers.js.map +1 -1
  673. package/dist/server/jobs/JobObject.d.ts +3 -3
  674. package/dist/server/jobs/JobObject.js +53 -7
  675. package/dist/server/jobs/JobObject.js.map +1 -1
  676. package/dist/server/jobs/jobProcess.js +64 -24
  677. package/dist/server/jobs/jobProcess.js.map +1 -1
  678. package/dist/server/jobs/jobRunner.d.ts +7 -6
  679. package/dist/server/jobs/jobRunner.js +68 -30
  680. package/dist/server/jobs/jobRunner.js.map +1 -1
  681. package/dist/server/jobs/jobs.d.ts +18 -7
  682. package/dist/server/jobs/jobs.js +93 -61
  683. package/dist/server/jobs/jobs.js.map +1 -1
  684. package/dist/server/loadRootComponents.js +1 -1
  685. package/dist/server/middlewareChain.d.ts +80 -0
  686. package/dist/server/middlewareChain.js +252 -0
  687. package/dist/server/middlewareChain.js.map +1 -0
  688. package/dist/server/mqtt.d.ts +1 -8
  689. package/dist/server/mqtt.js +22 -17
  690. package/dist/server/mqtt.js.map +1 -1
  691. package/dist/server/nodeName.js +44 -13
  692. package/dist/server/nodeName.js.map +1 -1
  693. package/dist/server/operationsServer.d.ts +2 -2
  694. package/dist/server/operationsServer.js +106 -33
  695. package/dist/server/operationsServer.js.map +1 -1
  696. package/dist/server/serverHelpers/Headers.d.ts +4 -4
  697. package/dist/server/serverHelpers/Headers.js +2 -0
  698. package/dist/server/serverHelpers/Headers.js.map +1 -1
  699. package/dist/server/serverHelpers/JSONStream.d.ts +7 -1
  700. package/dist/server/serverHelpers/JSONStream.js +12 -3
  701. package/dist/server/serverHelpers/JSONStream.js.map +1 -1
  702. package/dist/server/serverHelpers/Request.d.ts +106 -8
  703. package/dist/server/serverHelpers/Request.js +370 -9
  704. package/dist/server/serverHelpers/Request.js.map +1 -1
  705. package/dist/server/serverHelpers/contentTypes.d.ts +1 -1
  706. package/dist/server/serverHelpers/contentTypes.js +36 -7
  707. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  708. package/dist/server/serverHelpers/multipartParser.d.ts +21 -0
  709. package/dist/server/serverHelpers/multipartParser.js +142 -0
  710. package/dist/server/serverHelpers/multipartParser.js.map +1 -0
  711. package/dist/server/serverHelpers/progressEmitter.d.ts +25 -0
  712. package/dist/server/serverHelpers/progressEmitter.js +103 -0
  713. package/dist/server/serverHelpers/progressEmitter.js.map +1 -0
  714. package/dist/server/serverHelpers/serverHandlers.d.ts +1 -1
  715. package/dist/server/serverHelpers/serverHandlers.js +38 -7
  716. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  717. package/dist/server/serverHelpers/serverUtilities.d.ts +4 -2
  718. package/dist/server/serverHelpers/serverUtilities.js +97 -93
  719. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  720. package/dist/server/static.js +8 -5
  721. package/dist/server/static.js.map +1 -1
  722. package/dist/server/status/index.js +3 -3
  723. package/dist/server/storageReclamation.d.ts +10 -0
  724. package/dist/server/storageReclamation.js +68 -9
  725. package/dist/server/storageReclamation.js.map +1 -1
  726. package/dist/server/threads/itc.js +7 -4
  727. package/dist/server/threads/itc.js.map +1 -1
  728. package/dist/server/threads/manageThreads.d.ts +1 -1
  729. package/dist/server/threads/manageThreads.js +110 -26
  730. package/dist/server/threads/manageThreads.js.map +1 -1
  731. package/dist/server/threads/socketRouter.d.ts +0 -1
  732. package/dist/server/threads/socketRouter.js +8 -271
  733. package/dist/server/threads/socketRouter.js.map +1 -1
  734. package/dist/server/threads/threadServer.d.ts +1 -0
  735. package/dist/server/threads/threadServer.js +360 -118
  736. package/dist/server/threads/threadServer.js.map +1 -1
  737. package/dist/server/threads/workerProcessGuard.d.ts +42 -0
  738. package/dist/server/threads/workerProcessGuard.js +114 -0
  739. package/dist/server/threads/workerProcessGuard.js.map +1 -0
  740. package/dist/server/throttle.js +17 -0
  741. package/dist/server/throttle.js.map +1 -1
  742. package/dist/sqlTranslator/SelectValidator.d.ts +21 -24
  743. package/dist/sqlTranslator/SelectValidator.js +86 -47
  744. package/dist/sqlTranslator/SelectValidator.js.map +1 -1
  745. package/dist/sqlTranslator/alasqlFunctionImporter.d.ts +6 -2
  746. package/dist/sqlTranslator/alasqlFunctionImporter.js +40 -3
  747. package/dist/sqlTranslator/alasqlFunctionImporter.js.map +1 -1
  748. package/dist/sqlTranslator/deleteTranslator.d.ts +4 -7
  749. package/dist/sqlTranslator/deleteTranslator.js +48 -14
  750. package/dist/sqlTranslator/deleteTranslator.js.map +1 -1
  751. package/dist/sqlTranslator/index.d.ts +10 -9
  752. package/dist/sqlTranslator/index.js +69 -30
  753. package/dist/sqlTranslator/index.js.map +1 -1
  754. package/dist/sqlTranslator/sql_statement_bucket.d.ts +10 -10
  755. package/dist/sqlTranslator/sql_statement_bucket.js +55 -13
  756. package/dist/sqlTranslator/sql_statement_bucket.js.map +1 -1
  757. package/dist/upgrade/UpgradeObjects.d.ts +2 -3
  758. package/dist/upgrade/UpgradeObjects.js +37 -4
  759. package/dist/upgrade/UpgradeObjects.js.map +1 -1
  760. package/dist/upgrade/directives/5-2-0.d.ts +6 -0
  761. package/dist/upgrade/directives/5-2-0.js +77 -0
  762. package/dist/upgrade/directives/5-2-0.js.map +1 -0
  763. package/dist/upgrade/directives/directivesController.d.ts +10 -10
  764. package/dist/upgrade/directives/directivesController.js +52 -11
  765. package/dist/upgrade/directives/directivesController.js.map +1 -1
  766. package/dist/upgrade/directivesManager.d.ts +1 -1
  767. package/dist/upgrade/directivesManager.js +53 -18
  768. package/dist/upgrade/directivesManager.js.map +1 -1
  769. package/dist/upgrade/upgradePrompt.d.ts +3 -3
  770. package/dist/upgrade/upgradePrompt.js +65 -30
  771. package/dist/upgrade/upgradePrompt.js.map +1 -1
  772. package/dist/upgrade/upgradeUtilities.d.ts +1 -1
  773. package/dist/upgrade/upgradeUtilities.js +37 -5
  774. package/dist/upgrade/upgradeUtilities.js.map +1 -1
  775. package/dist/utility/OperationFunctionCaller.d.ts +1 -1
  776. package/dist/utility/OperationFunctionCaller.js +45 -10
  777. package/dist/utility/OperationFunctionCaller.js.map +1 -1
  778. package/dist/utility/assignCmdEnvVariables.d.ts +1 -2
  779. package/dist/utility/assignCmdEnvVariables.js +8 -4
  780. package/dist/utility/assignCmdEnvVariables.js.map +1 -1
  781. package/dist/utility/common_utils.d.ts +80 -77
  782. package/dist/utility/common_utils.js +140 -79
  783. package/dist/utility/common_utils.js.map +1 -1
  784. package/dist/utility/environment/environmentManager.d.ts +12 -11
  785. package/dist/utility/environment/environmentManager.js +75 -29
  786. package/dist/utility/environment/environmentManager.js.map +1 -1
  787. package/dist/utility/environment/systemInformation.d.ts +4 -0
  788. package/dist/utility/environment/systemInformation.js +27 -16
  789. package/dist/utility/environment/systemInformation.js.map +1 -1
  790. package/dist/utility/errors/commonErrors.d.ts +192 -168
  791. package/dist/utility/errors/commonErrors.js +49 -18
  792. package/dist/utility/errors/commonErrors.js.map +1 -1
  793. package/dist/utility/errors/hdbError.d.ts +37 -51
  794. package/dist/utility/errors/hdbError.js +65 -26
  795. package/dist/utility/errors/hdbError.js.map +1 -1
  796. package/dist/utility/expandEnvVar.d.ts +61 -0
  797. package/dist/utility/expandEnvVar.js +113 -0
  798. package/dist/utility/expandEnvVar.js.map +1 -0
  799. package/dist/utility/functions/geo.js +2 -2
  800. package/dist/utility/functions/sql/alaSQLExtension.js +1 -1
  801. package/dist/utility/globalSchema.d.ts +13 -4
  802. package/dist/utility/globalSchema.js +14 -11
  803. package/dist/utility/globalSchema.js.map +1 -1
  804. package/dist/utility/hdbTerms.d.ts +56 -0
  805. package/dist/utility/hdbTerms.js +56 -0
  806. package/dist/utility/hdbTerms.js.map +1 -1
  807. package/dist/utility/install/checkJWTTokensExist.js +1 -1
  808. package/dist/utility/install/installer.d.ts +9 -12
  809. package/dist/utility/install/installer.js +87 -51
  810. package/dist/utility/install/installer.js.map +1 -1
  811. package/dist/utility/installation.js +3 -3
  812. package/dist/utility/lmdb/DBIDefinition.d.ts +4 -4
  813. package/dist/utility/lmdb/DBIDefinition.js +5 -1
  814. package/dist/utility/lmdb/DBIDefinition.js.map +1 -1
  815. package/dist/utility/lmdb/DeleteRecordsResponseObject.d.ts +3 -6
  816. package/dist/utility/lmdb/DeleteRecordsResponseObject.js +2 -1
  817. package/dist/utility/lmdb/DeleteRecordsResponseObject.js.map +1 -1
  818. package/dist/utility/lmdb/InsertRecordsResponseObject.d.ts +3 -5
  819. package/dist/utility/lmdb/InsertRecordsResponseObject.js +2 -1
  820. package/dist/utility/lmdb/InsertRecordsResponseObject.js.map +1 -1
  821. package/dist/utility/lmdb/OpenDBIObject.d.ts +11 -15
  822. package/dist/utility/lmdb/OpenDBIObject.js +54 -6
  823. package/dist/utility/lmdb/OpenDBIObject.js.map +1 -1
  824. package/dist/utility/lmdb/OpenEnvironmentObject.d.ts +5 -8
  825. package/dist/utility/lmdb/OpenEnvironmentObject.js +52 -4
  826. package/dist/utility/lmdb/OpenEnvironmentObject.js.map +1 -1
  827. package/dist/utility/lmdb/UpdateRecordsResponseObject.d.ts +3 -6
  828. package/dist/utility/lmdb/UpdateRecordsResponseObject.js +2 -1
  829. package/dist/utility/lmdb/UpdateRecordsResponseObject.js.map +1 -1
  830. package/dist/utility/lmdb/UpsertRecordsResponseObject.d.ts +3 -5
  831. package/dist/utility/lmdb/UpsertRecordsResponseObject.js +2 -1
  832. package/dist/utility/lmdb/UpsertRecordsResponseObject.js.map +1 -1
  833. package/dist/utility/lmdb/cleanLMDBMap.d.ts +1 -1
  834. package/dist/utility/lmdb/cleanLMDBMap.js +44 -7
  835. package/dist/utility/lmdb/cleanLMDBMap.js.map +1 -1
  836. package/dist/utility/lmdb/commonUtility.d.ts +8 -9
  837. package/dist/utility/lmdb/commonUtility.js +46 -17
  838. package/dist/utility/lmdb/commonUtility.js.map +1 -1
  839. package/dist/utility/lmdb/deleteUtility.d.ts +2 -3
  840. package/dist/utility/lmdb/deleteUtility.js +51 -16
  841. package/dist/utility/lmdb/deleteUtility.js.map +1 -1
  842. package/dist/utility/lmdb/environmentUtility.d.ts +69 -36
  843. package/dist/utility/lmdb/environmentUtility.js +91 -51
  844. package/dist/utility/lmdb/environmentUtility.js.map +1 -1
  845. package/dist/utility/lmdb/searchCursorFunctions.d.ts +19 -19
  846. package/dist/utility/lmdb/searchCursorFunctions.js +46 -14
  847. package/dist/utility/lmdb/searchCursorFunctions.js.map +1 -1
  848. package/dist/utility/lmdb/searchUtility.d.ts +142 -73
  849. package/dist/utility/lmdb/searchUtility.js +91 -55
  850. package/dist/utility/lmdb/searchUtility.js.map +1 -1
  851. package/dist/utility/lmdb/terms.d.ts +34 -34
  852. package/dist/utility/lmdb/terms.js +12 -22
  853. package/dist/utility/lmdb/terms.js.map +1 -1
  854. package/dist/utility/lmdb/writeUtility.d.ts +3 -6
  855. package/dist/utility/lmdb/writeUtility.js +61 -28
  856. package/dist/utility/lmdb/writeUtility.js.map +1 -1
  857. package/dist/utility/logging/harper_logger.d.ts +87 -103
  858. package/dist/utility/logging/harper_logger.js +176 -81
  859. package/dist/utility/logging/harper_logger.js.map +1 -1
  860. package/dist/utility/logging/logRotator.d.ts +2 -10
  861. package/dist/utility/logging/logRotator.js +65 -28
  862. package/dist/utility/logging/logRotator.js.map +1 -1
  863. package/dist/utility/logging/logger.js +4 -4
  864. package/dist/utility/logging/readLog.d.ts +1 -1
  865. package/dist/utility/logging/readLog.js +54 -17
  866. package/dist/utility/logging/readLog.js.map +1 -1
  867. package/dist/utility/logging/transactionLog.d.ts +2 -2
  868. package/dist/utility/logging/transactionLog.js +51 -16
  869. package/dist/utility/logging/transactionLog.js.map +1 -1
  870. package/dist/utility/mount_hdb.d.ts +1 -2
  871. package/dist/utility/mount_hdb.js +54 -17
  872. package/dist/utility/mount_hdb.js.map +1 -1
  873. package/dist/utility/npmUtilities.d.ts +1 -1
  874. package/dist/utility/npmUtilities.js +54 -19
  875. package/dist/utility/npmUtilities.js.map +1 -1
  876. package/dist/utility/operation_authorization.d.ts +36 -9
  877. package/dist/utility/operation_authorization.js +135 -86
  878. package/dist/utility/operation_authorization.js.map +1 -1
  879. package/dist/utility/packageUtils.d.ts +0 -2
  880. package/dist/utility/packageUtils.js +7 -17
  881. package/dist/utility/packageUtils.js.map +1 -1
  882. package/dist/utility/password.js +2 -2
  883. package/dist/utility/processManagement/processManagement.js +2 -2
  884. package/dist/utility/processManagement/servicesConfig.js +1 -1
  885. package/dist/utility/signalling.d.ts +2 -2
  886. package/dist/utility/signalling.js +51 -16
  887. package/dist/utility/signalling.js.map +1 -1
  888. package/dist/utility/watcherFallback.d.ts +36 -0
  889. package/dist/utility/watcherFallback.js +73 -0
  890. package/dist/utility/watcherFallback.js.map +1 -0
  891. package/dist/validation/analyticsValidator.d.ts +1 -0
  892. package/dist/validation/analyticsValidator.js +79 -0
  893. package/dist/validation/analyticsValidator.js.map +1 -0
  894. package/dist/validation/bulkDeleteValidator.d.ts +1 -2
  895. package/dist/validation/bulkDeleteValidator.js +49 -11
  896. package/dist/validation/bulkDeleteValidator.js.map +1 -1
  897. package/dist/validation/check_permissions.d.ts +1 -2
  898. package/dist/validation/check_permissions.js +38 -3
  899. package/dist/validation/check_permissions.js.map +1 -1
  900. package/dist/validation/common_validators.d.ts +20 -20
  901. package/dist/validation/common_validators.js +62 -31
  902. package/dist/validation/common_validators.js.map +1 -1
  903. package/dist/validation/configValidator.d.ts +4 -4
  904. package/dist/validation/configValidator.js +189 -54
  905. package/dist/validation/configValidator.js.map +1 -1
  906. package/dist/validation/deleteValidator.d.ts +1 -2
  907. package/dist/validation/deleteValidator.js +49 -11
  908. package/dist/validation/deleteValidator.js.map +1 -1
  909. package/dist/validation/fileLoadValidator.d.ts +4 -4
  910. package/dist/validation/fileLoadValidator.js +67 -32
  911. package/dist/validation/fileLoadValidator.js.map +1 -1
  912. package/dist/validation/insertValidator.d.ts +1 -2
  913. package/dist/validation/insertValidator.js +48 -10
  914. package/dist/validation/insertValidator.js.map +1 -1
  915. package/dist/validation/installValidator.d.ts +2 -2
  916. package/dist/validation/installValidator.js +47 -10
  917. package/dist/validation/installValidator.js.map +1 -1
  918. package/dist/validation/readLogValidator.d.ts +1 -2
  919. package/dist/validation/readLogValidator.js +60 -22
  920. package/dist/validation/readLogValidator.js.map +1 -1
  921. package/dist/validation/role_validation.d.ts +3 -3
  922. package/dist/validation/role_validation.js +55 -19
  923. package/dist/validation/role_validation.js.map +1 -1
  924. package/dist/validation/schemaMetadataValidator.d.ts +3 -4
  925. package/dist/validation/schemaMetadataValidator.js +11 -12
  926. package/dist/validation/schemaMetadataValidator.js.map +1 -1
  927. package/dist/validation/searchValidator.d.ts +1 -2
  928. package/dist/validation/searchValidator.js +82 -43
  929. package/dist/validation/searchValidator.js.map +1 -1
  930. package/dist/validation/statusValidator.d.ts +1 -1
  931. package/dist/validation/transactionLogValidator.d.ts +3 -3
  932. package/dist/validation/transactionLogValidator.js +52 -17
  933. package/dist/validation/transactionLogValidator.js.map +1 -1
  934. package/dist/validation/user_validation.d.ts +3 -3
  935. package/dist/validation/user_validation.js +38 -6
  936. package/dist/validation/user_validation.js.map +1 -1
  937. package/dist/validation/validationWrapper.d.ts +3 -3
  938. package/dist/validation/validationWrapper.js +4 -5
  939. package/dist/validation/validationWrapper.js.map +1 -1
  940. package/index.ts +5 -0
  941. package/json/systemSchema.json +65 -0
  942. package/launchServiceScripts/utility/checkNodeVersion.js +2 -0
  943. package/package.json +37 -22
  944. package/resources/DESIGN.md +98 -0
  945. package/resources/DatabaseTransaction.ts +58 -30
  946. package/resources/ErrorResource.ts +2 -1
  947. package/resources/LMDBTransaction.ts +38 -29
  948. package/resources/RecordEncoder.ts +12 -4
  949. package/resources/RequestTarget.ts +2 -0
  950. package/resources/Resource.ts +89 -56
  951. package/resources/ResourceInterface.ts +44 -21
  952. package/resources/Resources.ts +8 -8
  953. package/resources/RocksIndexStore.ts +3 -0
  954. package/resources/RocksTransactionLogStore.ts +47 -28
  955. package/resources/Table.ts +386 -214
  956. package/resources/analytics/metadata.ts +1 -0
  957. package/resources/analytics/read.ts +24 -6
  958. package/resources/analytics/write.ts +240 -17
  959. package/resources/auditStore.ts +28 -19
  960. package/resources/blob.ts +53 -53
  961. package/resources/dataLoader.ts +4 -4
  962. package/resources/databases.ts +190 -71
  963. package/resources/graphql.ts +227 -164
  964. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +294 -65
  965. package/resources/indexes/vector.ts +17 -0
  966. package/resources/loadEnv.ts +21 -17
  967. package/resources/login.ts +5 -3
  968. package/resources/models/Models.ts +304 -0
  969. package/resources/models/TestBackend.ts +83 -0
  970. package/resources/models/agentLoop.ts +895 -0
  971. package/resources/models/analyticsTable.ts +199 -0
  972. package/resources/models/backendHelpers.ts +116 -0
  973. package/resources/models/backendRegistry.ts +66 -0
  974. package/resources/models/bootstrap.ts +135 -0
  975. package/resources/models/embedHook.ts +138 -0
  976. package/resources/models/types.ts +296 -0
  977. package/resources/replayLogs.ts +15 -7
  978. package/resources/roles.ts +62 -67
  979. package/resources/search.ts +355 -135
  980. package/resources/tracked.ts +8 -8
  981. package/resources/transaction.ts +8 -8
  982. package/resources/transactionBroadcast.ts +3 -3
  983. package/security/auth.ts +35 -26
  984. package/security/certificateVerification/crlVerification.ts +11 -4
  985. package/security/{cryptoHash.js → cryptoHash.ts} +3 -8
  986. package/security/data_objects/{PermissionAttributeResponseObject.js → PermissionAttributeResponseObject.ts} +4 -4
  987. package/security/data_objects/{PermissionResponseObject.js → PermissionResponseObject.ts} +12 -11
  988. package/security/data_objects/{PermissionTableResponseObject.js → PermissionTableResponseObject.ts} +6 -4
  989. package/security/{fastifyAuth.js → fastifyAuth.ts} +93 -20
  990. package/security/impersonation.ts +3 -3
  991. package/security/jsLoader.ts +22 -8
  992. package/security/{keys.js → keys.ts} +113 -121
  993. package/security/permissionsTranslator.js +2 -2
  994. package/security/{role.js → role.ts} +26 -33
  995. package/security/tokenAuthentication.ts +34 -7
  996. package/security/user.ts +26 -22
  997. package/server/DESIGN.md +139 -0
  998. package/server/DurableSubscriptionsSession.ts +67 -50
  999. package/server/REST.ts +120 -107
  1000. package/server/Server.ts +31 -12
  1001. package/server/fastifyRoutes/helpers/getCORSOptions.js +1 -1
  1002. package/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +1 -1
  1003. package/server/fastifyRoutes/helpers/getServerOptions.js +1 -1
  1004. package/server/fastifyRoutes.ts +37 -33
  1005. package/server/graphqlQuerying.ts +6 -5
  1006. package/server/http.ts +517 -26
  1007. package/server/itc/serverHandlers.js +75 -14
  1008. package/server/jobs/{JobObject.js → JobObject.ts} +13 -6
  1009. package/server/jobs/{jobProcess.js → jobProcess.ts} +20 -16
  1010. package/server/jobs/{jobRunner.js → jobRunner.ts} +20 -21
  1011. package/server/jobs/{jobs.js → jobs.ts} +41 -44
  1012. package/server/loadRootComponents.js +1 -1
  1013. package/server/middlewareChain.ts +270 -0
  1014. package/server/mqtt.ts +35 -26
  1015. package/server/nodeName.ts +2 -1
  1016. package/server/operationsServer.ts +85 -10
  1017. package/server/serverHelpers/Headers.ts +10 -8
  1018. package/server/serverHelpers/JSONStream.ts +15 -5
  1019. package/server/serverHelpers/Request.ts +370 -13
  1020. package/server/serverHelpers/contentTypes.ts +42 -11
  1021. package/server/serverHelpers/multipartParser.ts +152 -0
  1022. package/server/serverHelpers/progressEmitter.ts +110 -0
  1023. package/server/serverHelpers/serverHandlers.js +43 -7
  1024. package/server/serverHelpers/serverUtilities.ts +40 -30
  1025. package/server/static.ts +9 -6
  1026. package/server/status/index.ts +2 -2
  1027. package/server/storageReclamation.ts +39 -2
  1028. package/server/threads/itc.js +7 -4
  1029. package/server/threads/manageThreads.js +100 -26
  1030. package/server/threads/socketRouter.ts +12 -275
  1031. package/server/threads/threadServer.js +345 -105
  1032. package/server/threads/workerProcessGuard.ts +93 -0
  1033. package/server/throttle.ts +18 -0
  1034. package/sqlTranslator/{SelectValidator.js → SelectValidator.ts} +41 -49
  1035. package/sqlTranslator/{alasqlFunctionImporter.js → alasqlFunctionImporter.ts} +5 -5
  1036. package/sqlTranslator/{deleteTranslator.js → deleteTranslator.ts} +13 -18
  1037. package/sqlTranslator/{index.js → index.ts} +30 -33
  1038. package/sqlTranslator/{sql_statement_bucket.js → sql_statement_bucket.ts} +49 -20
  1039. package/static/README.md +10 -9
  1040. package/studio/web/assets/{index-CmtPP0YO.js → index-COfIkCT-.js} +5 -5
  1041. package/studio/web/assets/index-COfIkCT-.js.map +1 -0
  1042. package/studio/web/assets/{index.lazy-C8jvGtlu.js → index.lazy-CIvl7Fj9.js} +2 -2
  1043. package/studio/web/assets/{index.lazy-C8jvGtlu.js.map → index.lazy-CIvl7Fj9.js.map} +1 -1
  1044. package/studio/web/assets/{profile-O0DYlJUv.js → profile-B2ZVB--r.js} +2 -2
  1045. package/studio/web/assets/{profile-O0DYlJUv.js.map → profile-B2ZVB--r.js.map} +1 -1
  1046. package/studio/web/assets/{status-BIlJkJby.js → status-Db6WBmhf.js} +2 -2
  1047. package/studio/web/assets/{status-BIlJkJby.js.map → status-Db6WBmhf.js.map} +1 -1
  1048. package/studio/web/index.html +1 -1
  1049. package/upgrade/{UpgradeObjects.js → UpgradeObjects.ts} +3 -6
  1050. package/upgrade/directives/5-2-0.ts +49 -0
  1051. package/upgrade/directives/{directivesController.js → directivesController.ts} +16 -16
  1052. package/upgrade/{directivesManager.js → directivesManager.ts} +7 -11
  1053. package/upgrade/{upgradePrompt.js → upgradePrompt.ts} +8 -14
  1054. package/upgrade/{upgradeUtilities.js → upgradeUtilities.ts} +3 -7
  1055. package/utility/{OperationFunctionCaller.js → OperationFunctionCaller.ts} +7 -7
  1056. package/utility/{assignCmdEnvVariables.js → assignCmdEnvVariables.ts} +6 -8
  1057. package/utility/{common_utils.js → common_utils.ts} +113 -139
  1058. package/utility/environment/{environmentManager.js → environmentManager.ts} +34 -33
  1059. package/utility/environment/systemInformation.ts +18 -4
  1060. package/utility/errors/{commonErrors.js → commonErrors.ts} +9 -9
  1061. package/utility/errors/{hdbError.js → hdbError.ts} +39 -45
  1062. package/utility/expandEnvVar.ts +110 -0
  1063. package/utility/functions/geo.js +2 -2
  1064. package/utility/functions/sql/alaSQLExtension.js +1 -1
  1065. package/utility/globalSchema.ts +30 -0
  1066. package/utility/hdbTerms.ts +56 -0
  1067. package/utility/install/checkJWTTokensExist.js +1 -1
  1068. package/utility/install/{installer.js → installer.ts} +38 -39
  1069. package/utility/installation.ts +2 -2
  1070. package/utility/lmdb/{DBIDefinition.js → DBIDefinition.ts} +4 -1
  1071. package/utility/lmdb/{DeleteRecordsResponseObject.js → DeleteRecordsResponseObject.ts} +2 -1
  1072. package/utility/lmdb/{InsertRecordsResponseObject.js → InsertRecordsResponseObject.ts} +2 -1
  1073. package/utility/lmdb/OpenDBIObject.ts +43 -0
  1074. package/utility/lmdb/{OpenEnvironmentObject.js → OpenEnvironmentObject.ts} +19 -6
  1075. package/utility/lmdb/{UpdateRecordsResponseObject.js → UpdateRecordsResponseObject.ts} +2 -1
  1076. package/utility/lmdb/{UpsertRecordsResponseObject.js → UpsertRecordsResponseObject.ts} +2 -1
  1077. package/utility/lmdb/{cleanLMDBMap.js → cleanLMDBMap.ts} +5 -5
  1078. package/utility/lmdb/{commonUtility.js → commonUtility.ts} +13 -21
  1079. package/utility/lmdb/{deleteUtility.js → deleteUtility.ts} +8 -12
  1080. package/utility/lmdb/{environmentUtility.js → environmentUtility.ts} +43 -52
  1081. package/utility/lmdb/{searchCursorFunctions.js → searchCursorFunctions.ts} +12 -26
  1082. package/utility/lmdb/{searchUtility.js → searchUtility.ts} +75 -64
  1083. package/utility/lmdb/{terms.js → terms.ts} +10 -23
  1084. package/utility/lmdb/{writeUtility.js → writeUtility.ts} +37 -22
  1085. package/utility/logging/{harper_logger.js → harper_logger.ts} +136 -89
  1086. package/utility/logging/{logRotator.js → logRotator.ts} +13 -13
  1087. package/utility/logging/logger.ts +1 -1
  1088. package/utility/logging/{readLog.js → readLog.ts} +19 -19
  1089. package/utility/logging/{transactionLog.js → transactionLog.ts} +10 -14
  1090. package/utility/{mount_hdb.js → mount_hdb.ts} +15 -16
  1091. package/utility/{npmUtilities.js → npmUtilities.ts} +14 -17
  1092. package/utility/{operation_authorization.js → operation_authorization.ts} +173 -124
  1093. package/utility/packageUtils.js +7 -16
  1094. package/utility/password.ts +1 -1
  1095. package/utility/processManagement/processManagement.js +2 -2
  1096. package/utility/processManagement/servicesConfig.js +1 -1
  1097. package/utility/{signalling.js → signalling.ts} +6 -11
  1098. package/utility/watcherFallback.ts +74 -0
  1099. package/validation/analyticsValidator.ts +43 -0
  1100. package/validation/{bulkDeleteValidator.js → bulkDeleteValidator.ts} +5 -5
  1101. package/validation/{check_permissions.js → check_permissions.ts} +3 -3
  1102. package/validation/{common_validators.js → common_validators.ts} +12 -24
  1103. package/validation/{configValidator.js → configValidator.ts} +114 -18
  1104. package/validation/{deleteValidator.js → deleteValidator.ts} +5 -5
  1105. package/validation/{fileLoadValidator.js → fileLoadValidator.ts} +12 -19
  1106. package/validation/{insertValidator.js → insertValidator.ts} +5 -5
  1107. package/validation/{installValidator.js → installValidator.ts} +8 -8
  1108. package/validation/{readLogValidator.js → readLogValidator.ts} +10 -10
  1109. package/validation/{role_validation.js → role_validation.ts} +26 -32
  1110. package/validation/{schemaMetadataValidator.js → schemaMetadataValidator.ts} +5 -11
  1111. package/validation/{searchValidator.js → searchValidator.ts} +12 -11
  1112. package/validation/statusValidator.ts +1 -1
  1113. package/validation/{transactionLogValidator.js → transactionLogValidator.ts} +4 -9
  1114. package/validation/{user_validation.js → user_validation.ts} +4 -10
  1115. package/validation/{validationWrapper.js → validationWrapper.ts} +3 -9
  1116. package/bin/cliOperations.js +0 -159
  1117. package/bin/lite.js +0 -5
  1118. package/dataLayer/harperBridge/BridgeMethods.js +0 -85
  1119. package/studio/web/assets/index-CmtPP0YO.js.map +0 -1
  1120. package/utility/globalSchema.js +0 -35
  1121. package/utility/lmdb/OpenDBIObject.js +0 -31
@@ -6,5 +6,6 @@ export declare const METRIC: {
6
6
  readonly RESOURCE_USAGE: "resource-usage";
7
7
  readonly UTILIZATION: "utilization";
8
8
  readonly NODE_STORAGE: "node-storage";
9
+ readonly ROCKSDB_STATS: "rocksdb-stats";
9
10
  };
10
11
  export type BuiltInMetricName = (typeof METRIC)[keyof typeof METRIC];
@@ -9,5 +9,6 @@ exports.METRIC = {
9
9
  RESOURCE_USAGE: 'resource-usage',
10
10
  UTILIZATION: 'utilization',
11
11
  NODE_STORAGE: 'node-storage',
12
+ ROCKSDB_STATS: 'rocksdb-stats',
12
13
  };
13
14
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../resources/analytics/metadata.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACrB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,gBAAgB;IAChC,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;CACnB,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../resources/analytics/metadata.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACrB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,gBAAgB;IAChC,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;CACrB,CAAC"}
@@ -9,6 +9,11 @@ interface GetAnalyticsRequest {
9
9
  conditions?: Conditions;
10
10
  }
11
11
  type GetAnalyticsResponse = Metric[];
12
+ /**
13
+ * Validates the `get_analytics` request and returns the analytics results.
14
+ * @param req
15
+ * @returns
16
+ */
12
17
  export declare function getOp(req: GetAnalyticsRequest): Promise<GetAnalyticsResponse>;
13
18
  interface GetAnalyticsOpts {
14
19
  getAttributes?: string[];
@@ -9,12 +9,14 @@ exports.listMetricsOp = listMetricsOp;
9
9
  exports.listMetrics = listMetrics;
10
10
  exports.describeMetricOp = describeMetricOp;
11
11
  exports.describeMetric = describeMetric;
12
- const harper_logger_js_1 = __importDefault(require("../../utility/logging/harper_logger.js"));
13
- const { forComponent } = harper_logger_js_1.default;
12
+ const harper_logger_ts_1 = __importDefault(require("../../utility/logging/harper_logger.js"));
13
+ const { forComponent } = harper_logger_ts_1.default;
14
14
  const hostnames_ts_1 = require("./hostnames.js");
15
15
  const metadata_ts_1 = require("./metadata.js");
16
16
  const hdbTerms_ts_1 = require("../../utility/hdbTerms.js");
17
- const environmentManager_js_1 = require("../../utility/environment/environmentManager.js");
17
+ const environmentManager_ts_1 = require("../../utility/environment/environmentManager.js");
18
+ const analyticsValidator_ts_1 = require("../../validation/analyticsValidator.js");
19
+ const hdbError_ts_1 = require("../../utility/errors/hdbError.js");
18
20
  // default to one week time window for finding custom metrics
19
21
  const defaultCustomMetricWindow = 1000 * 60 * 60 * 24 * 7;
20
22
  const log = forComponent('analytics').conditional;
@@ -29,8 +31,17 @@ async function lookupHostname(nodeId) {
29
31
  function isSelected(querySelect, attr) {
30
32
  return querySelect.length === 0 || querySelect.includes(attr);
31
33
  }
32
- function getOp(req) {
34
+ /**
35
+ * Validates the `get_analytics` request and returns the analytics results.
36
+ * @param req
37
+ * @returns
38
+ */
39
+ async function getOp(req) {
33
40
  log.trace?.('get_analytics request:', req);
41
+ const validationError = (0, analyticsValidator_ts_1.validateGetAnalytics)(req);
42
+ if (validationError) {
43
+ throw (0, hdbError_ts_1.handleHDBError)(validationError, validationError.message, hdbError_ts_1.hdbErrors.HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
44
+ }
34
45
  return get(req.metric, {
35
46
  getAttributes: req.get_attributes,
36
47
  startTime: req.start_time,
@@ -124,7 +135,7 @@ async function get(metric, opts) {
124
135
  });
125
136
  if (opts?.coalesceTime) {
126
137
  // coalescing window is the aggregate period converted to milliseconds
127
- const window = (0, environmentManager_js_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_AGGREGATEPERIOD) * 1000;
138
+ const window = (0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_AGGREGATEPERIOD) * 1000;
128
139
  results = coalesceResults(results, window);
129
140
  }
130
141
  return results;
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../resources/analytics/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../resources/analytics/read.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,34 @@ export declare function calculateCPUUtilization(resourceUsage: ResourceUsage, pe
48
48
  * new values for this time period.
49
49
  */
50
50
  export declare function diffResourceUsage(lastResourceUsage: ResourceUsage, resourceUsage: ResourceUsage): ResourceUsage;
51
+ export declare function toRocksDBCamelCase(key: string): string;
52
+ export declare function diffRocksDBCounter(curr: number, last: number | undefined): number;
53
+ /**
54
+ * Filter a raw RocksDB stats record to numeric scalar entries, camelCasing the keys.
55
+ * Histogram entries (objects) are dropped — they don't fit the flat analytics row model.
56
+ * @param raw - The raw RocksDB stats record to normalize.
57
+ * @returns The normalized RocksDB stats record.
58
+ */
59
+ export declare function normalizeRocksDBStats(raw: Record<string, unknown>): Record<string, number>;
60
+ /**
61
+ * Gathers metrics for a RocksDB database.
62
+ * @param dbName - The name of the database.
63
+ * @param stats - The stats to build the metric from.
64
+ * @param lastStats - The last stats to diff the stats from.
65
+ * @param now - The current time.
66
+ * @param period - The period to store the metrics for.
67
+ */
68
+ export declare function buildRocksDBDbMetric(dbName: string, stats: Record<string, number>, lastStats: Record<string, number> | undefined, now: number, period: number | undefined): Record<string, unknown>;
69
+ /**
70
+ * Gathers metrics for a RocksDB table. Only gauges are reported per-table; ticker counters
71
+ * are DB-wide (see ROCKSDB_DB_COUNTERS comment) and live on the DB-level metric.
72
+ * @param dbName - The name of the database.
73
+ * @param tableName - The name of the table.
74
+ * @param stats - The stats to build the metric from.
75
+ * @param now - The current time.
76
+ * @param period - The period to store the metrics for.
77
+ */
78
+ export declare function buildRocksDBTableMetric(dbName: string, tableName: string, stats: Record<string, number>, now: number, period: number | undefined): Record<string, unknown>;
51
79
  export declare function getDirectorySizeAsync(dirPath: string): Promise<number>;
52
80
  export declare function onAnalyticsAggregate(callback: any): void;
53
81
  export {};
@@ -44,18 +44,23 @@ exports.addAnalyticsListener = addAnalyticsListener;
44
44
  exports.recordHostname = recordHostname;
45
45
  exports.calculateCPUUtilization = calculateCPUUtilization;
46
46
  exports.diffResourceUsage = diffResourceUsage;
47
+ exports.toRocksDBCamelCase = toRocksDBCamelCase;
48
+ exports.diffRocksDBCounter = diffRocksDBCounter;
49
+ exports.normalizeRocksDBStats = normalizeRocksDBStats;
50
+ exports.buildRocksDBDbMetric = buildRocksDBDbMetric;
51
+ exports.buildRocksDBTableMetric = buildRocksDBTableMetric;
47
52
  exports.getDirectorySizeAsync = getDirectorySizeAsync;
48
53
  exports.onAnalyticsAggregate = onAnalyticsAggregate;
49
54
  const worker_threads_1 = require("worker_threads");
50
55
  const manageThreads_js_1 = require("../../server/threads/manageThreads.js");
51
56
  const databases_ts_1 = require("../databases.js");
52
- const harper_logger_js_1 = __importDefault(require("../../utility/logging/harper_logger.js"));
57
+ const harper_logger_ts_1 = __importDefault(require("../../utility/logging/harper_logger.js"));
53
58
  const promises_1 = require("node:fs/promises");
54
- const { getLogFilePath, forComponent } = harper_logger_js_1.default;
59
+ const { getLogFilePath, forComponent } = harper_logger_ts_1.default;
55
60
  const path_1 = require("path");
56
61
  const promises_2 = require("fs/promises");
57
- const commonUtility_js_1 = require("../../utility/lmdb/commonUtility.js");
58
- const environmentManager_js_1 = require("../../utility/environment/environmentManager.js");
62
+ const commonUtility_ts_1 = require("../../utility/lmdb/commonUtility.js");
63
+ const environmentManager_ts_1 = require("../../utility/environment/environmentManager.js");
59
64
  const hdbTerms_ts_1 = require("../../utility/hdbTerms.js");
60
65
  const Server_ts_1 = require("../../server/Server.js");
61
66
  const fs = __importStar(require("node:fs"));
@@ -63,10 +68,22 @@ const hostnames_ts_1 = require("./hostnames.js");
63
68
  const metadata_ts_1 = require("./metadata.js");
64
69
  const rocksdb_js_1 = require("@harperfast/rocksdb-js");
65
70
  const log = forComponent('analytics').conditional;
66
- (0, environmentManager_js_1.initSync)();
71
+ const isBun = typeof globalThis.Bun !== 'undefined';
72
+ (0, environmentManager_ts_1.initSync)();
67
73
  let activeActions = new Map();
68
- let analyticsEnabled = (0, environmentManager_js_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_AGGREGATEPERIOD) > -1;
74
+ let analyticsEnabled = (0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_AGGREGATEPERIOD) > -1;
75
+ let analyticsReadOnlyChecked = false;
69
76
  let sendAnalyticsTimeout;
77
+ // Check read-only mode lazily to avoid circular dependency at module load time
78
+ function checkAnalyticsEnabled() {
79
+ if (!analyticsReadOnlyChecked) {
80
+ analyticsReadOnlyChecked = true;
81
+ if ((0, databases_ts_1.isReadOnlyMode)()) {
82
+ analyticsEnabled = false;
83
+ }
84
+ }
85
+ return analyticsEnabled;
86
+ }
70
87
  function setAnalyticsEnabled(enabled) {
71
88
  analyticsEnabled = enabled;
72
89
  clearTimeout(sendAnalyticsTimeout); // reset this
@@ -134,7 +151,7 @@ function recordNewAction(key, value, metric, path, method, type) {
134
151
  * @param type
135
152
  */
136
153
  function recordAction(value, metric, path, method, type) {
137
- if (!analyticsEnabled)
154
+ if (!checkAnalyticsEnabled())
138
155
  return;
139
156
  // TODO: May want to consider nested paths, as they may yield faster hashing of (fixed) strings that hashing concatenated strings
140
157
  let key = metric + (path ? '-' + path : '');
@@ -247,6 +264,9 @@ function sendAnalytics() {
247
264
  }, exports.analyticsDelay).unref();
248
265
  }
249
266
  async function recordHostname() {
267
+ // Skip writes in read-only mode
268
+ if ((0, databases_ts_1.isReadOnlyMode)())
269
+ return;
250
270
  const hostname = Server_ts_1.server.hostname;
251
271
  log.trace?.('recordHostname server.hostname:', hostname);
252
272
  const nodeId = (0, hostnames_ts_1.stableNodeId)(hostname);
@@ -271,9 +291,12 @@ function getHostNodeId(hostname) {
271
291
  return nodeId;
272
292
  }
273
293
  function storeMetric(table, metric) {
294
+ // Skip writes in read-only mode
295
+ if ((0, databases_ts_1.isReadOnlyMode)())
296
+ return;
274
297
  const nodeId = getHostNodeId(Server_ts_1.server.hostname);
275
298
  const metricValue = {
276
- id: [(0, commonUtility_js_1.getNextMonotonicTime)(), nodeId],
299
+ id: [(0, commonUtility_ts_1.getNextMonotonicTime)(), nodeId],
277
300
  ...metric,
278
301
  };
279
302
  log.trace?.(`storing metric ${JSON.stringify(metricValue)}`);
@@ -393,6 +416,176 @@ function storeVolumeMetrics(analyticsTable, databases) {
393
416
  }
394
417
  }
395
418
  }
419
+ // RocksDB stat names are kebab-case with a "rocksdb." prefix (e.g. "rocksdb.block.cache.hit");
420
+ // camelCase them to match the field shape used throughout systemInformation.
421
+ function toRocksDBCamelCase(key) {
422
+ return key.replace(/^rocksdb\./, '').replace(/[-.]([a-z])/g, (_, c) => c.toUpperCase());
423
+ }
424
+ // Every column family on the same physical RocksDB shares one Statistics object, so all ticker
425
+ // counters returned by getStats() — including memtableHit/memtableMiss — are DB-wide, not per-CF.
426
+ // Listing them as DB-level avoids emitting the same delta on every table row.
427
+ const ROCKSDB_DB_COUNTERS = [
428
+ 'bytesRead',
429
+ 'bytesWritten',
430
+ 'numberKeysRead',
431
+ 'numberKeysWritten',
432
+ 'blockCacheHit',
433
+ 'blockCacheMiss',
434
+ 'blockCacheDataHit',
435
+ 'blockCacheDataMiss',
436
+ 'blockCacheIndexHit',
437
+ 'blockCacheIndexMiss',
438
+ 'blockCacheFilterHit',
439
+ 'blockCacheFilterMiss',
440
+ 'stallMicros',
441
+ 'memtableHit',
442
+ 'memtableMiss',
443
+ ];
444
+ // Gauges are scalar values that are not cumulative. They go up and down over time.
445
+ const ROCKSDB_DB_GAUGES = ['blockCacheUsage', 'blockCacheCapacity', 'numRunningFlushes'];
446
+ const ROCKSDB_TABLE_GAUGES = ['numRunningCompactions', 'compactionPending'];
447
+ const lastRocksDBDbStats = new Map();
448
+ let lastRocksDBStatsTime = 0;
449
+ function diffRocksDBCounter(curr, last) {
450
+ // A negative delta means RocksDB itself reset the counter mid-process (e.g. an internal
451
+ // statistics reset). Process restarts are handled separately because the module-level
452
+ // last-stats maps are reinitialized, which takes the no-prior-reading path below.
453
+ if (last === undefined || curr < last)
454
+ return curr;
455
+ return curr - last;
456
+ }
457
+ /**
458
+ * Filter a raw RocksDB stats record to numeric scalar entries, camelCasing the keys.
459
+ * Histogram entries (objects) are dropped — they don't fit the flat analytics row model.
460
+ * @param raw - The raw RocksDB stats record to normalize.
461
+ * @returns The normalized RocksDB stats record.
462
+ */
463
+ function normalizeRocksDBStats(raw) {
464
+ const out = {};
465
+ if (!raw)
466
+ return out;
467
+ for (const [key, value] of Object.entries(raw)) {
468
+ if (typeof value === 'number')
469
+ out[toRocksDBCamelCase(key)] = value;
470
+ }
471
+ return out;
472
+ }
473
+ /**
474
+ * Gathers metrics for a RocksDB database.
475
+ * @param dbName - The name of the database.
476
+ * @param stats - The stats to build the metric from.
477
+ * @param lastStats - The last stats to diff the stats from.
478
+ * @param now - The current time.
479
+ * @param period - The period to store the metrics for.
480
+ */
481
+ function buildRocksDBDbMetric(dbName, stats, lastStats, now, period) {
482
+ const metric = {
483
+ metric: metadata_ts_1.METRIC.ROCKSDB_STATS,
484
+ database: dbName,
485
+ time: now,
486
+ };
487
+ if (period !== undefined)
488
+ metric.period = period;
489
+ for (const field of ROCKSDB_DB_COUNTERS) {
490
+ metric[field] = diffRocksDBCounter(stats[field] ?? 0, lastStats?.[field]);
491
+ }
492
+ for (const field of ROCKSDB_DB_GAUGES) {
493
+ metric[field] = stats[field] ?? 0;
494
+ }
495
+ return metric;
496
+ }
497
+ /**
498
+ * Gathers metrics for a RocksDB table. Only gauges are reported per-table; ticker counters
499
+ * are DB-wide (see ROCKSDB_DB_COUNTERS comment) and live on the DB-level metric.
500
+ * @param dbName - The name of the database.
501
+ * @param tableName - The name of the table.
502
+ * @param stats - The stats to build the metric from.
503
+ * @param now - The current time.
504
+ * @param period - The period to store the metrics for.
505
+ */
506
+ function buildRocksDBTableMetric(dbName, tableName, stats, now, period) {
507
+ const metric = {
508
+ metric: metadata_ts_1.METRIC.ROCKSDB_STATS,
509
+ database: dbName,
510
+ table: tableName,
511
+ time: now,
512
+ };
513
+ if (period !== undefined)
514
+ metric.period = period;
515
+ for (const field of ROCKSDB_TABLE_GAUGES) {
516
+ metric[field] = stats[field] ?? 0;
517
+ }
518
+ return metric;
519
+ }
520
+ /**
521
+ * Stores the RocksDB stats metrics for the given databases.
522
+ * @param analyticsTable - The analytics table to store the metrics in.
523
+ * @param databases - The databases to store the metrics for.
524
+ * @param now - The current time.
525
+ * @param period - The period to store the metrics for.
526
+ */
527
+ function storeRocksDBStatsMetrics(analyticsTable, databases, now, period) {
528
+ for (const [db, tables] of Object.entries(databases)) {
529
+ if (!tables)
530
+ continue; // no tables or not loaded/initialized yet
531
+ const tableEntries = Object.entries(tables);
532
+ const [, firstTable] = tableEntries[0] ?? [];
533
+ if (!(firstTable?.primaryStore instanceof rocksdb_js_1.RocksDatabase))
534
+ continue;
535
+ let firstNormalizedStats;
536
+ for (const [tableName, tbl] of tableEntries) {
537
+ try {
538
+ const tableStats = normalizeRocksDBStats(tbl.primaryStore.getStats());
539
+ if (!firstNormalizedStats)
540
+ firstNormalizedStats = tableStats;
541
+ const tableMetric = buildRocksDBTableMetric(db, tableName, tableStats, now, period);
542
+ storeMetric(analyticsTable, tableMetric);
543
+ }
544
+ catch (error) {
545
+ // A table may be removed mid-collection — keep iterating siblings.
546
+ log.warn?.(`Error getting RocksDB stats for table ${db}.${tableName}`, error);
547
+ }
548
+ }
549
+ if (firstNormalizedStats) {
550
+ // Any table's getStats() returns the same DB-wide counters; reuse the first one's.
551
+ const lastDbStats = lastRocksDBDbStats.get(db);
552
+ // Skip the first sample for a db — counters are cumulative since process start,
553
+ // so reporting them as a delta would produce a misleading spike.
554
+ if (lastDbStats !== undefined) {
555
+ const dbMetric = buildRocksDBDbMetric(db, firstNormalizedStats, lastDbStats, now, period);
556
+ storeMetric(analyticsTable, dbMetric);
557
+ log.trace?.(`db ${db} rocksdb stats metric: ${JSON.stringify(dbMetric)}`);
558
+ }
559
+ lastRocksDBDbStats.set(db, firstNormalizedStats);
560
+ }
561
+ }
562
+ }
563
+ /**
564
+ * Drop cached counter readings for databases that no longer exist, to bound memory
565
+ * growth across drop/recreate cycles and prevent stale baselines from producing wrong diffs.
566
+ * @param databases - The databases to prune the stats cache for.
567
+ */
568
+ function pruneRocksDBStatsCache(databases) {
569
+ const activeDbs = new Set(Object.keys(databases));
570
+ for (const key of lastRocksDBDbStats.keys()) {
571
+ if (!activeDbs.has(key))
572
+ lastRocksDBDbStats.delete(key);
573
+ }
574
+ }
575
+ /**
576
+ * Returns a Databases view that includes the `system` database as an enumerable property.
577
+ * getDatabases() marks `system` non-enumerable so general consumers skip it; analytics
578
+ * needs to iterate over it like any other database.
579
+ */
580
+ function getDatabasesIncludingSystem() {
581
+ const databases = (0, databases_ts_1.getDatabases)();
582
+ if (!databases.system)
583
+ return databases;
584
+ const all = Object.create(null);
585
+ Object.assign(all, databases);
586
+ all.system = databases.system;
587
+ return all;
588
+ }
396
589
  async function getDirectorySizeAsync(dirPath) {
397
590
  try {
398
591
  const entries = await (0, promises_1.readdir)(dirPath, { withFileTypes: true });
@@ -421,7 +614,7 @@ async function storeNodeStorageMetric(analyticsTable) {
421
614
  if (nodeStorageInterval <= 0 || ++nodeStorageCycleCount % nodeStorageInterval !== 1)
422
615
  return;
423
616
  try {
424
- const size = await getDirectorySizeAsync((0, environmentManager_js_1.getHdbBasePath)());
617
+ const size = await getDirectorySizeAsync((0, environmentManager_ts_1.getHdbBasePath)());
425
618
  storeMetric(analyticsTable, {
426
619
  metric: metadata_ts_1.METRIC.NODE_STORAGE,
427
620
  size,
@@ -440,7 +633,7 @@ async function aggregation(fromPeriod, toPeriod = 60000) {
440
633
  await (0, promises_1.stat)(getLogFilePath());
441
634
  const delay = performance.now() - start;
442
635
  if (delay > 5000) {
443
- log.warn?.('Unusually high task queue latency on the main thread of ' + Math.round(now - start) + 'ms');
636
+ log.warn?.('Unusually high task queue latency on the main thread of ' + Math.round(delay) + 'ms');
444
637
  }
445
638
  return delay;
446
639
  })();
@@ -596,7 +789,9 @@ async function aggregation(fromPeriod, toPeriod = 60000) {
596
789
  }
597
790
  }
598
791
  const now = Date.now();
599
- const { idle, active } = performance.eventLoopUtilization();
792
+ const { idle, active } = globalThis.Bun
793
+ ? { idle: 0, active: 0 }
794
+ : performance.eventLoopUtilization();
600
795
  // don't record boring entries
601
796
  if (hasUpdates || active * 10 > idle) {
602
797
  const value = {
@@ -629,13 +824,18 @@ async function aggregation(fromPeriod, toPeriod = 60000) {
629
824
  };
630
825
  storeMetric(analyticsTable, cruMetric);
631
826
  lastResourceUsage = resourceUsage;
827
+ // `system` is set as non-enumerable on the object returned by getDatabases() so most
828
+ // callers skip it; for analytics we want it included, so build a view where it's enumerable.
829
+ const databases = getDatabasesIncludingSystem();
632
830
  // database-size & table-size metrics
633
- const databases = (0, databases_ts_1.getDatabases)();
634
831
  storeDBSizeMetrics(analyticsTable, databases);
635
- storeDBSizeMetrics(analyticsTable, { system: databases.system });
636
832
  // database storage volume metrics
637
833
  storeVolumeMetrics(analyticsTable, databases);
638
- storeVolumeMetrics(analyticsTable, { system: databases.system });
834
+ // rocksdb engine stats (only for RocksDB-backed databases)
835
+ const rocksDBPeriod = lastRocksDBStatsTime ? now - lastRocksDBStatsTime : undefined;
836
+ storeRocksDBStatsMetrics(analyticsTable, databases, now, rocksDBPeriod);
837
+ pruneRocksDBStatsCache(databases);
838
+ lastRocksDBStatsTime = now;
639
839
  // node storage metric (total HDB directory size)
640
840
  await storeNodeStorageMetric(analyticsTable);
641
841
  }
@@ -647,6 +847,9 @@ let lastResourceUsage = {
647
847
  };
648
848
  const rest = () => new Promise(setImmediate);
649
849
  async function cleanup(AnalyticsTable, expiration) {
850
+ // Skip writes in read-only mode
851
+ if ((0, databases_ts_1.isReadOnlyMode)())
852
+ return;
650
853
  const end = Date.now() - expiration;
651
854
  for (const key of AnalyticsTable.primaryStore.getKeys({ start: false, end })) {
652
855
  AnalyticsTable.primaryStore.remove(key);
@@ -709,13 +912,19 @@ if (!worker_threads_1.parentPort)
709
912
  let scheduledTasksRunning;
710
913
  function startScheduledTasks() {
711
914
  scheduledTasksRunning = true;
712
- nodeStorageInterval = (0, environmentManager_js_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_STORAGEINTERVAL) ?? DEFAULT_STORAGE_INTERVAL;
713
- const AGGREGATE_PERIOD = (0, environmentManager_js_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_AGGREGATEPERIOD) * 1000;
915
+ nodeStorageInterval = (0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_STORAGEINTERVAL) ?? DEFAULT_STORAGE_INTERVAL;
916
+ const AGGREGATE_PERIOD = (0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_AGGREGATEPERIOD) * 1000;
714
917
  if (AGGREGATE_PERIOD) {
918
+ // Clamp raw retention to at least one full aggregation period so raw records
919
+ // are never deleted before they can be rolled up.
920
+ const rawRetentionMs = Math.max((0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_RAWRETENTIONMS) ?? RAW_EXPIRATION, AGGREGATE_PERIOD);
921
+ const aggregateRetentionMs = (0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_AGGREGATERETENTIONMS) ?? AGGREGATE_EXPIRATION;
715
922
  setInterval(async () => {
716
923
  await aggregation(exports.analyticsDelay, AGGREGATE_PERIOD);
717
- await cleanup(getRawAnalyticsTable(), RAW_EXPIRATION);
718
- await cleanup(getAnalyticsTable(), AGGREGATE_EXPIRATION);
924
+ await cleanup(getRawAnalyticsTable(), rawRetentionMs);
925
+ // 0 means "keep forever" — skip aggregate cleanup, matching storageInterval: 0 convention
926
+ if (aggregateRetentionMs)
927
+ await cleanup(getAnalyticsTable(), aggregateRetentionMs);
719
928
  }, Math.min(AGGREGATE_PERIOD / 2, 0x7fffffff)).unref();
720
929
  }
721
930
  }
@@ -723,6 +932,9 @@ let totalBytesProcessed = 0;
723
932
  const lastUtilizations = new Map();
724
933
  const LOG_ANALYTICS = false; // TODO: Make this a config option if we really want this
725
934
  function recordAnalytics(message, worker) {
935
+ // Skip writes in read-only mode
936
+ if ((0, databases_ts_1.isReadOnlyMode)())
937
+ return;
726
938
  const report = message.report;
727
939
  report.threadId = worker?.threadId || worker_threads_1.threadId;
728
940
  // Add system information stats as well
@@ -732,14 +944,14 @@ function recordAnalytics(message, worker) {
732
944
  }
733
945
  }
734
946
  report.totalBytesProcessed = totalBytesProcessed;
735
- if (worker) {
947
+ if (worker && !isBun) {
736
948
  report.metrics.push({
737
949
  metric: metadata_ts_1.METRIC.UTILIZATION,
738
950
  ...worker.performance.eventLoopUtilization(lastUtilizations.get(worker)),
739
951
  });
740
952
  lastUtilizations.set(worker, worker.performance.eventLoopUtilization());
741
953
  }
742
- report.id = (0, commonUtility_js_1.getNextMonotonicTime)();
954
+ report.id = (0, commonUtility_ts_1.getNextMonotonicTime)();
743
955
  getRawAnalyticsTable().primaryStore.put(report.id, report);
744
956
  if (!scheduledTasksRunning)
745
957
  startScheduledTasks();
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../resources/analytics/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../resources/analytics/write.ts"],"names":[],"mappings":"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"}