@harperfast/harper 5.3.0-alpha.1 → 5.3.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 (291) hide show
  1. package/bin/cliOperations.ts +12 -0
  2. package/bin/restart.ts +66 -6
  3. package/components/Application.ts +1134 -112
  4. package/components/OptionsWatcher.ts +368 -102
  5. package/components/Scope.ts +20 -1
  6. package/components/componentLoader.ts +43 -4
  7. package/components/deploymentOperations.ts +4 -1
  8. package/components/deploymentRecorder.ts +9 -2
  9. package/components/operations.js +284 -52
  10. package/components/operationsValidation.js +49 -2
  11. package/components/packageComponent.ts +25 -1
  12. package/components/requestRestart.ts +11 -0
  13. package/config/RootConfigWatcher.ts +191 -37
  14. package/config/configReadRetry.ts +62 -0
  15. package/config/configUtils.ts +78 -26
  16. package/config/parseConfigFile.ts +34 -0
  17. package/config/readConfigFileSync.ts +44 -0
  18. package/config/watcherArming.ts +59 -0
  19. package/config-root.schema.json +4 -0
  20. package/dataLayer/harperBridge/ResourceBridge.ts +28 -2
  21. package/dist/bin/cliOperations.js +13 -0
  22. package/dist/bin/cliOperations.js.map +1 -1
  23. package/dist/bin/restart.js +42 -6
  24. package/dist/bin/restart.js.map +1 -1
  25. package/dist/components/Application.d.ts +104 -9
  26. package/dist/components/Application.js +954 -102
  27. package/dist/components/Application.js.map +1 -1
  28. package/dist/components/OptionsWatcher.d.ts +4 -1
  29. package/dist/components/OptionsWatcher.js +378 -104
  30. package/dist/components/OptionsWatcher.js.map +1 -1
  31. package/dist/components/Scope.js +15 -1
  32. package/dist/components/Scope.js.map +1 -1
  33. package/dist/components/componentLoader.js +35 -3
  34. package/dist/components/componentLoader.js.map +1 -1
  35. package/dist/components/deploymentOperations.js +4 -1
  36. package/dist/components/deploymentOperations.js.map +1 -1
  37. package/dist/components/deploymentRecorder.d.ts +4 -2
  38. package/dist/components/deploymentRecorder.js +1 -0
  39. package/dist/components/deploymentRecorder.js.map +1 -1
  40. package/dist/components/operations.d.ts +28 -0
  41. package/dist/components/operations.js +263 -54
  42. package/dist/components/operations.js.map +1 -1
  43. package/dist/components/operationsValidation.js +48 -2
  44. package/dist/components/operationsValidation.js.map +1 -1
  45. package/dist/components/packageComponent.js +24 -0
  46. package/dist/components/packageComponent.js.map +1 -1
  47. package/dist/components/requestRestart.d.ts +1 -0
  48. package/dist/components/requestRestart.js +7 -0
  49. package/dist/components/requestRestart.js.map +1 -1
  50. package/dist/config/RootConfigWatcher.d.ts +2 -0
  51. package/dist/config/RootConfigWatcher.js +189 -35
  52. package/dist/config/RootConfigWatcher.js.map +1 -1
  53. package/dist/config/configReadRetry.d.ts +8 -0
  54. package/dist/config/configReadRetry.js +62 -0
  55. package/dist/config/configReadRetry.js.map +1 -0
  56. package/dist/config/configUtils.d.ts +10 -9
  57. package/dist/config/configUtils.js +63 -27
  58. package/dist/config/configUtils.js.map +1 -1
  59. package/dist/config/parseConfigFile.d.ts +4 -0
  60. package/dist/config/parseConfigFile.js +35 -0
  61. package/dist/config/parseConfigFile.js.map +1 -0
  62. package/dist/config/readConfigFileSync.d.ts +1 -0
  63. package/dist/config/readConfigFileSync.js +47 -0
  64. package/dist/config/readConfigFileSync.js.map +1 -0
  65. package/dist/config/watcherArming.d.ts +15 -0
  66. package/dist/config/watcherArming.js +59 -0
  67. package/dist/config/watcherArming.js.map +1 -0
  68. package/dist/dataLayer/harperBridge/ResourceBridge.js +21 -2
  69. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  70. package/dist/index.d.ts +1 -0
  71. package/dist/index.js +4 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/json/systemSchema.json +3 -0
  74. package/dist/resources/DatabaseTransaction.d.ts +25 -0
  75. package/dist/resources/DatabaseTransaction.js +224 -18
  76. package/dist/resources/DatabaseTransaction.js.map +1 -1
  77. package/dist/resources/LMDBTransaction.d.ts +2 -1
  78. package/dist/resources/LMDBTransaction.js +22 -3
  79. package/dist/resources/LMDBTransaction.js.map +1 -1
  80. package/dist/resources/PrimaryRocksDatabase.js +22 -6
  81. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  82. package/dist/resources/RecordEncoder.d.ts +1 -1
  83. package/dist/resources/RecordEncoder.js +21 -5
  84. package/dist/resources/RecordEncoder.js.map +1 -1
  85. package/dist/resources/Resource.js +97 -13
  86. package/dist/resources/Resource.js.map +1 -1
  87. package/dist/resources/ResourceInterface.d.ts +8 -0
  88. package/dist/resources/RocksIndexStore.js +2 -1
  89. package/dist/resources/RocksIndexStore.js.map +1 -1
  90. package/dist/resources/RocksTransactionLogStore.d.ts +10 -0
  91. package/dist/resources/RocksTransactionLogStore.js +104 -33
  92. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  93. package/dist/resources/Table.d.ts +58 -7
  94. package/dist/resources/Table.js +1095 -346
  95. package/dist/resources/Table.js.map +1 -1
  96. package/dist/resources/analytics/write.js +10 -3
  97. package/dist/resources/analytics/write.js.map +1 -1
  98. package/dist/resources/auditStore.d.ts +170 -0
  99. package/dist/resources/auditStore.js +457 -11
  100. package/dist/resources/auditStore.js.map +1 -1
  101. package/dist/resources/dataLoader.js +3 -4
  102. package/dist/resources/dataLoader.js.map +1 -1
  103. package/dist/resources/databases.d.ts +16 -13
  104. package/dist/resources/databases.js +624 -176
  105. package/dist/resources/databases.js.map +1 -1
  106. package/dist/resources/derivedIndexRegistry.d.ts +5 -0
  107. package/dist/resources/derivedIndexRegistry.js +68 -0
  108. package/dist/resources/derivedIndexRegistry.js.map +1 -0
  109. package/dist/resources/derivedIndexRuntime.d.ts +215 -0
  110. package/dist/resources/derivedIndexRuntime.js +2027 -0
  111. package/dist/resources/derivedIndexRuntime.js.map +1 -0
  112. package/dist/resources/graphql.js +3 -2
  113. package/dist/resources/graphql.js.map +1 -1
  114. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +102 -9
  115. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +848 -39
  116. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  117. package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
  118. package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
  119. package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
  120. package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
  121. package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
  122. package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
  123. package/dist/resources/nodeIdMapping.d.ts +5 -0
  124. package/dist/resources/nodeIdMapping.js +49 -0
  125. package/dist/resources/nodeIdMapping.js.map +1 -1
  126. package/dist/resources/recordLock.d.ts +47 -4
  127. package/dist/resources/recordLock.js +138 -7
  128. package/dist/resources/recordLock.js.map +1 -1
  129. package/dist/resources/recordLockCoordinator.d.ts +557 -0
  130. package/dist/resources/recordLockCoordinator.js +2565 -0
  131. package/dist/resources/recordLockCoordinator.js.map +1 -0
  132. package/dist/resources/replayLogs.js +5 -0
  133. package/dist/resources/replayLogs.js.map +1 -1
  134. package/dist/resources/replicatedApplyFailure.d.ts +16 -0
  135. package/dist/resources/replicatedApplyFailure.js +63 -0
  136. package/dist/resources/replicatedApplyFailure.js.map +1 -0
  137. package/dist/resources/scheduler/scheduler.js +3 -3
  138. package/dist/resources/scheduler/scheduler.js.map +1 -1
  139. package/dist/resources/search.d.ts +10 -4
  140. package/dist/resources/search.js +160 -40
  141. package/dist/resources/search.js.map +1 -1
  142. package/dist/resources/tracked.d.ts +5 -1
  143. package/dist/resources/tracked.js +74 -23
  144. package/dist/resources/tracked.js.map +1 -1
  145. package/dist/security/jsLoader.js +6 -4
  146. package/dist/security/jsLoader.js.map +1 -1
  147. package/dist/server/REST.js +33 -2
  148. package/dist/server/REST.js.map +1 -1
  149. package/dist/server/http.d.ts +5 -1
  150. package/dist/server/http.js +34 -2
  151. package/dist/server/http.js.map +1 -1
  152. package/dist/server/serverHelpers/Headers.d.ts +2 -0
  153. package/dist/server/serverHelpers/Headers.js +6 -0
  154. package/dist/server/serverHelpers/Headers.js.map +1 -1
  155. package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
  156. package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
  157. package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
  158. package/dist/server/serverHelpers/Request.d.ts +5 -10
  159. package/dist/server/serverHelpers/Request.js +38 -136
  160. package/dist/server/serverHelpers/Request.js.map +1 -1
  161. package/dist/server/serverHelpers/contentTypes.d.ts +2 -0
  162. package/dist/server/serverHelpers/contentTypes.js +189 -15
  163. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  164. package/dist/server/serverHelpers/serverUtilities.js +96 -17
  165. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  166. package/dist/server/storageReclamation.js +1 -1
  167. package/dist/server/storageReclamation.js.map +1 -1
  168. package/dist/server/threads/isolatedApplications.d.ts +47 -0
  169. package/dist/server/threads/isolatedApplications.js +171 -0
  170. package/dist/server/threads/isolatedApplications.js.map +1 -0
  171. package/dist/server/threads/logRotationTransport.d.ts +1 -0
  172. package/dist/server/threads/logRotationTransport.js +33 -0
  173. package/dist/server/threads/logRotationTransport.js.map +1 -0
  174. package/dist/server/threads/manageThreads.d.ts +64 -6
  175. package/dist/server/threads/manageThreads.js +261 -12
  176. package/dist/server/threads/manageThreads.js.map +1 -1
  177. package/dist/server/threads/socketRouter.d.ts +1 -0
  178. package/dist/server/threads/socketRouter.js +196 -13
  179. package/dist/server/threads/socketRouter.js.map +1 -1
  180. package/dist/server/threads/threadServer.js +30 -7
  181. package/dist/server/threads/threadServer.js.map +1 -1
  182. package/dist/utility/errors/hdbError.d.ts +24 -0
  183. package/dist/utility/errors/hdbError.js +58 -1
  184. package/dist/utility/errors/hdbError.js.map +1 -1
  185. package/dist/utility/hdbTerms.d.ts +2 -0
  186. package/dist/utility/hdbTerms.js +2 -0
  187. package/dist/utility/hdbTerms.js.map +1 -1
  188. package/dist/utility/logging/harper_logger.js +217 -38
  189. package/dist/utility/logging/harper_logger.js.map +1 -1
  190. package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
  191. package/dist/utility/logging/logGenerationCoordinator.js +184 -0
  192. package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
  193. package/dist/utility/logging/logRotation.d.ts +46 -0
  194. package/dist/utility/logging/logRotation.js +365 -0
  195. package/dist/utility/logging/logRotation.js.map +1 -0
  196. package/dist/utility/logging/logRotator.d.ts +1 -1
  197. package/dist/utility/logging/logRotator.js +172 -92
  198. package/dist/utility/logging/logRotator.js.map +1 -1
  199. package/dist/utility/npmUtilities.js +6 -4
  200. package/dist/utility/npmUtilities.js.map +1 -1
  201. package/dist/utility/watcherFallback.d.ts +0 -45
  202. package/dist/utility/watcherFallback.js +1 -125
  203. package/dist/utility/watcherFallback.js.map +1 -1
  204. package/dist/validation/configValidator.js +6 -3
  205. package/dist/validation/configValidator.js.map +1 -1
  206. package/index.ts +6 -0
  207. package/json/systemSchema.json +3 -0
  208. package/npm-shrinkwrap.json +131 -41
  209. package/package.json +10 -3
  210. package/resources/DESIGN.md +124 -19
  211. package/resources/DatabaseTransaction.ts +230 -17
  212. package/resources/LMDBTransaction.ts +21 -3
  213. package/resources/PrimaryRocksDatabase.ts +20 -7
  214. package/resources/RecordEncoder.ts +25 -5
  215. package/resources/Resource.ts +97 -13
  216. package/resources/ResourceInterface.ts +8 -0
  217. package/resources/RocksIndexStore.ts +2 -1
  218. package/resources/RocksTransactionLogStore.ts +111 -31
  219. package/resources/Table.ts +1224 -393
  220. package/resources/analytics/write.ts +10 -3
  221. package/resources/auditStore.ts +460 -11
  222. package/resources/dataLoader.ts +3 -4
  223. package/resources/databases.ts +610 -146
  224. package/resources/derivedIndexRegistry.ts +56 -0
  225. package/resources/derivedIndexRuntime.ts +2292 -0
  226. package/resources/graphql.ts +3 -2
  227. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +905 -46
  228. package/resources/indexes/hnswDerivedIndex.ts +531 -0
  229. package/resources/indexes/hnswPlaneBinding.ts +174 -0
  230. package/resources/nodeIdMapping.ts +50 -0
  231. package/resources/recordLock.ts +173 -7
  232. package/resources/recordLockCoordinator.ts +3043 -0
  233. package/resources/replayLogs.ts +5 -0
  234. package/resources/replicatedApplyFailure.ts +77 -0
  235. package/resources/scheduler/scheduler.ts +4 -4
  236. package/resources/search.ts +169 -49
  237. package/resources/tracked.ts +73 -22
  238. package/security/jsLoader.ts +6 -4
  239. package/server/DESIGN.md +11 -0
  240. package/server/REST.ts +36 -3
  241. package/server/http.ts +34 -2
  242. package/server/serverHelpers/Headers.ts +5 -1
  243. package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
  244. package/server/serverHelpers/Request.ts +33 -131
  245. package/server/serverHelpers/contentTypes.ts +188 -15
  246. package/server/serverHelpers/serverUtilities.ts +143 -24
  247. package/server/storageReclamation.ts +2 -2
  248. package/server/threads/isolatedApplications.ts +157 -0
  249. package/server/threads/logRotationTransport.ts +40 -0
  250. package/server/threads/manageThreads.js +254 -12
  251. package/server/threads/socketRouter.ts +217 -11
  252. package/server/threads/threadServer.js +30 -7
  253. package/studio/web/assets/{Chat-BnCBegQz.js → Chat-D3j-1yY1.js} +1 -1
  254. package/studio/web/assets/{FloatingChat-CoDW1ySS.js → FloatingChat-BxJGYcfB.js} +3 -3
  255. package/studio/web/assets/{apiToken-Bwk5BLXW.js → apiToken-CT55oWOe.js} +1 -1
  256. package/studio/web/assets/{applications-DHxGi7JH.js → applications-D9Ct9_vm.js} +1 -1
  257. package/studio/web/assets/{cssMode-s0cWI-_M.js → cssMode-DV8H7VwA.js} +1 -1
  258. package/studio/web/assets/{editor-DNcRHK54.js → editor-uatc0unt.js} +1 -1
  259. package/studio/web/assets/{html-Bdssedlg.js → html-Bm6D6paN.js} +1 -1
  260. package/studio/web/assets/{htmlMode-CoDlJ3fw.js → htmlMode-CEn7tpLG.js} +1 -1
  261. package/studio/web/assets/{index-D6sxmFLR.js → index-BIXW6Pu4.js} +5 -5
  262. package/studio/web/assets/{index.lazy-tmU5BS8s.js → index.lazy-UI7L-Vrk.js} +1 -1
  263. package/studio/web/assets/{javascript-B8meVSTH.js → javascript-CJ0G3AFZ.js} +1 -1
  264. package/studio/web/assets/{jsonMode-DpIPd35T.js → jsonMode-DQADAYEa.js} +1 -1
  265. package/studio/web/assets/{languageServices-C_5FMJzQ.js → languageServices-CAQJXWcI.js} +1 -1
  266. package/studio/web/assets/{lspLanguageFeatures-BIzNBzPK.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
  267. package/studio/web/assets/{notifications-CQf18QKb.js → notifications-BbxTU6Aw.js} +1 -1
  268. package/studio/web/assets/{notifications-CvZivSbh.js → notifications-Cvb3P1lB.js} +1 -1
  269. package/studio/web/assets/{profile-DdOwtntb.js → profile-Yyb7gsvL.js} +1 -1
  270. package/studio/web/assets/{regions-n69fwagr.js → regions-OgjGHlU5.js} +1 -1
  271. package/studio/web/assets/{register-PfWTCXWB.js → register-6qwNEOY3.js} +2 -2
  272. package/studio/web/assets/{setComponentFile-Bg6O7X0S.js → setComponentFile-BilDMtgB.js} +1 -1
  273. package/studio/web/assets/{setup-CUx_aUDl.js → setup-J6qJ7OIU.js} +2 -2
  274. package/studio/web/assets/{status-D7BVKqX9.js → status-0RWGcfyD.js} +1 -1
  275. package/studio/web/assets/{toggleHighContrast-DBSyXzMr.js → toggleHighContrast-BIn-vErT.js} +1 -1
  276. package/studio/web/assets/{tsMode-BByKCjBS.js → tsMode-DgUXku4d.js} +1 -1
  277. package/studio/web/assets/{typescript-DDLnLpw9.js → typescript-C9orXcsM.js} +1 -1
  278. package/studio/web/assets/{useEntityRestURL-31CHGaHk.js → useEntityRestURL-BEoXXbUB.js} +1 -1
  279. package/studio/web/assets/{workers-pR3jRY9D.js → workers-JVzSDmgx.js} +1 -1
  280. package/studio/web/assets/{xml-2iRnMhQO.js → xml-Cq-S8S4X.js} +1 -1
  281. package/studio/web/assets/{yaml-Bf92gJpd.js → yaml-sfoRdh1M.js} +1 -1
  282. package/studio/web/index.html +1 -1
  283. package/utility/errors/hdbError.ts +54 -0
  284. package/utility/hdbTerms.ts +2 -0
  285. package/utility/logging/harper_logger.ts +209 -30
  286. package/utility/logging/logGenerationCoordinator.ts +196 -0
  287. package/utility/logging/logRotation.ts +367 -0
  288. package/utility/logging/logRotator.ts +196 -91
  289. package/utility/npmUtilities.ts +6 -4
  290. package/utility/watcherFallback.ts +0 -122
  291. package/validation/configValidator.ts +6 -3
@@ -21,6 +21,7 @@ const RecordEncoder_ts_1 = require("./RecordEncoder.js");
21
21
  const DatabaseTransaction_ts_1 = require("./DatabaseTransaction.js");
22
22
  const write_1 = require("./analytics/write");
23
23
  const rocksdb_js_1 = require("@harperfast/rocksdb-js");
24
+ const Headers_ts_1 = require("../server/serverHelpers/Headers.js");
24
25
  // these are ratios/percentages of overall table size
25
26
  const OPEN_RANGE_ESTIMATE = 0.3;
26
27
  const BETWEEN_ESTIMATE = 0.1;
@@ -131,7 +132,12 @@ function executeConditions(conditions, operator, table, txn, request, context, t
131
132
  return executeConditions(condition.conditions, condition.operator, table, txn, request, context, transformToEntries, filtered
132
133
  // recordAccess intentionally omitted: guards run once, at the top level (see above).
133
134
  );
134
- return searchByIndex(condition, txn, condition.descending || request.reverse === true, table, request.allowFullScan, filtered, context, request.limit !== undefined ? (request.offset || 0) + request.limit : undefined);
135
+ return searchByIndex(condition, txn, condition.descending || request.reverse === true, table, {
136
+ allowFullScan: request.allowFullScan,
137
+ filtered,
138
+ context,
139
+ minResults: request.limit === 0 ? 0 : request.limit !== undefined ? (request.offset || 0) + request.limit : undefined,
140
+ });
135
141
  }
136
142
  function mapConditionsToFilters(conditions, intersection, estimatedIncomingCount) {
137
143
  return conditions
@@ -249,19 +255,21 @@ function distinctRecords(entries) {
249
255
  return distinct;
250
256
  }
251
257
  /**
252
- * Search for records or keys, based on the search condition, using an index if available
258
+ * Search for records or keys, based on the search condition, using an index if available. The four
259
+ * leading parameters are required at every call site; everything optional is named, so a new
260
+ * capability can be added without shifting positions at callers that don't use it.
253
261
  * @param searchCondition
254
262
  * @param transaction
255
263
  * @param reverse
256
264
  * @param Table
257
- * @param allowFullScan
258
- * @param filtered
265
+ * @param options
259
266
  */
260
- function searchByIndex(searchCondition, transaction, reverse, Table, allowFullScan, filtered, context,
261
- // How many rows the query will ultimately consume (offset + limit), when it is bounded. An
262
- // approximate index returns a fixed-size candidate list, so without this a query asking for more
263
- // rows than that list holds silently gets a short result set. Only custom indexes read it.
264
- minResults) {
267
+ function searchByIndex(searchCondition, transaction, reverse, Table, options = {}) {
268
+ // A stale positional caller passes `allowFullScan` here. Type checking only covers .ts callers, so
269
+ // fail loud rather than silently reading every option as undefined.
270
+ if (typeof options !== 'object' || options === null)
271
+ throw new TypeError('searchByIndex: the 5th argument is an options object (#2165), not a positional value');
272
+ const { allowFullScan, filtered, context, minResults } = options;
265
273
  let attribute_name = searchCondition[0] ?? searchCondition.attribute;
266
274
  let value = searchCondition[1] ?? searchCondition.value;
267
275
  const comparator = searchCondition.comparator;
@@ -288,7 +296,7 @@ minResults) {
288
296
  value,
289
297
  comparator,
290
298
  negated: searchCondition.negated,
291
- }, transaction, reverse, relatedTable, allowFullScan, joined);
299
+ }, transaction, reverse, relatedTable, { allowFullScan, filtered: joined });
292
300
  if (attribute.relationship.to) {
293
301
  // this is one-to-many or many-to-many, so we need to track the filtering of related entries that match
294
302
  filtered[attribute_name[0]] = joined;
@@ -300,7 +308,7 @@ minResults) {
300
308
  const searchEntry = (relatedEntry) => {
301
309
  if (relatedEntry?.key !== undefined)
302
310
  relatedEntry = relatedEntry.key;
303
- return searchByIndex({ attribute: attribute.relationship.from, value: relatedEntry }, transaction, reverse, Table, allowFullScan, joined);
311
+ return searchByIndex({ attribute: attribute.relationship.from, value: relatedEntry }, transaction, reverse, Table, { allowFullScan, filtered: joined });
304
312
  };
305
313
  if (attribute.elements) {
306
314
  filtered[attribute_name[0]] = joined;
@@ -513,29 +521,115 @@ minResults) {
513
521
  // exploring until it has enough MATCHING results, rather than post-filtering an under-filled
514
522
  // candidate set. Only indexes that opt in (filteredSearch) receive it; others post-filter as before.
515
523
  const recordFilter = index.customIndex.filteredSearch ? searchCondition.recordFilter : undefined;
516
- const loaded = index.customIndex.search(searchCondition, context, recordFilter, minResults).map((entry) => {
517
- // if the custom index returns an entry with metadata, merge it with the loaded entry
518
- if (typeof entry === 'object' && entry) {
519
- const { key, ...otherProps } = entry;
520
- if (key == null)
521
- return extended_iterable_1.SKIP; // primaryKey missing from HNSW node — skip rather than crash
522
- const loadedEntry = Table.primaryStore.getEntry(key, {
523
- transaction: context && Table._readTxnForContext(context),
524
- });
525
- if (!loadedEntry)
526
- return extended_iterable_1.SKIP; // record was deleted/expired or not yet visible
527
- (0, Table_ts_1.freezeRecord)(loadedEntry?.value);
528
- recordRead(loadedEntry);
529
- return { ...otherProps, ...loadedEntry };
530
- }
531
- return entry;
524
+ const waiting = index.customIndex.filePrimary && searchCondition.waitForIndexMilliseconds > 0;
525
+ const start = waiting ? Promise.withResolvers() : undefined;
526
+ const controller = waiting ? new AbortController() : undefined;
527
+ const checkActive = waiting ? (0, DatabaseTransaction_ts_1.getReadTransactionGuard)(transaction) : undefined;
528
+ const signal = waiting
529
+ ? context.signal
530
+ ? AbortSignal.any([context.signal, controller.signal])
531
+ : controller.signal
532
+ : undefined;
533
+ const searchContext = waiting
534
+ ? Object.create(context, {
535
+ signal: { value: signal },
536
+ indexSearchStart: { value: start.promise.then(() => checkActive?.()) },
537
+ })
538
+ : context;
539
+ const searched = index.customIndex.search(searchCondition, searchContext, {
540
+ filter: waiting && recordFilter
541
+ ? (id) => {
542
+ if (signal.aborted)
543
+ return false;
544
+ checkActive?.();
545
+ return recordFilter(id);
546
+ }
547
+ : recordFilter,
548
+ minResults,
532
549
  });
533
- if (index.customIndex.rescoreResults) {
534
- const rescored = index.customIndex.rescoreResults(loaded, searchCondition, comparator, attribute_name);
535
- if (rescored != null)
536
- return rescored;
550
+ const coverage = searched.indexCoverage;
551
+ if (!waiting && coverage && context?.responseHeaders) {
552
+ (0, Headers_ts_1.appendHeader)(context.responseHeaders, 'Harper-Index-Coverage', `${coverage.state}; lag=${coverage.lagUpperBoundMilliseconds}; tolerance=${coverage.maxLagMilliseconds}`, true);
553
+ (0, Headers_ts_1.appendHeader)(context.responseHeaders, 'Access-Control-Expose-Headers', 'Harper-Index-Coverage', true);
537
554
  }
538
- return loaded;
555
+ const processEntries = (entries) => {
556
+ const loaded = entries
557
+ .map((entry) => {
558
+ // if the custom index returns an entry with metadata, merge it with the loaded entry
559
+ if (typeof entry === 'object' && entry) {
560
+ const { key, ...otherProps } = entry;
561
+ if (key == null)
562
+ return extended_iterable_1.SKIP; // primaryKey missing from HNSW node — skip rather than crash
563
+ const loadedEntry = Table.primaryStore.getEntry(key, {
564
+ transaction: waiting ? transaction : context && Table._readTxnForContext(context),
565
+ });
566
+ if (!loadedEntry)
567
+ return extended_iterable_1.SKIP; // record was deleted/expired or not yet visible
568
+ (0, Table_ts_1.freezeRecord)(loadedEntry?.value);
569
+ recordRead(loadedEntry);
570
+ return { ...otherProps, ...loadedEntry };
571
+ }
572
+ return entry;
573
+ })
574
+ .filter((entry) => entry !== extended_iterable_1.SKIP);
575
+ if (index.customIndex.rescoreResults) {
576
+ const rescored = index.customIndex.rescoreResults(loaded, searchCondition, comparator, attribute_name);
577
+ if (rescored != null)
578
+ return rescored;
579
+ }
580
+ return loaded;
581
+ };
582
+ if (typeof searched?.then === 'function') {
583
+ let settled = false;
584
+ const pending = waiting
585
+ ? searched
586
+ .then((entries) => {
587
+ if (controller.signal.aborted)
588
+ return [];
589
+ if (signal.aborted)
590
+ throw signal.reason ?? new Error('Index search aborted', { cause: signal.reason });
591
+ checkActive?.();
592
+ return processEntries(entries);
593
+ })
594
+ .finally(() => {
595
+ settled = true;
596
+ })
597
+ : searched.then(processEntries);
598
+ // A consumer may abandon this lazy iterable without calling next().
599
+ pending.catch(() => { });
600
+ const results = new extended_iterable_1.ExtendedIterable();
601
+ results.iterate = (options) => {
602
+ if (!options?.async) {
603
+ throw new Error('This index resolves search results asynchronously; the results must be consumed with async iteration');
604
+ }
605
+ // Overlapping next() calls share one cursor and cannot duplicate its first entry.
606
+ const iteratorPromise = pending.then((entries) => entries[Symbol.iterator]());
607
+ iteratorPromise.catch(() => { });
608
+ let closed = false;
609
+ return {
610
+ next() {
611
+ if (closed)
612
+ return Promise.resolve({ done: true, value: undefined });
613
+ start?.resolve();
614
+ return iteratorPromise.then((inner) => {
615
+ if (closed)
616
+ return { done: true, value: undefined };
617
+ checkActive?.();
618
+ return inner.next();
619
+ });
620
+ },
621
+ return(value) {
622
+ closed = true;
623
+ if (!settled)
624
+ controller?.abort();
625
+ iteratorPromise.then((inner) => inner.return?.(value), () => { });
626
+ return Promise.resolve({ done: true, value });
627
+ },
628
+ };
629
+ };
630
+ return results;
631
+ }
632
+ return processEntries(searched);
539
633
  }
540
634
  const scanned = index.getRange(rangeOptions).map(filter
541
635
  ? function ({ key, value }) {
@@ -1068,7 +1162,7 @@ function filterByType(searchCondition, Table, context, filtered, isPrimaryKey, e
1068
1162
  canUseIndex =
1069
1163
  canUseIndex && // is it a comparator that makes sense to use index
1070
1164
  !isPrimaryKey && // no need to use index for primary keys, since we will be iterating over the primary keys
1071
- Table?.indices[attribute] && // is there an index for this attribute
1165
+ !!(Table && usableIndex(Table, attribute)) && // is there a usable (complete) index for this attribute
1072
1166
  estimatedIncomingCount > 3; // do we have a valid estimate of multiple incoming records (that is worth using an index for)
1073
1167
  if (canUseIndex) {
1074
1168
  if (searchCondition.estimated_count == undefined)
@@ -1134,7 +1228,7 @@ function filterByType(searchCondition, Table, context, filtered, isPrimaryKey, e
1134
1228
  function estimateRangeCondition(table, condition, searchType, fraction) {
1135
1229
  const attributeName = condition[0] ?? condition.attribute;
1136
1230
  const isPrimaryKey = attributeName === table.primaryKey;
1137
- const store = isPrimaryKey ? table.primaryStore : table.indices[attributeName];
1231
+ const store = isPrimaryKey ? table.primaryStore : usableIndex(table, attributeName);
1138
1232
  // LMDB-backed and custom index stores do not implement estimateCount
1139
1233
  if (typeof store?.estimateCount !== 'function')
1140
1234
  return undefined;
@@ -1215,6 +1309,28 @@ function estimateRangeCondition(table, condition, searchType, fraction) {
1215
1309
  const heuristic = fraction * estimatedEntryCount(table.primaryStore) + 1;
1216
1310
  return Math.max(1, Math.round(confidence * count + (1 - confidence) * heuristic));
1217
1311
  }
1312
+ /** The index a condition can be driven by; searchByIndex refuses a rebuilding one, so it reads as absent. */
1313
+ function usableIndex(table, attributeName) {
1314
+ const index = attributeName == null ? undefined : table.indices[attributeName];
1315
+ return index?.isIndexing ? undefined : index;
1316
+ }
1317
+ /**
1318
+ * True when an index this attribute would have to be driven by is still being built, following a
1319
+ * relationship path to the local join index and on to the related table's leaf index.
1320
+ */
1321
+ function drivesRebuildingIndex(table, attributeName, relationshipOffset = 0) {
1322
+ if (!Array.isArray(attributeName))
1323
+ return attributeName != null && attributeName !== table.primaryKey && !!table.indices[attributeName]?.isIndexing;
1324
+ if (relationshipOffset >= attributeName.length - 1)
1325
+ return drivesRebuildingIndex(table, attributeName[relationshipOffset]);
1326
+ const attribute = findAttribute(table.attributes, attributeName[relationshipOffset]);
1327
+ if (!attribute)
1328
+ return false;
1329
+ if (table.indices[attribute.relationship?.from]?.isIndexing)
1330
+ return true;
1331
+ const relatedTable = attribute.definition?.tableClass || attribute.elements?.definition?.tableClass;
1332
+ return !!relatedTable && drivesRebuildingIndex(relatedTable, attributeName, relationshipOffset + 1);
1333
+ }
1218
1334
  function estimateCondition(table) {
1219
1335
  function estimateConditionForTable(condition) {
1220
1336
  if (condition.estimated_count === undefined) {
@@ -1245,7 +1361,11 @@ function estimateCondition(table) {
1245
1361
  // skip if it is cached
1246
1362
  let searchType = condition.comparator || condition.search_type;
1247
1363
  searchType = ALTERNATE_COMPARATOR_NAMES[searchType] || searchType;
1248
- if (condition.negated) {
1364
+ // before comparator dispatch: several branches fall back to a finite table-fraction heuristic
1365
+ if (drivesRebuildingIndex(table, condition[0] ?? condition.attribute)) {
1366
+ condition.estimated_count = Infinity;
1367
+ }
1368
+ else if (condition.negated) {
1249
1369
  // a negated condition always executes as a full scan (searchByIndex forces
1250
1370
  // needFullScan), so follow the filter-only convention used by contains/ends_with:
1251
1371
  // estimate Infinity so its positive-range estimate can never win the driving-condition
@@ -1282,13 +1402,13 @@ function estimateCondition(table) {
1282
1402
  }
1283
1403
  else {
1284
1404
  // we only attempt to estimate count on equals operator because that's really all that LMDB supports (some other key-value stores like libmdbx could be considered if we need to do estimated counts of ranges at some point)
1285
- const index = table.indices[attribute_name];
1405
+ const index = usableIndex(table, attribute_name);
1286
1406
  condition.estimated_count = index ? index.getValuesCount(condition[1] ?? condition.value) : Infinity;
1287
1407
  }
1288
1408
  }
1289
1409
  else if (searchType === 'contains' || searchType === 'ends_with' || searchType === 'ne') {
1290
1410
  const attribute_name = condition[0] ?? condition.attribute;
1291
- const index = table.indices[attribute_name];
1411
+ const index = usableIndex(table, attribute_name);
1292
1412
  if (condition.value === null && searchType === 'ne') {
1293
1413
  condition.estimated_count = Math.max(estimatedEntryCount(table.primaryStore) - (index ? index.getValuesCount(null) : 0), 0);
1294
1414
  }
@@ -1297,7 +1417,7 @@ function estimateCondition(table) {
1297
1417
  }
1298
1418
  else if (searchType === 'in') {
1299
1419
  const attribute_name = condition[0] ?? condition.attribute;
1300
- const index = table.indices[attribute_name];
1420
+ const index = usableIndex(table, attribute_name);
1301
1421
  if (Array.isArray(condition.value) && index) {
1302
1422
  // Sum of per-value matches (over-counts duplicates but is a fine ceiling)
1303
1423
  let estimate = 0;
@@ -1322,7 +1442,7 @@ function estimateCondition(table) {
1322
1442
  BETWEEN_ESTIMATE * estimatedEntryCount(table.primaryStore) + 1;
1323
1443
  else if (searchType === 'sort') {
1324
1444
  const attribute_name = condition[0] ?? condition.attribute;
1325
- const index = table.indices[attribute_name];
1445
+ const index = usableIndex(table, attribute_name);
1326
1446
  if (index?.customIndex?.estimateCountAsSort)
1327
1447
  // allow custom index to define its own estimation of counts
1328
1448
  condition.estimated_count = index.customIndex.estimateCountAsSort(condition);
@@ -1332,7 +1452,7 @@ function estimateCondition(table) {
1332
1452
  else {
1333
1453
  // for the search types that use the broadest range, try do them last
1334
1454
  const attribute_name = condition[0] ?? condition.attribute;
1335
- const index = table.indices[attribute_name];
1455
+ const index = usableIndex(table, attribute_name);
1336
1456
  if (index?.customIndex?.estimateCount)
1337
1457
  // allow custom index to define its own estimation of counts
1338
1458
  condition.estimated_count = index.customIndex.estimateCount(condition.value);
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../resources/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../resources/search.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export declare const ASSERT_TRACKED_WRITABLE: unique symbol;
2
+ export declare const GET_TRACKED_WRITE_GENERATION: unique symbol;
1
3
  /**
2
4
  * A tracked class cacheable, (potentially) frozen read-only record, designed to facilitate record updates,
3
5
  * and tracks property (and sub-object/array) changes so that on commit, any property changes can be written as part of
@@ -12,7 +14,9 @@
12
14
  export declare function assignTrackedAccessors(Target: any, typeDef: any, useFullPropertyProxy?: boolean): void;
13
15
  export declare class GenericTrackedObject<T extends object = any> {
14
16
  #private;
15
- constructor(sourceObject?: GenericTrackedObject<T> | T);
17
+ constructor(sourceObject?: GenericTrackedObject<T> | T, writableOwner?: any);
18
+ [ASSERT_TRACKED_WRITABLE](): void;
19
+ [GET_TRACKED_WRITE_GENERATION](): any;
16
20
  getRecord(): T;
17
21
  setRecord(record: T): void;
18
22
  getChanges(): Partial<T>;