@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
@@ -381,14 +381,16 @@
381
381
  "CombinedShorthandResolver:_resolvers_key": "urn:solid-server:default:variable:acmeRenewBeforeDays",
382
382
  "CombinedShorthandResolver:_resolvers_value": {
383
383
  "@type": "KeyExtractor",
384
- "key": "acmeRenewBeforeDays"
384
+ "key": "acmeRenewBeforeDays",
385
+ "defaultValue": 15
385
386
  }
386
387
  },
387
388
  {
388
389
  "CombinedShorthandResolver:_resolvers_key": "urn:solid-server:default:variable:acmePropagationDelayMs",
389
390
  "CombinedShorthandResolver:_resolvers_value": {
390
391
  "@type": "KeyExtractor",
391
- "key": "acmePropagationDelayMs"
392
+ "key": "acmePropagationDelayMs",
393
+ "defaultValue": 0
392
394
  }
393
395
  },
394
396
  {
@@ -16,7 +16,10 @@
16
16
  "maxTotalSessions": 100,
17
17
  "defaultTimeout": 3600,
18
18
  "maxTimeout": 86400,
19
- "defaultWorkdir": "/workspace"
19
+ "defaultWorkdir": "/workspace",
20
+ "sparqlEngine": {
21
+ "@id": "urn:undefineds:xpod:DefaultSparqlEngine"
22
+ }
20
23
  }
21
24
  ]
22
25
  }
@@ -9,6 +9,17 @@
9
9
  "./resolver.json"
10
10
  ],
