@undefineds.co/xpod 0.3.75 → 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 (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 +19 -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
@@ -1,102 +0,0 @@
1
- /**
2
- * QuintStoreSparqlDataAccessor - Data accessor using QuintStore
3
- *
4
- * Key features:
5
- * 1. Graph prefix filtering for efficient subgraph queries
6
- * 2. Backend-agnostic storage (SQLite, PostgreSQL, etc.)
7
- * 3. Future: vector similarity search
8
- */
9
- import { Readable } from 'node:stream';
10
- import type { NamedNode, Quad } from '@rdfjs/types';
11
- import type { ConstructQuery } from 'sparqljs';
12
- import { DataAccessor, RepresentationMetadata, IdentifierStrategy, type Representation, type ResourceIdentifier, type Guarded } from '@solid/community-server';
13
- import type { QuintStore, Quint } from '../quint/types';
14
- import type { RdfSourceInput } from '../rdf/types';
15
- export declare class QuintStoreSparqlDataAccessor implements DataAccessor {
16
- protected readonly logger: import("global-logger-factory").Logger<unknown>;
17
- private readonly identifierStrategy;
18
- private readonly store;
19
- private readonly engine;
20
- private readonly generator;
21
- private readonly baseUrl;
22
- private initialized;
23
- private initializing;
24
- constructor(store: QuintStore, identifierStrategy: IdentifierStrategy);
25
- /**
26
- * Initialize the store (open database connection)
27
- */
28
- initialize(): Promise<void>;
29
- private initializeStore;
30
- /**
31
- * Close the store
32
- */
33
- finalize(): Promise<void>;
34
- /**
35
- * Only Quad data streams are supported.
36
- */
37
- canHandle(representation: Representation): Promise<void>;
38
- /**
39
- * Returns all triples stored for the corresponding identifier.
40
- */
41
- getData(identifier: ResourceIdentifier): Promise<Guarded<Readable>>;
42
- /**
43
- * Returns the metadata for the corresponding identifier.
44
- */
45
- getMetadata(identifier: ResourceIdentifier): Promise<RepresentationMetadata>;
46
- getChildren(identifier: ResourceIdentifier): AsyncIterableIterator<RepresentationMetadata>;
47
- /**
48
- * Writes the given metadata for the container.
49
- */
50
- writeContainer(identifier: ResourceIdentifier, metadata: RepresentationMetadata): Promise<void>;
51
- /**
52
- * Reads the given data stream and stores it together with the metadata.
53
- */
54
- writeDocument(identifier: ResourceIdentifier, data: Guarded<Readable>, metadata: RepresentationMetadata): Promise<void>;
55
- writeRdfSourceDocument(identifier: ResourceIdentifier, quads: Quad[], metadata: RepresentationMetadata, source: RdfSourceInput): Promise<void>;
56
- deleteRdfSourceDocument(identifier: ResourceIdentifier): Promise<void>;
57
- /**
58
- * Reads the metadata and stores it.
59
- */
60
- writeMetadata(identifier: ResourceIdentifier, metadata: RepresentationMetadata): Promise<void>;
61
- /**
62
- * Removes all graph data relevant to the given identifier.
63
- */
64
- deleteResource(identifier: ResourceIdentifier): Promise<void>;
65
- /**
66
- * Get data with graph prefix filtering (key feature!)
67
- * This is much more efficient than full SPARQL for subgraph queries.
68
- */
69
- getDataByGraphPrefix(prefix: string): Promise<Quint[]>;
70
- /**
71
- * Execute SPARQL query with graph prefix filtering
72
- */
73
- queryWithGraphPrefix(query: string, graphPrefix: string): Promise<Quad[]>;
74
- private getRelatedNames;
75
- protected getMetadataNode(name: NamedNode): NamedNode;
76
- private isMetadataIdentifier;
77
- protected sparqlConstruct(name: NamedNode): ConstructQuery;
78
- private sparqlSelectGraph;
79
- private sparqlSelectGraphAsQuads;
80
- /**
81
- * Creates an update query that overwrites the data and metadata of a resource.
82
- * If triples is undefined, we assume it's a container (so don't overwrite the main graph with containment triples).
83
- * This follows the same pattern as CSS's SparqlDataAccessor.
84
- *
85
- * @param name - Name of the resource to update.
86
- * @param metadata - New metadata of the resource.
87
- * @param parent - Name of the parent to update the containment triples.
88
- * @param triples - New data of the resource (undefined for containers).
89
- */
90
- private sparqlInsert;
91
- private sparqlInsertMetadata;
92
- private sparqlDelete;
93
- private sendSparqlConstruct;
94
- private sendSparqlUpdate;
95
- private sourceScopedStore;
96
- private replaceCompatibilityMetadata;
97
- /**
98
- * Execute a SPARQL UPDATE query string directly.
99
- * Used by SparqlUpdateResourceStore for LDP PATCH operations.
100
- */
101
- executeSparqlUpdate(query: string, baseIri?: string): Promise<void>;
102
- }
@@ -1,474 +0,0 @@
1
- "use strict";
2
- /**
3
- * QuintStoreSparqlDataAccessor - Data accessor using QuintStore
4
- *
5
- * Key features:
6
- * 1. Graph prefix filtering for efficient subgraph queries
7
- * 2. Backend-agnostic storage (SQLite, PostgreSQL, etc.)
8
- * 3. Future: vector similarity search
9
- */
10
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- var desc = Object.getOwnPropertyDescriptor(m, k);
13
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
- desc = { enumerable: true, get: function() { return m[k]; } };
15
- }
16
- Object.defineProperty(o, k2, desc);
17
- }) : (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- o[k2] = m[k];
20
- }));
21
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
- Object.defineProperty(o, "default", { enumerable: true, value: v });
23
- }) : function(o, v) {
24
- o["default"] = v;
25
- });
26
- var __importStar = (this && this.__importStar) || function (mod) {
27
- if (mod && mod.__esModule) return mod;
28
- var result = {};
29
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
30
- __setModuleDefault(result, mod);
31
- return result;
32
- };
33
- var __importDefault = (this && this.__importDefault) || function (mod) {
34
- return (mod && mod.__esModule) ? mod : { "default": mod };
35
- };
36
- Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.QuintStoreSparqlDataAccessor = void 0;
38
- const global_logger_factory_1 = require("global-logger-factory");
39
- const node_stream_1 = require("node:stream");
40
- const arrayify_stream_1 = __importDefault(require("arrayify-stream"));
41
- const n3_1 = require("n3");
42
- const sparqljs_1 = require("sparqljs");
43
- const community_server_1 = require("@solid/community-server");
44
- const { defaultGraph, namedNode, quad, variable } = n3_1.DataFactory;
45
- class QuintStoreSparqlDataAccessor {
46
- constructor(store, identifierStrategy) {
47
- this.logger = (0, global_logger_factory_1.getLoggerFor)(this);
48
- this.initialized = false;
49
- this.initializing = null;
50
- this.store = store;
51
- this.identifierStrategy = identifierStrategy;
52
- this.generator = new sparqljs_1.Generator();
53
- this.engine = Promise.resolve().then(() => __importStar(require('../sparql/ComunicaQuintEngine'))).then(({ ComunicaQuintEngine }) => new ComunicaQuintEngine(this.store));
54
- // Get baseUrl from identifierStrategy
55
- const strategy = identifierStrategy;
56
- this.baseUrl = strategy.baseUrl ?? '';
57
- this.logger.info(`QuintStoreSparqlDataAccessor initialized with identifierStrategy: ${identifierStrategy.constructor.name}, baseUrl: ${this.baseUrl || 'N/A'}`);
58
- }
59
- /**
60
- * Initialize the store (open database connection)
61
- */
62
- async initialize() {
63
- if (this.initialized) {
64
- return;
65
- }
66
- this.initializing ??= this.initializeStore().finally(() => {
67
- this.initializing = null;
68
- });
69
- await this.initializing;
70
- }
71
- async initializeStore() {
72
- await this.store.open();
73
- this.initialized = true;
74
- this.logger.info('QuintStore initialized');
75
- }
76
- /**
77
- * Close the store
78
- */
79
- async finalize() {
80
- if (this.initializing) {
81
- await this.initializing.catch(() => { });
82
- }
83
- if (this.initialized) {
84
- await this.store.close();
85
- this.initialized = false;
86
- this.logger.info('QuintStore closed');
87
- }
88
- }
89
- /**
90
- * Only Quad data streams are supported.
91
- */
92
- async canHandle(representation) {
93
- if (representation.binary || representation.metadata.contentType !== community_server_1.INTERNAL_QUADS) {
94
- throw new community_server_1.UnsupportedMediaTypeHttpError('Only Quad data is supported.');
95
- }
96
- }
97
- /**
98
- * Returns all triples stored for the corresponding identifier.
99
- */
100
- async getData(identifier) {
101
- await this.initialize();
102
- const name = namedNode(identifier.path);
103
- return this.sendSparqlConstruct(this.sparqlConstruct(name));
104
- }
105
- /**
106
- * Returns the metadata for the corresponding identifier.
107
- */
108
- async getMetadata(identifier) {
109
- console.log(`[getMetadata] Starting for ${identifier.path}`);
110
- await this.initialize();
111
- const name = namedNode(identifier.path);
112
- const query = this.sparqlConstruct(this.getMetadataNode(name));
113
- console.log(`[getMetadata] Sending CONSTRUCT for ${identifier.path}`);
114
- const stream = await this.sendSparqlConstruct(query);
115
- console.log(`[getMetadata] Got stream for ${identifier.path}, reading...`);
116
- const quads = await (0, arrayify_stream_1.default)(stream);
117
- console.log(`[getMetadata] Read ${quads.length} quads for ${identifier.path}`);
118
- if (quads.length === 0) {
119
- throw new community_server_1.NotFoundHttpError();
120
- }
121
- const metadata = new community_server_1.RepresentationMetadata(identifier).addQuads(quads);
122
- // Only set default contentType if not already present in metadata
123
- if (!(0, community_server_1.isContainerIdentifier)(identifier) && !metadata.contentType) {
124
- metadata.contentType = community_server_1.INTERNAL_QUADS;
125
- }
126
- return metadata;
127
- }
128
- async *getChildren(identifier) {
129
- await this.initialize();
130
- const name = namedNode(identifier.path);
131
- const stream = await this.sendSparqlConstruct(this.sparqlConstruct(name));
132
- for await (const entry of stream) {
133
- yield new community_server_1.RepresentationMetadata(entry.object);
134
- }
135
- }
136
- /**
137
- * Writes the given metadata for the container.
138
- */
139
- async writeContainer(identifier, metadata) {
140
- console.log(`[writeContainer] Starting for ${identifier.path}`);
141
- await this.initialize();
142
- (0, community_server_1.addResourceMetadata)(metadata, true);
143
- (0, community_server_1.updateModifiedDate)(metadata);
144
- const { name, parent } = this.getRelatedNames(identifier);
145
- console.log(`[writeContainer] Sending SPARQL update for ${identifier.path}, parent: ${parent?.value || 'none'}`);
146
- console.log(`[writeContainer] Metadata quads: ${metadata.quads().length}`);
147
- const result = await this.sendSparqlUpdate(this.sparqlInsert(name, metadata, parent));
148
- console.log(`[writeContainer] Completed for ${identifier.path}`);
149
- return result;
150
- }
151
- /**
152
- * Reads the given data stream and stores it together with the metadata.
153
- */
154
- async writeDocument(identifier, data, metadata) {
155
- console.log(`[writeDocument] Starting for ${identifier.path}`);
156
- await this.initialize();
157
- if (this.isMetadataIdentifier(identifier)) {
158
- throw new community_server_1.ConflictHttpError('Not allowed to create NamedNodes with the metadata extension.');
159
- }
160
- const { name, parent } = this.getRelatedNames(identifier);
161
- console.log(`[writeDocument] Reading stream for ${identifier.path}`);
162
- // 添加超时处理
163
- const timeoutMs = 5000;
164
- const triplesPromise = (0, arrayify_stream_1.default)(data);
165
- const timeoutPromise = new Promise((_, reject) => {
166
- setTimeout(() => reject(new Error(`arrayifyStream timed out after ${timeoutMs}ms`)), timeoutMs);
167
- });
168
- let triples;
169
- try {
170
- triples = await Promise.race([triplesPromise, timeoutPromise]);
171
- console.log(`[writeDocument] Read ${triples.length} triples for ${identifier.path}`);
172
- }
173
- catch (e) {
174
- console.error(`[writeDocument] Failed to read stream for ${identifier.path}:`, e?.message || e);
175
- throw e;
176
- }
177
- const def = defaultGraph();
178
- if (triples.some((triple) => !def.equals(triple.graph))) {
179
- throw new community_server_1.NotImplementedHttpError('Only triples in the default graph are supported.');
180
- }
181
- metadata.removeAll(community_server_1.CONTENT_TYPE_TERM);
182
- console.log(`[writeDocument] Sending SPARQL update for ${identifier.path}`);
183
- const result = await this.sendSparqlUpdate(this.sparqlInsert(name, metadata, parent, triples));
184
- console.log(`[writeDocument] Completed for ${identifier.path}`);
185
- return result;
186
- }
187
- async writeRdfSourceDocument(identifier, quads, metadata, source) {
188
- await this.initialize();
189
- const sourceScopedStore = this.sourceScopedStore();
190
- if (!sourceScopedStore) {
191
- await this.writeDocument(identifier, (0, community_server_1.guardStream)(node_stream_1.Readable.from(quads)), metadata);
192
- return;
193
- }
194
- if (this.isMetadataIdentifier(identifier)) {
195
- throw new community_server_1.ConflictHttpError('Not allowed to create NamedNodes with the metadata extension.');
196
- }
197
- const def = defaultGraph();
198
- if (quads.some((triple) => !def.equals(triple.graph))) {
199
- throw new community_server_1.NotImplementedHttpError('Only triples in the default graph are supported.');
200
- }
201
- metadata.removeAll(community_server_1.CONTENT_TYPE_TERM);
202
- const { name, parent } = this.getRelatedNames(identifier);
203
- await this.replaceCompatibilityMetadata(name, metadata, parent);
204
- await sourceScopedStore.replaceSource(quads.map((value) => quad(value.subject, value.predicate, value.object, name)), source);
205
- }
206
- async deleteRdfSourceDocument(identifier) {
207
- await this.initialize();
208
- const sourceScopedStore = this.sourceScopedStore();
209
- if (!sourceScopedStore) {
210
- await this.deleteResource(identifier);
211
- return;
212
- }
213
- const { name, parent } = this.getRelatedNames(identifier);
214
- const metaName = this.getMetadataNode(name);
215
- await sourceScopedStore.deleteSource(identifier.path);
216
- await this.store.del({ graph: metaName });
217
- if (parent) {
218
- await this.store.del({
219
- graph: parent,
220
- subject: parent,
221
- predicate: community_server_1.LDP.terms.contains,
222
- object: name,
223
- });
224
- }
225
- }
226
- /**
227
- * Reads the metadata and stores it.
228
- */
229
- async writeMetadata(identifier, metadata) {
230
- await this.initialize();
231
- const { name, parent } = this.getRelatedNames(identifier);
232
- const metaName = this.getMetadataNode(name);
233
- return this.sendSparqlUpdate(this.sparqlInsertMetadata(metaName, metadata, parent, name));
234
- }
235
- /**
236
- * Removes all graph data relevant to the given identifier.
237
- */
238
- async deleteResource(identifier) {
239
- await this.initialize();
240
- const { name, parent } = this.getRelatedNames(identifier);
241
- return this.sendSparqlUpdate(this.sparqlDelete(name, parent));
242
- }
243
- // ============================================
244
- // QuintStore specific methods
245
- // ============================================
246
- /**
247
- * Get data with graph prefix filtering (key feature!)
248
- * This is much more efficient than full SPARQL for subgraph queries.
249
- */
250
- async getDataByGraphPrefix(prefix) {
251
- await this.initialize();
252
- return this.store.getByGraphPrefix(prefix);
253
- }
254
- /**
255
- * Execute SPARQL query with graph prefix filtering
256
- */
257
- async queryWithGraphPrefix(query, graphPrefix) {
258
- await this.initialize();
259
- const stream = await (await this.engine).queryBindings(query, { graphPrefix });
260
- return (0, arrayify_stream_1.default)(stream);
261
- }
262
- // ============================================
263
- // Private helpers
264
- // ============================================
265
- getRelatedNames(identifier) {
266
- const name = namedNode(identifier.path);
267
- if (this.identifierStrategy.isRootContainer(identifier)) {
268
- return { name };
269
- }
270
- const parentIdentifier = this.identifierStrategy.getParentContainer(identifier);
271
- const parent = namedNode(parentIdentifier.path);
272
- return { name, parent };
273
- }
274
- getMetadataNode(name) {
275
- return namedNode(`meta:${name.value}`);
276
- }
277
- isMetadataIdentifier(identifier) {
278
- return identifier.path.startsWith('meta:');
279
- }
280
- sparqlConstruct(name) {
281
- const pattern = quad(variable('s'), variable('p'), variable('o'));
282
- return {
283
- queryType: 'CONSTRUCT',
284
- template: [pattern],
285
- where: [this.sparqlSelectGraph(name, [pattern])],
286
- type: 'query',
287
- prefixes: {},
288
- };
289
- }
290
- sparqlSelectGraph(name, triples) {
291
- return {
292
- type: 'graph',
293
- name,
294
- patterns: [{ type: 'bgp', triples }],
295
- };
296
- }
297
- sparqlSelectGraphAsQuads(name, triples) {
298
- return this.sparqlSelectGraph(name, triples);
299
- }
300
- /**
301
- * Creates an update query that overwrites the data and metadata of a resource.
302
- * If triples is undefined, we assume it's a container (so don't overwrite the main graph with containment triples).
303
- * This follows the same pattern as CSS's SparqlDataAccessor.
304
- *
305
- * @param name - Name of the resource to update.
306
- * @param metadata - New metadata of the resource.
307
- * @param parent - Name of the parent to update the containment triples.
308
- * @param triples - New data of the resource (undefined for containers).
309
- */
310
- sparqlInsert(name, metadata, parent, triples) {
311
- const metaName = this.getMetadataNode(name);
312
- // Insert new metadata and containment triple
313
- const insert = [
314
- {
315
- type: 'graph',
316
- name: metaName,
317
- triples: metadata.quads(),
318
- },
319
- ];
320
- if (parent) {
321
- insert.push({
322
- type: 'graph',
323
- name: parent,
324
- triples: [quad(parent, community_server_1.LDP.terms.contains, name)],
325
- });
326
- }
327
- // Necessary updates: delete metadata and insert new data
328
- const updates = [
329
- // Always delete and reinsert metadata
330
- {
331
- updateType: 'deletewhere',
332
- delete: [this.sparqlSelectGraphAsQuads(metaName, [quad(variable('s'), variable('p'), variable('o'))])],
333
- },
334
- {
335
- updateType: 'insert',
336
- insert,
337
- },
338
- ];
339
- // Only overwrite data triples for documents (when triples is defined)
340
- // For containers, we don't touch the data graph to preserve ldp:contains triples
341
- if (triples !== undefined) {
342
- // This needs to be first so it happens before the insert
343
- updates.unshift({
344
- updateType: 'deletewhere',
345
- delete: [this.sparqlSelectGraphAsQuads(name, [quad(variable('s'), variable('p'), variable('o'))])],
346
- });
347
- if (triples.length > 0) {
348
- insert.push({
349
- type: 'graph',
350
- name,
351
- triples,
352
- });
353
- }
354
- }
355
- return {
356
- type: 'update',
357
- updates,
358
- prefixes: {},
359
- };
360
- }
361
- sparqlInsertMetadata(metaName, metadata, parent, name) {
362
- const metaGraphs = {
363
- type: 'graph',
364
- name: metaName,
365
- triples: metadata.quads(),
366
- };
367
- const insert = [metaGraphs];
368
- if (parent && name) {
369
- insert.push({
370
- type: 'graph',
371
- name: parent,
372
- triples: [quad(parent, community_server_1.LDP.terms.contains, name)],
373
- });
374
- }
375
- const deleteOp = {
376
- updateType: 'deletewhere',
377
- delete: [this.sparqlSelectGraphAsQuads(metaName, [quad(variable('s'), variable('p'), variable('o'))])],
378
- };
379
- const insertOp = {
380
- updateType: 'insert',
381
- insert,
382
- };
383
- return {
384
- type: 'update',
385
- updates: [deleteOp, insertOp],
386
- prefixes: {},
387
- };
388
- }
389
- sparqlDelete(name, parent) {
390
- const metaName = this.getMetadataNode(name);
391
- const updates = [
392
- {
393
- updateType: 'deletewhere',
394
- delete: [this.sparqlSelectGraphAsQuads(name, [quad(variable('s'), variable('p'), variable('o'))])],
395
- },
396
- {
397
- updateType: 'deletewhere',
398
- delete: [this.sparqlSelectGraphAsQuads(metaName, [quad(variable('s'), variable('p'), variable('o'))])],
399
- },
400
- ];
401
- if (parent) {
402
- updates.push({
403
- updateType: 'deletewhere',
404
- delete: [{
405
- type: 'graph',
406
- name: parent,
407
- triples: [quad(parent, community_server_1.LDP.terms.contains, name)],
408
- }],
409
- });
410
- }
411
- return {
412
- type: 'update',
413
- updates,
414
- prefixes: {},
415
- };
416
- }
417
- async sendSparqlConstruct(query) {
418
- const queryString = this.generator.stringify(query);
419
- this.logger.verbose(`SPARQL CONSTRUCT: ${queryString}`);
420
- try {
421
- const quadStream = await (await this.engine).queryQuads(queryString);
422
- return (0, community_server_1.guardStream)(node_stream_1.Readable.from(quadStream));
423
- }
424
- catch (error) {
425
- this.logger.error(`SPARQL query failed: ${(0, community_server_1.createErrorMessage)(error)}`);
426
- throw error;
427
- }
428
- }
429
- async sendSparqlUpdate(query) {
430
- const queryString = this.generator.stringify(query);
431
- this.logger.verbose(`SPARQL UPDATE: ${queryString}`);
432
- try {
433
- await (await this.engine).queryVoid(queryString);
434
- }
435
- catch (error) {
436
- this.logger.error(`SPARQL update failed: ${(0, community_server_1.createErrorMessage)(error)}`);
437
- throw error;
438
- }
439
- }
440
- sourceScopedStore() {
441
- const store = this.store;
442
- if (typeof store.replaceSource === 'function' && typeof store.deleteSource === 'function') {
443
- return store;
444
- }
445
- return undefined;
446
- }
447
- async replaceCompatibilityMetadata(name, metadata, parent) {
448
- const metaName = this.getMetadataNode(name);
449
- await this.store.del({ graph: metaName });
450
- const inserts = metadata.quads().map((value) => quad(value.subject, value.predicate, value.object, metaName));
451
- if (parent) {
452
- inserts.push(quad(parent, community_server_1.LDP.terms.contains, name, parent));
453
- }
454
- if (inserts.length > 0) {
455
- await this.store.multiPut(inserts);
456
- }
457
- }
458
- /**
459
- * Execute a SPARQL UPDATE query string directly.
460
- * Used by SparqlUpdateResourceStore for LDP PATCH operations.
461
- */
462
- async executeSparqlUpdate(query, baseIri) {
463
- this.logger.verbose(`executeSparqlUpdate: ${query}`);
464
- try {
465
- await (await this.engine).queryVoid(query);
466
- }
467
- catch (error) {
468
- this.logger.error(`SPARQL update failed: ${(0, community_server_1.createErrorMessage)(error)}`);
469
- throw error;
470
- }
471
- }
472
- }
473
- exports.QuintStoreSparqlDataAccessor = QuintStoreSparqlDataAccessor;
474
- //# sourceMappingURL=QuintStoreSparqlDataAccessor.js.map