@undefineds.co/xpod 0.3.74 → 0.4.0-rc.139

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 (363) hide show
  1. package/bin/xpod.js +43 -8
  2. package/config/bun.json +45 -48
  3. package/config/cloud.json +13 -90
  4. package/config/components-ignore.json +0 -1
  5. package/config/local.json +111 -63
  6. package/config/resolver.json +4 -2
  7. package/config/terminal.json +4 -1
  8. package/config/xpod.base.json +16 -8
  9. package/config/xpod.json +51 -54
  10. package/dist/acceptance/PublicCloudSemanticConformance.d.ts +4 -0
  11. package/dist/acceptance/PublicCloudSemanticConformance.js +214 -0
  12. package/dist/acceptance/QleverSearchConformance.d.ts +39 -0
  13. package/dist/acceptance/QleverSearchConformance.js +686 -0
  14. package/dist/acceptance/QleverSemanticConformance.d.ts +3 -0
  15. package/dist/acceptance/QleverSemanticConformance.js +178 -0
  16. package/dist/acceptance/RdfSemanticConformance.d.ts +114 -0
  17. package/dist/acceptance/RdfSemanticConformance.js +307 -0
  18. package/dist/acceptance/run-installed-qlever-conformance.d.ts +12 -0
  19. package/dist/acceptance/run-installed-qlever-conformance.js +87 -0
  20. package/dist/acceptance/run-installed-rdf-conformance.d.ts +12 -0
  21. package/dist/acceptance/run-installed-rdf-conformance.js +88 -0
  22. package/dist/ai/service/EmbeddingProviderError.d.ts +7 -0
  23. package/dist/ai/service/EmbeddingProviderError.js +42 -0
  24. package/dist/api/ai-gateway/connect/index.js +5 -2
  25. package/dist/api/auth/AuthContext.d.ts +5 -0
  26. package/dist/api/auth/AuthContext.js +10 -0
  27. package/dist/api/container/common.js +21 -8
  28. package/dist/api/container/rdf.d.ts +1 -0
  29. package/dist/api/container/rdf.js +43 -4
  30. package/dist/api/container/types.d.ts +4 -0
  31. package/dist/api/runs/InngestRunExecutionBackend.d.ts +2 -2
  32. package/dist/api/runs/PiAgentRuntimeDriver.d.ts +2 -0
  33. package/dist/api/runs/PiAgentRuntimeDriver.js +1 -0
  34. package/dist/api/runs/RdfRunContextRetriever.d.ts +8 -0
  35. package/dist/api/runs/RdfRunContextRetriever.js +23 -1
  36. package/dist/api/runtime.js +20 -6
  37. package/dist/api/service/RdfSearchIndexingService.d.ts +37 -3
  38. package/dist/api/service/RdfSearchIndexingService.js +130 -18
  39. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.d.ts +8 -0
  40. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js +102 -15
  41. package/dist/api/service/RdfSearchReconciliationWorker.d.ts +76 -0
  42. package/dist/api/service/RdfSearchReconciliationWorker.js +294 -0
  43. package/dist/api/tasks/InngestTaskScheduler.d.ts +4 -4
  44. package/dist/components/components.jsonld +9 -12
  45. package/dist/components/context.jsonld +227 -348
  46. package/dist/document/MarkdownRetrievalPointProjector.d.ts +33 -0
  47. package/dist/document/MarkdownRetrievalPointProjector.js +196 -0
  48. package/dist/document/MarkdownRetrievalPointProjector.jsonld +135 -0
  49. package/dist/document/ReaderMaterialization.d.ts +34 -0
  50. package/dist/document/ReaderMaterialization.js +3 -0
  51. package/dist/document/ReaderMaterialization.jsonld +151 -0
  52. package/dist/document/ReaderMaterializationRepository.d.ts +27 -0
  53. package/dist/document/ReaderMaterializationRepository.js +400 -0
  54. package/dist/document/ReaderMaterializationRepository.jsonld +84 -0
  55. package/dist/document/index.d.ts +3 -1
  56. package/dist/document/index.js +3 -1
  57. package/dist/http/SubgraphSparqlHttpHandler.js +34 -54
  58. package/dist/http/search/SearchHttpHandler.js +14 -12
  59. package/dist/http/terminal/TerminalHttpHandler.d.ts +3 -0
  60. package/dist/http/terminal/TerminalHttpHandler.js +1 -0
  61. package/dist/http/terminal/TerminalHttpHandler.jsonld +11 -0
  62. package/dist/identity/drizzle/DrizzleIndexedStorage.js +19 -39
  63. package/dist/identity/drizzle/db.d.ts +1 -0
  64. package/dist/identity/drizzle/db.js +35 -0
  65. package/dist/index.d.ts +9 -17
  66. package/dist/index.js +14 -22
  67. package/dist/provision/ProvisionPodCreator.d.ts +1 -1
  68. package/dist/provision/ProvisionPodCreator.js +4 -3
  69. package/dist/runtime/css-process.js +0 -1
  70. package/dist/search/RdfSearchIntentSink.d.ts +17 -0
  71. package/dist/search/RdfSearchIntentSink.js +46 -0
  72. package/dist/search/RdfSearchIntentSink.jsonld +47 -0
  73. package/dist/search/RdfSearchReconciliationRepository.d.ts +81 -0
  74. package/dist/search/RdfSearchReconciliationRepository.js +771 -0
  75. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.d.ts +15 -0
  76. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.js +48 -0
  77. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.jsonld +99 -0
  78. package/dist/solidfs/RdfIndexSolidFsSyncer.js +22 -4
  79. package/dist/solidfs/SolidFsSyncJournal.d.ts +7 -1
  80. package/dist/solidfs/SolidFsSyncJournal.js +20 -5
  81. package/dist/solidfs/SolidFsSyncJournal.jsonld +43 -0
  82. package/dist/solidfs/index.d.ts +1 -0
  83. package/dist/solidfs/index.js +1 -0
  84. package/dist/storage/SparqlUpdateResourceStore.js +3 -3
  85. package/dist/storage/accessors/MixDataAccessor.d.ts +21 -29
  86. package/dist/storage/accessors/MixDataAccessor.js +182 -399
  87. package/dist/storage/accessors/MixDataAccessor.jsonld +109 -87
  88. package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +12 -8
  89. package/dist/storage/accessors/SolidRdfDataAccessor.js +189 -59
  90. package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +14 -29
  91. package/dist/storage/rdf/LocalQleverNativeSparqlClient.d.ts +55 -0
  92. package/dist/storage/rdf/LocalQleverNativeSparqlClient.js +519 -0
  93. package/dist/storage/rdf/LocalQleverNativeSparqlClient.jsonld +314 -0
  94. package/dist/storage/rdf/PostgresRdfEngine.d.ts +3 -1
  95. package/dist/storage/rdf/PostgresRdfEngine.js +111 -74
  96. package/dist/storage/rdf/PostgresRdfEngine.jsonld +12 -22
  97. package/dist/storage/rdf/PostgresRdfSchemaValidation.d.ts +8 -0
  98. package/dist/storage/rdf/PostgresRdfSchemaValidation.js +82 -0
  99. package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +6 -3
  100. package/dist/storage/rdf/PostgresRdfTextIndex.js +158 -80
  101. package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +16 -4
  102. package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +4 -5
  103. package/dist/storage/rdf/PostgresRdfVectorIndex.js +124 -120
  104. package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +14 -18
  105. package/dist/storage/rdf/QleverSparqlEngine.d.ts +35 -0
  106. package/dist/storage/rdf/QleverSparqlEngine.js +185 -0
  107. package/dist/storage/rdf/QleverSparqlEngine.jsonld +70 -0
  108. package/dist/storage/rdf/Rdf3xIndex.js +20 -16
  109. package/dist/storage/rdf/RdfAccessScope.d.ts +4 -0
  110. package/dist/storage/rdf/RdfAccessScope.js +74 -9
  111. package/dist/storage/rdf/RdfAccessScope.jsonld +16 -0
  112. package/dist/storage/rdf/RdfEngineRdfJsSource.d.ts +14 -0
  113. package/dist/storage/rdf/RdfEngineRdfJsSource.js +179 -0
  114. package/dist/storage/rdf/RdfQuadIndex.d.ts +13 -14
  115. package/dist/storage/rdf/RdfQuadIndex.js +286 -99
  116. package/dist/storage/rdf/RdfQuadIndex.jsonld +10 -22
  117. package/dist/storage/rdf/RdfQueryExecutor.js +10 -4
  118. package/dist/storage/rdf/RdfQuerySparqlEngine.d.ts +33 -0
  119. package/dist/storage/rdf/RdfQuerySparqlEngine.js +215 -0
  120. package/dist/storage/rdf/RdfQuerySparqlEngine.jsonld +78 -0
  121. package/dist/storage/rdf/RdfSparqlAdapter.d.ts +0 -4
  122. package/dist/storage/rdf/RdfSparqlAdapter.js +75 -173
  123. package/dist/storage/rdf/RdfSparqlBoundary.d.ts +37 -0
  124. package/dist/storage/rdf/RdfSparqlBoundary.js +247 -0
  125. package/dist/storage/rdf/RdfSparqlSerialization.d.ts +3 -0
  126. package/dist/storage/rdf/RdfSparqlSerialization.js +19 -0
  127. package/dist/storage/rdf/RdfSqliteConnection.d.ts +7 -0
  128. package/dist/storage/rdf/RdfSqliteConnection.js +23 -0
  129. package/dist/storage/rdf/RdfTermDictionary.d.ts +0 -8
  130. package/dist/storage/rdf/RdfTermDictionary.js +0 -136
  131. package/dist/storage/rdf/RdfTermDictionary.jsonld +0 -32
  132. package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
  133. package/dist/storage/rdf/RdfTermSemantics.js +29 -0
  134. package/dist/storage/rdf/RdfTextIndex.d.ts +5 -6
  135. package/dist/storage/rdf/RdfTextIndex.js +187 -115
  136. package/dist/storage/rdf/RdfTextIndex.jsonld +10 -14
  137. package/dist/storage/rdf/RdfVectorIndex.d.ts +4 -4
  138. package/dist/storage/rdf/RdfVectorIndex.js +156 -233
  139. package/dist/storage/rdf/RdfVectorIndex.jsonld +10 -14
  140. package/dist/storage/rdf/SolidRdfEngine.d.ts +16 -21
  141. package/dist/storage/rdf/SolidRdfEngine.js +28 -308
  142. package/dist/storage/rdf/SolidRdfEngine.jsonld +26 -148
  143. package/dist/storage/rdf/XpodComunicaQueryEngine.d.ts +10 -0
  144. package/dist/storage/rdf/XpodComunicaQueryEngine.js +72 -0
  145. package/dist/storage/rdf/index.d.ts +7 -6
  146. package/dist/storage/rdf/index.js +17 -12
  147. package/dist/storage/rdf/models-benchmark.d.ts +5 -1
  148. package/dist/storage/rdf/models-benchmark.js +17 -19
  149. package/dist/storage/rdf/types.d.ts +68 -6
  150. package/dist/storage/rdf/types.jsonld +69 -0
  151. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +13 -7
  152. package/dist/storage/sparql/SubgraphQueryEngine.js +6 -6
  153. package/dist/storage/vector/index.d.ts +0 -1
  154. package/dist/storage/vector/index.js +0 -1
  155. package/dist/terminal/AclPermissionService.d.ts +4 -5
  156. package/dist/terminal/AclPermissionService.js +55 -75
  157. package/dist/terminal/TerminalSessionManager.d.ts +3 -2
  158. package/dist/terminal/TerminalSessionManager.js +3 -3
  159. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  160. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  161. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +29 -26
  162. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  163. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  164. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +9 -4
  165. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  166. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts +1 -0
  167. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts.map +1 -1
  168. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js +6 -3
  169. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js.map +1 -1
  170. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +3 -3
  171. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  172. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +6 -0
  173. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  174. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +13 -3
  175. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts +1 -0
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts.map +1 -1
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +31 -0
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js +5 -0
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js.map +1 -1
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts +1 -0
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts.map +1 -1
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js +45 -0
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js.map +1 -1
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +29 -26
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +9 -4
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +1 -0
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts.map +1 -1
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js +6 -3
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js.map +1 -1
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +3 -3
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +6 -0
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +14 -4
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +1 -0
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts.map +1 -1
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +30 -0
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js +5 -0
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +1 -0
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts.map +1 -1
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js +45 -0
  214. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js.map +1 -1
  215. package/node_modules/@undefineds.co/drizzle-solid/package.json +5 -4
  216. package/package.json +19 -8
  217. package/static/app/assets/{index-36TJKN-3.js → index-BikOyGPu.js} +34 -34
  218. package/static/app/assets/inrupt-smoke.js +2 -2
  219. package/static/app/assets/main.css +1 -1
  220. package/static/app/assets/main.js +11 -11
  221. package/static/auth-callback/assets/{AiConfigContext-DNfRNaZQ.js → AiConfigContext-iQ74JmRZ.js} +1 -1
  222. package/static/auth-callback/assets/{AiConfigPage-BBiTOm3o.js → AiConfigPage-BBDKE1gJ.js} +1 -1
  223. package/static/auth-callback/assets/{DocumentProcessingPanel-BzpEwqKT.js → DocumentProcessingPanel-D9NntIEK.js} +1 -1
  224. package/static/auth-callback/assets/{IndexLifecyclePanel-CvXMwooQ.js → IndexLifecyclePanel-BG07yBdA.js} +1 -1
  225. package/static/auth-callback/assets/{IndexSubjectPanel-CayA221L.js → IndexSubjectPanel-B-bUnU3G.js} +1 -1
  226. package/static/auth-callback/assets/{ModelAssignmentsPanel-Iew2QgtR.js → ModelAssignmentsPanel-C7I-Nqy-.js} +1 -1
  227. package/static/auth-callback/assets/{ModelsPage-CTJKAUA3.js → ModelsPage-C2hxyrmI.js} +1 -1
  228. package/static/auth-callback/assets/{NetworkPage--8ZCjIHB.js → NetworkPage-IGIc2q1Y.js} +1 -1
  229. package/static/auth-callback/assets/{PaneListHeader-BT-OGKL7.js → PaneListHeader-CebuPl_g.js} +1 -1
  230. package/static/auth-callback/assets/{SearchIndexingPanel-CFjjk1-C.js → SearchIndexingPanel-6HnZSg00.js} +1 -1
  231. package/static/auth-callback/assets/{StatusSubjectPanel-DAN5Ej9q.js → StatusSubjectPanel-votxBkr5.js} +1 -1
  232. package/static/auth-callback/assets/{StatusWorkspace-CEgmKJcX.js → StatusWorkspace-Cksl61zX.js} +1 -1
  233. package/static/auth-callback/assets/{SystemSettingsPage-Bk0TB4RU.js → SystemSettingsPage-CKZFUaZT.js} +1 -1
  234. package/static/auth-callback/assets/{SystemSettingsSubjectPanel-CKl8ukiz.js → SystemSettingsSubjectPanel-pzfUcCf4.js} +1 -1
  235. package/static/auth-callback/assets/{activity-BOtct9Ie.js → activity-DQL6kZHZ.js} +1 -1
  236. package/static/auth-callback/assets/auth-callback-B_s8Ye5Z.css +1 -0
  237. package/static/auth-callback/assets/{auth-callback-ai6OMe6C.js → auth-callback-BxQMd_Mc.js} +39 -39
  238. package/static/auth-callback/assets/{badge-DGSg5wio.js → badge-DvW4LUHH.js} +1 -1
  239. package/static/auth-callback/assets/{download-4eVPmxQ_.js → download-Cx_uaCR1.js} +1 -1
  240. package/static/auth-callback/assets/{external-link-BlD92fAM.js → external-link-D6L6ExH1.js} +1 -1
  241. package/static/auth-callback/assets/{index-FrugCRsJ.js → index-BAS_hxGu.js} +1 -1
  242. package/static/auth-callback/assets/{index-7ppych8q.js → index-BmBjpCoD.js} +1 -1
  243. package/static/auth-callback/assets/{index-browser-dwpJ2mdT.js → index-browser-pdn4D3M4.js} +1 -1
  244. package/static/auth-callback/assets/{key-round-BFOQbNNp.js → key-round-BTBzOggq.js} +1 -1
  245. package/static/auth-callback/assets/{rotate-ccw-BySVgaAP.js → rotate-ccw-eV7Cx8sB.js} +1 -1
  246. package/static/auth-callback/assets/{skeleton-CgcxPTqc.js → skeleton-Bg4GYgBM.js} +1 -1
  247. package/static/auth-callback/assets/{waypoints-DM902DhB.js → waypoints-CJbydf0B.js} +1 -1
  248. package/static/auth-callback/assets/{workspace-layout-DlZlN49Q.js → workspace-layout-C6Hh8Xf-.js} +1 -1
  249. package/static/auth-callback/auth-callback.html +2 -2
  250. package/static/dashboard/assets/{AiConfigContext-VnWI7bOR.js → AiConfigContext-BkJj28vK.js} +1 -1
  251. package/static/dashboard/assets/{AiConfigPage-Dn3oxXcA.js → AiConfigPage-Cs9B4uyp.js} +1 -1
  252. package/static/dashboard/assets/{DocumentProcessingPanel-CAF1uLi3.js → DocumentProcessingPanel-BBWmM7mS.js} +1 -1
  253. package/static/dashboard/assets/{IndexLifecyclePanel-D9zVZwu8.js → IndexLifecyclePanel-D5xGTT_i.js} +1 -1
  254. package/static/dashboard/assets/{IndexSubjectPanel-_JCGwJmO.js → IndexSubjectPanel-d-mjDthn.js} +1 -1
  255. package/static/dashboard/assets/{ModelAssignmentsPanel-DtlxQxFa.js → ModelAssignmentsPanel-C-OLNbqf.js} +1 -1
  256. package/static/dashboard/assets/{ModelsPage-CCNTpXM5.js → ModelsPage-CBrLjuUn.js} +1 -1
  257. package/static/dashboard/assets/{NetworkPage-BAKv9unq.js → NetworkPage-BlYk8L1z.js} +1 -1
  258. package/static/dashboard/assets/{PaneListHeader-Dr1jq2Ii.js → PaneListHeader-A5oZJQC0.js} +1 -1
  259. package/static/dashboard/assets/{SearchIndexingPanel-BW0pPrQB.js → SearchIndexingPanel-Bs1j8ZP2.js} +1 -1
  260. package/static/dashboard/assets/{StatusSubjectPanel-c9iebk4M.js → StatusSubjectPanel-Qao3orvi.js} +1 -1
  261. package/static/dashboard/assets/{StatusWorkspace-KZ7zrrmB.js → StatusWorkspace-rDM0yDtk.js} +1 -1
  262. package/static/dashboard/assets/{SystemSettingsPage-fVSfJMi9.js → SystemSettingsPage-FPRPkKaR.js} +1 -1
  263. package/static/dashboard/assets/{SystemSettingsSubjectPanel-DUSxcVT8.js → SystemSettingsSubjectPanel-CjlJAxnX.js} +1 -1
  264. package/static/dashboard/assets/{activity-Dg4XxJA8.js → activity-CJ5K6hYC.js} +1 -1
  265. package/static/dashboard/assets/{badge-OHMG7sYk.js → badge-L-NMOi1P.js} +1 -1
  266. package/static/dashboard/assets/dashboard-B_s8Ye5Z.css +1 -0
  267. package/static/dashboard/assets/{dashboard-UuQZ5g0B.js → dashboard-DyjAyYxx.js} +34 -34
  268. package/static/dashboard/assets/{download-CkbQhuL2.js → download-Bi4u5K5B.js} +1 -1
  269. package/static/dashboard/assets/{external-link-C15frgwD.js → external-link-jmhLDfvT.js} +1 -1
  270. package/static/dashboard/assets/{index-BiU8tNWd.js → index-BoaGJBxf.js} +1 -1
  271. package/static/dashboard/assets/{index-JUkJUI4K.js → index-C22TAEi4.js} +1 -1
  272. package/static/dashboard/assets/{key-round-BVREfX5D.js → key-round-Dk1VmMrn.js} +1 -1
  273. package/static/dashboard/assets/{rotate-ccw-cPEquKE_.js → rotate-ccw-DIfLsSwi.js} +1 -1
  274. package/static/dashboard/assets/{skeleton-BPM2LdA5.js → skeleton-BGPJMHb-.js} +1 -1
  275. package/static/dashboard/assets/{waypoints-Cd3kODMk.js → waypoints-CY53egpu.js} +1 -1
  276. package/static/dashboard/assets/{workspace-layout-BP3gLLXb.js → workspace-layout-CoHkcx70.js} +1 -1
  277. package/static/dashboard/dashboard.html +2 -2
  278. package/static/settings/assets/{AiConfigContext-B-D3riwG.js → AiConfigContext-BcEPlEJe.js} +1 -1
  279. package/static/settings/assets/{AiConfigPage-CAYT-CgT.js → AiConfigPage-D-t3ZUhg.js} +1 -1
  280. package/static/settings/assets/{DocumentProcessingPanel-D__vS86O.js → DocumentProcessingPanel-m2SasiMO.js} +1 -1
  281. package/static/settings/assets/{IndexLifecyclePanel-CuYEAG62.js → IndexLifecyclePanel-BNmAvx8V.js} +1 -1
  282. package/static/settings/assets/{IndexSubjectPanel-Do71gQQC.js → IndexSubjectPanel-C5-L2AcW.js} +1 -1
  283. package/static/settings/assets/{ModelAssignmentsPanel-Cn3kSze7.js → ModelAssignmentsPanel-Cfpkf02Y.js} +1 -1
  284. package/static/settings/assets/{ModelsPage-BKO0ARYt.js → ModelsPage-DZrACwVN.js} +1 -1
  285. package/static/settings/assets/{NetworkPage-XPYrdyVd.js → NetworkPage-BlrGGfqL.js} +1 -1
  286. package/static/settings/assets/{PaneListHeader-BAiQcCss.js → PaneListHeader-C3TCs1RI.js} +1 -1
  287. package/static/settings/assets/{SearchIndexingPanel-Bx3Fco0x.js → SearchIndexingPanel-Cyp3CUzX.js} +1 -1
  288. package/static/settings/assets/{StatusSubjectPanel-BzKzXmSL.js → StatusSubjectPanel-gRkb8WEX.js} +1 -1
  289. package/static/settings/assets/{StatusWorkspace-NjLpo9xp.js → StatusWorkspace-Dptx4Ec2.js} +1 -1
  290. package/static/settings/assets/{SystemSettingsPage-CclI_Lpv.js → SystemSettingsPage-BWgGUQbs.js} +1 -1
  291. package/static/settings/assets/{SystemSettingsSubjectPanel-CMnSE-8N.js → SystemSettingsSubjectPanel-VflUvpgC.js} +1 -1
  292. package/static/settings/assets/{activity-DYpNPFzG.js → activity-D7iNhTkQ.js} +1 -1
  293. package/static/settings/assets/{badge-C7Vhmg28.js → badge-DO0r_RT4.js} +1 -1
  294. package/static/settings/assets/{download-DdXcAiwj.js → download-CsJlNSbd.js} +1 -1
  295. package/static/settings/assets/{external-link-D7thdQae.js → external-link-BCR7SHme.js} +1 -1
  296. package/static/settings/assets/{index-CwBKvDQZ.js → index-Cgq16ekN.js} +1 -1
  297. package/static/settings/assets/{index-BnYbrf5s.js → index-SrhQvcrU.js} +1 -1
  298. package/static/settings/assets/{index-browser-DYzi1DO1.js → index-browser-THpcMCnz.js} +1 -1
  299. package/static/settings/assets/{key-round-BXErodZA.js → key-round-Dd3jk1BT.js} +1 -1
  300. package/static/settings/assets/{rotate-ccw-DPyOBmDD.js → rotate-ccw-tiL14i1d.js} +1 -1
  301. package/static/settings/assets/settings-B_s8Ye5Z.css +1 -0
  302. package/static/settings/assets/{settings-BGpEf8nx.js → settings-CVLDPejo.js} +34 -34
  303. package/static/settings/assets/{skeleton-S9l3JIr9.js → skeleton-DBxLuNgU.js} +1 -1
  304. package/static/settings/assets/{waypoints-C5By7zWc.js → waypoints-DS3e3hv7.js} +1 -1
  305. package/static/settings/assets/{workspace-layout-Bb6RVAEx.js → workspace-layout-mucrxyTK.js} +1 -1
  306. package/static/settings/settings.html +2 -2
  307. package/config/search.json +0 -66
  308. package/dist/document/HeadingChunker.jsonld +0 -41
  309. package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +0 -124
  310. package/dist/security/secret-cell/SecretCellVault.jsonld +0 -207
  311. package/dist/storage/PostgresDerivedIndexJournal.d.ts +0 -47
  312. package/dist/storage/PostgresDerivedIndexJournal.js +0 -408
  313. package/dist/storage/PostgresDerivedIndexJournal.jsonld +0 -303
  314. package/dist/storage/RdfDerivedIndexingListener.d.ts +0 -32
  315. package/dist/storage/RdfDerivedIndexingListener.js +0 -135
  316. package/dist/storage/RdfDerivedIndexingListener.jsonld +0 -228
  317. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +0 -148
  318. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +0 -436
  319. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +0 -172
  320. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +0 -102
  321. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +0 -474
  322. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +0 -192
  323. package/dist/storage/rdf/RdfSparqlAdapter.jsonld +0 -486
  324. package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +0 -59
  325. package/dist/storage/rdf/ShadowRdfQuintStore.js +0 -216
  326. package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +0 -312
  327. package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +0 -107
  328. package/dist/storage/rdf/SolidRdfSparqlEngine.js +0 -1117
  329. package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +0 -312
  330. package/dist/storage/sparql/AlgebraUtils.d.ts +0 -48
  331. package/dist/storage/sparql/AlgebraUtils.js +0 -118
  332. package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +0 -37
  333. package/dist/storage/sparql/CompatibilitySparqlEngine.js +0 -96
  334. package/dist/storage/sparql/CompatibilitySparqlEngine.jsonld +0 -123
  335. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +0 -36
  336. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +0 -124
  337. package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +0 -59
  338. package/dist/storage/sparql/ComunicaOptimizedEngine.js +0 -254
  339. package/dist/storage/sparql/ComunicaQuintEngine.d.ts +0 -143
  340. package/dist/storage/sparql/ComunicaQuintEngine.js +0 -781
  341. package/dist/storage/sparql/ExpressionEvaluator.d.ts +0 -54
  342. package/dist/storage/sparql/ExpressionEvaluator.js +0 -340
  343. package/dist/storage/sparql/FilterPushdownExtractor.d.ts +0 -74
  344. package/dist/storage/sparql/FilterPushdownExtractor.js +0 -421
  345. package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +0 -65
  346. package/dist/storage/sparql/OptimizedQuadstoreEngine.js +0 -327
  347. package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +0 -46
  348. package/dist/storage/sparql/OptimizedQuadstoreSource.js +0 -118
  349. package/dist/storage/sparql/PatternBuilder.d.ts +0 -41
  350. package/dist/storage/sparql/PatternBuilder.js +0 -118
  351. package/dist/storage/sparql/QueryOptimizer.d.ts +0 -125
  352. package/dist/storage/sparql/QueryOptimizer.js +0 -375
  353. package/dist/storage/sparql/QuintEngine.d.ts +0 -92
  354. package/dist/storage/sparql/QuintEngine.js +0 -150
  355. package/dist/storage/sparql/QuintQuerySource.d.ts +0 -241
  356. package/dist/storage/sparql/QuintQuerySource.js +0 -1069
  357. package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +0 -40
  358. package/dist/storage/sparql/SimpleSparqlExecutor.js +0 -131
  359. package/dist/storage/vector/VectorIndexingListener.d.ts +0 -114
  360. package/dist/storage/vector/VectorIndexingListener.js +0 -346
  361. package/static/auth-callback/assets/auth-callback-rWdEQY5f.css +0 -1
  362. package/static/dashboard/assets/dashboard-rWdEQY5f.css +0 -1
  363. package/static/settings/assets/settings-rWdEQY5f.css +0 -1
