@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
@@ -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>;