harper 5.1.20 → 5.2.0-alpha.5

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 (395) hide show
  1. package/agent/operations.ts +13 -16
  2. package/components/Application.ts +188 -7
  3. package/components/ApplicationScope.ts +3 -0
  4. package/components/Scope.ts +12 -0
  5. package/components/anthropic/index.ts +9 -2
  6. package/components/bedrock/index.ts +25 -2
  7. package/components/componentLoader.ts +56 -7
  8. package/components/componentSecrets.ts +451 -0
  9. package/components/deploymentRecorder.ts +7 -1
  10. package/components/mcp/adapters/fastify.ts +3 -0
  11. package/components/mcp/adapters/harperHttp.ts +3 -0
  12. package/components/mcp/audit.ts +21 -6
  13. package/components/mcp/customResourceRegistry.ts +17 -38
  14. package/components/mcp/listChanged.ts +37 -20
  15. package/components/mcp/quota.ts +145 -0
  16. package/components/mcp/rateLimit.ts +152 -14
  17. package/components/mcp/resources.ts +2 -4
  18. package/components/mcp/toolRegistry.ts +73 -4
  19. package/components/mcp/tools/application.ts +77 -8
  20. package/components/mcp/tools/operations.ts +106 -36
  21. package/components/mcp/tools/schemas/operationDescriptions.ts +4 -4
  22. package/components/mcp/tools/schemas/operations.ts +5 -0
  23. package/components/mcp/transport.ts +55 -4
  24. package/components/ollama/index.ts +6 -2
  25. package/components/openai/index.ts +9 -2
  26. package/components/operations.js +204 -10
  27. package/components/operationsValidation.js +173 -0
  28. package/components/secretOperations.ts +498 -0
  29. package/config/configUtils.ts +25 -1
  30. package/config-app.schema.json +81 -0
  31. package/config-root.schema.json +8 -1
  32. package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
  33. package/dataLayer/readAuditLog.ts +14 -0
  34. package/dataLayer/schemaDescribe.ts +1 -0
  35. package/dist/agent/operations.d.ts +7 -4
  36. package/dist/agent/operations.js +13 -15
  37. package/dist/agent/operations.js.map +1 -1
  38. package/dist/components/Application.d.ts +25 -2
  39. package/dist/components/Application.js +166 -7
  40. package/dist/components/Application.js.map +1 -1
  41. package/dist/components/ApplicationScope.d.ts +2 -0
  42. package/dist/components/ApplicationScope.js +3 -0
  43. package/dist/components/ApplicationScope.js.map +1 -1
  44. package/dist/components/Scope.d.ts +8 -0
  45. package/dist/components/Scope.js +11 -0
  46. package/dist/components/Scope.js.map +1 -1
  47. package/dist/components/anthropic/index.d.ts +4 -1
  48. package/dist/components/anthropic/index.js +4 -2
  49. package/dist/components/anthropic/index.js.map +1 -1
  50. package/dist/components/bedrock/index.d.ts +4 -1
  51. package/dist/components/bedrock/index.js +22 -2
  52. package/dist/components/bedrock/index.js.map +1 -1
  53. package/dist/components/componentLoader.d.ts +2 -0
  54. package/dist/components/componentLoader.js +52 -10
  55. package/dist/components/componentLoader.js.map +1 -1
  56. package/dist/components/componentSecrets.d.ts +63 -0
  57. package/dist/components/componentSecrets.js +405 -0
  58. package/dist/components/componentSecrets.js.map +1 -0
  59. package/dist/components/deploymentRecorder.d.ts +3 -0
  60. package/dist/components/deploymentRecorder.js +4 -3
  61. package/dist/components/deploymentRecorder.js.map +1 -1
  62. package/dist/components/mcp/adapters/fastify.d.ts +2 -0
  63. package/dist/components/mcp/adapters/fastify.js +1 -0
  64. package/dist/components/mcp/adapters/fastify.js.map +1 -1
  65. package/dist/components/mcp/adapters/harperHttp.d.ts +2 -0
  66. package/dist/components/mcp/adapters/harperHttp.js +1 -0
  67. package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
  68. package/dist/components/mcp/audit.d.ts +2 -2
  69. package/dist/components/mcp/audit.js +20 -5
  70. package/dist/components/mcp/audit.js.map +1 -1
  71. package/dist/components/mcp/customResourceRegistry.d.ts +5 -12
  72. package/dist/components/mcp/customResourceRegistry.js +15 -30
  73. package/dist/components/mcp/customResourceRegistry.js.map +1 -1
  74. package/dist/components/mcp/listChanged.d.ts +7 -2
  75. package/dist/components/mcp/listChanged.js +28 -0
  76. package/dist/components/mcp/listChanged.js.map +1 -1
  77. package/dist/components/mcp/quota.d.ts +31 -0
  78. package/dist/components/mcp/quota.js +155 -0
  79. package/dist/components/mcp/quota.js.map +1 -0
  80. package/dist/components/mcp/rateLimit.d.ts +19 -3
  81. package/dist/components/mcp/rateLimit.js +129 -13
  82. package/dist/components/mcp/rateLimit.js.map +1 -1
  83. package/dist/components/mcp/resources.js.map +1 -1
  84. package/dist/components/mcp/toolRegistry.d.ts +39 -1
  85. package/dist/components/mcp/toolRegistry.js +60 -5
  86. package/dist/components/mcp/toolRegistry.js.map +1 -1
  87. package/dist/components/mcp/tools/application.d.ts +8 -1
  88. package/dist/components/mcp/tools/application.js +65 -5
  89. package/dist/components/mcp/tools/application.js.map +1 -1
  90. package/dist/components/mcp/tools/operations.d.ts +15 -3
  91. package/dist/components/mcp/tools/operations.js +99 -38
  92. package/dist/components/mcp/tools/operations.js.map +1 -1
  93. package/dist/components/mcp/tools/schemas/operationDescriptions.js +4 -4
  94. package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
  95. package/dist/components/mcp/tools/schemas/operations.js +4 -0
  96. package/dist/components/mcp/tools/schemas/operations.js.map +1 -1
  97. package/dist/components/mcp/transport.d.ts +6 -0
  98. package/dist/components/mcp/transport.js +47 -3
  99. package/dist/components/mcp/transport.js.map +1 -1
  100. package/dist/components/ollama/index.d.ts +4 -1
  101. package/dist/components/ollama/index.js +4 -2
  102. package/dist/components/ollama/index.js.map +1 -1
  103. package/dist/components/openai/index.d.ts +4 -1
  104. package/dist/components/openai/index.js +4 -2
  105. package/dist/components/openai/index.js.map +1 -1
  106. package/dist/components/operations.d.ts +39 -0
  107. package/dist/components/operations.js +194 -2
  108. package/dist/components/operations.js.map +1 -1
  109. package/dist/components/operationsValidation.d.ts +38 -0
  110. package/dist/components/operationsValidation.js +155 -0
  111. package/dist/components/operationsValidation.js.map +1 -1
  112. package/dist/components/secretOperations.d.ts +113 -0
  113. package/dist/components/secretOperations.js +475 -0
  114. package/dist/components/secretOperations.js.map +1 -0
  115. package/dist/config/configUtils.d.ts +4 -1
  116. package/dist/config/configUtils.js +18 -1
  117. package/dist/config/configUtils.js.map +1 -1
  118. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
  119. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
  120. package/dist/dataLayer/readAuditLog.js +11 -0
  121. package/dist/dataLayer/readAuditLog.js.map +1 -1
  122. package/dist/dataLayer/schemaDescribe.js +2 -0
  123. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  124. package/dist/globals.d.ts +1 -1
  125. package/dist/globals.js +1 -0
  126. package/dist/globals.js.map +1 -1
  127. package/dist/index.d.ts +3 -0
  128. package/dist/index.js +1 -0
  129. package/dist/index.js.map +1 -1
  130. package/dist/json/systemSchema.json +38 -0
  131. package/dist/resources/DatabaseTransaction.d.ts +31 -3
  132. package/dist/resources/DatabaseTransaction.js +190 -29
  133. package/dist/resources/DatabaseTransaction.js.map +1 -1
  134. package/dist/resources/LMDBTransaction.d.ts +1 -1
  135. package/dist/resources/LMDBTransaction.js +43 -5
  136. package/dist/resources/LMDBTransaction.js.map +1 -1
  137. package/dist/resources/PrimaryRocksDatabase.d.ts +51 -0
  138. package/dist/resources/PrimaryRocksDatabase.js +194 -0
  139. package/dist/resources/PrimaryRocksDatabase.js.map +1 -0
  140. package/dist/resources/RecordEncoder.d.ts +1 -0
  141. package/dist/resources/RecordEncoder.js +81 -75
  142. package/dist/resources/RecordEncoder.js.map +1 -1
  143. package/dist/resources/RequestTarget.d.ts +19 -0
  144. package/dist/resources/RequestTarget.js.map +1 -1
  145. package/dist/resources/Resource.d.ts +0 -1
  146. package/dist/resources/Resource.js +103 -16
  147. package/dist/resources/Resource.js.map +1 -1
  148. package/dist/resources/ResourceInterface.d.ts +6 -2
  149. package/dist/resources/ResourceInterface.js.map +1 -1
  150. package/dist/resources/Resources.js.map +1 -1
  151. package/dist/resources/Table.d.ts +6 -4
  152. package/dist/resources/Table.js +247 -24
  153. package/dist/resources/Table.js.map +1 -1
  154. package/dist/resources/analytics/read.js +25 -28
  155. package/dist/resources/analytics/read.js.map +1 -1
  156. package/dist/resources/blob.js +165 -22
  157. package/dist/resources/blob.js.map +1 -1
  158. package/dist/resources/crdt.d.ts +2 -0
  159. package/dist/resources/crdt.js +45 -36
  160. package/dist/resources/crdt.js.map +1 -1
  161. package/dist/resources/databases.d.ts +1 -0
  162. package/dist/resources/databases.js +134 -7
  163. package/dist/resources/databases.js.map +1 -1
  164. package/dist/resources/graphql.js +8 -0
  165. package/dist/resources/graphql.js.map +1 -1
  166. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +35 -5
  167. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +239 -14
  168. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  169. package/dist/resources/jsResource.js +6 -0
  170. package/dist/resources/jsResource.js.map +1 -1
  171. package/dist/resources/loadEnv.js +30 -3
  172. package/dist/resources/loadEnv.js.map +1 -1
  173. package/dist/resources/login.js +2 -2
  174. package/dist/resources/login.js.map +1 -1
  175. package/dist/resources/models/Models.js +14 -3
  176. package/dist/resources/models/Models.js.map +1 -1
  177. package/dist/resources/models/embedHook.js +10 -2
  178. package/dist/resources/models/embedHook.js.map +1 -1
  179. package/dist/resources/models/openaiStream.d.ts +56 -0
  180. package/dist/resources/models/openaiStream.js +94 -0
  181. package/dist/resources/models/openaiStream.js.map +1 -0
  182. package/dist/resources/replayLogs.js +4 -3
  183. package/dist/resources/replayLogs.js.map +1 -1
  184. package/dist/resources/search.d.ts +1 -1
  185. package/dist/resources/search.js +104 -11
  186. package/dist/resources/search.js.map +1 -1
  187. package/dist/resources/secretDecryptor.d.ts +54 -0
  188. package/dist/resources/secretDecryptor.js +131 -0
  189. package/dist/resources/secretDecryptor.js.map +1 -0
  190. package/dist/resources/tracked.js +15 -5
  191. package/dist/resources/tracked.js.map +1 -1
  192. package/dist/security/auth.js +71 -8
  193. package/dist/security/auth.js.map +1 -1
  194. package/dist/security/jsLoader.js +11 -0
  195. package/dist/security/jsLoader.js.map +1 -1
  196. package/dist/security/tokenAuthentication.d.ts +9 -1
  197. package/dist/security/tokenAuthentication.js +31 -1
  198. package/dist/security/tokenAuthentication.js.map +1 -1
  199. package/dist/server/DurableSubscriptionsSession.d.ts +1 -1
  200. package/dist/server/DurableSubscriptionsSession.js +8 -4
  201. package/dist/server/DurableSubscriptionsSession.js.map +1 -1
  202. package/dist/server/REST.js +28 -9
  203. package/dist/server/REST.js.map +1 -1
  204. package/dist/server/fastifyRoutes.js +11 -1
  205. package/dist/server/fastifyRoutes.js.map +1 -1
  206. package/dist/server/graphqlQuerying.js +4 -3
  207. package/dist/server/graphqlQuerying.js.map +1 -1
  208. package/dist/server/http.d.ts +40 -2
  209. package/dist/server/http.js +560 -77
  210. package/dist/server/http.js.map +1 -1
  211. package/dist/server/itc/serverHandlers.js +64 -0
  212. package/dist/server/itc/serverHandlers.js.map +1 -1
  213. package/dist/server/liveSubscriptionAuth.d.ts +12 -0
  214. package/dist/server/liveSubscriptionAuth.js +140 -0
  215. package/dist/server/liveSubscriptionAuth.js.map +1 -0
  216. package/dist/server/loadRootComponents.js +2 -1
  217. package/dist/server/loadRootComponents.js.map +1 -1
  218. package/dist/server/middlewareChain.d.ts +44 -1
  219. package/dist/server/middlewareChain.js +86 -10
  220. package/dist/server/middlewareChain.js.map +1 -1
  221. package/dist/server/mqtt.js +2 -1
  222. package/dist/server/mqtt.js.map +1 -1
  223. package/dist/server/operationsServer.js +1 -1
  224. package/dist/server/operationsServer.js.map +1 -1
  225. package/dist/server/serverHelpers/Headers.d.ts +9 -0
  226. package/dist/server/serverHelpers/Headers.js +22 -0
  227. package/dist/server/serverHelpers/Headers.js.map +1 -1
  228. package/dist/server/serverHelpers/JSONStream.js +3 -3
  229. package/dist/server/serverHelpers/JSONStream.js.map +1 -1
  230. package/dist/server/serverHelpers/Request.d.ts +52 -1
  231. package/dist/server/serverHelpers/Request.js +122 -1
  232. package/dist/server/serverHelpers/Request.js.map +1 -1
  233. package/dist/server/serverHelpers/contentTypes.js +3 -8
  234. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  235. package/dist/server/serverHelpers/progressEmitter.d.ts +19 -0
  236. package/dist/server/serverHelpers/progressEmitter.js +52 -4
  237. package/dist/server/serverHelpers/progressEmitter.js.map +1 -1
  238. package/dist/server/serverHelpers/registeredOperations.d.ts +40 -0
  239. package/dist/server/serverHelpers/registeredOperations.js +286 -0
  240. package/dist/server/serverHelpers/registeredOperations.js.map +1 -0
  241. package/dist/server/serverHelpers/serverHandlers.js +11 -5
  242. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  243. package/dist/server/serverHelpers/serverUtilities.d.ts +1 -0
  244. package/dist/server/serverHelpers/serverUtilities.js +67 -5
  245. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  246. package/dist/server/serverHelpers/uwsServer.d.ts +80 -0
  247. package/dist/server/serverHelpers/uwsServer.js +433 -0
  248. package/dist/server/serverHelpers/uwsServer.js.map +1 -0
  249. package/dist/server/static.d.ts +0 -15
  250. package/dist/server/static.js +161 -2
  251. package/dist/server/static.js.map +1 -1
  252. package/dist/server/status/index.d.ts +4 -1
  253. package/dist/server/status/index.js +64 -4
  254. package/dist/server/status/index.js.map +1 -1
  255. package/dist/server/threads/manageThreads.d.ts +10 -0
  256. package/dist/server/threads/manageThreads.js +107 -4
  257. package/dist/server/threads/manageThreads.js.map +1 -1
  258. package/dist/server/threads/socketRouter.js +5 -1
  259. package/dist/server/threads/socketRouter.js.map +1 -1
  260. package/dist/server/threads/threadServer.js +92 -14
  261. package/dist/server/threads/threadServer.js.map +1 -1
  262. package/dist/upgrade/directives/5-2-0.d.ts +7 -0
  263. package/dist/upgrade/directives/5-2-0.js +108 -0
  264. package/dist/upgrade/directives/5-2-0.js.map +1 -0
  265. package/dist/upgrade/directives/directivesController.js +2 -1
  266. package/dist/upgrade/directives/directivesController.js.map +1 -1
  267. package/dist/utility/common_utils.js +5 -0
  268. package/dist/utility/common_utils.js.map +1 -1
  269. package/dist/utility/envFile.d.ts +41 -0
  270. package/dist/utility/envFile.js +221 -0
  271. package/dist/utility/envFile.js.map +1 -0
  272. package/dist/utility/globalSchema.d.ts +9 -0
  273. package/dist/utility/hdbTerms.d.ts +25 -0
  274. package/dist/utility/hdbTerms.js +31 -0
  275. package/dist/utility/hdbTerms.js.map +1 -1
  276. package/dist/utility/logging/harper_logger.d.ts +21 -0
  277. package/dist/utility/logging/harper_logger.js +160 -8
  278. package/dist/utility/logging/harper_logger.js.map +1 -1
  279. package/dist/utility/logging/logRotator.js +29 -17
  280. package/dist/utility/logging/logRotator.js.map +1 -1
  281. package/dist/utility/logging/readLog.d.ts +1 -1
  282. package/dist/utility/logging/readLog.js +305 -2
  283. package/dist/utility/logging/readLog.js.map +1 -1
  284. package/dist/utility/operationPermissions.d.ts +18 -0
  285. package/dist/utility/operationPermissions.js +35 -1
  286. package/dist/utility/operationPermissions.js.map +1 -1
  287. package/dist/utility/operation_authorization.d.ts +17 -0
  288. package/dist/utility/operation_authorization.js +38 -0
  289. package/dist/utility/operation_authorization.js.map +1 -1
  290. package/dist/utility/secretEnvelope.d.ts +30 -0
  291. package/dist/utility/secretEnvelope.js +94 -0
  292. package/dist/utility/secretEnvelope.js.map +1 -0
  293. package/dist/utility/signalling.d.ts +7 -0
  294. package/dist/utility/signalling.js +16 -0
  295. package/dist/utility/signalling.js.map +1 -1
  296. package/dist/validation/configValidator.js +70 -24
  297. package/dist/validation/configValidator.js.map +1 -1
  298. package/index.ts +4 -0
  299. package/json/systemSchema.json +38 -0
  300. package/npm-shrinkwrap.json +15066 -9347
  301. package/package.json +13 -8
  302. package/resources/DESIGN.md +15 -12
  303. package/resources/DatabaseTransaction.ts +206 -37
  304. package/resources/LMDBTransaction.ts +43 -9
  305. package/resources/PrimaryRocksDatabase.ts +201 -0
  306. package/resources/RecordEncoder.ts +81 -69
  307. package/resources/RequestTarget.ts +21 -0
  308. package/resources/Resource.ts +109 -25
  309. package/resources/ResourceInterface.ts +6 -2
  310. package/resources/Resources.ts +1 -3
  311. package/resources/Table.ts +238 -29
  312. package/resources/analytics/read.ts +25 -30
  313. package/resources/blob.ts +159 -23
  314. package/resources/crdt.ts +37 -31
  315. package/resources/databases.ts +143 -6
  316. package/resources/graphql.ts +8 -0
  317. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +251 -17
  318. package/resources/jsResource.ts +6 -0
  319. package/resources/loadEnv.ts +34 -3
  320. package/resources/login.ts +2 -2
  321. package/resources/models/Models.ts +19 -3
  322. package/resources/models/embedHook.ts +13 -2
  323. package/resources/models/openaiStream.ts +133 -0
  324. package/resources/replayLogs.ts +4 -3
  325. package/resources/search.ts +113 -11
  326. package/resources/secretDecryptor.ts +159 -0
  327. package/resources/tracked.ts +24 -17
  328. package/security/auth.ts +70 -10
  329. package/security/jsLoader.ts +12 -0
  330. package/security/tokenAuthentication.ts +42 -1
  331. package/server/DESIGN.md +10 -0
  332. package/server/DurableSubscriptionsSession.ts +8 -4
  333. package/server/REST.ts +26 -9
  334. package/server/fastifyRoutes.ts +10 -1
  335. package/server/graphqlQuerying.ts +4 -3
  336. package/server/http.ts +563 -77
  337. package/server/itc/serverHandlers.js +70 -0
  338. package/server/liveSubscriptionAuth.ts +152 -0
  339. package/server/loadRootComponents.js +2 -1
  340. package/server/middlewareChain.ts +107 -17
  341. package/server/mqtt.ts +2 -1
  342. package/server/operationsServer.ts +2 -2
  343. package/server/serverHelpers/Headers.ts +24 -0
  344. package/server/serverHelpers/JSONStream.ts +3 -3
  345. package/server/serverHelpers/Request.ts +127 -0
  346. package/server/serverHelpers/contentTypes.ts +3 -8
  347. package/server/serverHelpers/progressEmitter.ts +55 -5
  348. package/server/serverHelpers/registeredOperations.ts +259 -0
  349. package/server/serverHelpers/serverHandlers.js +11 -5
  350. package/server/serverHelpers/serverUtilities.ts +88 -5
  351. package/server/serverHelpers/uwsServer.ts +488 -0
  352. package/server/static.ts +180 -2
  353. package/server/status/index.ts +72 -4
  354. package/server/threads/manageThreads.js +102 -4
  355. package/server/threads/socketRouter.ts +5 -1
  356. package/server/threads/threadServer.js +93 -10
  357. package/studio/web/assets/{Chat-SdD1EZca.js → Chat-Cv_2paZE.js} +2 -2
  358. package/studio/web/assets/{Chat-SdD1EZca.js.map → Chat-Cv_2paZE.js.map} +1 -1
  359. package/studio/web/assets/{FloatingChat-GMq6tHK9.js → FloatingChat-CPyPIcVR.js} +4 -4
  360. package/studio/web/assets/{FloatingChat-GMq6tHK9.js.map → FloatingChat-CPyPIcVR.js.map} +1 -1
  361. package/studio/web/assets/{applications-B5hhv7uA.js → applications-C0jT2vdZ.js} +2 -2
  362. package/studio/web/assets/{applications-B5hhv7uA.js.map → applications-C0jT2vdZ.js.map} +1 -1
  363. package/studio/web/assets/{index-VFcpNWgq.js → index-D_GKOkhn.js} +6 -6
  364. package/studio/web/assets/index-D_GKOkhn.js.map +1 -0
  365. package/studio/web/assets/{index.lazy-DgcJojIA.js → index.lazy-CAmCIA65.js} +4 -4
  366. package/studio/web/assets/{index.lazy-DgcJojIA.js.map → index.lazy-CAmCIA65.js.map} +1 -1
  367. package/studio/web/assets/{profile-BqN-8vzm.js → profile-CaF-4aZe.js} +2 -2
  368. package/studio/web/assets/{profile-BqN-8vzm.js.map → profile-CaF-4aZe.js.map} +1 -1
  369. package/studio/web/assets/{setComponentFile-CHFvFq9u.js → setComponentFile-DLW1DHCt.js} +2 -2
  370. package/studio/web/assets/{setComponentFile-CHFvFq9u.js.map → setComponentFile-DLW1DHCt.js.map} +1 -1
  371. package/studio/web/assets/{setup-CQ3vWJSr.js → setup-TGCErIhq.js} +2 -2
  372. package/studio/web/assets/{setup-CQ3vWJSr.js.map → setup-TGCErIhq.js.map} +1 -1
  373. package/studio/web/assets/{status-BsW5fjuh.js → status-DG0Maoao.js} +2 -2
  374. package/studio/web/assets/{status-BsW5fjuh.js.map → status-DG0Maoao.js.map} +1 -1
  375. package/studio/web/assets/{swagger-ui-react-DITdeB9-.js → swagger-ui-react-8T4SgQ1m.js} +2 -2
  376. package/studio/web/assets/{swagger-ui-react-DITdeB9-.js.map → swagger-ui-react-8T4SgQ1m.js.map} +1 -1
  377. package/studio/web/assets/{tsMode-Dyph-OUs.js → tsMode-DJ6Sl24Q.js} +2 -2
  378. package/studio/web/assets/{tsMode-Dyph-OUs.js.map → tsMode-DJ6Sl24Q.js.map} +1 -1
  379. package/studio/web/assets/{useEntityRestURL-D0QTUqex.js → useEntityRestURL-JO2mfWTQ.js} +2 -2
  380. package/studio/web/assets/{useEntityRestURL-D0QTUqex.js.map → useEntityRestURL-JO2mfWTQ.js.map} +1 -1
  381. package/studio/web/index.html +1 -1
  382. package/upgrade/directives/5-2-0.ts +82 -0
  383. package/upgrade/directives/directivesController.ts +2 -1
  384. package/utility/common_utils.ts +5 -0
  385. package/utility/envFile.ts +218 -0
  386. package/utility/hdbTerms.ts +31 -0
  387. package/utility/logging/harper_logger.ts +156 -8
  388. package/utility/logging/logRotator.ts +24 -14
  389. package/utility/logging/readLog.ts +323 -2
  390. package/utility/operationPermissions.ts +35 -1
  391. package/utility/operation_authorization.ts +74 -1
  392. package/utility/secretEnvelope.ts +113 -0
  393. package/utility/signalling.ts +15 -0
  394. package/validation/configValidator.ts +78 -25
  395. package/studio/web/assets/index-VFcpNWgq.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ import { RocksDatabase, type RocksDatabaseOptions, type Store } from '@harperfast/rocksdb-js';
