@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
@@ -4,10 +4,11 @@ export interface NativeFullTextIndexConfiguration {
4
4
  name: string;
5
5
  weight?: number;
6
6
  }>;
7
- analyzer: 'english@1';
7
+ analyzer: 'english@2';
8
8
  stopWords?: boolean;
9
9
  positions?: boolean;
10
10
  surfaceTerms?: boolean;
11
+ synonyms?: NativeFullTextSynonymRule[];
11
12
  limits: {
12
13
  indexingThreads: number;
13
14
  searchThreads: number;
@@ -17,17 +18,107 @@ export interface NativeFullTextIndexConfiguration {
17
18
  maxBatchBytes: number;
18
19
  };
19
20
  }
21
+ export type NativeFullTextSynonymRule = {
22
+ source: string;
23
+ replacements: string[];
24
+ };
25
+ export type NativeFullTextSearchMode = 'any' | 'all' | 'phrase' | 'prefix' | 'fuzzy' | 'fuzzy-prefix';
26
+ export type NativeFullTextSearchExpression = {
27
+ text: string;
28
+ mode?: NativeFullTextSearchMode;
29
+ operator?: 'any' | 'all';
30
+ fields?: string[];
31
+ } | {
32
+ operator: 'and' | 'or';
33
+ clauses: NativeFullTextSearchExpression[];
34
+ } | {
35
+ operator: 'not';
36
+ clause: NativeFullTextSearchExpression;
37
+ };
38
+ export type NativeFullTextSearchRequest = {
39
+ text?: string;
40
+ query?: NativeFullTextSearchExpression;
41
+ mode?: NativeFullTextSearchMode;
42
+ operator?: 'any' | 'all';
43
+ fields?: string[];
44
+ candidateIds?: string[];
45
+ offset?: number;
46
+ limit?: number;
47
+ exactTotal?: boolean;
48
+ };
49
+ export type NativeFullTextSearchResult = {
50
+ total: number;
51
+ totalRelation: 'exact' | 'lower-bound';
52
+ hits: Array<{
53
+ id: string;
54
+ score: number;
55
+ version?: string;
56
+ }>;
57
+ };
58
+ export type NativeFullTextTraceResult = {
59
+ complete: boolean;
60
+ records: Array<{
61
+ id: string;
62
+ values: Array<{
63
+ field: string;
64
+ valueIndex: number;
65
+ spans: Array<{
66
+ start: number;
67
+ end: number;
68
+ }>;
69
+ fragments?: Array<{
70
+ text: string;
71
+ start: number;
72
+ spans: Array<{
73
+ start: number;
74
+ end: number;
75
+ }>;
76
+ }>;
77
+ }>;
78
+ }>;
79
+ };
80
+ export interface NativeFullTextReader {
81
+ readonly committedPayload?: string;
82
+ reload(): Promise<void>;
83
+ search(request: NativeFullTextSearchRequest, options?: {
84
+ remainingBudgetMilliseconds?: number;
85
+ }): Promise<NativeFullTextSearchResult>;
86
+ traceMatches(request: Omit<NativeFullTextSearchRequest, 'query' | 'offset' | 'limit' | 'exactTotal'> & {
87
+ text: string;
88
+ }, records: Array<{
89
+ id: string;
90
+ fields: Record<string, string | string[]>;
91
+ }>, options?: {
92
+ remainingBudgetMilliseconds?: number;
93
+ snippets?: boolean;
94
+ fragmentLength?: number;
95
+ maxFragmentsPerValue?: number;
96
+ }): Promise<NativeFullTextTraceResult>;
97
+ close(): Promise<{
98
+ cleanupError?: unknown;
99
+ }>;
100
+ }
20
101
  export type NativeFullTextRuntimeInfo = {
21
102
  packageVersion: string;
22
103
  tantivyVersion: string;
23
104
  nativeAbiVersion: number;
105
+ queryClassIsolationMinimumSearchThreads: number;
24
106
  lifecycleApiVersion: number;
25
107
  mutationBatchApiVersion: number;
108
+ queryApiVersion: number;
26
109
  storageBackends: ReadonlyArray<'native'>;
27
110
  limits: {
28
111
  maxCommitPayloadBytes: number;
112
+ maxSearchWindow: number;
113
+ maxAutocompleteResults: number;
114
+ maxSearchBudgetMilliseconds: number;
115
+ maxTraceRecords: number;
116
+ maxTraceSourceBytes: number;
29
117
  };
30
118
  };