@@ -1,54 +0,0 @@
1
- /**
2
- * ExpressionEvaluator - In-memory SPARQL expression evaluation
3
- *
4
- * Evaluates SPARQL expressions that cannot be pushed down to the database.
5
- * Used for filtering bindings after initial pattern matching.
6
- */
7
- import type { Term, Bindings } from '@rdfjs/types';
8
- import type { Algebra } from 'sparqlalgebrajs';
9
- import type { QuintStore } from '../quint/types';
10
- import type { PatternBuilder } from './PatternBuilder';
11
- /**
12
- * Callback for extracting pattern from operation
13
- */
14
- export type ExtractPatternFn = (operation: Algebra.Operation) => {
15
- pattern: Algebra.Pattern;
16
- filter: Algebra.Expression | null;
17
- };
18
- /**
19
- * ExpressionEvaluator handles in-memory evaluation of SPARQL expressions
20
- */
21
- export declare class ExpressionEvaluator {
22
- private readonly store;
23
- private readonly patternBuilder;
24
- private readonly extractPatternAndFilter;
25
- constructor(store: QuintStore, patternBuilder: PatternBuilder, extractPatternAndFilter: ExtractPatternFn);
26
- /**
27
- * Evaluate filter expression tree against candidate bindings
28
- */
29
- evaluateFilterTree(expr: Algebra.Expression, candidates: Bindings[], pattern: Algebra.Pattern): Promise<Bindings[]>;
30
- /**
31
- * Evaluate operator expression
32
- */
33
- private evaluateOperator;
34
- /**
35
- * Union multiple binding sets
36
- */
37
- private unionBindings;
38
- /**
39
- * Evaluate EXISTS/NOT EXISTS
40
- */
41
- private evaluateExistence;
42
- private checkExists;
43
- /**
44
- * Evaluate single binding against operator
45
- */
46
- evaluateSingleBinding(expr: Algebra.OperatorExpression, binding: Bindings): boolean;
47
- getTermValue(expr: Algebra.Expression, binding: Bindings): Term | null;
48
- getNumericValue(expr: Algebra.Expression, binding: Bindings): number | null;
49
- getStringValue(expr: Algebra.Expression, binding: Bindings): string | null;
50
- compareTerms(left: Term | null, right: Term | null, op: string): boolean;
51
- isNumericLiteral(lit: any): boolean;
52
- effectiveBooleanValue(term: Term): boolean;
53
- getBindingKey(binding: Bindings): string;
54
- }
@@ -1,340 +0,0 @@
1
- "use strict";
2
- /**
3
- * ExpressionEvaluator - In-memory SPARQL expression evaluation
4
- *
5
- * Evaluates SPARQL expressions that cannot be pushed down to the database.
6
- * Used for filtering bindings after initial pattern matching.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ExpressionEvaluator = void 0;
10
- const rdf_data_factory_1 = require("rdf-data-factory");
11
- const serialization_1 = require("../quint/serialization");
12
- const dataFactory = new rdf_data_factory_1.DataFactory();
13
- /**
14
- * ExpressionEvaluator handles in-memory evaluation of SPARQL expressions
15
- */
16
- class ExpressionEvaluator {
17
- constructor(store, patternBuilder, extractPatternAndFilter) {
18
- this.store = store;
19
- this.patternBuilder = patternBuilder;
20
- this.extractPatternAndFilter = extractPatternAndFilter;
21
- }
22
- /**
23
- * Evaluate filter expression tree against candidate bindings
24
- */
25
- async evaluateFilterTree(expr, candidates, pattern) {
26
- if (candidates.length === 0)
27
- return [];
28
- switch (expr.expressionType) {
29
- case 'operator':
30
- return this.evaluateOperator(expr, candidates, pattern);
31
- case 'existence':
32
- return this.evaluateExistence(expr, candidates, pattern);
33
- case 'term':
34
- const termExpr = expr;
35
- return this.effectiveBooleanValue(termExpr.term) ? candidates : [];
36
- default:
37
- return candidates; // Unknown: be permissive
38
- }
39
- }
40
- /**
41
- * Evaluate operator expression
42
- */
43
- async evaluateOperator(expr, candidates, pattern) {
44
- const op = expr.operator.toLowerCase();
45
- // Logical AND
46
- if (op === '&&') {
47
- let result = candidates;
48
- for (const arg of expr.args) {
49
- result = await this.evaluateFilterTree(arg, result, pattern);
50
- }
51
- return result;
52
- }
53
- // Logical OR
54
- if (op === '||') {
55
- const resultSets = await Promise.all(expr.args.map(arg => this.evaluateFilterTree(arg, candidates, pattern)));
56
- return this.unionBindings(resultSets);
57
- }
58
- // Logical NOT
59
- if (op === '!') {
60
- const positives = await this.evaluateFilterTree(expr.args[0], candidates, pattern);
61
- const positiveKeys = new Set(positives.map(b => this.getBindingKey(b)));
62
- return candidates.filter(b => !positiveKeys.has(this.getBindingKey(b)));
63
- }
64
- // Other operators: evaluate each binding individually
65
- return candidates.filter(b => this.evaluateSingleBinding(expr, b));
66
- }
67
- /**
68
- * Union multiple binding sets
69
- */
70
- unionBindings(sets) {
71
- const seen = new Set();
72
- const result = [];
73
- for (const set of sets) {
74
- for (const binding of set) {
75
- const key = this.getBindingKey(binding);
76
- if (!seen.has(key)) {
77
- seen.add(key);
78
- result.push(binding);
79
- }
80
- }
81
- }
82
- return result;
83
- }
84
- /**
85
- * Evaluate EXISTS/NOT EXISTS
86
- */
87
- async evaluateExistence(expr, candidates, _pattern) {
88
- const results = [];
89
- for (const binding of candidates) {
90
- const exists = await this.checkExists(expr.input, binding);
91
- if (expr.not ? !exists : exists) {
92
- results.push(binding);
93
- }
94
- }
95
- return results;
96
- }
97
- async checkExists(subOperation, binding) {
98
- const { pattern: subPattern } = this.extractPatternAndFilter(subOperation);
99
- const quintPattern = this.patternBuilder.buildExistsPattern(subPattern, binding);
100
- const results = await this.store.get(quintPattern, { limit: 1 });
101
- return results.length > 0;
102
- }
103
- /**
104
- * Evaluate single binding against operator
105
- */
106
- evaluateSingleBinding(expr, binding) {
107
- const op = expr.operator.toLowerCase();
108
- // Comparison
109
- if (['=', '!=', '<', '>', '<=', '>='].includes(op)) {
110
- const left = this.getTermValue(expr.args[0], binding);
111
- const right = this.getTermValue(expr.args[1], binding);
112
- if (left === null || right === null)
113
- return false;
114
- return this.compareTerms(left, right, op);
115
- }
116
- // BOUND
117
- if (op === 'bound') {
118
- const varExpr = expr.args[0];
119
- if (varExpr.expressionType === 'term') {
120
- const term = varExpr.term;
121
- if (term.termType === 'Variable') {
122
- return binding.get(term) !== undefined;
123
- }
124
- }
125
- return false;
126
- }
127
- // String functions
128
- if (op === 'strstarts') {
129
- const str = this.getStringValue(expr.args[0], binding);
130
- const prefix = this.getStringValue(expr.args[1], binding);
131
- return str !== null && prefix !== null && str.startsWith(prefix);
132
- }
133
- if (op === 'strends') {
134
- const str = this.getStringValue(expr.args[0], binding);
135
- const suffix = this.getStringValue(expr.args[1], binding);
136
- return str !== null && suffix !== null && str.endsWith(suffix);
137
- }
138
- if (op === 'contains') {
139
- const str = this.getStringValue(expr.args[0], binding);
140
- const substr = this.getStringValue(expr.args[1], binding);
141
- return str !== null && substr !== null && str.includes(substr);
142
- }
143
- if (op === 'regex') {
144
- const str = this.getStringValue(expr.args[0], binding);
145
- const pattern = this.getStringValue(expr.args[1], binding);
146
- if (str === null || pattern === null)
147
- return false;
148
- try {
149
- const flags = expr.args[2] ? this.getStringValue(expr.args[2], binding) || '' : '';
150
- return new RegExp(pattern, flags).test(str);
151
- }
152
- catch {
153
- return false;
154
- }
155
- }
156
- // Type checking functions
157
- if (op === 'isiri' || op === 'isuri') {
158
- const term = this.getTermValue(expr.args[0], binding);
159
- return term !== null && term.termType === 'NamedNode';
160
- }
161
- if (op === 'isblank') {
162
- const term = this.getTermValue(expr.args[0], binding);
163
- return term !== null && term.termType === 'BlankNode';
164
- }
165
- if (op === 'isliteral') {
166
- const term = this.getTermValue(expr.args[0], binding);
167
- return term !== null && term.termType === 'Literal';
168
- }
169
- if (op === 'isnumeric') {
170
- const term = this.getTermValue(expr.args[0], binding);
171
- if (term?.termType === 'Literal') {
172
- const lit = term;
173
- return lit.datatype && serialization_1.NUMERIC_TYPES.has(lit.datatype.value);
174
- }
175
- return false;
176
- }
177
- // LANGMATCHES
178
- if (op === 'langmatches') {
179
- const langExpr = expr.args[0];
180
- if (langExpr.expressionType === 'operator' && langExpr.operator.toLowerCase() === 'lang') {
181
- const term = this.getTermValue(langExpr.args[0], binding);
182
- if (term?.termType === 'Literal') {
183
- const lit = term;
184
- const lang = lit.language || '';
185
- const pattern = this.getStringValue(expr.args[1], binding);
186
- if (pattern === '*')
187
- return lang.length > 0;
188
- if (pattern)
189
- return lang.toLowerCase() === pattern.toLowerCase();
190
- }
191
- }
192
- return false;
193
- }
194
- // IN / NOT IN
195
- if (op === 'in') {
196
- const value = this.getTermValue(expr.args[0], binding);
197
- if (value === null)
198
- return false;
199
- for (let i = 1; i < expr.args.length; i++) {
200
- if (this.compareTerms(value, this.getTermValue(expr.args[i], binding), '='))
201
- return true;
202
- }
203
- return false;
204
- }
205
- if (op === 'notin') {
206
- const value = this.getTermValue(expr.args[0], binding);
207
- if (value === null)
208
- return true;
209
- for (let i = 1; i < expr.args.length; i++) {
210
- if (this.compareTerms(value, this.getTermValue(expr.args[i], binding), '='))
211
- return false;
212
- }
213
- return true;
214
- }
215
- return true; // Unknown: be permissive
216
- }
217
- // ============================================================
218
- // Helper Methods
219
- // ============================================================
220
- getTermValue(expr, binding) {
221
- if (expr.expressionType === 'term') {
222
- const termExpr = expr;
223
- if (termExpr.term.termType === 'Variable') {
224
- return binding.get(termExpr.term) || null;
225
- }
226
- return termExpr.term;
227
- }
228
- if (expr.expressionType === 'operator') {
229
- const opExpr = expr;
230
- const op = opExpr.operator.toLowerCase();
231
- // STR function
232
- if (op === 'str') {
233
- const inner = this.getTermValue(opExpr.args[0], binding);
234
- if (inner)
235
- return dataFactory.literal(inner.value);
236
- }
237
- // STRLEN function - returns integer
238
- if (op === 'strlen') {
239
- const str = this.getStringValue(opExpr.args[0], binding);
240
- if (str !== null) {
241
- return dataFactory.literal(str.length.toString(), dataFactory.namedNode('http://www.w3.org/2001/XMLSchema#integer'));
242
- }
243
- }
244
- // Numeric functions
245
- if (op === 'abs') {
246
- const val = this.getNumericValue(opExpr.args[0], binding);
247
- if (val !== null) {
248
- return dataFactory.literal(Math.abs(val).toString(), dataFactory.namedNode('http://www.w3.org/2001/XMLSchema#decimal'));
249
- }
250
- }
251
- if (op === 'round') {
252
- const val = this.getNumericValue(opExpr.args[0], binding);
253
- if (val !== null) {
254
- return dataFactory.literal(Math.round(val).toString(), dataFactory.namedNode('http://www.w3.org/2001/XMLSchema#decimal'));
255
- }
256
- }
257
- if (op === 'floor') {
258
- const val = this.getNumericValue(opExpr.args[0], binding);
259
- if (val !== null) {
260
- return dataFactory.literal(Math.floor(val).toString(), dataFactory.namedNode('http://www.w3.org/2001/XMLSchema#decimal'));
261
- }
262
- }
263
- if (op === 'ceil') {
264
- const val = this.getNumericValue(opExpr.args[0], binding);
265
- if (val !== null) {
266
- return dataFactory.literal(Math.ceil(val).toString(), dataFactory.namedNode('http://www.w3.org/2001/XMLSchema#decimal'));
267
- }
268
- }
269
- }
270
- return null;
271
- }
272
- getNumericValue(expr, binding) {
273
- const term = this.getTermValue(expr, binding);
274
- if (term?.termType === 'Literal') {
275
- const val = parseFloat(term.value);
276
- if (!isNaN(val))
277
- return val;
278
- }
279
- return null;
280
- }
281
- getStringValue(expr, binding) {
282
- const term = this.getTermValue(expr, binding);
283
- return term?.value ?? null;
284
- }
285
- compareTerms(left, right, op) {
286
- if (left === null || right === null)
287
- return false;
288
- if (left.termType === 'Literal' && right.termType === 'Literal') {
289
- const leftLit = left;
290
- const rightLit = right;
291
- if (this.isNumericLiteral(leftLit) && this.isNumericLiteral(rightLit)) {
292
- const l = parseFloat(leftLit.value), r = parseFloat(rightLit.value);
293
- switch (op) {
294
- case '=': return l === r;
295
- case '!=': return l !== r;
296
- case '<': return l < r;
297
- case '>': return l > r;
298
- case '<=': return l <= r;
299
- case '>=': return l >= r;
300
- }
301
- }
302
- const cmp = leftLit.value.localeCompare(rightLit.value);
303
- switch (op) {
304
- case '=': return cmp === 0;
305
- case '!=': return cmp !== 0;
306
- case '<': return cmp < 0;
307
- case '>': return cmp > 0;
308
- case '<=': return cmp <= 0;
309
- case '>=': return cmp >= 0;
310
- }
311
- }
312
- switch (op) {
313
- case '=': return left.value === right.value;
314
- case '!=': return left.value !== right.value;
315
- default: return false;
316
- }
317
- }
318
- isNumericLiteral(lit) {
319
- return lit.datatype && serialization_1.NUMERIC_TYPES.has(lit.datatype.value);
320
- }
321
- effectiveBooleanValue(term) {
322
- if (term.termType === 'Literal') {
323
- const lit = term;
324
- if (lit.datatype?.value === 'http://www.w3.org/2001/XMLSchema#boolean') {
325
- return lit.value === 'true';
326
- }
327
- return lit.value.length > 0;
328
- }
329
- return true;
330
- }
331
- getBindingKey(binding) {
332
- const parts = [];
333
- binding.forEach((value, key) => {
334
- parts.push(`${key.value}=${value.value}`);
335
- });
336
- return parts.sort().join('|');
337
- }
338
- }
339
- exports.ExpressionEvaluator = ExpressionEvaluator;
340
- //# sourceMappingURL=ExpressionEvaluator.js.map
@@ -1,74 +0,0 @@
1
- /**
2
- * FilterPushdownExtractor - Extract pushdownable conditions from SPARQL FILTER
3
- *
4
- * Analyzes SPARQL FILTER expressions and extracts conditions that can be
5
- * pushed down to the database layer for efficient query execution.
6
- *
7
- * Supported pushdown operations:
8
- * - Comparison: =, !=, <, >, <=, >=
9
- * - String functions: STRSTARTS, STRENDS, CONTAINS, REGEX
10
- * - Type checking: isIRI, isBlank, isLiteral, isNumeric
11
- * - Language: LANGMATCHES
12
- * - Logical: AND, OR (with $in optimization)
13
- * - Set operations: IN, NOT IN
14
- * - Existence: BOUND, !BOUND
15
- */
16
- import type { Algebra } from 'sparqlalgebrajs';
17
- import type { TermOperators } from '../quint/types';
18
- /**
19
- * Pushdown filters extracted from SPARQL FILTER clauses
20
- * Maps variable names to their filter conditions
21
- */
22
- export interface PushdownFilters {
23
- [varName: string]: TermOperators;
24
- }
25
- /**
26
- * Result of extracting pushdown filters from an expression
27
- */
28
- export interface PushdownResult {
29
- filters: PushdownFilters;
30
- remainder: Algebra.Expression | null;
31
- orBranches?: PushdownFilters[];
32
- orNonPushdownBranches?: Algebra.Expression[];
33
- }
34
- /**
35
- * FilterPushdownExtractor extracts pushdownable conditions from FILTER expressions
36
- */
37
- export declare class FilterPushdownExtractor {
38
- /**
39
- * Extract pushdownable filters from an expression
40
- * Returns filters that can be pushed down and the remaining expression
41
- */
42
- extractPushdownFilters(expr: Algebra.Expression, pattern: Algebra.Pattern): PushdownResult;
43
- /**
44
- * Handle OR expression pushdown
45
- * - Same variable equality: convert to $in
46
- * - Different variables: create OR branches for separate queries
47
- * - Mixed (pushdownable + non-pushdownable): orBranches + orNonPushdownBranches
48
- */
49
- private extractOrPushdown;
50
- /**
51
- * Try to convert same-variable equalities to $in
52
- */
53
- private tryConvertToIn;
54
- /**
55
- * Try to extract pushdown filter from a single operator expression
56
- */
57
- tryExtractSinglePushdown(expr: Algebra.OperatorExpression, pattern: Algebra.Pattern): PushdownFilters | null;
58
- /**
59
- * Extract comparison operator info
60
- */
61
- private extractComparison;
62
- private mapComparisonOp;
63
- private reverseComparisonOp;
64
- /**
65
- * Serialize value for comparison
66
- *
67
- * Range comparison handling:
68
- * - $gt, $lte: Use fpstring + max suffix to be >= all values with same fpstring
69
- * - $lt, $gte: Use fpstring only (prefix), stored values are always > prefix
70
- * - $eq, $ne: Use exact serialization
71
- */
72
- serializeForComparison(value: string, datatype: string | undefined, filterOp: string): string;
73
- serializeExactValue(value: string, datatype?: string): string;
74
- }