2
+ /**
3
+ * RocksDatabase subclass that owns all primary-store behaviour for Harper tables:
4
+ * - RecordEncoder metadata extraction (version, metadataFlags, etc.)
5
+ * - Optional WeakLRUCache keyed on entry version, verified via the process-wide VerificationTable
6
+ *
7
+ * Replaces both the old CachingRocksDatabase and the RocksDB-specific patches applied by
8
+ * handleLocalTimeForGets. Call initStore(rootStore) after open() — or let
9
+ * handleLocalTimeForGets delegate to it automatically via the isPrimaryRocksDatabase marker.
10
+ *
11
+ * Caching is enabled by default; pass { cache: false } to disable (useful for benchmarking
12
+ * or stores where version tracking is not desired).
13
+ *
14
+ * Cache freshness pattern (using the rocksdb-js VT API):
15
+ * 1. verifyVersion(key, cached.version) → true → return cached entry (no disk I/O)
16
+ * 2. verifyVersion(key, cached.version) → false → read from DB, populateVersion, update cache
17
+ */
18
+ export declare class PrimaryRocksDatabase extends RocksDatabase {
19
+ #private;
20
+ readonly isPrimaryRocksDatabase = true;
21
+ readCount: number;
22
+ cachePuts: boolean;
23
+ rootStore: any;
24
+ decoder: any;
25
+ constructor(pathOrStore: string | Store, options?: RocksDatabaseOptions & {
26
+ cache?: boolean;
27
+ });
28
+ /**
29
+ * Initialises encoder/decoder state. Must be called once after open() with the root
30
+ * RocksDatabase. Equivalent to the RocksDB branch of handleLocalTimeForGets, but as
31
+ * a real method rather than instance-level monkey-patching.
32
+ */
33
+ initStore(rootStore: RocksDatabase): void;
34
+ /**
35
+ * Core read method. Returns a full Entry (with version, metadataFlags, value, …) or
36
+ * undefined. When caching is enabled, passes `expectedVersion` to the native layer so
37
+ * a single call handles both verification (returns FRESH_VERSION_FLAG on hit) and VT
38
+ * population (auto-seeded on DB read). Only cold reads (no cached version) need a
39
+ * separate populateVersion call.
40
+ */
41
+ getEntry(id: any, options?: any): any;
42
+ getSync(id: any, options?: any): any;
43
+ get(id: any, options?: any): any;
44
+ getRange(options?: any): any;
45
+ putSync(id: any, value: any, options?: any): any;
46
+ removeSync(id: any, options?: any): any;
47
+ clearSync(): void;
48
+ clear(): Promise<void>;
49
+ open(): PrimaryRocksDatabase;
50
+ static open(pathOrStore: string | Store, options?: RocksDatabaseOptions): PrimaryRocksDatabase;
51
+ }
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrimaryRocksDatabase = void 0;
4
+ const rocksdb_js_1 = require("@harperfast/rocksdb-js");
5
+ const FRESH_VERSION_FLAG = rocksdb_js_1.constants.FRESH_VERSION_FLAG;
6
+ const weak_lru_cache_1 = require("weak-lru-cache");
7
+ const when_ts_1 = require("../utility/when.js");
8
+ const RecordEncoder_ts_1 = require("./RecordEncoder.js");
9
+ /**
10
+ * RocksDatabase subclass that owns all primary-store behaviour for Harper tables:
11
+ * - RecordEncoder metadata extraction (version, metadataFlags, etc.)
12
+ * - Optional WeakLRUCache keyed on entry version, verified via the process-wide VerificationTable
13
+ *
14
+ * Replaces both the old CachingRocksDatabase and the RocksDB-specific patches applied by
15
+ * handleLocalTimeForGets. Call initStore(rootStore) after open() — or let
16
+ * handleLocalTimeForGets delegate to it automatically via the isPrimaryRocksDatabase marker.
17
+ *
18
+ * Caching is enabled by default; pass { cache: false } to disable (useful for benchmarking
19
+ * or stores where version tracking is not desired).
20
+ *
21
+ * Cache freshness pattern (using the rocksdb-js VT API):
22
+ * 1. verifyVersion(key, cached.version) → true → return cached entry (no disk I/O)
23
+ * 2. verifyVersion(key, cached.version) → false → read from DB, populateVersion, update cache
24
+ */
25
+ class PrimaryRocksDatabase extends rocksdb_js_1.RocksDatabase {
26
+ isPrimaryRocksDatabase = true;
27
+ #cache;
28
+ readCount = 0;
29
+ cachePuts = false;
30
+ get #enc() {
31
+ return this.encoder;
32
+ }
33
+ constructor(pathOrStore, options) {
34
+ const enableCache = options?.cache === true;
35
+ super(pathOrStore, enableCache ? { ...options, verificationTable: true } : options);
36
+ if (enableCache) {
37
+ this.#cache = new weak_lru_cache_1.WeakLRUCache();
38
+ }
39
+ }
40
+ /**
41
+ * Initialises encoder/decoder state. Must be called once after open() with the root
42
+ * RocksDatabase. Equivalent to the RocksDB branch of handleLocalTimeForGets, but as
43
+ * a real method rather than instance-level monkey-patching.
44
+ */
45
+ initStore(rootStore) {
46
+ this.readCount = 0;
47
+ this.cachePuts = false;
48
+ this.rootStore = rootStore;
49
+ this.#enc.rootStore = rootStore;
50
+ this.#enc.isRocksDB = true;
51
+ this.decoder = this.#enc;
52
+ }
53
+ #withEntry(entry, id) {
54
+ if (entry.value) {
55
+ if (entry.value.constructor === Object && this.#enc.structPrototype) {
56
+ const originalValue = entry.value;
57
+ entry.value = new this.#enc.structPrototype.constructor();
58
+ Object.assign(entry.value, originalValue);
59
+ }
60
+ if (typeof entry.value === 'object' && entry.value !== null) {
61
+ RecordEncoder_ts_1.entryMap.set(entry.value, entry);
62
+ }
63
+ }
64
+ entry.key = id;
65
+ return entry;
66
+ }
67
+ #processEntry(raw, id) {
68
+ if (raw == null)
69
+ return undefined;
70
+ if (raw[RecordEncoder_ts_1.METADATA]) {
71
+ raw.metadataFlags = raw[RecordEncoder_ts_1.METADATA];
72
+ return this.#withEntry(raw, id);
73
+ }
74
+ const entry = { value: raw, key: id };
75
+ // map metadata-less values too, so getEntry guarantees the value→Entry
76
+ // mapping for every object value it returns (getSync/get rely on this)
77
+ if (typeof raw === 'object')
78
+ RecordEncoder_ts_1.entryMap.set(raw, entry);
79
+ return entry;
80
+ }
81
+ /**
82
+ * Core read method. Returns a full Entry (with version, metadataFlags, value, …) or
83
+ * undefined. When caching is enabled, passes `expectedVersion` to the native layer so
84
+ * a single call handles both verification (returns FRESH_VERSION_FLAG on hit) and VT
85
+ * population (auto-seeded on DB read). Only cold reads (no cached version) need a
86
+ * separate populateVersion call.
87
+ */
88
+ getEntry(id, options) {
89
+ this.readCount++;
90
+ const cache = this.#cache;
91
+ // The cache stores the record *value* (weakly, via setValue) rather than
92
+ // the Entry: a WeakRef-wrapped value lets the LRFU expirer release it once
93
+ // it cycles out of the LRU stages (a raw Entry stored via set() has neither
94
+ // a .deref nor a .cache hook, so it would never be reclaimed — an unbounded
95
+ // leak). The value→Entry WeakMap (entryMap) recovers the Entry metadata
96
+ // (version, flags) needed for the fast path while the value is live.
97
+ const cachedValue = cache?.getValue(id);
98
+ const cached = cachedValue != null && typeof cachedValue === 'object'
99
+ ? RecordEncoder_ts_1.entryMap.get(cachedValue)
100
+ : undefined;
101
+ const expectedVersion = cached?.version;
102
+ // Build get options, always merging with caller options to preserve
103
+ // transaction snapshot. Pass expectedVersion when cached:
104
+ // VT hit → native returns FRESH_VERSION_FLAG, no DB read
105
+ // VT miss → native reads DB and auto-populates VT slot
106
+ // For cold reads (no cached version), use populateVersion flag so the
107
+ // native layer seeds the VT slot in the same call.
108
+ let getOptions;
109
+ if (expectedVersion != null) {
110
+ getOptions = options ? { ...options, expectedVersion } : { expectedVersion };
111
+ }
112
+ else if (cache) {
113
+ getOptions = options ? { ...options, populateVersion: true } : { populateVersion: true };
114
+ }
115
+ else {
116
+ getOptions = options;
117
+ }
118
+ const raw = options?.async ? super.get(id, getOptions) : super.getSync(id, getOptions);
119
+ return (0, when_ts_1.when)(raw, (result) => {
120
+ if (result === FRESH_VERSION_FLAG)
121
+ return cached;
122
+ const entry = this.#processEntry(result, id);
123
+ if (entry == null) {
124
+ if (cache && cachedValue !== undefined)
125
+ cache.delete(id);
126
+ return undefined;
127
+ }
128
+ // Only object values can be weakly cached and mapped back to their Entry;
129
+ // primitive/empty values fall through uncached (no fast path, still correct).
130
+ if (entry.version != null && cache && entry.value != null && typeof entry.value === 'object') {
131
+ RecordEncoder_ts_1.entryMap.set(entry.value, entry);
132
+ cache.setValue(id, entry.value, (entry.size ?? 0) >> 10);
133
+ }
134
+ return entry;
135
+ });
136
+ }
137
+ getSync(id, options) {
138
+ const entry = this.getEntry(id, options);
139
+ return entry?.value;
140
+ }
141
+ get(id, options) {
142
+ return (0, when_ts_1.when)(this.getEntry(id, { ...options, async: true }), (entry) => entry?.value);
143
+ }
144
+ getRange(options) {
145
+ const iterable = super.getRange(options);
146
+ if (options?.valuesForKey)
147
+ return iterable.map((v) => v?.value);
148
+ if (options?.values === false || options?.onlyCount)
149
+ return iterable;
150
+ if (!this.#enc.isRocksDB)
151
+ return iterable;
152
+ const enc = this.#enc;
153
+ return iterable.map((entry) => {
154
+ if (entry.value?.[RecordEncoder_ts_1.METADATA]) {
155
+ entry.metadataFlags = entry.value[RecordEncoder_ts_1.METADATA];
156
+ Object.assign(entry, entry.value);
157
+ }
158
+ if (entry.value?.constructor === Object && enc.structPrototype) {
159
+ const originalValue = entry.value;
160
+ entry.value = new enc.structPrototype.constructor();
161
+ for (const key in originalValue)
162
+ entry.value[key] = originalValue[key];
163
+ }
164
+ return entry;
165
+ });
166
+ }
167
+ putSync(id, value, options) {
168
+ this.#cache?.delete(id);
169
+ return super.putSync(id, value, options);
170
+ }
171
+ removeSync(id, options) {
172
+ this.#cache?.delete(id);
173
+ return super.removeSync(id, options);
174
+ }
175
+ clearSync() {
176
+ // clearSync wipes every record; the per-instance cache must be dropped
177
+ // too, otherwise a cached entry would survive the clear and be served as
178
+ // a stale "still exists" hit on the next read.
179
+ this.#cache?.clear();
180
+ return super.clearSync();
181
+ }
182
+ clear() {
183
+ this.#cache?.clear();
184
+ return super.clear();
185
+ }
186
+ open() {
187
+ return super.open();
188
+ }
189
+ static open(pathOrStore, options) {
190
+ return new PrimaryRocksDatabase(pathOrStore, options).open();
191
+ }
192
+ }
193
+ exports.PrimaryRocksDatabase = PrimaryRocksDatabase;
194
+ //# sourceMappingURL=PrimaryRocksDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimaryRocksDatabase.js","sourceRoot":"","sources":["../../resources/PrimaryRocksDatabase.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ export declare class RecordEncoder extends StructonEncoder {
55
55
  isRocksDB: boolean;
