@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
@@ -6,6 +6,8 @@ const node_path_1 = require("node:path");
6
6
  const n3_1 = require("n3");
7
7
  const SqliteRuntime_1 = require("../SqliteRuntime");
8
8
  const RdfTermDictionary_1 = require("./RdfTermDictionary");
9
+ const RdfQuadIndex_1 = require("./RdfQuadIndex");
10
+ const RdfSqliteConnection_1 = require("./RdfSqliteConnection");
9
11
  const RdfTermSemantics_1 = require("./RdfTermSemantics");
10
12
  const RdfJoinShape_1 = require("./RdfJoinShape");
11
13
  const Rdf3xSchema_1 = require("./Rdf3xSchema");
@@ -68,10 +70,18 @@ class Rdf3xIndex {
68
70
  (0, node_fs_1.mkdirSync)(dir, { recursive: true });
69
71
  }
70
72
  }
71
- this.db = this.sqliteRuntime.openDatabase(this.options.path);
72
- this.dictionary = new RdfTermDictionary_1.RdfTermDictionary(this.db);
73
- this.dictionary.initialize();
74
- this.initializeSchema();
73
+ this.db = (0, RdfSqliteConnection_1.openRdfSqliteDatabase)(this.sqliteRuntime, this.options.path);
74
+ try {
75
+ (0, RdfQuadIndex_1.assertRdfFactsSchemaCompatible)(this.db);
76
+ this.dictionary = new RdfTermDictionary_1.RdfTermDictionary(this.db);
77
+ this.initializeSchema();
78
+ }
79
+ catch (error) {
80
+ this.db.close();
81
+ this.db = null;
82
+ this.dictionary = null;
83
+ throw error;
84
+ }
75
85
  }
