@harperfast/harper 5.3.0-beta.4 → 5.3.0

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 (314) hide show
  1. package/bin/backup.ts +6 -1
  2. package/components/Application.ts +486 -115
  3. package/components/DESIGN.md +109 -21
  4. package/components/deploymentProvenance.ts +28 -0
  5. package/components/operations.js +14 -7
  6. package/components/packageComponent.ts +5 -1
  7. package/config-root.schema.json +1 -1
  8. package/dataLayer/DESIGN.md +35 -7
  9. package/dataLayer/blobBackup.ts +71 -30
  10. package/dataLayer/harperBridge/ResourceBridge.ts +16 -2
  11. package/dataLayer/rocksdbBackup.ts +88 -34
  12. package/dataLayer/schemaDescribe.ts +45 -1
  13. package/dist/bin/backup.js +1 -1
  14. package/dist/bin/backup.js.map +1 -1
  15. package/dist/components/Application.d.ts +11 -21
  16. package/dist/components/Application.js +436 -105
  17. package/dist/components/Application.js.map +1 -1
  18. package/dist/components/deploymentProvenance.d.ts +4 -0
  19. package/dist/components/deploymentProvenance.js +32 -0
  20. package/dist/components/deploymentProvenance.js.map +1 -0
  21. package/dist/components/operations.js +14 -7
  22. package/dist/components/operations.js.map +1 -1
  23. package/dist/components/packageComponent.js +6 -1
  24. package/dist/components/packageComponent.js.map +1 -1
  25. package/dist/dataLayer/blobBackup.d.ts +30 -3
  26. package/dist/dataLayer/blobBackup.js +73 -36
  27. package/dist/dataLayer/blobBackup.js.map +1 -1
  28. package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +1 -0
  29. package/dist/dataLayer/harperBridge/ResourceBridge.js +15 -3
  30. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  31. package/dist/dataLayer/rocksdbBackup.d.ts +4 -1
  32. package/dist/dataLayer/rocksdbBackup.js +74 -36
  33. package/dist/dataLayer/rocksdbBackup.js.map +1 -1
  34. package/dist/dataLayer/schemaDescribe.js +45 -1
  35. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  36. package/dist/resources/DatabaseTransaction.d.ts +1 -0
  37. package/dist/resources/DatabaseTransaction.js +33 -8
  38. package/dist/resources/DatabaseTransaction.js.map +1 -1
  39. package/dist/resources/ResourceInterface.d.ts +7 -3
  40. package/dist/resources/ResourceInterface.js +2 -0
  41. package/dist/resources/ResourceInterface.js.map +1 -1
  42. package/dist/resources/Table.d.ts +151 -445
  43. package/dist/resources/Table.js +209 -8
  44. package/dist/resources/Table.js.map +1 -1
  45. package/dist/resources/analytics/write.d.ts +11 -0
  46. package/dist/resources/analytics/write.js +3 -0
  47. package/dist/resources/analytics/write.js.map +1 -1
  48. package/dist/resources/blob.d.ts +30 -0
  49. package/dist/resources/blob.js +189 -1
  50. package/dist/resources/blob.js.map +1 -1
  51. package/dist/resources/databases.d.ts +1 -0
  52. package/dist/resources/databases.js +80 -15
  53. package/dist/resources/databases.js.map +1 -1
  54. package/dist/resources/derivedIndexRuntime.d.ts +13 -0
  55. package/dist/resources/derivedIndexRuntime.js +57 -5
  56. package/dist/resources/derivedIndexRuntime.js.map +1 -1
  57. package/dist/resources/derivedIndexes.d.ts +1 -0
  58. package/dist/resources/derivedIndexes.js +116 -15
  59. package/dist/resources/derivedIndexes.js.map +1 -1
  60. package/dist/resources/fullTextSchema.d.ts +5 -3
  61. package/dist/resources/fullTextSchema.js +48 -5
  62. package/dist/resources/fullTextSchema.js.map +1 -1
  63. package/dist/resources/fullTextSchemaLifecycle.d.ts +2 -0
  64. package/dist/resources/fullTextSchemaLifecycle.js +33 -0
  65. package/dist/resources/fullTextSchemaLifecycle.js.map +1 -1
  66. package/dist/resources/graphql.js +30 -12
  67. package/dist/resources/graphql.js.map +1 -1
  68. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +21 -1
  69. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +114 -5
  70. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  71. package/dist/resources/indexes/fullTextDerivedIndex.d.ts +11 -2
  72. package/dist/resources/indexes/fullTextDerivedIndex.js +187 -24
  73. package/dist/resources/indexes/fullTextDerivedIndex.js.map +1 -1
  74. package/dist/resources/indexes/fullTextNativeBinding.d.ts +99 -1
  75. package/dist/resources/indexes/fullTextNativeBinding.js +35 -1
  76. package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -1
  77. package/dist/resources/indexes/fullTextQueryIndex.d.ts +58 -0
  78. package/dist/resources/indexes/fullTextQueryIndex.js +943 -0
  79. package/dist/resources/indexes/fullTextQueryIndex.js.map +1 -0
  80. package/dist/resources/indexes/fullTextQueryProtocol.d.ts +6 -0
  81. package/dist/resources/indexes/fullTextQueryProtocol.js +32 -0
  82. package/dist/resources/indexes/fullTextQueryProtocol.js.map +1 -0
  83. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.d.ts +4 -1
  84. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js +30 -7
  85. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js.map +1 -1
  86. package/dist/resources/search.d.ts +41 -0
  87. package/dist/resources/search.js +468 -26
  88. package/dist/resources/search.js.map +1 -1
  89. package/dist/resources/transactionBroadcast.js +101 -50
  90. package/dist/resources/transactionBroadcast.js.map +1 -1
  91. package/dist/resources/typeParity.d.ts +9 -0
  92. package/dist/resources/typeParity.js +3 -0
  93. package/dist/resources/typeParity.js.map +1 -0
  94. package/dist/server/REST.js.map +1 -1
  95. package/dist/server/itc/serverHandlers.js +48 -8
  96. package/dist/server/itc/serverHandlers.js.map +1 -1
  97. package/dist/server/serverHelpers/contentTypes.d.ts +7 -0
  98. package/dist/server/serverHelpers/contentTypes.js +36 -23
  99. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  100. package/dist/server/serverHelpers/uwsServer.js +28 -5
  101. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  102. package/dist/server/threads/itc.js +19 -0
  103. package/dist/server/threads/itc.js.map +1 -1
  104. package/dist/server/threads/manageThreads.d.ts +3 -0
  105. package/dist/server/threads/manageThreads.js +90 -23
  106. package/dist/server/threads/manageThreads.js.map +1 -1
  107. package/dist/utility/operation_authorization.js +25 -7
  108. package/dist/utility/operation_authorization.js.map +1 -1
  109. package/dist/utility/signalling.js +3 -0
  110. package/dist/utility/signalling.js.map +1 -1
  111. package/dist/validation/searchValidator.js +22 -2
  112. package/dist/validation/searchValidator.js.map +1 -1
  113. package/npm-shrinkwrap.json +22 -22
  114. package/package.json +2 -4
  115. package/resources/DESIGN.md +19 -2
  116. package/resources/DatabaseTransaction.ts +40 -10
  117. package/resources/FULL_TEXT.md +97 -0
  118. package/resources/ResourceInterface.ts +8 -2
  119. package/resources/Table.ts +767 -17
  120. package/resources/analytics/write.ts +3 -3
  121. package/resources/blob.ts +183 -1
  122. package/resources/databases.ts +126 -14
  123. package/resources/derivedIndexRuntime.ts +79 -6
  124. package/resources/derivedIndexes.ts +142 -18
  125. package/resources/fullTextSchema.ts +55 -9
  126. package/resources/fullTextSchemaLifecycle.ts +45 -0
  127. package/resources/graphql.ts +33 -12
  128. package/resources/indexes/DESIGN.md +167 -15
  129. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +125 -5
  130. package/resources/indexes/fullTextDerivedIndex.ts +216 -32
  131. package/resources/indexes/fullTextNativeBinding.ts +133 -3
  132. package/resources/indexes/fullTextQueryIndex.ts +1120 -0
  133. package/resources/indexes/fullTextQueryProtocol.ts +35 -0
  134. package/resources/indexes/nativeFullTextDerivedIndexLifecycle.ts +28 -8
  135. package/resources/search.ts +513 -26
  136. package/resources/transactionBroadcast.ts +86 -47
  137. package/resources/typeParity.ts +20 -0
  138. package/schema.graphql +18 -5
  139. package/server/DESIGN.md +18 -0
  140. package/server/REST.ts +1 -1
  141. package/server/itc/serverHandlers.js +61 -8
  142. package/server/serverHelpers/contentTypes.ts +31 -26
  143. package/server/serverHelpers/uwsServer.ts +35 -7
  144. package/server/threads/itc.js +21 -0
  145. package/server/threads/manageThreads.js +95 -21
  146. package/studio/web/assets/{Chat-Bq60AO-g.js → Chat-CNEKMllJ.js} +13 -13
  147. package/studio/web/assets/FloatingChat-CEnWhHeR.js +23 -0
  148. package/studio/web/assets/SearchDialog-CwhJdEdY.js +1 -0
  149. package/studio/web/assets/{abnfDiagram-O67JEVCF-DpPZWMOf.js → abnfDiagram-O67JEVCF-raXE027J.js} +1 -1
  150. package/studio/web/assets/alertDialog-BbWD9Xxa.js +1 -0
  151. package/studio/web/assets/apiToken-DC5vsaaO.js +1 -0
  152. package/studio/web/assets/applications-DQZxDy0x.js +296 -0
  153. package/studio/web/assets/architecture-7GRP2DOG-DDmz3hpI.js +1 -0
  154. package/studio/web/assets/{architectureDiagram-NJMV4G6O-OmgLraID.js → architectureDiagram-NJMV4G6O-C8_Eet7w.js} +1 -1
  155. package/studio/web/assets/arrow-up-D2g_57vT.js +1 -0
  156. package/studio/web/assets/authStore-CJCaADw9.js +3 -0
  157. package/studio/web/assets/{blockDiagram-BEXU5L5S-Cv7CD3Ai.js → blockDiagram-BEXU5L5S-DR6S5-1D.js} +1 -1
  158. package/studio/web/assets/{button-MFP9n8Ck.js → button-DWwfgGWI.js} +2 -2
  159. package/studio/web/assets/{c4Diagram-YGBWAQC7-Ds1vKYnN.js → c4Diagram-YGBWAQC7-BAfZ1G01.js} +1 -1
  160. package/studio/web/assets/channel-D0AkPjJ8.js +1 -0
  161. package/studio/web/assets/{chevron-up-CFe8x5Bp.js → chevron-up-CFxbMGv2.js} +1 -1
  162. package/studio/web/assets/{chunk-3FUC2YCW-DpnBPH8B.js → chunk-3FUC2YCW-DuRp-j19.js} +1 -1
  163. package/studio/web/assets/{chunk-5DYCD2WN-LLLCQSzg.js → chunk-5DYCD2WN-BceBfIHT.js} +1 -1
  164. package/studio/web/assets/{chunk-742MDFTN-BL8J_pIO.js → chunk-742MDFTN-CIkt8ijt.js} +1 -1
  165. package/studio/web/assets/{chunk-7INBJB4K-C-hJHiiK.js → chunk-7INBJB4K-BpeAXyOi.js} +1 -1
  166. package/studio/web/assets/{chunk-7M6MHVWA-C6ZqkFbA.js → chunk-7M6MHVWA-h6WlaTzO.js} +1 -1
  167. package/studio/web/assets/{chunk-7PRAP22T-CUXM8BG6.js → chunk-7PRAP22T-KyqX6x3f.js} +1 -1
  168. package/studio/web/assets/{chunk-GTNCS2PH-DJ2BFvS1.js → chunk-GTNCS2PH-DGHLXyow.js} +1 -1
  169. package/studio/web/assets/{chunk-GWA4HPMP-C42bSqLL.js → chunk-GWA4HPMP-DsejB6gA.js} +1 -1
  170. package/studio/web/assets/{chunk-MBY4JIJT-C-5jz6Lo.js → chunk-MBY4JIJT-BwSGweQP.js} +1 -1
  171. package/studio/web/assets/{chunk-NETBCI7D-D-bzlN4r.js → chunk-NETBCI7D-C8UnOw_f.js} +1 -1
  172. package/studio/web/assets/{chunk-O7XYJQB3-ep14zA23.js → chunk-O7XYJQB3-CBS3nZYV.js} +1 -1
  173. package/studio/web/assets/{chunk-UA2S7LBM-BMRWRHED.js → chunk-UA2S7LBM-BHpEdH8D.js} +1 -1
  174. package/studio/web/assets/{chunk-WEXAMYUT-DdLYVdX1.js → chunk-WEXAMYUT-BAIhTwyh.js} +1 -1
  175. package/studio/web/assets/{chunk-Z7XXMR3K-BmKEDjcP.js → chunk-Z7XXMR3K-DSHbImdf.js} +1 -1
  176. package/studio/web/assets/{chunk-ZIGJFQKS-DLZgdNxA.js → chunk-ZIGJFQKS-Cs8fUn7y.js} +1 -1
  177. package/studio/web/assets/{classDiagram-v2-NBCMYWYE-DOI5vgKT.js → classDiagram-v2-NBCMYWYE-DmDPkt2u.js} +1 -1
  178. package/studio/web/assets/cn-6T8VranJ.js +1 -0
  179. package/studio/web/assets/{codicon-Brq4_Ui5.ttf → codicon-DF1abBS2.ttf} +0 -0
  180. package/studio/web/assets/{createLucideIcon-bziYxJli.js → createLucideIcon-fO5dL7D5.js} +1 -1
  181. package/studio/web/assets/{css.worker-l1psR_wG.js → css.worker-DoT-OOzx.js} +36 -36
  182. package/studio/web/assets/{cssMode-DJyc9mHj.js → cssMode-Dz2DxF4e.js} +1 -1
  183. package/studio/web/assets/{cynefin-OW5HDTMX-BSW-DB7S.js → cynefin-OW5HDTMX-DIvbXLSj.js} +1 -1
  184. package/studio/web/assets/{cynefinDiagram-VND7K2PF-CbAHEwxt.js → cynefinDiagram-VND7K2PF-BdtaXiCE.js} +1 -1
  185. package/studio/web/assets/{dagre-6A5THRUB-Csxewgs4.js → dagre-6A5THRUB-C7RUWHyz.js} +1 -1
  186. package/studio/web/assets/{diagram-22UHCM2B-a0rt8tY4.js → diagram-22UHCM2B-DJCvcaWP.js} +1 -1
  187. package/studio/web/assets/{diagram-3UASUU5V-lEj2SVNh.js → diagram-3UASUU5V-Du6VKWln.js} +1 -1
  188. package/studio/web/assets/{diagram-ATOU4E4O-HcrAeB-q.js → diagram-ATOU4E4O-dxRfeG4B.js} +1 -1
  189. package/studio/web/assets/{diagram-CDSNMT55-CYxiuyEx.js → diagram-CDSNMT55-l5Ga0u-W.js} +1 -1
  190. package/studio/web/assets/{diagram-MLGK6HIB-ChbCJTgJ.js → diagram-MLGK6HIB-CNQY47LA.js} +1 -1
  191. package/studio/web/assets/{diagram-MPIPVDR6-DaX9Y-N3.js → diagram-MPIPVDR6-7prveD1B.js} +1 -1
  192. package/studio/web/assets/{dist-Cz2Y6-6G.js → dist-BrRuMUzt.js} +1 -1
  193. package/studio/web/assets/{download-CtostjYn.js → download-Cn6tPG4L.js} +1 -1
  194. package/studio/web/assets/{ebnfDiagram-ZINNZB2B-CwAsENB1.js → ebnfDiagram-ZINNZB2B-5OnkTpfi.js} +1 -1
  195. package/studio/web/assets/{editor-DDIsQfj6.js → editor-B3mjd3tz.js} +1 -1
  196. package/studio/web/assets/editor.worker-Yd1NR0QT.js +33 -0
  197. package/studio/web/assets/{elk-276RUBZZ-Hexg9E4D.js → elk-276RUBZZ-DxDQPjQT.js} +1 -1
  198. package/studio/web/assets/{erDiagram-OPXOYQCR-CeC-wwO1.js → erDiagram-OPXOYQCR-CQlCX84D.js} +1 -1
  199. package/studio/web/assets/eventmodeling-NTZA5JFV-DONQf5aG.js +1 -0
  200. package/studio/web/assets/flowDiagram-KWPJA3E3-BoZ8_QR1.js +1 -0
  201. package/studio/web/assets/{ganttDiagram-FUAMR5RP-C2_Hhl1-.js → ganttDiagram-FUAMR5RP-bloX3Voy.js} +1 -1
  202. package/studio/web/assets/{getAnalytics-CjthMQqF.js → getAnalytics-C0FHjtdQ.js} +1 -1
  203. package/studio/web/assets/{gitGraph-4MIJSDKK-xIk5Vuew.js → gitGraph-4MIJSDKK-BrXWmJt2.js} +1 -1
  204. package/studio/web/assets/{gitGraphDiagram-X574FWY7-CMxJ34up.js → gitGraphDiagram-X574FWY7-C2KnnZeY.js} +1 -1
  205. package/studio/web/assets/{html-g1BJHxLy.js → html-BsRGM7tp.js} +1 -1
  206. package/studio/web/assets/{html.worker-DdwM4IrA.js → html.worker-B1dwY0Ay.js} +27 -27
  207. package/studio/web/assets/{htmlMode-Vh5IglCQ.js → htmlMode-tUKJaA3o.js} +1 -1
  208. package/studio/web/assets/index-72cEH474.css +1 -0
  209. package/studio/web/assets/index-BuqFjN5K.js +828 -0
  210. package/studio/web/assets/index.lazy-CcpfQFY_.js +2 -0
  211. package/studio/web/assets/{info-A6RAGUB7-o49TEbj-.js → info-A6RAGUB7-BhzBHe4U.js} +1 -1
  212. package/studio/web/assets/{infoDiagram-VRGFBTTK-Cjhh7yzZ.js → infoDiagram-VRGFBTTK-B0J1132p.js} +1 -1
  213. package/studio/web/assets/{ishikawaDiagram-OU5B5YK6-C63aXRmh.js → ishikawaDiagram-OU5B5YK6-BNk0tuQx.js} +1 -1
  214. package/studio/web/assets/{javascript-5VIolqf7.js → javascript-BZ_uRGHl.js} +1 -1
  215. package/studio/web/assets/{journeyDiagram-ZHPQQLJL-D_o0P5Mu.js → journeyDiagram-ZHPQQLJL-Be79RMQM.js} +1 -1
  216. package/studio/web/assets/json.worker-BQqXGI3X.js +65 -0
  217. package/studio/web/assets/{jsonMode-DG4zQraI.js → jsonMode-DgB-aFMj.js} +1 -1
  218. package/studio/web/assets/{kanban-definition-PNTS6WVX-CTI9SSxY.js → kanban-definition-PNTS6WVX-4uuoQP9W.js} +1 -1
  219. package/studio/web/assets/{languageServices-t5FBpX-i.js → languageServices-BleuBw17.js} +1 -1
  220. package/studio/web/assets/localStorageKeys-etzFY_xV.js +1 -0
  221. package/studio/web/assets/{lspLanguageFeatures-DgVnNPh-.js → lspLanguageFeatures-ByVYLSsQ.js} +1 -1
  222. package/studio/web/assets/{mermaid-parser.core-C2lcH_jP.js → mermaid-parser.core-V1UYMeXV.js} +3 -3
  223. package/studio/web/assets/{mermaid.core-BG5bjfIG.js → mermaid.core-1PX6R49U.js} +4 -4
  224. package/studio/web/assets/{mindmap-definition-NLK3R4M7-BK7ho6JD.js → mindmap-definition-NLK3R4M7-C70Ctm0J.js} +1 -1
  225. package/studio/web/assets/notifications-D1Nf-Edn.js +1 -0
  226. package/studio/web/assets/notifications-TuzN0IMi.js +1 -0
  227. package/studio/web/assets/{packet-AYTQ26CC-BHPy6KBV.js → packet-AYTQ26CC-DWbXHx5g.js} +1 -1
  228. package/studio/web/assets/{pegDiagram-GJSIUBJH-DzjwG3jO.js → pegDiagram-GJSIUBJH-d6z1cc7W.js} +1 -1
  229. package/studio/web/assets/{pie-WAS4IAKB-D0cP-DTU.js → pie-WAS4IAKB-DjoTm3yr.js} +1 -1
  230. package/studio/web/assets/{pieDiagram-5QR66LMP-C_hOP9Lv.js → pieDiagram-5QR66LMP-Dz3RHpDA.js} +1 -1
  231. package/studio/web/assets/profile-D7C7Lupz.js +1 -0
  232. package/studio/web/assets/{quadrantDiagram-O4NWA36T-CZW8PbV1.js → quadrantDiagram-O4NWA36T-CIF5Qkou.js} +1 -1
  233. package/studio/web/assets/{radar-RG4KPBEZ-C8fk0U81.js → radar-RG4KPBEZ-CVBgjCOj.js} +1 -1
  234. package/studio/web/assets/{railroad-74A4TZTK-B60FWm17.js → railroad-74A4TZTK-BdhXw10Q.js} +1 -1
  235. package/studio/web/assets/railroad-abnf-HS5TGJTU-BcoQPN39.js +1 -0
  236. package/studio/web/assets/railroad-ebnf-LZEXJU2U-B1Lke2JN.js +1 -0
  237. package/studio/web/assets/railroad-peg-WCYAUIDC-D-oJFkiV.js +1 -0
  238. package/studio/web/assets/{railroadDiagram-XR7U4H2S-DyyNmgbU.js → railroadDiagram-XR7U4H2S-y3Jv2U6N.js} +1 -1
  239. package/studio/web/assets/regions-nGQCm-v8.js +1 -0
  240. package/studio/web/assets/register-C3x9Ze6P.js +909 -0
  241. package/studio/web/assets/register-DjpsE8to.css +1 -0
  242. package/studio/web/assets/{requirementDiagram-PLB6GJNP-C4H-mLKu.js → requirementDiagram-PLB6GJNP-ChINZEmu.js} +1 -1
  243. package/studio/web/assets/restartGate-nHAFLDh-.js +1 -0
  244. package/studio/web/assets/{sankeyDiagram-IPEJSGJF-DHDyga4c.js → sankeyDiagram-IPEJSGJF-D9AyLce2.js} +1 -1
  245. package/studio/web/assets/{sequenceDiagram-PO4LG4MO-CdNcHXRI.js → sequenceDiagram-PO4LG4MO-hfk4aIEm.js} +1 -1
  246. package/studio/web/assets/{setComponentFile-z4-qJCbA.js → setComponentFile-DpjrRqeG.js} +1 -1
  247. package/studio/web/assets/{setup-CS50uJ4x.js → setup-CGiKLZ9e.js} +2 -2
  248. package/studio/web/assets/{stateDiagram-v2-GCMORJYK-CpKuXq15.js → stateDiagram-v2-GCMORJYK-Bs8RIb9K.js} +1 -1
  249. package/studio/web/assets/status-CGJwrNPH.js +61 -0
  250. package/studio/web/assets/{swimlanes-2SLR337P-NRHa2D8I.js → swimlanes-2SLR337P-B52xrf6t.js} +1 -1
  251. package/studio/web/assets/swimlanesDiagram-TC7HE7FX-DfN7BAP5.js +8 -0
  252. package/studio/web/assets/tabs-BCTQzoQK.js +1 -0
  253. package/studio/web/assets/{timeline-definition-EJHVYXUP-D39Y-xpq.js → timeline-definition-EJHVYXUP-DJSITpQX.js} +1 -1
  254. package/studio/web/assets/toggleHighContrast-C-Ne6P7T.js +51 -0
  255. package/studio/web/assets/toggleHighContrast-n7clI0si.css +1 -0
  256. package/studio/web/assets/{treeView-Q6P3EWNA-CRWR9OqD.js → treeView-Q6P3EWNA-C-epdxRo.js} +1 -1
  257. package/studio/web/assets/{treemap-WGGIJYW6-ZfXyJgLO.js → treemap-WGGIJYW6-DOVyp_zw.js} +1 -1
  258. package/studio/web/assets/{ts.worker-DDMUrpqh.js → ts.worker-Clm12uY6.js} +131 -131
  259. package/studio/web/assets/{tsMode-D83Gg3cq.js → tsMode-CSreYTys.js} +1 -1
  260. package/studio/web/assets/{typescript-Dfp-GrNq.js → typescript-MnxBk89W.js} +1 -1
  261. package/studio/web/assets/{useEntityRestURL-BKetlINf.js → useEntityRestURL-TNrh77-s.js} +1 -1
  262. package/studio/web/assets/{usecaseDiagram-POWQR4AR-jf-zIDZ_.js → usecaseDiagram-POWQR4AR-B6252cbq.js} +1 -1
  263. package/studio/web/assets/{vendor-core-BdkdbUek.js → vendor-core-6LhfJlRC.js} +1 -1
  264. package/studio/web/assets/vendor-datadog-ozKf-pts.js +6 -0
  265. package/studio/web/assets/{vendor-react-izWchTRL.js → vendor-react-BOliS0BL.js} +1 -1
  266. package/studio/web/assets/vendor-tanstack-Bntfka-M.js +2 -0
  267. package/studio/web/assets/vendor-ui-9EYYDgoN.js +41 -0
  268. package/studio/web/assets/{vennDiagram-UO4OBE2U-BKYAZUh_.js → vennDiagram-UO4OBE2U-DZTsDA4k.js} +1 -1
  269. package/studio/web/assets/{wardley-WFR3VGLG-BO7f36ci.js → wardley-WFR3VGLG-Cfqoe6z4.js} +1 -1
  270. package/studio/web/assets/{wardleyDiagram-VNRHLVJA-Djb0JDQc.js → wardleyDiagram-VNRHLVJA-qu_f7Tvl.js} +1 -1
  271. package/studio/web/assets/{workers-CCvmDLH3.js → workers-BfZlUNVI.js} +3 -3
  272. package/studio/web/assets/{xml-06pZp00U.js → xml-BHd6qGH7.js} +1 -1
  273. package/studio/web/assets/{xychartDiagram-PMCCYNJV-BQh9ubvb.js → xychartDiagram-PMCCYNJV-UrOKRsmR.js} +1 -1
  274. package/studio/web/assets/{yaml-iSnWMVlV.js → yaml-C53R8OQq.js} +1 -1
  275. package/studio/web/assets/{yaml.worker-DAK2o_H1.js → yaml.worker-D9JekGdp.js} +183 -183
  276. package/studio/web/index.html +15 -15
  277. package/utility/operation_authorization.ts +27 -7
  278. package/utility/signalling.ts +3 -0
  279. package/validation/searchValidator.ts +22 -13
  280. package/studio/web/assets/FloatingChat-D4560T0p.js +0 -23
  281. package/studio/web/assets/alertDialog-UrbiMgQt.js +0 -1
  282. package/studio/web/assets/apiToken-BEvbFPMc.js +0 -1
  283. package/studio/web/assets/applications-CSUVTH4E.js +0 -296
  284. package/studio/web/assets/architecture-7GRP2DOG-11l4Ny1l.js +0 -1
  285. package/studio/web/assets/authStore-5jSS5pTW.js +0 -3
  286. package/studio/web/assets/channel-BDtouPd6.js +0 -1
  287. package/studio/web/assets/dialog-DTepachC.js +0 -1
  288. package/studio/web/assets/editor.worker-CkkvdXvO.js +0 -33
  289. package/studio/web/assets/eventmodeling-NTZA5JFV-CFb03e0o.js +0 -1
  290. package/studio/web/assets/flowDiagram-KWPJA3E3-Cidi00_Y.js +0 -1
  291. package/studio/web/assets/index-CPoDzQTe.css +0 -1
  292. package/studio/web/assets/index-DGRAzvO4.js +0 -824
  293. package/studio/web/assets/index.lazy-vgSic7et.js +0 -2
  294. package/studio/web/assets/json.worker-CSi2hF-a.js +0 -65
  295. package/studio/web/assets/notifications-BeWcX04m.js +0 -1
  296. package/studio/web/assets/notifications-DUGWrWoO.js +0 -1
  297. package/studio/web/assets/profile-BvUEDBzW.js +0 -1
  298. package/studio/web/assets/railroad-abnf-HS5TGJTU-CLMVZvH0.js +0 -1
  299. package/studio/web/assets/railroad-ebnf-LZEXJU2U--tlwFoVB.js +0 -1
  300. package/studio/web/assets/railroad-peg-WCYAUIDC-Dpuslblm.js +0 -1
  301. package/studio/web/assets/regions-CB-_2m7M.js +0 -1
  302. package/studio/web/assets/register-1w1Zr3b2.js +0 -848
  303. package/studio/web/assets/register-jjEx9u7D.css +0 -1
  304. package/studio/web/assets/setLocalStorage-D_kflv4U.js +0 -1
  305. package/studio/web/assets/status-CI0wOdOE.js +0 -61
  306. package/studio/web/assets/swimlanesDiagram-TC7HE7FX-BBk4t4hO.js +0 -8
  307. package/studio/web/assets/tabs-CnQ_zenf.js +0 -1
  308. package/studio/web/assets/toggleHighContrast--ixms01u.css +0 -1
  309. package/studio/web/assets/toggleHighContrast-BsAE4jPe.js +0 -49
  310. package/studio/web/assets/useLocalStorage-BYoZF60G.js +0 -1
  311. package/studio/web/assets/vendor-datadog-fCQhBHGk.js +0 -6
  312. package/studio/web/assets/vendor-tanstack-CQ1aRjVa.js +0 -2
  313. package/studio/web/assets/vendor-ui-aE1tHcW7.js +0 -41
  314. package/studio/web/assets/x-vYntCxm4.js +0 -1
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.serializeFullTextState = serializeFullTextState;
4
4
  exports.definitionsEqual = definitionsEqual;