119
+ export type NativeFullTextQueryRuntimeInfo = Pick<NativeFullTextRuntimeInfo, 'queryClassIsolationMinimumSearchThreads'> & {
120
+ limits: Pick<NativeFullTextRuntimeInfo['limits'], 'maxSearchWindow' | 'maxAutocompleteResults' | 'maxSearchBudgetMilliseconds' | 'maxTraceRecords' | 'maxTraceSourceBytes'>;
121
+ };
31
122
  export interface NativeFullTextModule {
32
123
  NativeFullTextIndex: {
33
124
  prototype: Pick<FullTextDerivedIndexEngine, 'applyMutationBatch' | 'publish' | 'close'>;
@@ -43,6 +134,11 @@ export interface NativeFullTextModule {
43
134
  indexId: string;
44
135
  generation: string;
45
136
  }): Promise<FullTextDerivedIndexEngine>;
137
+ openNativeFullTextReader(options: NativeFullTextIndexConfiguration & {
138
+ path: string;
139
+ indexId: string;
140
+ generation: string;
141
+ }): Promise<NativeFullTextReader>;
46
142
  inspectNativeFullTextIndex(options: Omit<NativeFullTextIndexConfiguration, 'limits'> & {
47
143
  path: string;
48
144
  indexId: string;
@@ -76,3 +172,5 @@ export interface NativeFullTextModule {
76
172
  export declare function loadFullTextNativeBinding(): Promise<NativeFullTextModule>;
77
173
  export declare function validateFullTextNativeBinding(module: unknown): Promise<NativeFullTextModule>;
78
174
  export declare function getValidatedFullTextRuntimeInfo(binding: NativeFullTextModule): NativeFullTextRuntimeInfo;
175
+ export declare function nativeFullTextSearchThreads(info: Pick<NativeFullTextRuntimeInfo, 'queryClassIsolationMinimumSearchThreads'>, configured: number): number;
176
+ export declare function validateFullTextQueryRuntimeInfo(info: unknown): NativeFullTextQueryRuntimeInfo;
@@ -11,9 +11,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.loadFullTextNativeBinding = loadFullTextNativeBinding;
12
12
  exports.validateFullTextNativeBinding = validateFullTextNativeBinding;
13
13
  exports.getValidatedFullTextRuntimeInfo = getValidatedFullTextRuntimeInfo;
14
+ exports.nativeFullTextSearchThreads = nativeFullTextSearchThreads;
15
+ exports.validateFullTextQueryRuntimeInfo = validateFullTextQueryRuntimeInfo;
14
16
  const logger_ts_1 = require("../../utility/logging/logger.js");
15
17
  const FULLTEXT_LIFECYCLE_API_VERSION = 1;
16
- const FULLTEXT_MUTATION_BATCH_API_VERSION = 3;
18
+ const FULLTEXT_MUTATION_BATCH_API_VERSION = 4;
19
+ const FULLTEXT_QUERY_API_VERSION = 2;
17
20
  const logger = (0, logger_ts_1.loggerWithTag)('fulltext-derived-index');
18
21
  let bindingPromise;
19
22
  let bindingWarningLogged = false;
@@ -50,6 +53,8 @@ async function validateFullTextNativeBinding(module) {
50
53
  typeof prototype.close !== 'function' ||
51
54
  !('openNativeFullTextIndex' in module) ||
52
55
  typeof module.openNativeFullTextIndex !== 'function' ||
56
+ !('openNativeFullTextReader' in module) ||
57
+ typeof module.openNativeFullTextReader !== 'function' ||
53
58
  !('validateNativeFullTextIndexOptions' in module) ||
54
59
  typeof module.validateNativeFullTextIndexOptions !== 'function' ||
55
60
  !('inspectNativeFullTextIndex' in module) ||
@@ -61,12 +66,14 @@ async function validateFullTextNativeBinding(module) {
61
66
  throw new TypeError('@harperfast/fulltext/native does not implement the required Harper binding contract');
62
67
  const binding = module;
63
68
  const info = await binding.runtimeInfo();
69
+ validateFullTextQueryRuntimeInfo(info);
64
70
  if (!info ||
65
71
  typeof info.packageVersion !== 'string' ||
66
72
  typeof info.tantivyVersion !== 'string' ||
67
73
  !Number.isSafeInteger(info.nativeAbiVersion) ||
68
74
  info.lifecycleApiVersion !== FULLTEXT_LIFECYCLE_API_VERSION ||
69
75
  info.mutationBatchApiVersion !== FULLTEXT_MUTATION_BATCH_API_VERSION ||
76
+ info.queryApiVersion !== FULLTEXT_QUERY_API_VERSION ||
70
77
  !Array.isArray(info.storageBackends) ||
71
78
  !info.storageBackends.includes('native') ||
72
79
  !info.limits ||
@@ -82,4 +89,31 @@ function getValidatedFullTextRuntimeInfo(binding) {
82
89
  throw new Error('Full-text native binding has not been validated');
83
90
  return info;
84
91
  }
92
+ function nativeFullTextSearchThreads(info, configured) {
93
+ const minimum = info.queryClassIsolationMinimumSearchThreads;
94
+ if (!Number.isSafeInteger(minimum) || minimum <= 0)
95
+ throw new TypeError('@harperfast/fulltext/native reported an invalid query-class isolation threshold');
96
+ return Math.max(configured, minimum);
97
+ }
98
+ function validateFullTextQueryRuntimeInfo(info) {
99
+ const runtime = info;
100
+ if (!runtime ||
101
+ typeof runtime !== 'object' ||
102
+ !Number.isSafeInteger(runtime.queryClassIsolationMinimumSearchThreads) ||
103
+ runtime.queryClassIsolationMinimumSearchThreads <= 0 ||
104
+ !runtime.limits ||
105
+ !Number.isSafeInteger(runtime.limits.maxSearchWindow) ||
106
+ runtime.limits.maxSearchWindow <= 0 ||
107
+ !Number.isSafeInteger(runtime.limits.maxAutocompleteResults) ||
108
+ runtime.limits.maxAutocompleteResults <= 0 ||
109
+ runtime.limits.maxAutocompleteResults > runtime.limits.maxSearchWindow ||
110
+ !Number.isSafeInteger(runtime.limits.maxSearchBudgetMilliseconds) ||
111
+ runtime.limits.maxSearchBudgetMilliseconds <= 0 ||
112
+ !Number.isSafeInteger(runtime.limits.maxTraceRecords) ||
113
+ runtime.limits.maxTraceRecords <= 0 ||
114
+ !Number.isSafeInteger(runtime.limits.maxTraceSourceBytes) ||
115
+ runtime.limits.maxTraceSourceBytes <= 0)
116
+ throw new TypeError('@harperfast/fulltext/native reported incompatible runtime capabilities');
117
+ return runtime;
118
+ }
85
119
  //# sourceMappingURL=fullTextNativeBinding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fullTextNativeBinding.js","sourceRoot":"","sources":["../../../resources/indexes/fullTextNativeBinding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullTextNativeBinding.js","sourceRoot":"","sources":["../../../resources/indexes/fullTextNativeBinding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { FullTextDefinition } from '../fullTextSchema.ts';
2
+ import type { RocksTransactionLogStore } from '../RocksTransactionLogStore.ts';
3
+ import { type NativeFullTextIndexConfiguration, type NativeFullTextModule, type NativeFullTextSearchExpression, type NativeFullTextSearchMode } from './fullTextNativeBinding.ts';
4
+ export { FULL_TEXT_QUERY_PAUSE_OPERATION, FULL_TEXT_QUERY_RESUME_OPERATION, fullTextComparatorMode, } from './fullTextQueryProtocol.ts';
5
+ import { type DerivedNativeIndexHost } from './hnswDerivedIndex.ts';
6
+ export type FullTextCondition = {
7
+ attribute?: string;
8
+ value?: string;
9
+ comparator?: string;
10
+ fields?: string[];
11
+ fullTextQuery?: NativeFullTextSearchExpression;
12
+ fullTextLeaves?: Array<{
13
+ text: string;
14
+ mode: NativeFullTextSearchMode;
15
+ fields?: string[];
16
+ }>;
17
+ includeHighlights?: boolean;
18
+ maxIndexLagMilliseconds?: number;
19
+ waitForIndexMilliseconds?: number;
20
+ };
21
+ type FullTextQueryHost = Pick<DerivedNativeIndexHost, 'readiness' | 'waitForCoverage' | 'requestRebuild'>;
22
+ export type FullTextQueryIndexOptions = {
23
+ Table: any;
24
+ definition: FullTextDefinition;
25
+ auditStore: RocksTransactionLogStore;
26
+ readinessId: string;
27
+ indexId: string;
28
+ storePath: string;
29
+ storeName: string;
30
+ sourceGeneration: string;
31
+ limits: NativeFullTextIndexConfiguration['limits'];
32
+ binding?: NativeFullTextModule | (() => Promise<NativeFullTextModule>);
33
+ };
34
+ export declare class FullTextQueryIndex {
35
+ #private;
36
+ readonly filteredSearch = true;
37
+ readonly filePrimary = true;
38
+ constructor(options: FullTextQueryIndexOptions);
39
+ updateDefinition(definition: FullTextDefinition): void;
40
+ estimateCount(): number;
41
+ search(condition: FullTextCondition, context: any, options?: {
42
+ filter?: (id: unknown, entry?: any) => boolean;
43
+ minResults?: number;
44
+ resultOffset?: number;
45
+ assertTransactionActive?: () => void;
46
+ }): Promise<Array<{
47
+ key: unknown;
48
+ $score: number;
49
+ $highlights?: Record<string, unknown>;
50
+ loadedEntry: any;
51
+ }>>;
52
+ attachDerivedHost(host: FullTextQueryHost): void;
53
+ close(): Promise<void>;
54
+ pause(readinessId: string, ownerEpoch: bigint): Promise<void>;
55
+ resume(readinessId: string, ownerEpoch: bigint): void;
56
+ }
57
+ export declare function pauseNativeFullTextQueryReaders(path: string, readinessId: string, ownerEpoch: bigint, allowUnregisteredReadiness?: boolean): Promise<void>;
58
+ export declare function resumeNativeFullTextQueryReaders(path: string, readinessId: string, ownerEpoch: bigint): void;