76
86
  close() {
77
87
  this.db?.close();
@@ -677,10 +687,6 @@ class Rdf3xIndex {
677
687
  }
678
688
  initializeDirtyTrackingTriggers() {
679
689
  const db = this.requireDb();
680
- const factsTable = db.prepare("SELECT name FROM sqlite_schema WHERE type = 'table' AND name = 'rdf_quads'").get();
681
- if (!factsTable) {
682
- return;
683
- }
684
690
  db.exec(`
685
691
  CREATE TRIGGER IF NOT EXISTS rdf3x_dirty_quads_insert
686
692
  AFTER INSERT ON rdf_quads
@@ -763,15 +769,13 @@ class Rdf3xIndex {
763
769
  (0, Rdf3xSchema_1.dropRdf3xDerivedSchemaObjects)(this.requireDb());
764
770
  }
765
771
  currentFactsDataVersion() {
766
- try {
767
- const row = this.requireDb()
768
- .prepare("SELECT value FROM rdf_index_metadata WHERE key = 'data_version'")
769
- .get();
770
- return Number(row?.value ?? 0) || 0;
771
- }
772
- catch {
773
- return 0;
772
+ const value = this.requireDb()
773
+ .prepare("SELECT value FROM rdf_index_metadata WHERE key = 'data_version'")
774
+ .get()?.value;
775
+ if (value === undefined || !/^(0|[1-9]\d*)$/.test(value)) {
776
+ throw new Error(`Unsupported RDF facts data version: ${value ?? 'missing'}`);
774
777
  }
778
+ return Number(value);
775
779
  }
776
780
  setFactsDataVersion(version) {
777
781
  this.requireDb().prepare(`
@@ -9,10 +9,14 @@ export type RdfAccessMode = typeof RdfAccessMode[keyof typeof RdfAccessMode];
9
9
  export interface RdfAccessScope {
10
10
  basePath: string;
11
11
  mode: RdfAccessMode;
12
+ resolved?: boolean;
12
13
  principal?: string;
13
14
  allowedGraphUrls?: string[];
14
15
  deniedGraphUrls?: string[];
15
16
  deniedGraphPrefixes?: string[];
17
+ allowedSourceUrls?: string[];
18
+ deniedSourceUrls?: string[];
19
+ deniedSourcePrefixes?: string[];
16
20
  version?: string;
17
21
  }
18
22
  export declare function isRestrictiveRdfAccessScope(scope?: RdfAccessScope): boolean;
@@ -18,7 +18,10 @@ function isRestrictiveRdfAccessScope(scope) {
18
18
  return Boolean(scope
19
19
  && ((scope.allowedGraphUrls?.length ?? 0) > 0
20
20
  || (scope.deniedGraphUrls?.length ?? 0) > 0
21
- || (scope.deniedGraphPrefixes?.length ?? 0) > 0));
21
+ || (scope.deniedGraphPrefixes?.length ?? 0) > 0
22
+ || (scope.allowedSourceUrls?.length ?? 0) > 0
23
+ || (scope.deniedSourceUrls?.length ?? 0) > 0
24
+ || (scope.deniedSourcePrefixes?.length ?? 0) > 0));
22
25
  }
23
26
  function rdfAccessCacheScope(scope) {
24
27
  if (!scope) {
@@ -32,6 +35,9 @@ function rdfAccessCacheScope(scope) {
32
35
  allowedGraphUrls: scope.allowedGraphUrls,
33
36
  deniedGraphUrls: scope.deniedGraphUrls,
34
37
  deniedGraphPrefixes: scope.deniedGraphPrefixes,
38
+ allowedSourceUrls: scope.allowedSourceUrls,
39
+ deniedSourceUrls: scope.deniedSourceUrls,
40
+ deniedSourcePrefixes: scope.deniedSourcePrefixes,
35
41
  };
36
42
  }
37
43
  function applyRdfAccessScope(query, scope) {
@@ -161,21 +167,51 @@ function scopeOptionalGroup(group, scope, state) {
161
167
  };
162
168
  }
163
169
  function scopePattern(pattern, filters, scope, state) {
170
+ const sourceScope = scopeFactSources(pattern.sourceScope, scope);
164
171
  const graph = pattern.graph ?? { $startsWith: scope.basePath };
165
172
  if (isVariable(graph)) {
166
173
  addGraphAccessFilters(filters, graph.variable, scope);
167
- return pattern.graph ? pattern : { ...pattern, graph };
174
+ return {
175
+ ...pattern,
176
+ ...(pattern.graph ? {} : { graph }),
177
+ ...(sourceScope ? { sourceScope } : {}),
178
+ };
168
179
  }
169
180
  if ((0, types_1.isTerm)(graph)) {
181
+ if (graph.termType === 'DefaultGraph') {
182
+ const defaultGraphSourceScope = defaultGraphFactSources(pattern.sourceScope, scope);
183
+ if (defaultGraphSourceScope === false) {
184
+ return { ...pattern, graph: state.impossibleGraph, ...(sourceScope ? { sourceScope } : {}) };
185
+ }
186
+ return scope.allowedGraphUrls?.length
187
+ ? { ...pattern, graph: state.impossibleGraph, ...(sourceScope ? { sourceScope } : {}) }
188
+ : { ...pattern, ...(defaultGraphSourceScope ? { sourceScope: defaultGraphSourceScope } : {}) };
189
+ }
170
190
  return rdfAccessGraphAllowed(graph.value, scope)
171
- ? pattern
172
- : { ...pattern, graph: state.impossibleGraph };
191
+ ? { ...pattern, ...(sourceScope ? { sourceScope } : {}) }
192
+ : { ...pattern, graph: state.impossibleGraph, ...(sourceScope ? { sourceScope } : {}) };
173
193
  }
174
194
  return {
175
195
  ...pattern,
176
196
  graph: scopeGraphOperators(graph, scope, state.impossibleGraph),
197
+ ...(sourceScope ? { sourceScope } : {}),
177
198
  };
178
199
  }
200
+ function defaultGraphFactSources(existing, scope) {
201
+ const sourcePrefix = intersectSourcePrefix(existing?.sourcePrefix, scope.basePath);
202
+ if (sourcePrefix === false) {
203
+ return false;
204
+ }
205
+ const defaultGraphScope = {
206
+ ...scope,
207
+ deniedSourceUrls: unionStringArrays(scope.deniedSourceUrls, scope.deniedGraphUrls),
208
+ deniedSourcePrefixes: unionStringArrays(scope.deniedSourcePrefixes, scope.deniedGraphPrefixes),
209
+ };
210
+ return scopeFactSources({
211
+ ...existing,
212
+ ...(sourcePrefix ? { sourcePrefix } : {}),
213
+ }, defaultGraphScope);
214
+ }
179
215
  function scopeGraphOperators(graph, scope, impossibleGraph) {
180
216
  const operators = { ...graph };
181
217
  const prefix = intersectSourcePrefix(typeof operators.$startsWith === 'string' ? operators.$startsWith : undefined, scope.basePath);
@@ -276,8 +312,8 @@ function unionTermArrays(existing, incoming) {
276
312
  }
277
313
  function scopeSearchSources(existing, scope) {
278
314
  const prefix = intersectSourcePrefix(existing?.sourcePrefix, scope.basePath);
279
- const deniedPrefixes = unionStringArrays(existing?.deniedSourcePrefixes, scope.deniedGraphPrefixes);
280
- const deniedSources = unionStringArrays(existing?.deniedSources, scope.deniedGraphUrls);
315
+ const deniedPrefixes = unionStringArrays(unionStringArrays(existing?.deniedSourcePrefixes, scope.deniedGraphPrefixes), scope.deniedSourcePrefixes);
316
+ const deniedSources = unionStringArrays(unionStringArrays(existing?.deniedSources, scope.deniedGraphUrls), scope.deniedSourceUrls);
281
317
  if (prefix === false) {
282
318
  return {
283
319
  ...existing,
@@ -286,9 +322,8 @@ function scopeSearchSources(existing, scope) {
286
322
  deniedSourcePrefixes: deniedPrefixes,
287
323
  };
288
324
  }
289
- const allowedFromScope = scope.allowedGraphUrls
290
- ? scope.allowedGraphUrls.filter((source) => sourceMatchesPrefix(source, prefix))
291
- : undefined;
325
+ const allowedFromScope = (scope.allowedSourceUrls ?? scope.allowedGraphUrls)
326
+ ?.filter((source) => sourceMatchesPrefix(source, prefix));
292
327
  const allowedSources = filterStringsByPrefix(intersectStringArrays(existing?.allowedSources, allowedFromScope), prefix);
293
328
  return {
294
329
  ...existing,
@@ -299,6 +334,33 @@ function scopeSearchSources(existing, scope) {
299
334
  ...(deniedPrefixes ? { deniedSourcePrefixes: deniedPrefixes } : {}),
300
335
  };
301
336
  }
337
+ function scopeFactSources(existing, scope) {
338
+ const prefix = existing?.sourcePrefix;
339
+ const deniedPrefixes = nonEmptyStrings(unionStringArrays(existing?.deniedSourcePrefixes, scope.deniedSourcePrefixes));
340
+ const deniedSources = nonEmptyStrings(unionStringArrays(existing?.deniedSources, scope.deniedSourceUrls));
341
+ // An empty access-scope allow-list means that no source restriction was
342
+ // resolved. An explicitly empty pattern sourceScope remains fail-closed via
343
+ // existing?.allowedSources.
344
+ const allowedFromScope = scope.allowedSourceUrls?.length
345
+ ? scope.allowedSourceUrls
346
+ : undefined;
347
+ const allowedSources = filterStringsByPrefix(intersectStringArrays(existing?.allowedSources, allowedFromScope), prefix);
348
+ const hasAllowedRestriction = existing?.allowedSources !== undefined || allowedFromScope !== undefined;
349
+ if (!existing
350
+ && !prefix
351
+ && !hasAllowedRestriction
352
+ && !deniedSources
353
+ && !deniedPrefixes) {
354
+ return undefined;
355
+ }
356
+ return {
357
+ ...existing,
358
+ ...(prefix ? { sourcePrefix: prefix } : {}),
359
+ ...(hasAllowedRestriction && allowedSources !== undefined ? { allowedSources } : {}),
360
+ ...(deniedSources ? { deniedSources } : {}),
361
+ ...(deniedPrefixes ? { deniedSourcePrefixes: deniedPrefixes } : {}),
362
+ };
363
+ }
302
364
  function intersectSourcePrefix(left, right) {
303
365
  if (!left) {
304
366
  return right;
@@ -342,4 +404,7 @@ function sourceMatchesPrefix(source, prefix) {
342
404
  function uniqueStrings(values) {
343
405
  return [...new Set(values.filter((value) => value.length > 0))].sort();
344
406
  }
407
+ function nonEmptyStrings(values) {
408
+ return values && values.length > 0 ? values : undefined;
409
+ }
345
410
  //# sourceMappingURL=RdfAccessScope.js.map
@@ -18,6 +18,10 @@
18
18
  "@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_mode",
19
19
  "memberFieldName": "mode"
20
20
  },
21
+ {
22
+ "@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_resolved",
23
+ "memberFieldName": "resolved"
24
+ },
21
25
  {
22
26
  "@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_principal",
23
27
  "memberFieldName": "principal"
@@ -34,6 +38,18 @@
34
38
  "@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_deniedGraphPrefixes",
35
39
  "memberFieldName": "deniedGraphPrefixes"
36
40
  },
41
+ {
42
+ "@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_allowedSourceUrls",
43
+ "memberFieldName": "allowedSourceUrls"
44
+ },
45
+ {
46
+ "@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_deniedSourceUrls",
47
+ "memberFieldName": "deniedSourceUrls"
48
+ },
49
+ {
50
+ "@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_deniedSourcePrefixes",
51
+ "memberFieldName": "deniedSourcePrefixes"
52
+ },
37
53
  {
38
54
  "@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_version",
39
55
  "memberFieldName": "version"
@@ -0,0 +1,14 @@
1
+ import type { Source, Stream, Term } from '@rdfjs/types';
2
+ import { type RdfAccessScope } from './RdfAccessScope';
3
+ import type { RdfEngineLike } from './types';
4
+ export interface RdfEngineRdfJsSourceOptions {
5
+ accessScope?: RdfAccessScope;
6
+ signal?: AbortSignal;
7
+ }
8
+ export declare class RdfEngineRdfJsSource implements Source {
9
+ private readonly rdfEngine;
10
+ private readonly options;
11
+ constructor(rdfEngine: RdfEngineLike, options?: RdfEngineRdfJsSourceOptions);
12
+ match(subject?: Term | null, predicate?: Term | null, object?: Term | null, graph?: Term | null): Stream;
13
+ countQuads(subject?: Term | null, predicate?: Term | null, object?: Term | null, graph?: Term | null): Promise<number>;
14
+ }
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RdfEngineRdfJsSource = void 0;
4
+ const asynciterator_1 = require("asynciterator");
5
+ const n3_1 = require("n3");
6
+ const RdfAccessScope_1 = require("./RdfAccessScope");
7
+ const { quad, defaultGraph } = n3_1.DataFactory;
8
+ class RdfEngineRdfJsSource {
9
+ constructor(rdfEngine, options = {}) {
10
+ this.rdfEngine = rdfEngine;
11
+ this.options = options;
12
+ }
13
+ match(subject, predicate, object, graph) {
14
+ return new RdfEngineMatchIterator(this.rdfEngine, {
15
+ subject,
16
+ predicate,
17
+ object,
18
+ graph,
19
+ }, this.options);
20
+ }
21
+ async countQuads(subject, predicate, object, graph) {
22
+ return executeCount(this.rdfEngine, {
23
+ subject,
24
+ predicate,
25
+ object,
26
+ graph,
27
+ }, this.options);
28
+ }
29
+ }
30
+ exports.RdfEngineRdfJsSource = RdfEngineRdfJsSource;
31
+ class RdfEngineMatchIterator extends asynciterator_1.BufferedIterator {
32
+ constructor(rdfEngine, terms, options) {
33
+ super({ autoStart: false });
34
+ this.rdfEngine = rdfEngine;
35
+ this.terms = terms;
36
+ this.options = options;
37
+ this.started = false;
38
+ this.abort = () => this.destroy(createAbortError(options.signal));
39
+ options.signal?.addEventListener('abort', this.abort, { once: true });
40
+ }
41
+ _read(_count, done) {
42
+ if (this.started) {
43
+ done();
44
+ return;
45
+ }
46
+ this.started = true;
47
+ executeMatch(this.rdfEngine, this.terms, this.options)
48
+ .then((quads) => {
49
+ for (const item of quads) {
50
+ this._push(item);
51
+ }
52
+ this.close();
53
+ done();
54
+ })
55
+ .catch((error) => {
56
+ this.destroy(error instanceof Error ? error : new Error(String(error)));
57
+ done();
58
+ });
59
+ }
60
+ _destroy(cause, callback) {
61
+ this.options.signal?.removeEventListener('abort', this.abort);
62
+ super._destroy(cause, callback);
63
+ }
64
+ }
65
+ const SLOT_NAMES = ['subject', 'predicate', 'object', 'graph'];
66
+ async function executeMatch(rdfEngine, terms, options) {
67
+ const select = SLOT_NAMES.filter((slot) => isUnboundMatchTerm(terms[slot]));
68
+ const result = await queryWithAbort(rdfEngine, (0, RdfAccessScope_1.applyRdfAccessScope)({
69
+ patterns: [matchPattern(terms)],
70
+ select,
71
+ }, options.accessScope), options.signal);
72
+ assertNotAborted(options.signal);
73
+ return result.bindings.map((row) => {
74
+ assertNotAborted(options.signal);
75
+ return quad(requireQuadSubject(isUnboundMatchTerm(terms.subject) ? requireBinding(row, 'subject') : terms.subject), requireQuadPredicate(isUnboundMatchTerm(terms.predicate) ? requireBinding(row, 'predicate') : terms.predicate), requireQuadObject(isUnboundMatchTerm(terms.object) ? requireBinding(row, 'object') : terms.object), requireQuadGraph(isUnboundMatchTerm(terms.graph) ? (row.graph ?? defaultGraph()) : terms.graph));
76
+ });
77
+ }
78
+ async function executeCount(rdfEngine, terms, options) {
79
+ const countSlot = 'count';
80
+ const result = await queryWithAbort(rdfEngine, (0, RdfAccessScope_1.applyRdfAccessScope)({
81
+ patterns: [matchPattern(terms)],
82
+ select: [countSlot],
83
+ aggregates: [{ type: 'count', as: countSlot }],
84
+ }, options.accessScope), options.signal);
85
+ const count = Number(result.bindings[0]?.[countSlot]?.value ?? result.count);
86
+ if (!Number.isSafeInteger(count) || count < 0) {
87
+ throw new Error('RDF/JS source count query returned an invalid count');
88
+ }
89
+ return count;
90
+ }
91
+ function matchPattern(terms) {
92
+ return {
93
+ subject: termPattern(terms.subject, 'subject'),
94
+ predicate: termPattern(terms.predicate, 'predicate'),
95
+ object: termPattern(terms.object, 'object'),
96
+ graph: termPattern(terms.graph, 'graph'),
97
+ };
98
+ }
99
+ function queryWithAbort(rdfEngine, query, signal) {
100
+ assertNotAborted(signal);
101
+ if (!signal) {
102
+ return Promise.resolve(rdfEngine.query(query));
103
+ }
104
+ return new Promise((resolve, reject) => {
105
+ let settled = false;
106
+ const settle = (complete) => {
107
+ if (settled)
108
+ return;
109
+ settled = true;
110
+ signal.removeEventListener('abort', onAbort);
111
+ complete();
112
+ };
113
+ const onAbort = () => settle(() => reject(createAbortError(signal)));
114
+ signal.addEventListener('abort', onAbort, { once: true });
115
+ if (signal.aborted) {
116
+ onAbort();
117
+ return;
118
+ }
119
+ Promise.resolve()
120
+ .then(() => {
121
+ assertNotAborted(signal);
122
+ return rdfEngine.query(query);
123
+ })
124
+ .then((result) => settle(() => resolve(result)), (error) => settle(() => reject(error)));
125
+ });
126
+ }
127
+ function termPattern(term, variable) {
128
+ if (isUnboundMatchTerm(term)) {
129
+ return { variable };
130
+ }
131
+ return term;
132
+ }
133
+ function isUnboundMatchTerm(term) {
134
+ return !term || term.termType === 'Variable';
135
+ }
136
+ function requireBinding(row, slot) {
137
+ const term = row[slot];
138
+ if (!term) {
139
+ throw new Error(`RDF/JS source query result is missing ${slot} binding`);
140
+ }
141
+ return term;
142
+ }
143
+ function requireQuadSubject(term) {
144
+ if (term.termType === 'NamedNode' || term.termType === 'BlankNode') {
145
+ return term;
146
+ }
147
+ throw new Error(`RDF/JS source query result has invalid subject term type ${term.termType}`);
148
+ }
149
+ function requireQuadPredicate(term) {
150
+ if (term.termType === 'NamedNode') {
151
+ return term;
152
+ }
153
+ throw new Error(`RDF/JS source query result has invalid predicate term type ${term.termType}`);
154
+ }
155
+ function requireQuadObject(term) {
156
+ if (term.termType === 'NamedNode'
157
+ || term.termType === 'BlankNode'
158
+ || term.termType === 'Literal') {
159
+ return term;
160
+ }
161
+ throw new Error(`RDF/JS source query result has invalid object term type ${term.termType}`);
162
+ }
163
+ function requireQuadGraph(term) {
164
+ if (term.termType === 'DefaultGraph' || term.termType === 'NamedNode' || term.termType === 'BlankNode') {
165
+ return term;
166
+ }
167
+ throw new Error(`RDF/JS source query result has invalid graph term type ${term.termType}`);
168
+ }
169
+ function assertNotAborted(signal) {
170
+ if (signal?.aborted) {
171
+ throw createAbortError(signal);
172
+ }
173
+ }
174
+ function createAbortError(signal) {
175
+ return signal?.reason instanceof Error
176
+ ? signal.reason
177
+ : new DOMException('RDF/JS source match aborted', 'AbortError');
178
+ }
179
+ //# sourceMappingURL=RdfEngineRdfJsSource.js.map
@@ -1,7 +1,9 @@
1
1
  import type { Quad } from '@rdfjs/types';
2
+ import { type SqliteDatabase } from '../SqliteRuntime';
2
3
  import type { QuintPattern } from '../quint/types';
3
- import type { RdfCardinalityEstimate, RdfCardinalityDistributions, RdfIndexStats, RdfLiteralDatatypeDistribution, RdfIndexPutOptions, RdfIndexSpaceObject, RdfQuadJoinAggregateOptions, RdfQuadJoinCountOptions, RdfQuadJoinGroupAggregateOptions, RdfQuadJoinOptions, RdfQuadJoinPattern, RdfQuadJoinScanResult, RdfQuadTupleConstraintSource, RdfQuadIndexOptions, RdfQuadIndexScanResult, RdfQuadScanOptions, RdfPatternQuery, RdfSourceInput, RdfTermRewriteInput, RdfTermRewriteResult } from './types';
4
+ import type { RdfCardinalityEstimate, RdfCardinalityDistributions, RdfIndexStats, RdfLiteralDatatypeDistribution, RdfIndexPutOptions, RdfIndexSpaceObject, RdfQuadJoinAggregateOptions, RdfQuadJoinCountOptions, RdfQuadJoinGroupAggregateOptions, RdfQuadJoinOptions, RdfQuadJoinPattern, RdfQuadJoinScanResult, RdfQuadTupleConstraintSource, RdfQuadIndexOptions, RdfQuadIndexScanResult, RdfQuadScanOptions, RdfPatternQuery, RdfSourceInput, RdfStoragePattern, RdfTermRewriteInput, RdfTermRewriteResult } from './types';
4
5
  type PatternKey = 'graph' | 'subject' | 'predicate' | 'object';
6
+ export declare function assertRdfFactsSchemaCompatible(db: SqliteDatabase): void;
5
7
  export declare class RdfQuadIndex {
6
8
  private readonly options;
7
9
  private readonly sqliteRuntime;
@@ -27,10 +29,8 @@ export declare class RdfQuadIndex {
27
29
  rewriteTerms(input: RdfTermRewriteInput): RdfTermRewriteResult;
28
30
  private deleteInternal;
29
31
  dataVersion(): number;
30
- migrationState(name: string): string | undefined;
31
- setMigrationState(name: string, state: string): void;
32
- scan(pattern: QuintPattern | RdfPatternQuery, options?: RdfQuadScanOptions): RdfQuadIndexScanResult;
33
- scanWithTupleConstraints(pattern: QuintPattern, tupleSource: RdfQuadTupleConstraintSource, options?: RdfQuadScanOptions): RdfQuadIndexScanResult;
32
+ scan(pattern: RdfStoragePattern | RdfPatternQuery, options?: RdfQuadScanOptions): RdfQuadIndexScanResult;
33
+ scanWithTupleConstraints(pattern: RdfStoragePattern, tupleSource: RdfQuadTupleConstraintSource, options?: RdfQuadScanOptions): RdfQuadIndexScanResult;
34
34
  joinPatterns(patterns: RdfQuadJoinPattern[], options?: RdfQuadJoinOptions): RdfQuadJoinScanResult;
35
35
  countJoinPatterns(patterns: RdfQuadJoinPattern[], options: RdfQuadJoinCountOptions): RdfQuadJoinScanResult;
36
36
  aggregateJoinPatterns(patterns: RdfQuadJoinPattern[], options: RdfQuadJoinAggregateOptions): RdfQuadJoinScanResult;
@@ -49,10 +49,10 @@ export declare class RdfQuadIndex {
49
49
  private buildGroupAggregateOrderScope;
50
50
  private matchToJoinCondition;
51
51
  private joinRowsToBindings;
52
- count(pattern: QuintPattern): number;
53
- estimateCardinality(pattern: QuintPattern): RdfCardinalityEstimate;
54
- countDistinct(pattern: QuintPattern, distinctKey: PatternKey): RdfCardinalityEstimate;
55
- countDistinctTuple(pattern: QuintPattern, distinctKeys: PatternKey[]): RdfCardinalityEstimate;
52
+ count(pattern: RdfStoragePattern): number;
53
+ estimateCardinality(pattern: RdfStoragePattern): RdfCardinalityEstimate;
54
+ countDistinct(pattern: RdfStoragePattern, distinctKey: PatternKey): RdfCardinalityEstimate;
55
+ countDistinctTuple(pattern: RdfStoragePattern, distinctKeys: PatternKey[]): RdfCardinalityEstimate;
56
56
  stats(): RdfIndexStats;
57
57
  cardinalityDistributions(limit?: number): RdfCardinalityDistributions;
58
58
  literalDatatypeDistribution(): RdfLiteralDatatypeDistribution[];
@@ -66,15 +66,14 @@ export declare class RdfQuadIndex {
66
66
  collectSpaceObjects(): RdfIndexSpaceObject[];
67
67
  private estimateSpaceObjectsFromSchema;
68
68
  private estimatePageSize;
69
- private initializeSchema;
70
- private prepareSchemaVersion;
71
- private ensureMetadataTable;
72
- private dropIndexSchema;
69
+ private prepareFactsSchema;
70
+ private createFreshFactsSchema;
71
+ private hasExistingFactsSchema;
73
72
  private bumpDataVersion;
74
- private setMetadataValue;
75
73
  private upsertSource;
76
74
  private updateSourceRow;
77
75
  private buildWhereClause;
76
+ private addSourceScopeConditions;
78
77
  private matchToCondition;
79
78
  private termTypeConditionJoin;
80
79
  private languageConditionJoin;