56
56
  name: string;
57
57
  useVersions: boolean;
58
+ autoVersion: boolean;
58
59
  constructor(options: any);
59
60
  decode(buffer: any, options: any): any;
60
61
  }
@@ -53,6 +53,7 @@ const msgpackr_1 = require("msgpackr");
53
53
  const structon_1 = require("structon");
54
54
  const auditStore_ts_1 = require("./auditStore.js");
55
55
  const harperLogger = __importStar(require("../utility/logging/harper_logger.js"));
56
+ const commonUtility_ts_1 = require("../utility/lmdb/commonUtility.js");
56
57
  require("./blob.js");
57
58
  const blob_ts_1 = require("./blob.js");
58
59
  const nodeIdMapping_ts_1 = require("./nodeIdMapping.js");
@@ -115,6 +116,12 @@ class RecordEncoder extends StructonEncoder {
115
116
  isRocksDB;
116
117
  name;
117
118
  useVersions;
119
+ // Self-versioning mode for stores whose writes never stage a timestamp (HNSW/custom-index
120
+ // object stores). When set, each encode stamps a fresh monotonic version into the 8-byte
121
+ // metadata prefix so the value carries a version the RocksDB Verification Table can extract —
122
+ // enabling race-safe cache verification of graph nodes during traversal. Unlike primary-record
123
+ // writes, this never reads or clears the shared timestampNextEncoding global (harper#1307).
124
+ autoVersion = false;
118
125
  constructor(options) {
119
126
  options.useBigIntExtension = true;
120
127
  // Bound the per-encoder typed-structure dictionary. It is append-only and pinned on the
@@ -166,6 +173,32 @@ class RecordEncoder extends StructonEncoder {
166
173
  exports.lastValueEncoding = superEncode.call(this, record, options);
167
174
  return exports.lastValueEncoding;
168
175
  }
176
+ if (this.autoVersion && this.isRocksDB) {
177
+ // Self-versioned index store (RocksDB only — the Verification Table is RocksDB-specific):
178
+ // prefix the record-encoder metadata header so each node carries a version the VT can
179
+ // extract and the decode path recognises. The header is [8-byte BE float64 version]
180
+ // [4-byte BE metadata word], exactly the format decode() expects: the version's first
181
+ // byte (0x42 for current-era ms timestamps) triggers metadata detection, and the
182
+ // ACTION_32_BIT-tagged flags word (flags = 0 — no expiration/residency/etc.) is required
183
+ // so decode consumes a metadata word rather than mis-reading the struct's first byte as
184
+ // flags — the flags word being mandatory was the actual bug behind earlier failures,
185
+ // NOT any struct incompatibility. Use the same reserve-start mechanism the primary
186
+ // metadata path below uses (the 2048|valueStart option reserves valueStart bytes at the
187
+ // front of the encode buffer; we write the header in place), which works fine with the
188
+ // forced randomAccessStructure/typed-struct mode of custom-object indexes — verified
189
+ // against the cold/frozen-read (#1161) and concurrent multi-worker (#386) suites. This
190
+ // avoids a per-write extra allocation + full-payload copy. Never touch the shared
191
+ // timestampNextEncoding/metadataInNextEncoding globals — those belong to the enclosing
192
+ // primary-record write whose commit nests this index encode (harper#1307).
193
+ const valueStart = 12; // 8-byte version + 4-byte metadata word
194
+ const encoded = superEncode.call(this, record, options | 2048 | valueStart);
195
+ const position = encoded.start || 0;
196
+ const dataView = encoded.dataView || (encoded.dataView = new DataView(encoded.buffer, encoded.byteOffset, encoded.byteLength));
197
+ dataView.setFloat64(position, (0, commonUtility_ts_1.getNextMonotonicTime)()); // version (big-endian, rocksdb stores it directly)
198
+ dataView.setUint32(position + 8, auditStore_ts_1.ACTION_32_BIT << 24); // metadata word: ACTION_32_BIT tag, flags = 0
199
+ exports.lastValueEncoding = encoded.subarray(position + valueStart, encoded.end);
200
+ return encoded;
201
+ }
169
202
  // this handles our custom metadata encoding, prefixing the record with metadata, including the local
170
203
  // timestamp into the audit record, invalidation status and residency information
171
204
  if (timestampNextEncoding || metadataInNextEncoding >= 0) {
@@ -448,54 +481,36 @@ function getTimestamp() {
448
481
  return TIMESTAMP_VIEW.getFloat64(0);
449
482
  }
450
483
  function handleLocalTimeForGets(store, rootStore) {
451
- const isRocksDB = store instanceof rocksdb_js_1.RocksDatabase;
484
+ if (store.isPrimaryRocksDatabase) {
485
+ store.initStore(rootStore);
486
+ return store;
487
+ }
452
488
  store.readCount = 0;
453
489
  store.cachePuts = false;
454
490
  store.rootStore = rootStore;
455
491
  store.encoder.rootStore = rootStore;
456
- store.encoder.isRocksDB = isRocksDB;
457
492
  store.decoder = store.encoder;
458
493
  const storeGetEntry = store.getEntry;
459
- const storeGetSync = store.getSync;
460
- const storeGet = store.get;
461
494
  store.getEntry = function (id, options) {
462
495
  store.readCount++;
463
496
  exports.lastMetadata = null;
464
- if (isRocksDB) {
465
- return (0, when_ts_1.when)(options?.async ? storeGet.call(store, id, options) : storeGetSync.call(store, id, options), (entry) => {
466
- if (entry) {
467
- if (entry[exports.METADATA]) {
468
- entry.metadataFlags = entry[exports.METADATA];
469
- return withEntry(entry);
470
- }
471
- else
472
- return { value: entry };
473
- }
474
- else
475
- return entry;
476
- });
477
- }
478
- else {
479
- let entry = storeGetEntry.call(this, id, options);
480
- if (exports.lastMetadata) {
481
- entry.metadataFlags = exports.lastMetadata[exports.METADATA];
482
- entry.localTime = exports.lastMetadata.localTime;
483
- entry.residencyId = exports.lastMetadata.residencyId;
484
- entry.nodeId = exports.lastMetadata.nodeId;
485
- entry.additionalAuditRefs = exports.lastMetadata.additionalAuditRefs;
486
- entry.size = exports.lastMetadata.size;
487
- if (exports.lastMetadata.expiresAt >= 0) {
488
- entry.expiresAt = exports.lastMetadata.expiresAt;
489
- }
490
- if (isRocksDB)
491
- entry.version = exports.lastMetadata.localTime;
492
- if (entry.value) {
493
- exports.entryMap.set(entry.value, entry); // allow the record to access the entry
494
- }
495
- entry.key = id;
497
+ let entry = storeGetEntry.call(this, id, options);
498
+ if (exports.lastMetadata) {
499
+ entry.metadataFlags = exports.lastMetadata[exports.METADATA];
500
+ entry.localTime = exports.lastMetadata.localTime;
501
+ entry.residencyId = exports.lastMetadata.residencyId;
502
+ entry.nodeId = exports.lastMetadata.nodeId;
503
+ entry.additionalAuditRefs = exports.lastMetadata.additionalAuditRefs;
504
+ entry.size = exports.lastMetadata.size;
505
+ if (exports.lastMetadata.expiresAt >= 0) {
506
+ entry.expiresAt = exports.lastMetadata.expiresAt;
507
+ }
508
+ if (entry.value) {
509
+ exports.entryMap.set(entry.value, entry); // allow the record to access the entry
496
510
  }
497
- return entry && withEntry(entry);
511
+ entry.key = id;
498
512
  }
513
+ return entry && withEntry(entry);
499
514
  // if we have decoded with metadata, we want to pull it out and assign to this entry
500
515
  function withEntry(entry) {
501
516
  if (entry.value) {
@@ -539,17 +554,9 @@ function handleLocalTimeForGets(store, rootStore) {
539
554
  return iterable;
540
555
  return iterable.map((entry) => {
541
556
  // if we have metadata, move the metadata to the entry
542
- if (isRocksDB) {
543
- if (entry.value?.[exports.METADATA]) {
544
- entry.metadataFlags = entry.value[exports.METADATA];
545
- Object.assign(entry, entry.value);
546
- }
547
- }
548
- else if (exports.lastMetadata) {
557
+ if (exports.lastMetadata) {
549
558
  entry.metadataFlags = exports.lastMetadata[exports.METADATA];
550
559
  entry.localTime = exports.lastMetadata.localTime;
551
- if (isRocksDB)
552
- entry.version = exports.lastMetadata.localTime;
553
560
  entry.residencyId = exports.lastMetadata.residencyId;
554
561
  entry.nodeId = exports.lastMetadata.nodeId;
555
562
  entry.additionalAuditRefs = exports.lastMetadata.additionalAuditRefs;
@@ -570,37 +577,36 @@ function handleLocalTimeForGets(store, rootStore) {
570
577
  return entry;
571
578
  });
572
579
  };
573
- if (!isRocksDB) {
574
- // add read transaction tracking
575
- const txn = store.useReadTransaction();
576
- txn.done();
577
- if (!txn.done.isTracked) {
578
- const Txn = txn.constructor;
579
- const use = txn.use;
580
- const done = txn.done;
581
- Txn.prototype.use = function () {
582
- if (!this.timerTracked) {
583
- this.timerTracked = true;
584
- trackedTxns.push(new WeakRef(this));
585
- }
586
- use.call(this);
587
- };
588
- Txn.prototype.done = function () {
589
- if (this.isDone)
590
- return;
591
- done.call(this);
592
- this.openTimer = 0; // reset so idle pool time doesn't accumulate toward the stale-open threshold
593
- if (this.isDone) {
594
- for (let i = 0; i < trackedTxns.length; i++) {
595
- const txn = trackedTxns[i].deref();
596
- if (!txn || txn.isDone || txn.isCommitted) {
597
- trackedTxns.splice(i--, 1);
598
- }
580
+ // add read transaction tracking (LMDB only — RocksDB primary stores are PrimaryRocksDatabase and
581
+ // return early above; only LMDB stores reach here)
582
+ const txn = store.useReadTransaction();
583
+ txn.done();
584
+ if (!txn.done.isTracked) {
585
+ const Txn = txn.constructor;
586
+ const use = txn.use;
587
+ const done = txn.done;
588
+ Txn.prototype.use = function () {
589
+ if (!this.timerTracked) {
590
+ this.timerTracked = true;
591
+ trackedTxns.push(new WeakRef(this));
592
+ }
593
+ use.call(this);
594
+ };
595
+ Txn.prototype.done = function () {
596
+ if (this.isDone)
597
+ return;
598
+ done.call(this);
599
+ this.openTimer = 0; // reset so idle pool time doesn't accumulate toward the stale-open threshold
600
+ if (this.isDone) {
601
+ for (let i = 0; i < trackedTxns.length; i++) {
602
+ const txn = trackedTxns[i].deref();
603
+ if (!txn || txn.isDone || txn.isCommitted) {
604
+ trackedTxns.splice(i--, 1);
599
605
  }
600
606
  }
601
- };
602
- Txn.prototype.done.isTracked = true;
603
- }
607
+ }
608
+ };
609
+ Txn.prototype.done.isTracked = true;
604
610
  }
605
611
  return store;
606
612
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RecordEncoder.js","sourceRoot":"","sources":["../../resources/RecordEncoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordEncoder.js","sourceRoot":"","sources":["../../resources/RecordEncoder.ts"],"names":[],"mappings":"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"}
@@ -42,12 +42,31 @@ export declare class RequestTarget extends URLSearchParams {
42
42
  replicatedConfirmation?: number;
43
43
  originatingOperation?: string;
44
44
  previousResidency?: string[];
45
+ /** Cache disposition of this get on a caching table: true if loaded from the source, false if
46
+ * served from cache. Set per-get; read it on the RequestTarget you passed to the get. */
45
47
  loadedFromSource?: boolean;
46
48
  createdNewId?: string;
47
49
  checkPermission?: UserRoleDatabasePermissions | boolean;
48
50
  subscribe?: boolean;
49
51
  allowFullScan?: boolean;
50
52
  allowConditionsOnDynamicAttributes?: boolean;
53
+ /**
54
+ * Predicate-aware vector search (#1241). A `(record) => boolean` filter evaluated during HNSW
55
+ * traversal (and as a post-filter for other paths), so a vector sort keeps exploring until it has
56
+ * enough MATCHING nearest neighbors instead of post-filtering an under-filled candidate set. The
57
+ * function must be synchronous and side-effect free; the record it receives is frozen. JS-API only —
58
+ * never parsed from a REST query string (no eval of user-supplied code over HTTP).
59
+ */
60
+ vectorFilter?: (record: any) => boolean;
61
+ /**
62
+ * When `false`, the query reads against the latest committed data without holding a consistent
63
+ * read snapshot open for the duration of the iteration. This trades read consistency (rows
64
+ * written after the scan starts may be observed) for not pinning a snapshot that blocks
65
+ * compaction and ties up resources — useful for long-running scans such as analytics queries.
66
+ * Defaults to `true` (a stable snapshot is held). Currently only honored by RocksDB-backed
67
+ * tables; see `DatabaseTransaction.getReadTxn`.
68
+ */
69
+ snapshot?: boolean;
51
70
  constructor(target?: string);
52
71
  toString(): string;
53
72
  get url(): string;