5
+ exports.readPersistedFullTextFields = readPersistedFullTextFields;
6
+ exports.mergePeerFullTextFields = mergePeerFullTextFields;
5
7
  exports.readPersistedFullTextDefinitions = readPersistedFullTextDefinitions;
6
8
  exports.retainFullTextDefinitions = retainFullTextDefinitions;
7
9
  exports.mergePeerFullTextDefinitions = mergePeerFullTextDefinitions;
@@ -18,6 +20,37 @@ function serializeFullTextState(value) {
18
20
  function definitionsEqual(left, right) {
19
21
  return serializeFullTextState(left ?? []) === serializeFullTextState(right ?? []);
20
22
  }
23
+ function readPersistedFullTextFields(values, definitions, attributes, warn) {
24
+ const persistedNames = (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(definitions);
25
+ if (values === undefined)
26
+ return persistedNames;
27
+ const names = persistedNames.map((name) => ({ name }));
28
+ try {
29
+ return (0, fullTextSchema_ts_1.compileFullTextFields)(values, names, attributes, true);
30
+ }
31
+ catch (error) {
32
+ if (!(error instanceof hdbError_ts_1.ClientError))
33
+ throw error;
34
+ warn(`Invalid persisted full-text fields; reserving every persisted index name: ${error.message}`);
35
+ return persistedNames;
36
+ }
37
+ }
38
+ function mergePeerFullTextFields(persistedValues, incomingValues, persistedDefinitions, finalDefinitions, attributes, warn) {
39
+ const retained = readPersistedFullTextFields(persistedValues, persistedDefinitions, attributes, warn);
40
+ const finalNames = (0, fullTextSchema_ts_1.persistedFullTextIndexNames)(finalDefinitions);
41
+ if (incomingValues === undefined)
42
+ incomingValues = finalNames;
43
+ try {
44
+ (0, fullTextSchema_ts_1.compileFullTextFields)(incomingValues, finalNames.map((name) => ({ name })), attributes);
45
+ }
46
+ catch (error) {
47
+ if (!(error instanceof hdbError_ts_1.ClientError))
48
+ throw error;
49
+ warn(`Ignoring invalid peer full-text fields: ${error.message}`);
50
+ }
51
+ const existingNames = new Set((0, fullTextSchema_ts_1.persistedFullTextIndexNames)(persistedDefinitions));
52
+ return [...new Set([...retained, ...finalNames.filter((name) => !existingNames.has(name))])].sort();
53
+ }
21
54
  function readPersistedFullTextDefinitions(values, attributes, warn) {
22
55
  if (values === undefined)
23
56
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"fullTextSchemaLifecycle.js","sourceRoot":"","sources":["../../resources/fullTextSchemaLifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullTextSchemaLifecycle.js","sourceRoot":"","sources":["../../resources/fullTextSchemaLifecycle.ts"],"names":[],"mappings":"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"}
@@ -217,6 +217,7 @@ async function processGraphQLSchema(gqlContent, urlPath, filePath, resources, de
217
217
  attributes,
218
218
  properties: typeProperties,
219
219
  fullTextIndexes: [],
220
+ fullTextFields: [],
220
221
  };
221
222
  if (definition.description?.value)
222
223
  typeDef.description = definition.description.value;
@@ -259,15 +260,8 @@ async function processGraphQLSchema(gqlContent, urlPath, filePath, resources, de
259
260
  typeDef.replicate = true;
260
261
  if (directive.name.value === 'hidden')
261
262
  typeDef.hidden = true;
262
- if (directive.name.value === 'fullText') {
263
- const definition = Object.create(null);
264
- for (const arg of directive.arguments || []) {
265
- if (Object.hasOwn(definition, arg.name.value))
266
- throw new hdbError_ts_1.ClientError(`@fullText declares "${arg.name.value}" more than once`, 400);
267
- definition[arg.name.value] = coerceDirectiveValue(arg.value);
268
- }
269
- typeDef.fullTextIndexes.push(definition);
270
- }
263
+ if (directive.name.value === 'fullText')
264
+ throw new hdbError_ts_1.ClientError('@fullText must be declared on a FullText field', 400);
271
265
  if (directive.name.value === 'export') {
272
266
  typeDef.export = true;
273
267
  for (const arg of directive.arguments) {
@@ -291,12 +285,38 @@ async function processGraphQLSchema(gqlContent, urlPath, filePath, resources, de
291
285
  };
292
286
  }
293
287
  const typeName = type.name?.value;
288
+ if (typeName === 'FullText')
289
+ throw new hdbError_ts_1.ClientError('FullText fields require @fullText', 400);
294
290
  const property = { type: typeName };
295
291
  Object.defineProperty(property, 'location', { value: type.loc.startToken });
296
292
  return property;
297
293
  }
298
294
  const attributesObject = {};
299
295
  for (const field of definition.fields) {
296
+ const name = field.name.value;
297
+ const fullTextDirectives = field.directives.filter(({ name }) => name.value === 'fullText');
298
+ if (fullTextDirectives.length > 0) {
299
+ if (fullTextDirectives.length !== 1)
300
+ throw new hdbError_ts_1.ClientError(`Full-text field "${name}" requires exactly one @fullText directive`, 400);
301
+ if (field.type.kind !== 'NamedType' || field.type.name.value !== 'FullText')
302
+ throw new hdbError_ts_1.ClientError(`@fullText field "${name}" requires the nullable FullText type`, 400);
303
+ for (const directive of field.directives) {
304
+ if (directive.name.value !== 'fullText')
305
+ throw new hdbError_ts_1.ClientError(`Full-text field "${name}" cannot use @${directive.name.value}; configure permissions and record values on its source fields`, 400);
306
+ }
307
+ const index = Object.create(null);
308
+ index.name = name;
309
+ for (const arg of fullTextDirectives[0].arguments || []) {
310
+ if (arg.name.value === 'name')
311
+ throw new hdbError_ts_1.ClientError(`@fullText uses the field name "${name}"; remove its name argument`, 400);
312
+ if (Object.hasOwn(index, arg.name.value))
313
+ throw new hdbError_ts_1.ClientError(`@fullText declares "${arg.name.value}" more than once`, 400);
314
+ index[arg.name.value] = coerceDirectiveValue(arg.value);
315
+ }
316
+ typeDef.fullTextIndexes.push(index);
317
+ typeDef.fullTextFields.push(name);
318
+ continue;
319
+ }
300
320
  const property = getProperty(field.type);
301
321
  property.name = field.name.value;
302
322
  if (field.description?.value)
@@ -366,9 +386,6 @@ async function processGraphQLSchema(gqlContent, urlPath, filePath, resources, de
366
386
  // order are seen; the ownership checks below need every field of the type.
367
387
  property.decide = directive;
368
388
  }
369
- else if (directiveName === 'fullText') {
370
- throw new hdbError_ts_1.ClientError('@fullText must be declared on a @table type, not on a field', 400);
371
- }
372
389
  else if (directiveName === 'relationship') {
373
390
  const relationshipDefinition = {};
374
391
  for (const arg of directive.arguments) {
@@ -422,6 +439,7 @@ async function processGraphQLSchema(gqlContent, urlPath, filePath, resources, de
422
439
  if (typeDef.fullTextIndexes.length > 0 && !typeDef.table)
423
440
  throw new hdbError_ts_1.ClientError('@fullText is only supported on a @table type', 400);
424
441
  typeDef.fullTextIndexes = (0, fullTextSchema_ts_1.compileFullTextDefinitions)(typeDef.fullTextIndexes, attributes);
442
+ typeDef.fullTextFields = (0, fullTextSchema_ts_1.compileFullTextFields)(typeDef.fullTextFields, typeDef.fullTextIndexes, attributes);
425
443
  // Project the array form into the canonical `properties` Record (JSON-Schema-shaped,
426
444
  // keyed by attribute name). Both shapes are co-populated in this single pass;
427
445
  // downstream consumers (MCP, OpenAPI) read whichever form they prefer.
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../resources/graphql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../resources/graphql.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Id } from '../../resources/ResourceInterface.ts';
2
+ import type { CandidateKeyPlan } from '../search.ts';
2
3
  import { type DerivedNativeIndexHost } from './hnswDerivedIndex.ts';
3
4
  /** Element-wise equality of the array-like projections a derived index stores; anything else that failed `===` counts as changed. */
4
5
  export declare function derivedValuesEqual(a: any, b: any): boolean;
@@ -32,6 +33,7 @@ export declare class HierarchicalNavigableSmallWorld {
32
33
  static canDefaultToNativePlane(rootStore: unknown, options: any): boolean;
33
34
  static searchOnlyOptions: string[];
34
35
  filteredSearch: boolean;
36
+ candidateKeyFilter: boolean;
35
37
  indexStore: any;
36
38
  M: number;
37
39
  efConstruction: number;
@@ -41,6 +43,7 @@ export declare class HierarchicalNavigableSmallWorld {
41
43
  nodesVisitedCount: number;
42
44
  random: () => number;
43
45
  filterExpansion: number;
46
+ filterExpansionConfigured: boolean;
44
47
  idIncrementer: BigInt64Array | undefined;
45
48
  distance: (a: number[], b: number[]) => number;
46
49
  int8: boolean;
@@ -98,6 +101,22 @@ export declare class HierarchicalNavigableSmallWorld {
98
101
  * predicate itself blocks on; the normal request path awaits it safely.
99
102
  */
100
103
  private searchPlane;
104
+ /**
105
+ * Run a candidate-key plan when its scans are cheaper than the predicate visits they replace, and
106
+ * return the matching primary keys with whether they alone decide admission. Undefined means
107
+ * "take the predicate path": the plan was too broad, its narrowest term overran the scan budget,
108
+ * or the scan failed — none of which is a fault of the graph.
109
+ */
110
+ private collectCandidateKeys;
111
+ /**
112
+ * Visit budget for a traversal an allow-set decides, derived from the selectivity the set makes
113
+ * measurable rather than from filterExpansion — which exists to bound an admission test expensive
114
+ * enough to be worth bounding, and this one is a set lookup. It only ever widens the
115
+ * filterExpansion budget, never narrows it: a cheaper visit makes a tighter budget buy nothing
116
+ * and cost recall. An empty set keeps that budget, so a zero-match filter returns empty after a
117
+ * bounded descent rather than crawling the graph.
118
+ */
119
+ private allowSetVisitBudget;
101
120
  attachDerivedHost(host: DerivedNativeIndexHost): void;
102
121
  private queryCoverage;
103
122
  /**
@@ -207,9 +226,10 @@ export declare class HierarchicalNavigableSmallWorld {
207
226
  filterExpansion?: number;
208
227
  maxIndexLagMilliseconds?: number;
209
228
  waitForIndexMilliseconds?: number;
210
- }, context: any, { filter, minResults, }?: {
229
+ }, context: any, { filter, minResults, candidateKeys, }?: {
211
230
  filter?: (primaryKey: Id) => boolean;
212
231
  minResults?: number;
232
+ candidateKeys?: CandidateKeyPlan;
213
233
  }): any[] | Promise<any[]>;
214
234
  /**
215
235
  * Exact distance between a query and a record's FULL-precision vector, mirroring search()'s metric
@@ -258,6 +258,20 @@ const MAX_LEVEL = 10; // should give good high-level skip list performance up to
258
258
  // islands are small (bounded by the deleted node's neighborhood), so a probe that visits this many
259
259
  // nodes without reaching the entry point is treated as connected-but-far and repaired conservatively.
260
260
  const PROBE_VISIT_LIMIT = 256;
261
+ // Candidate keys one predicate visit pays for: a key-only index-entry read against a record load
262
+ // and decode. Measured warm at 0.37 us against 2.1 us, rounded up from that 5.7; the same load is
263
+ // ~130 us cold, so the warm end is the regression-safe calibration — over-stating the ratio would
264
+ // build allow-sets for broad filters the predicate already answers cheaply. See DESIGN.md.
265
+ const KEYS_PER_PREDICATE_VISIT = 8;
266
+ // Absolute ceiling on index entries one query may read building an allow-set, whatever the cost
267
+ // model allows. The scan is synchronous, so this bounds both the event-loop stall and the retained
268
+ // key set; past it the predicate path — which is incremental and budget-bounded — is the safer cost.
269
+ const MAX_CANDIDATE_KEYS = 50_000;
270
+ // Filling ef matches at selectivity s costs ~ef/s visits; this is the slack over that.
271
+ const ALLOW_SET_BUDGET_SLACK = 2;
272
+ // How far an allow-set may widen the filterExpansion visit budget. A visit got cheaper, not free:
273
+ // the JS graph still loads a node and computes a distance for each one, synchronously.
274
+ const ALLOW_SET_BUDGET_MAX_WIDENING = 4;
261
275
  /**
262
276
  * Represents a Hierarchical Navigable Small World (HNSW) index for approximate nearest neighbor search.
263
277
  * This implementation is based on hierarchical graph navigation to efficiently index and search high-dimensional vectors.
@@ -404,6 +418,10 @@ class HierarchicalNavigableSmallWorld {
404
418
  // during traversal (predicate-aware / ACORN-style filtering), so companion conditions and RBAC can
405
419
  // be pushed down instead of post-filtering an under-filled candidate set (#1241).
406
420
  filteredSearch = true;
421
+ // Signals that search() also accepts a CandidateKeyPlan and admits from it directly, so an indexed
422
+ // companion condition costs a key-only index scan per matching record instead of a record load and
423
+ // decode per visited node. See DESIGN.md.
424
+ candidateKeyFilter = true;
407
425
  indexStore;
408
426
  M = 16; // max number of connections per layer
409
427
  efConstruction = 100; // size of dynamic candidate list
@@ -424,6 +442,10 @@ class HierarchicalNavigableSmallWorld {
424
442
  // latency for recall on selective function predicates; 24 fills to roughly 4% selectivity before
425
443
  // the budget binds. Per-query override via the search options.
426
444
  filterExpansion = 24;
445
+ // Whether the schema pinned filterExpansion. An explicit pin is an authoritative cost ceiling and
446
+ // keeps its exact meaning on every path; only an index that never set it gets the
447
+ // selectivity-derived budget an allow-set makes measurable.
448
+ filterExpansionConfigured = false;
427
449
  idIncrementer;
428
450
  distance;
429
451
  int8 = true; // store vectors as int8-quantized bins by default; opt out with `quantization: "none"`
@@ -492,8 +514,10 @@ class HierarchicalNavigableSmallWorld {
492
514
  this.mL = configuredML;
493
515
  if (configuredOptimizeRouting !== undefined)
494
516
  this.optimizeRouting = configuredOptimizeRouting;
495
- if (configuredFilterExpansion !== undefined)
517
+ if (configuredFilterExpansion !== undefined) {
496
518
  this.filterExpansion = configuredFilterExpansion;
519
+ this.filterExpansionConfigured = true;
520
+ }
497
521
  }
498
522
  if (options?.nativePlane) {
499
523
  const { nativeM, nativeEfConstruction, nativeML, nativeOptimizeRouting, maxNodes, keyCap, layer0Cap } = HierarchicalNavigableSmallWorld.validateNativePlaneOptions(indexStore?.rootStore, options);
@@ -813,6 +837,50 @@ class HierarchicalNavigableSmallWorld {
813
837
  return withStats(entries, filterState);
814
838
  });
815
839
  }
840
+ /**
841
+ * Run a candidate-key plan when its scans are cheaper than the predicate visits they replace, and
842
+ * return the matching primary keys with whether they alone decide admission. Undefined means
843
+ * "take the predicate path": the plan was too broad, its narrowest term overran the scan budget,
844
+ * or the scan failed — none of which is a fault of the graph.
845
+ */
846
+ collectCandidateKeys(plan, ef, predicateMaxVisits) {
847
+ const nodeCount = this.approximateNodeCount();
848
+ const estimated = Math.max(1, plan.estimatedCount);
849
+ // Filling ef matches at selectivity s costs ~ef/s visits, and s is estimated/nodeCount, so a
850
+ // broad filter needs few predicate visits however cheap the test that would replace them.
851
+ const predicateVisits = Math.min(predicateMaxVisits, (ef * nodeCount) / estimated);
852
+ let maxKeys = Math.min(Math.ceil(predicateVisits * KEYS_PER_PREDICATE_VISIT), MAX_CANDIDATE_KEYS);
853
+ // An allow-set over a large fraction of the graph is not a filter worth building.
854
+ if (nodeCount > 0)
855
+ maxKeys = Math.min(maxKeys, Math.max(1, nodeCount >> 1));
856
+ if (estimated > maxKeys)
857
+ return undefined;
858
+ try {
859
+ return plan.collect(maxKeys) ?? undefined;
860
+ }
861
+ catch (error) {
862
+ // A sibling index that started rebuilding or closed between planning and the scan is a
863
+ // reason to filter the other way, not to fail — and not to reach the caller's handler,
864
+ // which reads an unclassified search error as plane corruption and requests a rebuild.
865
+ logger.warn?.('could not build the HNSW candidate-key allow-set; using the predicate path', error);
866
+ return undefined;
867
+ }
868
+ }
869
+ /**
870
+ * Visit budget for a traversal an allow-set decides, derived from the selectivity the set makes
871
+ * measurable rather than from filterExpansion — which exists to bound an admission test expensive
872
+ * enough to be worth bounding, and this one is a set lookup. It only ever widens the
873
+ * filterExpansion budget, never narrows it: a cheaper visit makes a tighter budget buy nothing
874
+ * and cost recall. An empty set keeps that budget, so a zero-match filter returns empty after a
875
+ * bounded descent rather than crawling the graph.
876
+ */
877
+ allowSetVisitBudget(allowed, predicateMaxVisits, budgetEf) {
878
+ if (allowed <= 0)
879
+ return predicateMaxVisits;
880
+ const selectivity = Math.min(1, allowed / Math.max(1, this.approximateNodeCount()));
881
+ const derived = budgetEf * Math.ceil(ALLOW_SET_BUDGET_SLACK / selectivity);
882
+ return Math.min(Math.max(predicateMaxVisits, derived), predicateMaxVisits * ALLOW_SET_BUDGET_MAX_WIDENING);
883
+ }
816
884
  attachDerivedHost(host) {
817
885
  this.derivedHost = host;
818
886
  }
@@ -1783,7 +1851,9 @@ class HierarchicalNavigableSmallWorld {
1783
1851
  * cheap even when the predicate loads a record.
1784
1852
  */
1785
1853
  admit(filter, filterState, primaryKey) {
1786
- if (filterState)
1854
+ // A filter fronted by an allow-set counts its own evaluations: the counter reports how much of
1855
+ // the graph a filtered query had to LOAD, and a membership test loads nothing.
1856
+ if (filterState && !filterState.countsOwnEvaluations)
1787
1857
  filterState.filterEvaluations++;
1788
1858
  return filter(primaryKey);
1789
1859
  }
@@ -1800,7 +1870,7 @@ class HierarchicalNavigableSmallWorld {
1800
1870
  * @param context the query context; its `transaction` is the nested RocksDB transaction reads use
1801
1871
  * @param options optional, named: `filter` (predicate-aware traversal) and `minResults`
1802
1872
  */
1803
- search({ target, value, descending, distance, comparator, ef, filterExpansion, maxIndexLagMilliseconds = hnswDerivedIndex_ts_1.DEFAULT_MAX_INDEX_LAG_MILLISECONDS, waitForIndexMilliseconds = 0, }, context, { filter, minResults, } = {}) {
1873
+ search({ target, value, descending, distance, comparator, ef, filterExpansion, maxIndexLagMilliseconds = hnswDerivedIndex_ts_1.DEFAULT_MAX_INDEX_LAG_MILLISECONDS, waitForIndexMilliseconds = 0, }, context, { filter, minResults, candidateKeys, } = {}) {
1804
1874
  const waiting = this.filePrimary && waitForIndexMilliseconds > 0;
1805
1875
  let limit; // only set for threshold comparators; 0 is a valid threshold (e.g. dotProduct)
1806
1876
  let limitInclusive = false; // true for `le`, false for `lt`
@@ -1883,14 +1953,51 @@ class HierarchicalNavigableSmallWorld {
1883
1953
  // second-regime search ef (up to AUTO_EF_CEILING) must not silently quadruple the filtered
1884
1954
  // worst case — the recall decision and the filtered-scan budget are separate decisions. Callers
1885
1955
  // wanting a deeper filtered search set an explicit ef or filterExpansion, and own the cost.
1956
+ const budgetEf = explicitEf || this.efSearchConfigured ? resolvedEf : Math.min(resolvedEf, AUTO_EF_MAX);
1957
+ const predicateMaxVisits = budgetEf * (filterExpansion && filterExpansion > 0 ? filterExpansion : this.filterExpansion);
1958
+ const allowedKeys = filter && candidateKeys ? this.collectCandidateKeys(candidateKeys, resolvedEf, predicateMaxVisits) : undefined;
1959
+ const allowDecides = Boolean(allowedKeys?.complete);
1886
1960
  const filterState = filter
1887
1961
  ? {
1888
- maxVisits: (explicitEf || this.efSearchConfigured ? resolvedEf : Math.min(resolvedEf, AUTO_EF_MAX)) *
1889
- (filterExpansion && filterExpansion > 0 ? filterExpansion : this.filterExpansion),
1962
+ maxVisits: predicateMaxVisits,
1890
1963
  nodesVisited: 0,
1891
1964
  filterEvaluations: 0,
1965
+ candidateKeys: allowedKeys?.keys.size,
1892
1966
  }
1893
1967
  : undefined;
1968
+ if (allowedKeys && filter && filterState) {
1969
+ // Both traversals admit by primary key — the plane hands its predicate the key of every
1970
+ // candidate — so the set is a membership test in front of the record load, and a complete
1971
+ // plan removes the load entirely.
1972
+ const allowed = allowedKeys.keys;
1973
+ const admits = (primaryKey) => allowed.has(primaryKey);
1974
+ const residual = filter;
1975
+ const state = filterState;
1976
+ state.countsOwnEvaluations = true;
1977
+ filter = allowDecides
1978
+ ? admits
1979
+ : (primaryKey) => {
1980
+ if (!admits(primaryKey))
1981
+ return false;
1982
+ state.filterEvaluations++;
1983
+ return residual(primaryKey);
1984
+ };
1985
+ // Only a filter the set DECIDES gets the derived budget: an admitted visit on the residual
1986
+ // path still costs a record decode, so that path keeps today's ceiling. A positive per-query
1987
+ // or any schema-configured filterExpansion is an authoritative cost ceiling and is used
1988
+ // exactly as given; a per-query 0 still means unset.
1989
+ if (allowDecides) {
1990
+ const configured = filterExpansion && filterExpansion > 0
1991
+ ? filterExpansion
1992
+ : this.filterExpansionConfigured
1993
+ ? this.filterExpansion
1994
+ : undefined;
1995
+ state.maxVisits =
1996
+ configured === undefined
1997
+ ? this.allowSetVisitBudget(allowedKeys.keys.size, predicateMaxVisits, budgetEf)
1998
+ : budgetEf * configured;
1999
+ }
2000
+ }
1894
2001
  const rerankK = comparator === 'sort' && minResults !== undefined
1895
2002
  ? Math.min(effectiveEf, Math.max(RERANK_MIN, minResults * RERANK_FACTOR))
1896
2003
  : effectiveEf;
@@ -2256,6 +2363,8 @@ function withStats(entries, filterState) {
2256
2363
  if (filterState) {
2257
2364
  Object.defineProperty(entries, 'nodesVisited', { value: filterState.nodesVisited, enumerable: false });
2258
2365
  Object.defineProperty(entries, 'filterEvaluations', { value: filterState.filterEvaluations, enumerable: false });
2366
+ if (filterState.candidateKeys !== undefined)
2367
+ Object.defineProperty(entries, 'candidateKeys', { value: filterState.candidateKeys, enumerable: false });
2259
2368
  }
2260
2369
  return entries;
2261
2370
  }