11
11
  "@graph": [
12
+ {
13
+ "comment": "Close the profile-owned RDF authority after writes stop.",
14
+ "@id": "urn:solid-server:default:CleanupFinalizer",
15
+ "@type": "SequenceHandler",
16
+ "handlers": [
17
+ {
18
+ "@type": "FinalizableHandler",
19
+ "finalizable": { "@id": "urn:undefineds:xpod:SolidRdfDataAccessor" }
20
+ }
21
+ ]
22
+ },
12
23
  {
13
24
  "comment": "Core mode: server or local",
14
25
  "@id": "urn:solid-server:default:variable:edition",
@@ -20,15 +31,12 @@
20
31
  "@type": "Variable"
21
32
  },
22
33
  {
23
- "comment": "An accessor for a Quadstore",
24
- "@type": "QuadstoreSparqlDataAccessor",
25
- "@id": "urn:undefineds:xpod:QuadstoreSparqlDataAccessor",
26
- "endpoint": {
27
- "@id": "urn:solid-server:default:variable:sparqlEndpoint",
34
+ "comment": "Durable search intent sink for committed RDF/text source changes.",
35
+ "@id": "urn:undefineds:xpod:RdfSearchIntentSink",
36
+ "@type": "RdfSearchReconciliationIntentSink",
37
+ "identityDbUrl": {
38
+ "@id": "urn:solid-server:default:variable:identityDbUrl",
28
39
  "@type": "Variable"
29
- },
30
- "identifierStrategy": {
31
- "@id": "urn:solid-server:default:IdentifierStrategy"
32
40
  }
33
41
  },
34
42
  {
package/config/xpod.json CHANGED
@@ -111,34 +111,12 @@
111
111
  "@value": "./data"
112
112
  },
113
113
  {
114
- "comment": "Compatibility QuintStore instance (SQLite TEXT quints for migration/oracle paths).",
115
- "@id": "urn:undefineds:xpod:CompatibilityQuintStore",
116
- "@type": "SqliteQuintStore",
117
- "options_path": {
118
- "@id": "urn:solid-server:default:variable:sparqlEndpoint",
119
- "@type": "Variable"
120
- }
121
- },
122
- {
123
- "comment": "Compatibility write bridge that mirrors legacy quints into the term-id RDF index.",
124
- "@id": "urn:undefineds:xpod:QuintStore",
125
- "@type": "ShadowRdfQuintStore",
126
- "compatibilityStore": { "@id": "urn:undefineds:xpod:CompatibilityQuintStore" },
127
- "index_path": {
128
- "@id": "urn:solid-server:default:variable:rdfIndexPath",
129
- "@type": "Variable"
130
- },
131
- "autoOpen": true,
132
- "autoBackfill_enabled": true,
133
- "autoBackfill_clear": true,
134
- "autoBackfill_batchSize": 1000
135
- },
136
- {
137
- "comment": "VectorStore using SQLite",
114
+ "comment": "VectorStore using the canonical Local RDF SQLite file.",
138
115
  "@id": "urn:undefineds:xpod:VectorStore",
139
116
  "@type": "SqliteVectorStore",
140
117
  "options_connectionString": {
141
- "@id": "urn:solid-server:default:variable:sparqlEndpoint"
118
+ "@id": "urn:solid-server:default:variable:rdfIndexPath",
119
+ "@type": "Variable"
142
120
  }
143
121
  },
144
122
  {
@@ -151,34 +129,69 @@
151
129
  "authorizer": { "@id": "urn:solid-server:default:Authorizer" }
152
130
  },
153
131
  {
154
- "comment": "RDF term-id query engine backed by the shared local RDF index.",
132
+ "comment": "Local FTS index sharing the canonical RDF SQLite file.",
133
+ "@id": "urn:undefineds:xpod:RdfTextIndex",
134
+ "@type": "RdfTextIndex",
135
+ "options_path": {
136
+ "@id": "urn:solid-server:default:variable:rdfIndexPath",
137
+ "@type": "Variable"
138
+ }
139
+ },
140
+ {
141
+ "comment": "Local vector index sharing the canonical RDF SQLite file.",
142
+ "@id": "urn:undefineds:xpod:RdfVectorIndex",
143
+ "@type": "RdfVectorIndex",
144
+ "options_path": {
145
+ "@id": "urn:solid-server:default:variable:rdfIndexPath",
146
+ "@type": "Variable"
147
+ },
148
+ "options_defaultMetric": "cosine"
149
+ },
150
+ {
151
+ "comment": "Persistent native-only QLever process backed by the canonical RDF SQLite file.",
152
+ "@id": "urn:undefineds:xpod:LocalQleverNativeSparqlClient",
153
+ "@type": "LocalQleverNativeSparqlClient",
154
+ "options_args": [
155
+ "--sqlite-path",
156
+ {
157
+ "@id": "urn:solid-server:default:variable:rdfIndexPath",
158
+ "@type": "Variable"
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "comment": "RDF facts, FTS, VEC, and native QLever share one Local SQLite file.",
155
164
  "@id": "urn:undefineds:xpod:SolidRdfEngine",
156
165
  "@type": "SolidRdfEngine",
157
166
  "index_path": {
158
167
  "@id": "urn:solid-server:default:variable:rdfIndexPath",
159
168
  "@type": "Variable"
160
169
  },
170
+ "textIndex": {
171
+ "@id": "urn:undefineds:xpod:RdfTextIndex"
172
+ },
173
+ "vectorIndex": {
174
+ "@id": "urn:undefineds:xpod:RdfVectorIndex"
175
+ },
176
+ "nativeSparqlClient": {
177
+ "@id": "urn:undefineds:xpod:LocalQleverNativeSparqlClient"
178
+ },
161
179
  "autoOpen": true
162
180
  },
163
181
  {
164
- "comment": "Compatibility SPARQL engine backed by the shadow store; not wired into DefaultSparqlEngine by default.",
165
- "@id": "urn:undefineds:xpod:CompatibilitySparqlEngine",
166
- "@type": "QuintstoreSparqlEngine",
167
- "store": { "@id": "urn:undefineds:xpod:QuintStore" }
168
- },
169
- {
170
- "comment": "Default SPARQL engine: server-owned Pod queries use SolidRdfEngine; compatibility fallback is opt-in.",
182
+ "comment": "Default SPARQL engine: every server-owned Pod query requires native QLever.",
171
183
  "@id": "urn:undefineds:xpod:DefaultSparqlEngine",
172
- "@type": "SolidRdfSparqlEngine",
173
- "rdfEngine": { "@id": "urn:undefineds:xpod:SolidRdfEngine" },
174
- "enablePrimary": true
184
+ "@type": "QleverSparqlEngine",
185
+ "rdfEngine": { "@id": "urn:undefineds:xpod:SolidRdfEngine" }
175
186
  },
176
187
  {
177
188
  "comment": "MixDataAccessor for RDF and binary data.",
178
189
  "@id": "urn:undefineds:xpod:MixDataAccessor",
179
190
  "@type": "MixDataAccessor",
180
191
  "structuredDataAccessor": { "@id": "urn:undefineds:xpod:SolidRdfDataAccessor" },
181
- "unstructuredDataAccessor": { "@id": "urn:solid-server:default:FileDataAccessor" }
192
+ "unstructuredDataAccessor": { "@id": "urn:solid-server:default:FileDataAccessor" },
193
+ "textSearchIndexingEnabled": true,
194
+ "rdfSearchIntentSink": { "@id": "urn:undefineds:xpod:RdfSearchIntentSink" }
182
195
  },
183
196
  {
184
197
  "comment": "Default structured RDF data accessor backed directly by SolidRdfEngine.",
@@ -188,23 +201,7 @@
188
201
  "identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" }
189
202
  },
190
203
  {
191
- "comment": "Compatibility SPARQL data accessor using the legacy QuintStore bridge.",
192
- "@id": "urn:undefineds:xpod:QuintStoreSparqlDataAccessor",
193
- "@type": "QuintStoreSparqlDataAccessor",
194
- "store": { "@id": "urn:undefineds:xpod:QuintStore" },
195
- "identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" }
196
- },
197
- {
198
- "comment": "SPARQL-capable store for quadstore-backed resources",
199
- "@id": "urn:undefineds:xpod:SparqlQuadstoreResourceStore",
200
- "@type": "SparqlUpdateResourceStore",
201
- "identifierStrategy": { "@id": "urn:solid-server:default:IdentifierStrategy" },
202
- "auxiliaryStrategy": { "@id": "urn:solid-server:default:AuxiliaryStrategy" },
203
- "metadataStrategy": { "@id": "urn:solid-server:default:MetadataStrategy" },
204
- "accessor": { "@id": "urn:undefineds:xpod:MixDataAccessor" }
205
- },
206
- {
207
- "comment": "Override: ResourceStore 使用 QuintStore",
204
+ "comment": "Override: ResourceStore 使用 RDF authority accessor",
208
205
  "@type": "Override",
209
206
  "overrideInstance": { "@id": "urn:solid-server:default:ResourceStore_Backend" },
210
207
  "overrideParameters": {
@@ -0,0 +1,4 @@
1
+ import type { RdfEngineLike } from '../storage/rdf/types';
2
+ import { type PostgresPublicSemanticHarnessOptions, type SemanticConformanceReport, type SemanticFixtureCase } from './RdfSemanticConformance';
3
+ export declare function runPostgresPublicSemanticConformance(options: PostgresPublicSemanticHarnessOptions): Promise<SemanticConformanceReport>;
4
+ export declare function runPublicRdfQuerySemanticCase(engine: RdfEngineLike, testCase: SemanticFixtureCase, timeoutMs: number | undefined, authority: string): Promise<SemanticConformanceReport['results'][number]>;
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.runPostgresPublicSemanticConformance = runPostgresPublicSemanticConformance;
7
+ exports.runPublicRdfQuerySemanticCase = runPublicRdfQuerySemanticCase;
8
+ const node_crypto_1 = require("node:crypto");
9
+ const node_fs_1 = require("node:fs");
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const pg_1 = require("pg");
12
+ const sparqljs_1 = require("sparqljs");
13
+ const PostgresRdfEngine_1 = require("../storage/rdf/PostgresRdfEngine");
14
+ const RdfQuerySparqlEngine_1 = require("../storage/rdf/RdfQuerySparqlEngine");
15
+ const RdfSparqlAdapter_1 = require("../storage/rdf/RdfSparqlAdapter");
16
+ const RdfAccessScope_1 = require("../storage/rdf/RdfAccessScope");
17
+ const RdfSemanticConformance_1 = require("./RdfSemanticConformance");
18
+ async function runPostgresPublicSemanticConformance(options) {
19
+ (0, RdfSemanticConformance_1.assertPath)('fixturePath', options.fixturePath);
20
+ (0, RdfSemanticConformance_1.assertPath)('artifactPath', options.artifactPath);
21
+ if (!options.connectionString) {
22
+ throw new Error('connectionString is required');
23
+ }
24
+ const fixture = require(node_path_1.default.resolve(options.fixturePath));
25
+ const admin = new pg_1.Pool({ connectionString: options.connectionString, max: 1 });
26
+ const results = [];
27
+ const failed = [];
28
+ try {
29
+ for (let index = 0; index < fixture.semanticConformanceCases.length; index += 1) {
30
+ const testCase = fixture.semanticConformanceCases[index];
31
+ const schema = `xpod_semantic_public_${process.pid}_${index}_${(0, node_crypto_1.randomUUID)().replaceAll('-', '')}`;
32
+ try {
33
+ await admin.query(`CREATE SCHEMA ${(0, RdfSemanticConformance_1.quoteIdentifier)(schema)}`);
34
+ const connectionString = (0, RdfSemanticConformance_1.connectionStringWithSearchPath)(options.connectionString, schema);
35
+ const engine = new PostgresRdfEngine_1.PostgresRdfEngine({
36
+ driver: 'pg',
37
+ connectionString,
38
+ rdfAccelerationProfile: 'pg-hot-operators',
39
+ maintenanceIntervalMs: 0,
40
+ });
41
+ results.push(await runPublicRdfQuerySemanticCase(engine, testCase, options.timeoutMs, `postgres-public-schema:${schema}`));
42
+ }
43
+ catch (error) {
44
+ failed.push({
45
+ caseId: testCase.id,
46
+ message: error instanceof Error ? error.message : String(error),
47
+ });
48
+ }
49
+ finally {
50
+ await admin.query(`DROP SCHEMA IF EXISTS ${(0, RdfSemanticConformance_1.quoteIdentifier)(schema)} CASCADE`);
51
+ }
52
+ }
53
+ }
54
+ finally {
55
+ await admin.end();
56
+ }
57
+ const report = (0, RdfSemanticConformance_1.buildSemanticReport)({
58
+ backend: 'pg',
59
+ engine: 'pg-public-rdf-query-authority',
60
+ caseIds: fixture.REQUIRED_CASES,
61
+ failed,
62
+ results,
63
+ sourceDeniedValidatedBy: 'allowedSourceUrls/deniedSourceUrls resolved by PG RDF query authority',
64
+ });
65
+ (0, node_fs_1.mkdirSync)(node_path_1.default.dirname(options.artifactPath), { recursive: true });
66
+ (0, node_fs_1.writeFileSync)(options.artifactPath, `${JSON.stringify(report, null, 2)}\n`);
67
+ return report;
68
+ }
69
+ async function runPublicRdfQuerySemanticCase(engine, testCase, timeoutMs, authority) {
70
+ return (0, RdfSemanticConformance_1.runCaseWithEngine)(engine, testCase, timeoutMs, authority, true, publicRdfQueryExecutor);
71
+ }
72
+ const publicRdfQueryExecutor = {
73
+ prepareAndApplyUpdate: prepareAndApplyPublicRdfQueryUpdate,
74
+ query: queryPublicRdfQueryEngine,
75
+ };
76
+ async function prepareAndApplyPublicRdfQueryUpdate(engine, sparql, sourceUri, _timeoutMs) {
77
+ const adapter = new RdfSparqlAdapter_1.RdfSparqlAdapter();
78
+ const delta = adapter.compileUpdateDelta(sparql, RdfSemanticConformance_1.DEFAULT_BASE_PATH, {
79
+ defaultGraph: sourceUri,
80
+ });
81
+ const writeScope = writeAccessScope(sourceUri);
82
+ const graphDeltas = new Map();
83
+ const appendDeletes = (quads) => {
84
+ for (const quad of quads) {
85
+ graphDeltaForPublicUpdate(graphDeltas, quad).deletes.push(quad);
86
+ }
87
+ };
88
+ const appendInserts = (quads) => {
89
+ for (const quad of quads) {
90
+ graphDeltaForPublicUpdate(graphDeltas, quad).inserts.push(quad);
91
+ }
92
+ };
93
+ for (const operation of delta.operations) {
94
+ if (operation.type === 'insert') {
95
+ appendInserts(operation.quads ?? []);
96
+ }
97
+ else if (operation.type === 'delete') {
98
+ appendDeletes(operation.quads ?? []);
99
+ }
100
+ else if (operation.type === 'insertDeleteWhere') {
101
+ const result = await engine.query((0, RdfAccessScope_1.applyRdfAccessScope)(assertPublicUpdateQuery(operation.query), writeScope));
102
+ appendDeletes(adapter.materializeDeleteWhere(operation.deletes, result.bindings));
103
+ appendInserts(adapter.materializeDeleteWhere(operation.inserts, result.bindings));
104
+ }
105
+ else if (operation.type === 'insertWhere') {
106
+ const result = await engine.query((0, RdfAccessScope_1.applyRdfAccessScope)(assertPublicUpdateQuery(operation.query), writeScope));
107
+ appendInserts(adapter.materializeDeleteWhere(operation.inserts, result.bindings));
108
+ }
109
+ else {
110
+ const result = await engine.query((0, RdfAccessScope_1.applyRdfAccessScope)(assertPublicUpdateQuery(operation.query), writeScope));
111
+ appendDeletes(adapter.materializeDeleteWhere(operation.template, result.bindings));
112
+ }
113
+ }
114
+ const summary = { deletedRows: 0, insertedRows: 0 };
115
+ for (const graph of graphDeltas.values()) {
116
+ const applied = await engine.applyDelta(graph.deletes.map(RdfSemanticConformance_1.exactQuadPattern), graph.inserts, {
117
+ source: {
118
+ source: graph.sourceUri,
119
+ workspace: 'semantic',
120
+ localPath: `/semantic/${(0, RdfSemanticConformance_1.slug)(graph.sourceUri)}`,
121
+ contentType: 'text/turtle',
122
+ },
123
+ });
124
+ summary.deletedRows += applied.deletedRows;
125
+ summary.insertedRows += applied.insertedRows;
126
+ }
127
+ await engine.refreshDerivedIndexes({ mode: 'full' });
128
+ return summary;
129
+ }
130
+ function graphDeltaForPublicUpdate(deltas, quad) {
131
+ if (quad.graph.termType !== 'NamedNode') {
132
+ throw new Error('Public semantic conformance updates must resolve to a named source graph');
133
+ }
134
+ const graphIri = quad.graph.value;
135
+ let delta = deltas.get(graphIri);
136
+ if (!delta) {
137
+ delta = {
138
+ graphIri,
139
+ sourceUri: graphIri,
140
+ deletes: [],
141
+ inserts: [],
142
+ };
143
+ deltas.set(graphIri, delta);
144
+ }
145
+ return delta;
146
+ }
147
+ async function queryPublicRdfQueryEngine(engine, testCase, timeoutMs) {
148
+ const sparql = new RdfQuerySparqlEngine_1.RdfQuerySparqlEngine(engine);
149
+ const accessScope = (0, RdfSemanticConformance_1.makeAccessScope)(testCase);
150
+ if (testCase.acceptMediaType === 'application/n-triples') {
151
+ const quads = await sparql.queryQuads(testCase.query, RdfSemanticConformance_1.DEFAULT_BASE_PATH, accessScope, { timeoutMs });
152
+ return {
153
+ status: 'ok',
154
+ mediaType: 'application/n-triples',
155
+ body: await (0, RdfSemanticConformance_1.serializeQuads)(quads),
156
+ queryStatus: 0,
157
+ };
158
+ }
159
+ if (queryType(testCase.query) === 'ASK') {
160
+ const result = await sparql.queryBoolean(testCase.query, RdfSemanticConformance_1.DEFAULT_BASE_PATH, accessScope, { timeoutMs });
161
+ return {
162
+ status: 'ok',
163
+ mediaType: 'application/sparql-results+json',
164
+ body: JSON.stringify({ head: {}, boolean: result }),
165
+ queryStatus: 0,
166
+ };
167
+ }
168
+ const bindings = await sparql.queryBindings(testCase.query, RdfSemanticConformance_1.DEFAULT_BASE_PATH, accessScope, { timeoutMs });
169
+ const metadata = typeof bindings.metadata === 'function' ? await bindings.metadata() : undefined;
170
+ const variables = metadata?.variables?.map((variable) => variable.value) ?? [];
171
+ const rows = [];
172
+ const seenVariables = new Set();
173
+ for await (const binding of bindings) {
174
+ const row = {};
175
+ for (const [variable, term] of binding) {
176
+ const name = typeof variable === 'string' ? variable : variable.value;
177
+ row[name] = (0, RdfSemanticConformance_1.termToSparqlJson)(term);
178
+ seenVariables.add(name);
179
+ }
180
+ rows.push(row);
181
+ }
182
+ return {
183
+ status: 'ok',
184
+ mediaType: 'application/sparql-results+json',
185
+ body: JSON.stringify({
186
+ head: { vars: variables.length > 0 ? variables : [...seenVariables] },
187
+ results: { bindings: rows },
188
+ }),
189
+ queryStatus: 0,
190
+ };
191
+ }
192
+ function queryType(query) {
193
+ const parsed = new sparqljs_1.Parser({ baseIRI: RdfSemanticConformance_1.DEFAULT_BASE_PATH }).parse(query);
194
+ if (parsed.type !== 'query') {
195
+ throw new Error(`Expected SPARQL query, received ${parsed.type}`);
196
+ }
197
+ return parsed.queryType;
198
+ }
199
+ function assertPublicUpdateQuery(query) {
200
+ if (!query) {
201
+ throw new Error('Public semantic conformance update operation is missing its RDF query');
202
+ }
203
+ return query;
204
+ }
205
+ function writeAccessScope(sourceUri) {
206
+ return {
207
+ basePath: RdfSemanticConformance_1.DEFAULT_BASE_PATH,
208
+ mode: 'write',
209
+ resolved: true,
210
+ principal: 'urn:xpod:semantic-writer',
211
+ version: `semantic-write-${sourceUri}`,
212
+ };
213
+ }
214
+ //# sourceMappingURL=PublicCloudSemanticConformance.js.map
@@ -0,0 +1,39 @@
1
+ import { PostgresRdfEngine } from '../storage/rdf/PostgresRdfEngine';
2
+ import { SolidRdfEngine } from '../storage/rdf/SolidRdfEngine';
3
+ import type { RdfEngineLike } from '../storage/rdf/types';
4
+ export declare const QLEVER_ACCEPTANCE_GATE_ENV = "XPOD_QLEVER_ACCEPTANCE_GATE";
5
+ export declare function qleverAcceptanceGateEnabled(): boolean;
6
+ export declare function requireAcceptanceEnv(name: string): string;
7
+ export declare function createAcceptanceTempDir(name: string): string;
8
+ export interface SearchCanonicalRow {
9
+ source: string;
10
+ sourceKey: string;
11
+ retrievalPointKey: string;
12
+ textSnippet: string;
13
+ vectorSnippet: string;
14
+ }
15
+ export declare function runLocalSearchFusionAcceptance(engine?: SolidRdfEngine): Promise<SearchCanonicalRow[]>;
16
+ export interface NativeSearchConformanceOptions {
17
+ workspace?: string;
18
+ }
19
+ export interface NativeSearchConformanceReport {
20
+ textOnlyBeforeVector: NativeSearchRow[];
21
+ fusedBeforeVector: NativeSearchRow[];
22
+ fusedAfterVector: NativeSearchRow[];
23
+ fusedAfterVectorExact: NativeSearchRow[];
24
+ fusedDuringMove: NativeSearchRow[];
25
+ fusedDuringMoveExact: NativeSearchRow[];
26
+ fusedAfterMove: NativeSearchRow[];
27
+ oldSourceAfterMove: NativeSearchRow[];
28
+ deniedSource: NativeSearchRow[];
29
+ }
30
+ export interface NativeSearchRow {
31
+ retrieval: string;
32
+ source?: string;
33
+ }
34
+ export declare function createLocalNativeSearchEngine(runtimeCommand: string, databasePath: string): SolidRdfEngine;
35
+ export declare function createPostgresSearchEngine(connectionString: string, nativeSparqlEnabled: boolean): PostgresRdfEngine;
36
+ export declare function runPostgresNativeSearchFusionAcceptance(connectionString: string): Promise<NativeSearchConformanceReport>;
37
+ export declare function runPostgresPublicSearchFusionAcceptance(connectionString: string): Promise<NativeSearchConformanceReport>;
38
+ export declare function runNativeSearchFusionAcceptance(engine: RdfEngineLike, options?: NativeSearchConformanceOptions): Promise<NativeSearchConformanceReport>;
39
+ export declare function runPublicSearchFusionAcceptance(engine: RdfEngineLike, options?: NativeSearchConformanceOptions): Promise<NativeSearchConformanceReport>;