@undefineds.co/xpod 0.3.75 → 0.4.0-rc.140

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 (362) 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 +20 -1
  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/search/RdfSearchIntentSink.d.ts +17 -0
  70. package/dist/search/RdfSearchIntentSink.js +46 -0
  71. package/dist/search/RdfSearchIntentSink.jsonld +47 -0
  72. package/dist/search/RdfSearchReconciliationRepository.d.ts +81 -0
  73. package/dist/search/RdfSearchReconciliationRepository.js +771 -0
  74. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.d.ts +15 -0
  75. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.js +48 -0
  76. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.jsonld +99 -0
  77. package/dist/solidfs/RdfIndexSolidFsSyncer.js +22 -4
  78. package/dist/solidfs/SolidFsSyncJournal.d.ts +7 -1
  79. package/dist/solidfs/SolidFsSyncJournal.js +20 -5
  80. package/dist/solidfs/SolidFsSyncJournal.jsonld +43 -0
  81. package/dist/solidfs/index.d.ts +1 -0
  82. package/dist/solidfs/index.js +1 -0
  83. package/dist/storage/SparqlUpdateResourceStore.js +3 -3
  84. package/dist/storage/accessors/MixDataAccessor.d.ts +21 -29
  85. package/dist/storage/accessors/MixDataAccessor.js +182 -399
  86. package/dist/storage/accessors/MixDataAccessor.jsonld +109 -87
  87. package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +12 -8
  88. package/dist/storage/accessors/SolidRdfDataAccessor.js +189 -59
  89. package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +14 -29
  90. package/dist/storage/rdf/LocalQleverNativeSparqlClient.d.ts +55 -0
  91. package/dist/storage/rdf/LocalQleverNativeSparqlClient.js +519 -0
  92. package/dist/storage/rdf/LocalQleverNativeSparqlClient.jsonld +314 -0
  93. package/dist/storage/rdf/PostgresRdfEngine.d.ts +3 -1
  94. package/dist/storage/rdf/PostgresRdfEngine.js +111 -74
  95. package/dist/storage/rdf/PostgresRdfEngine.jsonld +12 -22
  96. package/dist/storage/rdf/PostgresRdfSchemaValidation.d.ts +8 -0
  97. package/dist/storage/rdf/PostgresRdfSchemaValidation.js +82 -0
  98. package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +6 -3
  99. package/dist/storage/rdf/PostgresRdfTextIndex.js +158 -80
  100. package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +16 -4
  101. package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +4 -5
  102. package/dist/storage/rdf/PostgresRdfVectorIndex.js +124 -120
  103. package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +14 -18
  104. package/dist/storage/rdf/QleverSparqlEngine.d.ts +35 -0
  105. package/dist/storage/rdf/QleverSparqlEngine.js +185 -0
  106. package/dist/storage/rdf/QleverSparqlEngine.jsonld +70 -0
  107. package/dist/storage/rdf/Rdf3xIndex.js +20 -16
  108. package/dist/storage/rdf/RdfAccessScope.d.ts +4 -0
  109. package/dist/storage/rdf/RdfAccessScope.js +74 -9
  110. package/dist/storage/rdf/RdfAccessScope.jsonld +16 -0
  111. package/dist/storage/rdf/RdfEngineRdfJsSource.d.ts +14 -0
  112. package/dist/storage/rdf/RdfEngineRdfJsSource.js +179 -0
  113. package/dist/storage/rdf/RdfQuadIndex.d.ts +13 -14
  114. package/dist/storage/rdf/RdfQuadIndex.js +286 -99
  115. package/dist/storage/rdf/RdfQuadIndex.jsonld +10 -22
  116. package/dist/storage/rdf/RdfQueryExecutor.js +10 -4
  117. package/dist/storage/rdf/RdfQuerySparqlEngine.d.ts +33 -0
  118. package/dist/storage/rdf/RdfQuerySparqlEngine.js +215 -0
  119. package/dist/storage/rdf/RdfQuerySparqlEngine.jsonld +78 -0
  120. package/dist/storage/rdf/RdfSparqlAdapter.d.ts +0 -4
  121. package/dist/storage/rdf/RdfSparqlAdapter.js +75 -173
  122. package/dist/storage/rdf/RdfSparqlBoundary.d.ts +37 -0
  123. package/dist/storage/rdf/RdfSparqlBoundary.js +247 -0
  124. package/dist/storage/rdf/RdfSparqlSerialization.d.ts +3 -0
  125. package/dist/storage/rdf/RdfSparqlSerialization.js +19 -0
  126. package/dist/storage/rdf/RdfSqliteConnection.d.ts +7 -0
  127. package/dist/storage/rdf/RdfSqliteConnection.js +23 -0
  128. package/dist/storage/rdf/RdfTermDictionary.d.ts +0 -8
  129. package/dist/storage/rdf/RdfTermDictionary.js +0 -136
  130. package/dist/storage/rdf/RdfTermDictionary.jsonld +0 -32
  131. package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
  132. package/dist/storage/rdf/RdfTermSemantics.js +29 -0
  133. package/dist/storage/rdf/RdfTextIndex.d.ts +5 -6
  134. package/dist/storage/rdf/RdfTextIndex.js +187 -115
  135. package/dist/storage/rdf/RdfTextIndex.jsonld +10 -14
  136. package/dist/storage/rdf/RdfVectorIndex.d.ts +4 -4
  137. package/dist/storage/rdf/RdfVectorIndex.js +156 -233
  138. package/dist/storage/rdf/RdfVectorIndex.jsonld +10 -14
  139. package/dist/storage/rdf/SolidRdfEngine.d.ts +16 -21
  140. package/dist/storage/rdf/SolidRdfEngine.js +28 -308
  141. package/dist/storage/rdf/SolidRdfEngine.jsonld +26 -148
  142. package/dist/storage/rdf/XpodComunicaQueryEngine.d.ts +10 -0
  143. package/dist/storage/rdf/XpodComunicaQueryEngine.js +72 -0
  144. package/dist/storage/rdf/index.d.ts +7 -6
  145. package/dist/storage/rdf/index.js +17 -12
  146. package/dist/storage/rdf/models-benchmark.d.ts +5 -1
  147. package/dist/storage/rdf/models-benchmark.js +17 -19
  148. package/dist/storage/rdf/types.d.ts +68 -6
  149. package/dist/storage/rdf/types.jsonld +69 -0
  150. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +13 -7
  151. package/dist/storage/sparql/SubgraphQueryEngine.js +6 -6
  152. package/dist/storage/vector/index.d.ts +0 -1
  153. package/dist/storage/vector/index.js +0 -1
  154. package/dist/terminal/AclPermissionService.d.ts +4 -5
  155. package/dist/terminal/AclPermissionService.js +55 -75
  156. package/dist/terminal/TerminalSessionManager.d.ts +3 -2
  157. package/dist/terminal/TerminalSessionManager.js +3 -3
  158. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  159. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  160. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +29 -26
  161. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  162. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  163. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +9 -4
  164. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  165. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts +1 -0
  166. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts.map +1 -1
  167. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js +6 -3
  168. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js.map +1 -1
  169. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +3 -3
  170. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  171. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +6 -0
  172. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  173. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +13 -3
  174. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  175. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts +1 -0
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts.map +1 -1
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +31 -0
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js +5 -0
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js.map +1 -1
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts +1 -0
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts.map +1 -1
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js +45 -0
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js.map +1 -1
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +29 -26
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +9 -4
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +1 -0
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts.map +1 -1
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js +6 -3
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js.map +1 -1
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +3 -3
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +6 -0
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +14 -4
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +1 -0
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts.map +1 -1
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +30 -0
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js +5 -0
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +1 -0
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts.map +1 -1
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js +45 -0
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js.map +1 -1
  214. package/node_modules/@undefineds.co/drizzle-solid/package.json +5 -4
  215. package/package.json +22 -8
  216. package/static/app/assets/{index-36TJKN-3.js → index-BikOyGPu.js} +34 -34
  217. package/static/app/assets/inrupt-smoke.js +2 -2
  218. package/static/app/assets/main.css +1 -1
  219. package/static/app/assets/main.js +11 -11
  220. package/static/auth-callback/assets/{AiConfigContext-BvBdu_A3.js → AiConfigContext-iQ74JmRZ.js} +1 -1
  221. package/static/auth-callback/assets/{AiConfigPage-BpDw4jco.js → AiConfigPage-BBDKE1gJ.js} +1 -1
  222. package/static/auth-callback/assets/{DocumentProcessingPanel-BmZ_jzRr.js → DocumentProcessingPanel-D9NntIEK.js} +1 -1
  223. package/static/auth-callback/assets/{IndexLifecyclePanel-BfQBjN4z.js → IndexLifecyclePanel-BG07yBdA.js} +1 -1
  224. package/static/auth-callback/assets/{IndexSubjectPanel-BlsnatPt.js → IndexSubjectPanel-B-bUnU3G.js} +1 -1
  225. package/static/auth-callback/assets/{ModelAssignmentsPanel-KA6Mdndz.js → ModelAssignmentsPanel-C7I-Nqy-.js} +1 -1
  226. package/static/auth-callback/assets/{ModelsPage-C7jymyIY.js → ModelsPage-C2hxyrmI.js} +1 -1
  227. package/static/auth-callback/assets/{NetworkPage-k2ShktNm.js → NetworkPage-IGIc2q1Y.js} +1 -1
  228. package/static/auth-callback/assets/{PaneListHeader-mLMe_dvU.js → PaneListHeader-CebuPl_g.js} +1 -1
  229. package/static/auth-callback/assets/{SearchIndexingPanel-CqV9um_t.js → SearchIndexingPanel-6HnZSg00.js} +1 -1
  230. package/static/auth-callback/assets/{StatusSubjectPanel-BgMBTbr2.js → StatusSubjectPanel-votxBkr5.js} +1 -1
  231. package/static/auth-callback/assets/{StatusWorkspace-zbSyhdG2.js → StatusWorkspace-Cksl61zX.js} +1 -1
  232. package/static/auth-callback/assets/{SystemSettingsPage-CtW79nW6.js → SystemSettingsPage-CKZFUaZT.js} +1 -1
  233. package/static/auth-callback/assets/{SystemSettingsSubjectPanel-ZOPKYUtZ.js → SystemSettingsSubjectPanel-pzfUcCf4.js} +1 -1
  234. package/static/auth-callback/assets/{activity-BQ-CQE3O.js → activity-DQL6kZHZ.js} +1 -1
  235. package/static/auth-callback/assets/auth-callback-B_s8Ye5Z.css +1 -0
  236. package/static/auth-callback/assets/{auth-callback-Htr_CB_g.js → auth-callback-BxQMd_Mc.js} +39 -39
  237. package/static/auth-callback/assets/{badge-D5SGTJeO.js → badge-DvW4LUHH.js} +1 -1
  238. package/static/auth-callback/assets/{download-DK183Ldo.js → download-Cx_uaCR1.js} +1 -1
  239. package/static/auth-callback/assets/{external-link-LDHy_4bn.js → external-link-D6L6ExH1.js} +1 -1
  240. package/static/auth-callback/assets/{index-BWrvgHqK.js → index-BAS_hxGu.js} +1 -1
  241. package/static/auth-callback/assets/{index-2WmlePQ9.js → index-BmBjpCoD.js} +1 -1
  242. package/static/auth-callback/assets/{index-browser-DUd4E4-x.js → index-browser-pdn4D3M4.js} +1 -1
  243. package/static/auth-callback/assets/{key-round-ibX79Kr-.js → key-round-BTBzOggq.js} +1 -1
  244. package/static/auth-callback/assets/{rotate-ccw-B2_VMaiX.js → rotate-ccw-eV7Cx8sB.js} +1 -1
  245. package/static/auth-callback/assets/{skeleton-F4nrpycc.js → skeleton-Bg4GYgBM.js} +1 -1
  246. package/static/auth-callback/assets/{waypoints-DImIq93f.js → waypoints-CJbydf0B.js} +1 -1
  247. package/static/auth-callback/assets/{workspace-layout-IVCSYU21.js → workspace-layout-C6Hh8Xf-.js} +1 -1
  248. package/static/auth-callback/auth-callback.html +2 -2
  249. package/static/dashboard/assets/{AiConfigContext-cjjfYTo9.js → AiConfigContext-BkJj28vK.js} +1 -1
  250. package/static/dashboard/assets/{AiConfigPage-CO0DSD_j.js → AiConfigPage-Cs9B4uyp.js} +1 -1
  251. package/static/dashboard/assets/{DocumentProcessingPanel-DMGnH8Oj.js → DocumentProcessingPanel-BBWmM7mS.js} +1 -1
  252. package/static/dashboard/assets/{IndexLifecyclePanel-DSkIOCL5.js → IndexLifecyclePanel-D5xGTT_i.js} +1 -1
  253. package/static/dashboard/assets/{IndexSubjectPanel-qWN_DbAp.js → IndexSubjectPanel-d-mjDthn.js} +1 -1
  254. package/static/dashboard/assets/{ModelAssignmentsPanel-DCf83uM3.js → ModelAssignmentsPanel-C-OLNbqf.js} +1 -1
  255. package/static/dashboard/assets/{ModelsPage-CMnvSrl5.js → ModelsPage-CBrLjuUn.js} +1 -1
  256. package/static/dashboard/assets/{NetworkPage-C8Gkwclb.js → NetworkPage-BlYk8L1z.js} +1 -1
  257. package/static/dashboard/assets/{PaneListHeader-BtU_8cDK.js → PaneListHeader-A5oZJQC0.js} +1 -1
  258. package/static/dashboard/assets/{SearchIndexingPanel-DEn12pNU.js → SearchIndexingPanel-Bs1j8ZP2.js} +1 -1
  259. package/static/dashboard/assets/{StatusSubjectPanel-B1_ILg2d.js → StatusSubjectPanel-Qao3orvi.js} +1 -1
  260. package/static/dashboard/assets/{StatusWorkspace-BG6nMNCo.js → StatusWorkspace-rDM0yDtk.js} +1 -1
  261. package/static/dashboard/assets/{SystemSettingsPage-BnWYIXaM.js → SystemSettingsPage-FPRPkKaR.js} +1 -1
  262. package/static/dashboard/assets/{SystemSettingsSubjectPanel-C_mYVPWb.js → SystemSettingsSubjectPanel-CjlJAxnX.js} +1 -1
  263. package/static/dashboard/assets/{activity-DYJ7PdRl.js → activity-CJ5K6hYC.js} +1 -1
  264. package/static/dashboard/assets/{badge-BIaZco1P.js → badge-L-NMOi1P.js} +1 -1
  265. package/static/dashboard/assets/dashboard-B_s8Ye5Z.css +1 -0
  266. package/static/dashboard/assets/{dashboard-Dl40_MEa.js → dashboard-DyjAyYxx.js} +34 -34
  267. package/static/dashboard/assets/{download-By16k9VK.js → download-Bi4u5K5B.js} +1 -1
  268. package/static/dashboard/assets/{external-link-B92xOG_d.js → external-link-jmhLDfvT.js} +1 -1
  269. package/static/dashboard/assets/{index-BajZpJ48.js → index-BoaGJBxf.js} +1 -1
  270. package/static/dashboard/assets/{index-wsVPom_x.js → index-C22TAEi4.js} +1 -1
  271. package/static/dashboard/assets/{key-round-Clo5FOwA.js → key-round-Dk1VmMrn.js} +1 -1
  272. package/static/dashboard/assets/{rotate-ccw-smWSfi1L.js → rotate-ccw-DIfLsSwi.js} +1 -1
  273. package/static/dashboard/assets/{skeleton-BrTaGeJw.js → skeleton-BGPJMHb-.js} +1 -1
  274. package/static/dashboard/assets/{waypoints-DGPQInE7.js → waypoints-CY53egpu.js} +1 -1
  275. package/static/dashboard/assets/{workspace-layout-CPU4XRmb.js → workspace-layout-CoHkcx70.js} +1 -1
  276. package/static/dashboard/dashboard.html +2 -2
  277. package/static/settings/assets/{AiConfigContext-CT29_OyW.js → AiConfigContext-BcEPlEJe.js} +1 -1
  278. package/static/settings/assets/{AiConfigPage-WIE95S28.js → AiConfigPage-D-t3ZUhg.js} +1 -1
  279. package/static/settings/assets/{DocumentProcessingPanel-KG8Sq999.js → DocumentProcessingPanel-m2SasiMO.js} +1 -1
  280. package/static/settings/assets/{IndexLifecyclePanel-iKvtHDXY.js → IndexLifecyclePanel-BNmAvx8V.js} +1 -1
  281. package/static/settings/assets/{IndexSubjectPanel-BQdSCkk4.js → IndexSubjectPanel-C5-L2AcW.js} +1 -1
  282. package/static/settings/assets/{ModelAssignmentsPanel-P8QcVB0F.js → ModelAssignmentsPanel-Cfpkf02Y.js} +1 -1
  283. package/static/settings/assets/{ModelsPage-UZkZGqor.js → ModelsPage-DZrACwVN.js} +1 -1
  284. package/static/settings/assets/{NetworkPage-Dcpcvg15.js → NetworkPage-BlrGGfqL.js} +1 -1
  285. package/static/settings/assets/{PaneListHeader--gHtZws5.js → PaneListHeader-C3TCs1RI.js} +1 -1
  286. package/static/settings/assets/{SearchIndexingPanel-DdgJSJYQ.js → SearchIndexingPanel-Cyp3CUzX.js} +1 -1
  287. package/static/settings/assets/{StatusSubjectPanel-UOxp_XVL.js → StatusSubjectPanel-gRkb8WEX.js} +1 -1
  288. package/static/settings/assets/{StatusWorkspace-CPNXuD12.js → StatusWorkspace-Dptx4Ec2.js} +1 -1
  289. package/static/settings/assets/{SystemSettingsPage-B6ySeVPw.js → SystemSettingsPage-BWgGUQbs.js} +1 -1
  290. package/static/settings/assets/{SystemSettingsSubjectPanel-I7zWmpiI.js → SystemSettingsSubjectPanel-VflUvpgC.js} +1 -1
  291. package/static/settings/assets/{activity-CFhmzahP.js → activity-D7iNhTkQ.js} +1 -1
  292. package/static/settings/assets/{badge-BBdUc5B-.js → badge-DO0r_RT4.js} +1 -1
  293. package/static/settings/assets/{download-WJE9-yxQ.js → download-CsJlNSbd.js} +1 -1
  294. package/static/settings/assets/{external-link-RKoYyCp_.js → external-link-BCR7SHme.js} +1 -1
  295. package/static/settings/assets/{index-Bq2o0Bif.js → index-Cgq16ekN.js} +1 -1
  296. package/static/settings/assets/{index-DvxneI5O.js → index-SrhQvcrU.js} +1 -1
  297. package/static/settings/assets/{index-browser-Qmo6EsFT.js → index-browser-THpcMCnz.js} +1 -1
  298. package/static/settings/assets/{key-round-r-D9sQUK.js → key-round-Dd3jk1BT.js} +1 -1
  299. package/static/settings/assets/{rotate-ccw-D3IIhbPH.js → rotate-ccw-tiL14i1d.js} +1 -1
  300. package/static/settings/assets/settings-B_s8Ye5Z.css +1 -0
  301. package/static/settings/assets/{settings-D8oDBXWg.js → settings-CVLDPejo.js} +34 -34
  302. package/static/settings/assets/{skeleton-DrL4RQuw.js → skeleton-DBxLuNgU.js} +1 -1
  303. package/static/settings/assets/{waypoints-C5sRhpJw.js → waypoints-DS3e3hv7.js} +1 -1
  304. package/static/settings/assets/{workspace-layout-B4ALmWsM.js → workspace-layout-mucrxyTK.js} +1 -1
  305. package/static/settings/settings.html +2 -2
  306. package/config/search.json +0 -66
  307. package/dist/document/HeadingChunker.jsonld +0 -41
  308. package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +0 -124
  309. package/dist/security/secret-cell/SecretCellVault.jsonld +0 -207
  310. package/dist/storage/PostgresDerivedIndexJournal.d.ts +0 -47
  311. package/dist/storage/PostgresDerivedIndexJournal.js +0 -408
  312. package/dist/storage/PostgresDerivedIndexJournal.jsonld +0 -303
  313. package/dist/storage/RdfDerivedIndexingListener.d.ts +0 -32
  314. package/dist/storage/RdfDerivedIndexingListener.js +0 -135
  315. package/dist/storage/RdfDerivedIndexingListener.jsonld +0 -228
  316. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +0 -148
  317. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +0 -436
  318. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +0 -172
  319. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +0 -102
  320. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +0 -474
  321. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +0 -192
  322. package/dist/storage/rdf/RdfSparqlAdapter.jsonld +0 -486
  323. package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +0 -59
  324. package/dist/storage/rdf/ShadowRdfQuintStore.js +0 -216
  325. package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +0 -312
  326. package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +0 -107
  327. package/dist/storage/rdf/SolidRdfSparqlEngine.js +0 -1117
  328. package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +0 -312
  329. package/dist/storage/sparql/AlgebraUtils.d.ts +0 -48
  330. package/dist/storage/sparql/AlgebraUtils.js +0 -118
  331. package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +0 -37
  332. package/dist/storage/sparql/CompatibilitySparqlEngine.js +0 -96
  333. package/dist/storage/sparql/CompatibilitySparqlEngine.jsonld +0 -123
  334. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +0 -36
  335. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +0 -124
  336. package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +0 -59
  337. package/dist/storage/sparql/ComunicaOptimizedEngine.js +0 -254
  338. package/dist/storage/sparql/ComunicaQuintEngine.d.ts +0 -143
  339. package/dist/storage/sparql/ComunicaQuintEngine.js +0 -781
  340. package/dist/storage/sparql/ExpressionEvaluator.d.ts +0 -54
  341. package/dist/storage/sparql/ExpressionEvaluator.js +0 -340
  342. package/dist/storage/sparql/FilterPushdownExtractor.d.ts +0 -74
  343. package/dist/storage/sparql/FilterPushdownExtractor.js +0 -421
  344. package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +0 -65
  345. package/dist/storage/sparql/OptimizedQuadstoreEngine.js +0 -327
  346. package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +0 -46
  347. package/dist/storage/sparql/OptimizedQuadstoreSource.js +0 -118
  348. package/dist/storage/sparql/PatternBuilder.d.ts +0 -41
  349. package/dist/storage/sparql/PatternBuilder.js +0 -118
  350. package/dist/storage/sparql/QueryOptimizer.d.ts +0 -125
  351. package/dist/storage/sparql/QueryOptimizer.js +0 -375
  352. package/dist/storage/sparql/QuintEngine.d.ts +0 -92
  353. package/dist/storage/sparql/QuintEngine.js +0 -150
  354. package/dist/storage/sparql/QuintQuerySource.d.ts +0 -241
  355. package/dist/storage/sparql/QuintQuerySource.js +0 -1069
  356. package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +0 -40
  357. package/dist/storage/sparql/SimpleSparqlExecutor.js +0 -131
  358. package/dist/storage/vector/VectorIndexingListener.d.ts +0 -114
  359. package/dist/storage/vector/VectorIndexingListener.js +0 -346
  360. package/static/auth-callback/assets/auth-callback-rWdEQY5f.css +0 -1
  361. package/static/dashboard/assets/dashboard-rWdEQY5f.css +0 -1
  362. 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;