@undefineds.co/xpod 0.3.74 → 0.4.0-rc.139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/bin/xpod.js +43 -8
  2. package/config/bun.json +45 -48
  3. package/config/cloud.json +13 -90
  4. package/config/components-ignore.json +0 -1
  5. package/config/local.json +111 -63
  6. package/config/resolver.json +4 -2
  7. package/config/terminal.json +4 -1
  8. package/config/xpod.base.json +16 -8
  9. package/config/xpod.json +51 -54
  10. package/dist/acceptance/PublicCloudSemanticConformance.d.ts +4 -0
  11. package/dist/acceptance/PublicCloudSemanticConformance.js +214 -0
  12. package/dist/acceptance/QleverSearchConformance.d.ts +39 -0
  13. package/dist/acceptance/QleverSearchConformance.js +686 -0
  14. package/dist/acceptance/QleverSemanticConformance.d.ts +3 -0
  15. package/dist/acceptance/QleverSemanticConformance.js +178 -0
  16. package/dist/acceptance/RdfSemanticConformance.d.ts +114 -0
  17. package/dist/acceptance/RdfSemanticConformance.js +307 -0
  18. package/dist/acceptance/run-installed-qlever-conformance.d.ts +12 -0
  19. package/dist/acceptance/run-installed-qlever-conformance.js +87 -0
  20. package/dist/acceptance/run-installed-rdf-conformance.d.ts +12 -0
  21. package/dist/acceptance/run-installed-rdf-conformance.js +88 -0
  22. package/dist/ai/service/EmbeddingProviderError.d.ts +7 -0
  23. package/dist/ai/service/EmbeddingProviderError.js +42 -0
  24. package/dist/api/ai-gateway/connect/index.js +5 -2
  25. package/dist/api/auth/AuthContext.d.ts +5 -0
  26. package/dist/api/auth/AuthContext.js +10 -0
  27. package/dist/api/container/common.js +21 -8
  28. package/dist/api/container/rdf.d.ts +1 -0
  29. package/dist/api/container/rdf.js +43 -4
  30. package/dist/api/container/types.d.ts +4 -0
  31. package/dist/api/runs/InngestRunExecutionBackend.d.ts +2 -2
  32. package/dist/api/runs/PiAgentRuntimeDriver.d.ts +2 -0
  33. package/dist/api/runs/PiAgentRuntimeDriver.js +1 -0
  34. package/dist/api/runs/RdfRunContextRetriever.d.ts +8 -0
  35. package/dist/api/runs/RdfRunContextRetriever.js +23 -1
  36. package/dist/api/runtime.js +20 -6
  37. package/dist/api/service/RdfSearchIndexingService.d.ts +37 -3
  38. package/dist/api/service/RdfSearchIndexingService.js +130 -18
  39. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.d.ts +8 -0
  40. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js +102 -15
  41. package/dist/api/service/RdfSearchReconciliationWorker.d.ts +76 -0
  42. package/dist/api/service/RdfSearchReconciliationWorker.js +294 -0
  43. package/dist/api/tasks/InngestTaskScheduler.d.ts +4 -4
  44. package/dist/components/components.jsonld +9 -12
  45. package/dist/components/context.jsonld +227 -348
  46. package/dist/document/MarkdownRetrievalPointProjector.d.ts +33 -0
  47. package/dist/document/MarkdownRetrievalPointProjector.js +196 -0
  48. package/dist/document/MarkdownRetrievalPointProjector.jsonld +135 -0
  49. package/dist/document/ReaderMaterialization.d.ts +34 -0
  50. package/dist/document/ReaderMaterialization.js +3 -0
  51. package/dist/document/ReaderMaterialization.jsonld +151 -0
  52. package/dist/document/ReaderMaterializationRepository.d.ts +27 -0
  53. package/dist/document/ReaderMaterializationRepository.js +400 -0
  54. package/dist/document/ReaderMaterializationRepository.jsonld +84 -0
  55. package/dist/document/index.d.ts +3 -1
  56. package/dist/document/index.js +3 -1
  57. package/dist/http/SubgraphSparqlHttpHandler.js +34 -54
  58. package/dist/http/search/SearchHttpHandler.js +14 -12
  59. package/dist/http/terminal/TerminalHttpHandler.d.ts +3 -0
  60. package/dist/http/terminal/TerminalHttpHandler.js +1 -0
  61. package/dist/http/terminal/TerminalHttpHandler.jsonld +11 -0
  62. package/dist/identity/drizzle/DrizzleIndexedStorage.js +19 -39
  63. package/dist/identity/drizzle/db.d.ts +1 -0
  64. package/dist/identity/drizzle/db.js +35 -0
  65. package/dist/index.d.ts +9 -17
  66. package/dist/index.js +14 -22
  67. package/dist/provision/ProvisionPodCreator.d.ts +1 -1
  68. package/dist/provision/ProvisionPodCreator.js +4 -3
  69. package/dist/runtime/css-process.js +0 -1
  70. package/dist/search/RdfSearchIntentSink.d.ts +17 -0
  71. package/dist/search/RdfSearchIntentSink.js +46 -0
  72. package/dist/search/RdfSearchIntentSink.jsonld +47 -0
  73. package/dist/search/RdfSearchReconciliationRepository.d.ts +81 -0
  74. package/dist/search/RdfSearchReconciliationRepository.js +771 -0
  75. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.d.ts +15 -0
  76. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.js +48 -0
  77. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.jsonld +99 -0
  78. package/dist/solidfs/RdfIndexSolidFsSyncer.js +22 -4
  79. package/dist/solidfs/SolidFsSyncJournal.d.ts +7 -1
  80. package/dist/solidfs/SolidFsSyncJournal.js +20 -5
  81. package/dist/solidfs/SolidFsSyncJournal.jsonld +43 -0
  82. package/dist/solidfs/index.d.ts +1 -0
  83. package/dist/solidfs/index.js +1 -0
  84. package/dist/storage/SparqlUpdateResourceStore.js +3 -3
  85. package/dist/storage/accessors/MixDataAccessor.d.ts +21 -29
  86. package/dist/storage/accessors/MixDataAccessor.js +182 -399
  87. package/dist/storage/accessors/MixDataAccessor.jsonld +109 -87
  88. package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +12 -8
  89. package/dist/storage/accessors/SolidRdfDataAccessor.js +189 -59
  90. package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +14 -29
  91. package/dist/storage/rdf/LocalQleverNativeSparqlClient.d.ts +55 -0
  92. package/dist/storage/rdf/LocalQleverNativeSparqlClient.js +519 -0
  93. package/dist/storage/rdf/LocalQleverNativeSparqlClient.jsonld +314 -0
  94. package/dist/storage/rdf/PostgresRdfEngine.d.ts +3 -1
  95. package/dist/storage/rdf/PostgresRdfEngine.js +111 -74
  96. package/dist/storage/rdf/PostgresRdfEngine.jsonld +12 -22
  97. package/dist/storage/rdf/PostgresRdfSchemaValidation.d.ts +8 -0
  98. package/dist/storage/rdf/PostgresRdfSchemaValidation.js +82 -0
  99. package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +6 -3
  100. package/dist/storage/rdf/PostgresRdfTextIndex.js +158 -80
  101. package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +16 -4
  102. package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +4 -5
  103. package/dist/storage/rdf/PostgresRdfVectorIndex.js +124 -120
  104. package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +14 -18
  105. package/dist/storage/rdf/QleverSparqlEngine.d.ts +35 -0
  106. package/dist/storage/rdf/QleverSparqlEngine.js +185 -0
  107. package/dist/storage/rdf/QleverSparqlEngine.jsonld +70 -0
  108. package/dist/storage/rdf/Rdf3xIndex.js +20 -16
  109. package/dist/storage/rdf/RdfAccessScope.d.ts +4 -0
  110. package/dist/storage/rdf/RdfAccessScope.js +74 -9
  111. package/dist/storage/rdf/RdfAccessScope.jsonld +16 -0
  112. package/dist/storage/rdf/RdfEngineRdfJsSource.d.ts +14 -0
  113. package/dist/storage/rdf/RdfEngineRdfJsSource.js +179 -0
  114. package/dist/storage/rdf/RdfQuadIndex.d.ts +13 -14
  115. package/dist/storage/rdf/RdfQuadIndex.js +286 -99
  116. package/dist/storage/rdf/RdfQuadIndex.jsonld +10 -22
  117. package/dist/storage/rdf/RdfQueryExecutor.js +10 -4
  118. package/dist/storage/rdf/RdfQuerySparqlEngine.d.ts +33 -0
  119. package/dist/storage/rdf/RdfQuerySparqlEngine.js +215 -0
  120. package/dist/storage/rdf/RdfQuerySparqlEngine.jsonld +78 -0
  121. package/dist/storage/rdf/RdfSparqlAdapter.d.ts +0 -4
  122. package/dist/storage/rdf/RdfSparqlAdapter.js +75 -173
  123. package/dist/storage/rdf/RdfSparqlBoundary.d.ts +37 -0
  124. package/dist/storage/rdf/RdfSparqlBoundary.js +247 -0
  125. package/dist/storage/rdf/RdfSparqlSerialization.d.ts +3 -0
  126. package/dist/storage/rdf/RdfSparqlSerialization.js +19 -0
  127. package/dist/storage/rdf/RdfSqliteConnection.d.ts +7 -0
  128. package/dist/storage/rdf/RdfSqliteConnection.js +23 -0
  129. package/dist/storage/rdf/RdfTermDictionary.d.ts +0 -8
  130. package/dist/storage/rdf/RdfTermDictionary.js +0 -136
  131. package/dist/storage/rdf/RdfTermDictionary.jsonld +0 -32
  132. package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
  133. package/dist/storage/rdf/RdfTermSemantics.js +29 -0
  134. package/dist/storage/rdf/RdfTextIndex.d.ts +5 -6
  135. package/dist/storage/rdf/RdfTextIndex.js +187 -115
  136. package/dist/storage/rdf/RdfTextIndex.jsonld +10 -14
  137. package/dist/storage/rdf/RdfVectorIndex.d.ts +4 -4
  138. package/dist/storage/rdf/RdfVectorIndex.js +156 -233
  139. package/dist/storage/rdf/RdfVectorIndex.jsonld +10 -14
  140. package/dist/storage/rdf/SolidRdfEngine.d.ts +16 -21
  141. package/dist/storage/rdf/SolidRdfEngine.js +28 -308
  142. package/dist/storage/rdf/SolidRdfEngine.jsonld +26 -148
  143. package/dist/storage/rdf/XpodComunicaQueryEngine.d.ts +10 -0
  144. package/dist/storage/rdf/XpodComunicaQueryEngine.js +72 -0
  145. package/dist/storage/rdf/index.d.ts +7 -6
  146. package/dist/storage/rdf/index.js +17 -12
  147. package/dist/storage/rdf/models-benchmark.d.ts +5 -1
  148. package/dist/storage/rdf/models-benchmark.js +17 -19
  149. package/dist/storage/rdf/types.d.ts +68 -6
  150. package/dist/storage/rdf/types.jsonld +69 -0
  151. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +13 -7
  152. package/dist/storage/sparql/SubgraphQueryEngine.js +6 -6
  153. package/dist/storage/vector/index.d.ts +0 -1
  154. package/dist/storage/vector/index.js +0 -1
  155. package/dist/terminal/AclPermissionService.d.ts +4 -5
  156. package/dist/terminal/AclPermissionService.js +55 -75
  157. package/dist/terminal/TerminalSessionManager.d.ts +3 -2
  158. package/dist/terminal/TerminalSessionManager.js +3 -3
  159. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  160. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  161. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +29 -26
  162. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  163. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  164. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +9 -4
  165. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  166. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts +1 -0
  167. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts.map +1 -1
  168. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js +6 -3
  169. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js.map +1 -1
  170. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +3 -3
  171. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  172. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +6 -0
  173. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  174. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +13 -3
  175. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts +1 -0
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts.map +1 -1
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +31 -0
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js +5 -0
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js.map +1 -1
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts +1 -0
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts.map +1 -1
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js +45 -0
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js.map +1 -1
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +29 -26
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +9 -4
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +1 -0
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts.map +1 -1
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js +6 -3
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js.map +1 -1
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +3 -3
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +6 -0
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +14 -4
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +1 -0
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts.map +1 -1
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +30 -0
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js +5 -0
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +1 -0
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts.map +1 -1
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js +45 -0
  214. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js.map +1 -1
  215. package/node_modules/@undefineds.co/drizzle-solid/package.json +5 -4
  216. package/package.json +19 -8
  217. package/static/app/assets/{index-36TJKN-3.js → index-BikOyGPu.js} +34 -34
  218. package/static/app/assets/inrupt-smoke.js +2 -2
  219. package/static/app/assets/main.css +1 -1
  220. package/static/app/assets/main.js +11 -11
  221. package/static/auth-callback/assets/{AiConfigContext-DNfRNaZQ.js → AiConfigContext-iQ74JmRZ.js} +1 -1
  222. package/static/auth-callback/assets/{AiConfigPage-BBiTOm3o.js → AiConfigPage-BBDKE1gJ.js} +1 -1
  223. package/static/auth-callback/assets/{DocumentProcessingPanel-BzpEwqKT.js → DocumentProcessingPanel-D9NntIEK.js} +1 -1
  224. package/static/auth-callback/assets/{IndexLifecyclePanel-CvXMwooQ.js → IndexLifecyclePanel-BG07yBdA.js} +1 -1
  225. package/static/auth-callback/assets/{IndexSubjectPanel-CayA221L.js → IndexSubjectPanel-B-bUnU3G.js} +1 -1
  226. package/static/auth-callback/assets/{ModelAssignmentsPanel-Iew2QgtR.js → ModelAssignmentsPanel-C7I-Nqy-.js} +1 -1
  227. package/static/auth-callback/assets/{ModelsPage-CTJKAUA3.js → ModelsPage-C2hxyrmI.js} +1 -1
  228. package/static/auth-callback/assets/{NetworkPage--8ZCjIHB.js → NetworkPage-IGIc2q1Y.js} +1 -1
  229. package/static/auth-callback/assets/{PaneListHeader-BT-OGKL7.js → PaneListHeader-CebuPl_g.js} +1 -1
  230. package/static/auth-callback/assets/{SearchIndexingPanel-CFjjk1-C.js → SearchIndexingPanel-6HnZSg00.js} +1 -1
  231. package/static/auth-callback/assets/{StatusSubjectPanel-DAN5Ej9q.js → StatusSubjectPanel-votxBkr5.js} +1 -1
  232. package/static/auth-callback/assets/{StatusWorkspace-CEgmKJcX.js → StatusWorkspace-Cksl61zX.js} +1 -1
  233. package/static/auth-callback/assets/{SystemSettingsPage-Bk0TB4RU.js → SystemSettingsPage-CKZFUaZT.js} +1 -1
  234. package/static/auth-callback/assets/{SystemSettingsSubjectPanel-CKl8ukiz.js → SystemSettingsSubjectPanel-pzfUcCf4.js} +1 -1
  235. package/static/auth-callback/assets/{activity-BOtct9Ie.js → activity-DQL6kZHZ.js} +1 -1
  236. package/static/auth-callback/assets/auth-callback-B_s8Ye5Z.css +1 -0
  237. package/static/auth-callback/assets/{auth-callback-ai6OMe6C.js → auth-callback-BxQMd_Mc.js} +39 -39
  238. package/static/auth-callback/assets/{badge-DGSg5wio.js → badge-DvW4LUHH.js} +1 -1
  239. package/static/auth-callback/assets/{download-4eVPmxQ_.js → download-Cx_uaCR1.js} +1 -1
  240. package/static/auth-callback/assets/{external-link-BlD92fAM.js → external-link-D6L6ExH1.js} +1 -1
  241. package/static/auth-callback/assets/{index-FrugCRsJ.js → index-BAS_hxGu.js} +1 -1
  242. package/static/auth-callback/assets/{index-7ppych8q.js → index-BmBjpCoD.js} +1 -1
  243. package/static/auth-callback/assets/{index-browser-dwpJ2mdT.js → index-browser-pdn4D3M4.js} +1 -1
  244. package/static/auth-callback/assets/{key-round-BFOQbNNp.js → key-round-BTBzOggq.js} +1 -1
  245. package/static/auth-callback/assets/{rotate-ccw-BySVgaAP.js → rotate-ccw-eV7Cx8sB.js} +1 -1
  246. package/static/auth-callback/assets/{skeleton-CgcxPTqc.js → skeleton-Bg4GYgBM.js} +1 -1
  247. package/static/auth-callback/assets/{waypoints-DM902DhB.js → waypoints-CJbydf0B.js} +1 -1
  248. package/static/auth-callback/assets/{workspace-layout-DlZlN49Q.js → workspace-layout-C6Hh8Xf-.js} +1 -1
  249. package/static/auth-callback/auth-callback.html +2 -2
  250. package/static/dashboard/assets/{AiConfigContext-VnWI7bOR.js → AiConfigContext-BkJj28vK.js} +1 -1
  251. package/static/dashboard/assets/{AiConfigPage-Dn3oxXcA.js → AiConfigPage-Cs9B4uyp.js} +1 -1
  252. package/static/dashboard/assets/{DocumentProcessingPanel-CAF1uLi3.js → DocumentProcessingPanel-BBWmM7mS.js} +1 -1
  253. package/static/dashboard/assets/{IndexLifecyclePanel-D9zVZwu8.js → IndexLifecyclePanel-D5xGTT_i.js} +1 -1
  254. package/static/dashboard/assets/{IndexSubjectPanel-_JCGwJmO.js → IndexSubjectPanel-d-mjDthn.js} +1 -1
  255. package/static/dashboard/assets/{ModelAssignmentsPanel-DtlxQxFa.js → ModelAssignmentsPanel-C-OLNbqf.js} +1 -1
  256. package/static/dashboard/assets/{ModelsPage-CCNTpXM5.js → ModelsPage-CBrLjuUn.js} +1 -1
  257. package/static/dashboard/assets/{NetworkPage-BAKv9unq.js → NetworkPage-BlYk8L1z.js} +1 -1
  258. package/static/dashboard/assets/{PaneListHeader-Dr1jq2Ii.js → PaneListHeader-A5oZJQC0.js} +1 -1
  259. package/static/dashboard/assets/{SearchIndexingPanel-BW0pPrQB.js → SearchIndexingPanel-Bs1j8ZP2.js} +1 -1
  260. package/static/dashboard/assets/{StatusSubjectPanel-c9iebk4M.js → StatusSubjectPanel-Qao3orvi.js} +1 -1
  261. package/static/dashboard/assets/{StatusWorkspace-KZ7zrrmB.js → StatusWorkspace-rDM0yDtk.js} +1 -1
  262. package/static/dashboard/assets/{SystemSettingsPage-fVSfJMi9.js → SystemSettingsPage-FPRPkKaR.js} +1 -1
  263. package/static/dashboard/assets/{SystemSettingsSubjectPanel-DUSxcVT8.js → SystemSettingsSubjectPanel-CjlJAxnX.js} +1 -1
  264. package/static/dashboard/assets/{activity-Dg4XxJA8.js → activity-CJ5K6hYC.js} +1 -1
  265. package/static/dashboard/assets/{badge-OHMG7sYk.js → badge-L-NMOi1P.js} +1 -1
  266. package/static/dashboard/assets/dashboard-B_s8Ye5Z.css +1 -0
  267. package/static/dashboard/assets/{dashboard-UuQZ5g0B.js → dashboard-DyjAyYxx.js} +34 -34
  268. package/static/dashboard/assets/{download-CkbQhuL2.js → download-Bi4u5K5B.js} +1 -1
  269. package/static/dashboard/assets/{external-link-C15frgwD.js → external-link-jmhLDfvT.js} +1 -1
  270. package/static/dashboard/assets/{index-BiU8tNWd.js → index-BoaGJBxf.js} +1 -1
  271. package/static/dashboard/assets/{index-JUkJUI4K.js → index-C22TAEi4.js} +1 -1
  272. package/static/dashboard/assets/{key-round-BVREfX5D.js → key-round-Dk1VmMrn.js} +1 -1
  273. package/static/dashboard/assets/{rotate-ccw-cPEquKE_.js → rotate-ccw-DIfLsSwi.js} +1 -1
  274. package/static/dashboard/assets/{skeleton-BPM2LdA5.js → skeleton-BGPJMHb-.js} +1 -1
  275. package/static/dashboard/assets/{waypoints-Cd3kODMk.js → waypoints-CY53egpu.js} +1 -1
  276. package/static/dashboard/assets/{workspace-layout-BP3gLLXb.js → workspace-layout-CoHkcx70.js} +1 -1
  277. package/static/dashboard/dashboard.html +2 -2
  278. package/static/settings/assets/{AiConfigContext-B-D3riwG.js → AiConfigContext-BcEPlEJe.js} +1 -1
  279. package/static/settings/assets/{AiConfigPage-CAYT-CgT.js → AiConfigPage-D-t3ZUhg.js} +1 -1
  280. package/static/settings/assets/{DocumentProcessingPanel-D__vS86O.js → DocumentProcessingPanel-m2SasiMO.js} +1 -1
  281. package/static/settings/assets/{IndexLifecyclePanel-CuYEAG62.js → IndexLifecyclePanel-BNmAvx8V.js} +1 -1
  282. package/static/settings/assets/{IndexSubjectPanel-Do71gQQC.js → IndexSubjectPanel-C5-L2AcW.js} +1 -1
  283. package/static/settings/assets/{ModelAssignmentsPanel-Cn3kSze7.js → ModelAssignmentsPanel-Cfpkf02Y.js} +1 -1
  284. package/static/settings/assets/{ModelsPage-BKO0ARYt.js → ModelsPage-DZrACwVN.js} +1 -1
  285. package/static/settings/assets/{NetworkPage-XPYrdyVd.js → NetworkPage-BlrGGfqL.js} +1 -1
  286. package/static/settings/assets/{PaneListHeader-BAiQcCss.js → PaneListHeader-C3TCs1RI.js} +1 -1
  287. package/static/settings/assets/{SearchIndexingPanel-Bx3Fco0x.js → SearchIndexingPanel-Cyp3CUzX.js} +1 -1
  288. package/static/settings/assets/{StatusSubjectPanel-BzKzXmSL.js → StatusSubjectPanel-gRkb8WEX.js} +1 -1
  289. package/static/settings/assets/{StatusWorkspace-NjLpo9xp.js → StatusWorkspace-Dptx4Ec2.js} +1 -1
  290. package/static/settings/assets/{SystemSettingsPage-CclI_Lpv.js → SystemSettingsPage-BWgGUQbs.js} +1 -1
  291. package/static/settings/assets/{SystemSettingsSubjectPanel-CMnSE-8N.js → SystemSettingsSubjectPanel-VflUvpgC.js} +1 -1
  292. package/static/settings/assets/{activity-DYpNPFzG.js → activity-D7iNhTkQ.js} +1 -1
  293. package/static/settings/assets/{badge-C7Vhmg28.js → badge-DO0r_RT4.js} +1 -1
  294. package/static/settings/assets/{download-DdXcAiwj.js → download-CsJlNSbd.js} +1 -1
  295. package/static/settings/assets/{external-link-D7thdQae.js → external-link-BCR7SHme.js} +1 -1
  296. package/static/settings/assets/{index-CwBKvDQZ.js → index-Cgq16ekN.js} +1 -1
  297. package/static/settings/assets/{index-BnYbrf5s.js → index-SrhQvcrU.js} +1 -1
  298. package/static/settings/assets/{index-browser-DYzi1DO1.js → index-browser-THpcMCnz.js} +1 -1
  299. package/static/settings/assets/{key-round-BXErodZA.js → key-round-Dd3jk1BT.js} +1 -1
  300. package/static/settings/assets/{rotate-ccw-DPyOBmDD.js → rotate-ccw-tiL14i1d.js} +1 -1
  301. package/static/settings/assets/settings-B_s8Ye5Z.css +1 -0
  302. package/static/settings/assets/{settings-BGpEf8nx.js → settings-CVLDPejo.js} +34 -34
  303. package/static/settings/assets/{skeleton-S9l3JIr9.js → skeleton-DBxLuNgU.js} +1 -1
  304. package/static/settings/assets/{waypoints-C5By7zWc.js → waypoints-DS3e3hv7.js} +1 -1
  305. package/static/settings/assets/{workspace-layout-Bb6RVAEx.js → workspace-layout-mucrxyTK.js} +1 -1
  306. package/static/settings/settings.html +2 -2
  307. package/config/search.json +0 -66
  308. package/dist/document/HeadingChunker.jsonld +0 -41
  309. package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +0 -124
  310. package/dist/security/secret-cell/SecretCellVault.jsonld +0 -207
  311. package/dist/storage/PostgresDerivedIndexJournal.d.ts +0 -47
  312. package/dist/storage/PostgresDerivedIndexJournal.js +0 -408
  313. package/dist/storage/PostgresDerivedIndexJournal.jsonld +0 -303
  314. package/dist/storage/RdfDerivedIndexingListener.d.ts +0 -32
  315. package/dist/storage/RdfDerivedIndexingListener.js +0 -135
  316. package/dist/storage/RdfDerivedIndexingListener.jsonld +0 -228
  317. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +0 -148
  318. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +0 -436
  319. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +0 -172
  320. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +0 -102
  321. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +0 -474
  322. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +0 -192
  323. package/dist/storage/rdf/RdfSparqlAdapter.jsonld +0 -486
  324. package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +0 -59
  325. package/dist/storage/rdf/ShadowRdfQuintStore.js +0 -216
  326. package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +0 -312
  327. package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +0 -107
  328. package/dist/storage/rdf/SolidRdfSparqlEngine.js +0 -1117
  329. package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +0 -312
  330. package/dist/storage/sparql/AlgebraUtils.d.ts +0 -48
  331. package/dist/storage/sparql/AlgebraUtils.js +0 -118
  332. package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +0 -37
  333. package/dist/storage/sparql/CompatibilitySparqlEngine.js +0 -96
  334. package/dist/storage/sparql/CompatibilitySparqlEngine.jsonld +0 -123
  335. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +0 -36
  336. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +0 -124
  337. package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +0 -59
  338. package/dist/storage/sparql/ComunicaOptimizedEngine.js +0 -254
  339. package/dist/storage/sparql/ComunicaQuintEngine.d.ts +0 -143
  340. package/dist/storage/sparql/ComunicaQuintEngine.js +0 -781
  341. package/dist/storage/sparql/ExpressionEvaluator.d.ts +0 -54
  342. package/dist/storage/sparql/ExpressionEvaluator.js +0 -340
  343. package/dist/storage/sparql/FilterPushdownExtractor.d.ts +0 -74
  344. package/dist/storage/sparql/FilterPushdownExtractor.js +0 -421
  345. package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +0 -65
  346. package/dist/storage/sparql/OptimizedQuadstoreEngine.js +0 -327
  347. package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +0 -46
  348. package/dist/storage/sparql/OptimizedQuadstoreSource.js +0 -118
  349. package/dist/storage/sparql/PatternBuilder.d.ts +0 -41
  350. package/dist/storage/sparql/PatternBuilder.js +0 -118
  351. package/dist/storage/sparql/QueryOptimizer.d.ts +0 -125
  352. package/dist/storage/sparql/QueryOptimizer.js +0 -375
  353. package/dist/storage/sparql/QuintEngine.d.ts +0 -92
  354. package/dist/storage/sparql/QuintEngine.js +0 -150
  355. package/dist/storage/sparql/QuintQuerySource.d.ts +0 -241
  356. package/dist/storage/sparql/QuintQuerySource.js +0 -1069
  357. package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +0 -40
  358. package/dist/storage/sparql/SimpleSparqlExecutor.js +0 -131
  359. package/dist/storage/vector/VectorIndexingListener.d.ts +0 -114
  360. package/dist/storage/vector/VectorIndexingListener.js +0 -346
  361. package/static/auth-callback/assets/auth-callback-rWdEQY5f.css +0 -1
  362. package/static/dashboard/assets/dashboard-rWdEQY5f.css +0 -1
  363. package/static/settings/assets/settings-rWdEQY5f.css +0 -1
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.runInstalledQleverConformance = runInstalledQleverConformance;
8
+ const node_crypto_1 = require("node:crypto");
9
+ const node_fs_1 = require("node:fs");
10
+ const node_os_1 = __importDefault(require("node:os"));
11
+ const node_path_1 = __importDefault(require("node:path"));
12
+ const QleverSemanticConformance_1 = require("./QleverSemanticConformance");
13
+ const QleverSearchConformance_1 = require("./QleverSearchConformance");
14
+ const LocalQleverNativeSparqlClient_1 = require("../storage/rdf/LocalQleverNativeSparqlClient");
15
+ function requiredEnv(name) {
16
+ const value = process.env[name]?.trim();
17
+ if (!value)
18
+ throw new Error(`${name} is required`);
19
+ return value;
20
+ }
21
+ async function runInstalledQleverConformance() {
22
+ const backend = requiredEnv('XPOD_QLEVER_CONFORMANCE_BACKEND');
23
+ if (backend !== 'sqlite' && backend !== 'pg') {
24
+ throw new Error(`XPOD_QLEVER_CONFORMANCE_BACKEND must be sqlite or pg, got ${backend}`);
25
+ }
26
+ const fixturePath = requiredEnv('XPOD_QLEVER_SEMANTIC_FIXTURE_PATH');
27
+ const artifactPath = requiredEnv('XPOD_QLEVER_CONFORMANCE_ARTIFACT_PATH');
28
+ const timeoutMs = Number(process.env.XPOD_QLEVER_CONFORMANCE_TIMEOUT_MS ?? 60_000);
29
+ if (!Number.isInteger(timeoutMs) || timeoutMs <= 0) {
30
+ throw new Error('XPOD_QLEVER_CONFORMANCE_TIMEOUT_MS must be a positive integer');
31
+ }
32
+ const tempRoot = process.env.XPOD_QLEVER_CONFORMANCE_TEMP_ROOT
33
+ ?? node_path_1.default.join(node_os_1.default.tmpdir(), `xpod-qlever-installed-${process.pid}-${(0, node_crypto_1.randomUUID)()}`);
34
+ (0, node_fs_1.mkdirSync)(tempRoot, { recursive: true });
35
+ let semantic;
36
+ let search;
37
+ if (backend === 'sqlite') {
38
+ const runtimeCommand = (0, LocalQleverNativeSparqlClient_1.resolveLocalQleverRuntimeCommand)();
39
+ semantic = await (0, QleverSemanticConformance_1.runLocalQleverSemanticConformance)({
40
+ fixturePath,
41
+ runtimeCommand,
42
+ artifactPath: node_path_1.default.join(tempRoot, 'sqlite-semantic.json'),
43
+ tempRoot: node_path_1.default.join(tempRoot, 'semantic'),
44
+ timeoutMs,
45
+ });
46
+ const searchDatabase = node_path_1.default.join(tempRoot, 'search.sqlite');
47
+ (0, node_fs_1.rmSync)(searchDatabase, { force: true });
48
+ search = await (0, QleverSearchConformance_1.runNativeSearchFusionAcceptance)((0, QleverSearchConformance_1.createLocalNativeSearchEngine)(runtimeCommand, searchDatabase));
49
+ }
50
+ else {
51
+ const connectionString = requiredEnv('XPOD_QLEVER_PG_DSN');
52
+ semantic = await (0, QleverSemanticConformance_1.runPostgresQleverSemanticConformance)({
53
+ fixturePath,
54
+ connectionString,
55
+ artifactPath: node_path_1.default.join(tempRoot, 'pg-semantic.json'),
56
+ timeoutMs,
57
+ });
58
+ search = await (0, QleverSearchConformance_1.runPostgresNativeSearchFusionAcceptance)(connectionString);
59
+ }
60
+ if (semantic.status !== 'ok' || semantic.skipped.length !== 0 || semantic.failed.length !== 0) {
61
+ throw new Error(`${backend} semantic conformance failed: ${JSON.stringify(semantic.failed)}`);
62
+ }
63
+ const report = {
64
+ schemaVersion: 1,
65
+ backend,
66
+ status: 'ok',
67
+ semantic,
68
+ search,
69
+ };
70
+ (0, node_fs_1.mkdirSync)(node_path_1.default.dirname(artifactPath), { recursive: true });
71
+ (0, node_fs_1.writeFileSync)(artifactPath, `${JSON.stringify(report, null, 2)}\n`);
72
+ return report;
73
+ }
74
+ if (require.main === module) {
75
+ runInstalledQleverConformance()
76
+ .then((report) => process.stdout.write(`${JSON.stringify({
77
+ status: report.status,
78
+ backend: report.backend,
79
+ semanticCases: report.semantic.results.length,
80
+ search: report.search,
81
+ })}\n`))
82
+ .catch((error) => {
83
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
84
+ process.exitCode = 1;
85
+ });
86
+ }
87
+ //# sourceMappingURL=run-installed-qlever-conformance.js.map
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ import type { SemanticConformanceReport } from './RdfSemanticConformance';
3
+ import { type NativeSearchConformanceReport } from './QleverSearchConformance';
4
+ interface InstalledConformanceReport {
5
+ schemaVersion: 1;
6
+ backend: 'sqlite' | 'pg-public';
7
+ status: 'ok';
8
+ semantic: SemanticConformanceReport;
9
+ search: NativeSearchConformanceReport;
10
+ }
11
+ export declare function runInstalledRdfConformance(): Promise<InstalledConformanceReport>;
12
+ export {};
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.runInstalledRdfConformance = runInstalledRdfConformance;
8
+ const node_crypto_1 = require("node:crypto");
9
+ const node_fs_1 = require("node:fs");
10
+ const node_os_1 = __importDefault(require("node:os"));
11
+ const node_path_1 = __importDefault(require("node:path"));
12
+ const QleverSemanticConformance_1 = require("./QleverSemanticConformance");
13
+ const PublicCloudSemanticConformance_1 = require("./PublicCloudSemanticConformance");
14
+ const QleverSearchConformance_1 = require("./QleverSearchConformance");
15
+ const LocalQleverNativeSparqlClient_1 = require("../storage/rdf/LocalQleverNativeSparqlClient");
16
+ function requiredEnv(name) {
17
+ const value = process.env[name]?.trim();
18
+ if (!value)
19
+ throw new Error(`${name} is required`);
20
+ return value;
21
+ }
22
+ async function runInstalledRdfConformance() {
23
+ const backend = requiredEnv('XPOD_RDF_CONFORMANCE_BACKEND');
24
+ if (backend !== 'sqlite' && backend !== 'pg-public') {
25
+ throw new Error(`XPOD_RDF_CONFORMANCE_BACKEND must be sqlite or pg-public, got ${backend}`);
26
+ }
27
+ const fixturePath = requiredEnv('XPOD_QLEVER_SEMANTIC_FIXTURE_PATH');
28
+ const artifactPath = requiredEnv('XPOD_RDF_CONFORMANCE_ARTIFACT_PATH');
29
+ const timeoutMs = Number(process.env.XPOD_RDF_CONFORMANCE_TIMEOUT_MS ?? 60_000);
30
+ if (!Number.isInteger(timeoutMs) || timeoutMs <= 0) {
31
+ throw new Error('XPOD_RDF_CONFORMANCE_TIMEOUT_MS must be a positive integer');
32
+ }
33
+ const tempRoot = process.env.XPOD_RDF_CONFORMANCE_TEMP_ROOT
34
+ ?? node_path_1.default.join(node_os_1.default.tmpdir(), `xpod-rdf-installed-${process.pid}-${(0, node_crypto_1.randomUUID)()}`);
35
+ (0, node_fs_1.mkdirSync)(tempRoot, { recursive: true });
36
+ let semantic;
37
+ let search;
38
+ if (backend === 'sqlite') {
39
+ const runtimeCommand = (0, LocalQleverNativeSparqlClient_1.resolveLocalQleverRuntimeCommand)();
40
+ semantic = await (0, QleverSemanticConformance_1.runLocalQleverSemanticConformance)({
41
+ fixturePath,
42
+ runtimeCommand,
43
+ artifactPath: node_path_1.default.join(tempRoot, 'sqlite-semantic.json'),
44
+ tempRoot: node_path_1.default.join(tempRoot, 'semantic'),
45
+ timeoutMs,
46
+ });
47
+ const searchDatabase = node_path_1.default.join(tempRoot, 'search.sqlite');
48
+ (0, node_fs_1.rmSync)(searchDatabase, { force: true });
49
+ search = await (0, QleverSearchConformance_1.runNativeSearchFusionAcceptance)((0, QleverSearchConformance_1.createLocalNativeSearchEngine)(runtimeCommand, searchDatabase));
50
+ }
51
+ else {
52
+ const connectionString = requiredEnv('XPOD_RDF_PG_DSN');
53
+ semantic = await (0, PublicCloudSemanticConformance_1.runPostgresPublicSemanticConformance)({
54
+ fixturePath,
55
+ connectionString,
56
+ artifactPath: node_path_1.default.join(tempRoot, 'pg-public-semantic.json'),
57
+ timeoutMs,
58
+ });
59
+ search = await (0, QleverSearchConformance_1.runPostgresPublicSearchFusionAcceptance)(connectionString);
60
+ }
61
+ if (semantic.status !== 'ok' || semantic.skipped.length !== 0 || semantic.failed.length !== 0) {
62
+ throw new Error(`${backend} semantic conformance failed: ${JSON.stringify(semantic.failed)}`);
63
+ }
64
+ const report = {
65
+ schemaVersion: 1,
66
+ backend,
67
+ status: 'ok',
68
+ semantic,
69
+ search,
70
+ };
71
+ (0, node_fs_1.mkdirSync)(node_path_1.default.dirname(artifactPath), { recursive: true });
72
+ (0, node_fs_1.writeFileSync)(artifactPath, `${JSON.stringify(report, null, 2)}\n`);
73
+ return report;
74
+ }
75
+ if (require.main === module) {
76
+ runInstalledRdfConformance()
77
+ .then((report) => process.stdout.write(`${JSON.stringify({
78
+ status: report.status,
79
+ backend: report.backend,
80
+ semanticCases: report.semantic.results.length,
81
+ search: report.search,
82
+ })}\n`))
83
+ .catch((error) => {
84
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
85
+ process.exitCode = 1;
86
+ });
87
+ }
88
+ //# sourceMappingURL=run-installed-rdf-conformance.js.map
@@ -0,0 +1,7 @@
1
+ export type EmbeddingProviderFailureCategory = 'embedding_authentication_failed' | 'embedding_authorization_failed' | 'embedding_model_invalid' | 'embedding_request_invalid' | 'embedding_quota_exhausted' | 'embedding_rate_limited' | 'embedding_upstream_unavailable' | 'embedding_provider_failed';
2
+ export interface EmbeddingProviderFailure {
3
+ retryable: boolean;
4
+ category: EmbeddingProviderFailureCategory;
5
+ }
6
+ /** Classify AI SDK failures without inspecting provider-specific message text. */
7
+ export declare function classifyEmbeddingProviderFailure(error: unknown): EmbeddingProviderFailure;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.classifyEmbeddingProviderFailure = classifyEmbeddingProviderFailure;
4
+ const ai_1 = require("ai");
5
+ /** Classify AI SDK failures without inspecting provider-specific message text. */
6
+ function classifyEmbeddingProviderFailure(error) {
7
+ if (ai_1.RetryError.isInstance(error) && error.lastError !== error) {
8
+ return classifyEmbeddingProviderFailure(error.lastError);
9
+ }
10
+ if (ai_1.NoSuchModelError.isInstance(error)) {
11
+ return { retryable: false, category: 'embedding_model_invalid' };
12
+ }
13
+ if (ai_1.LoadAPIKeyError.isInstance(error)) {
14
+ return { retryable: false, category: 'embedding_authentication_failed' };
15
+ }
16
+ if (ai_1.APICallError.isInstance(error)) {
17
+ const status = error.statusCode;
18
+ if (status === 401) {
19
+ return { retryable: false, category: 'embedding_authentication_failed' };
20
+ }
21
+ if (status === 403) {
22
+ return { retryable: false, category: 'embedding_authorization_failed' };
23
+ }
24
+ if (status === 404) {
25
+ return { retryable: false, category: 'embedding_model_invalid' };
26
+ }
27
+ if (status === 402) {
28
+ return { retryable: true, category: 'embedding_quota_exhausted' };
29
+ }
30
+ if (status === 429) {
31
+ return { retryable: true, category: 'embedding_rate_limited' };
32
+ }
33
+ if (error.isRetryable || status === 408 || status === 409 || (status !== undefined && status >= 500)) {
34
+ return { retryable: true, category: 'embedding_upstream_unavailable' };
35
+ }
36
+ if (status !== undefined && status >= 400 && status < 500) {
37
+ return { retryable: false, category: 'embedding_request_invalid' };
38
+ }
39
+ }
40
+ return { retryable: true, category: 'embedding_provider_failed' };
41
+ }
42
+ //# sourceMappingURL=EmbeddingProviderError.js.map
@@ -2032,8 +2032,11 @@ function parseCredentialRow(row) {
2032
2032
  try {
2033
2033
  return [recordFromCredentialRow(row)];
2034
2034
  }
2035
- catch {
2036
- return [];
2035
+ catch (error) {
2036
+ const detail = error instanceof Error ? error.message : String(error);
2037
+ throw new Error(`Invalid credential row ${stringFrom(row.id) || '<unknown>'}: ${detail}`, {
2038
+ cause: error,
2039
+ });
2037
2040
  }
2038
2041
  }
2039
2042
  function versionFromRow(row) {
@@ -45,6 +45,11 @@ export interface ServiceAuthContext {
45
45
  }
46
46
  export type AuthContext = SolidAuthContext | NodeAuthContext | ServiceAuthContext;
47
47
  export declare function isSolidAuth(ctx: AuthContext): ctx is SolidAuthContext;
48
+ export declare function hasSolidClientCredentialsAuthority(ctx: AuthContext | undefined): ctx is SolidAuthContext & {
49
+ clientId: string;
50
+ clientSecret: string;
51
+ viaApiKey: true;
52
+ };
48
53
  export declare function isNodeAuth(ctx: AuthContext): ctx is NodeAuthContext;
49
54
  /**
50
55
  * Get webId from auth context
@@ -10,6 +10,7 @@
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.isSolidAuth = isSolidAuth;
13
+ exports.hasSolidClientCredentialsAuthority = hasSolidClientCredentialsAuthority;
13
14
  exports.isNodeAuth = isNodeAuth;
14
15
  exports.getWebId = getWebId;
15
16
  exports.getDisplayName = getDisplayName;
@@ -20,6 +21,15 @@ exports.hasScope = hasScope;
20
21
  function isSolidAuth(ctx) {
21
22
  return ctx.type === 'solid';
22
23
  }
24
+ function hasSolidClientCredentialsAuthority(ctx) {
25
+ return ctx?.type === 'solid'
26
+ && ctx.viaApiKey === true
27
+ && typeof ctx.clientId === 'string'
28
+ && ctx.clientId.length > 0
29
+ && typeof ctx.clientSecret === 'string'
30
+ && ctx.clientSecret.length > 0
31
+ && ctx.webId.length > 0;
32
+ }
23
33
  function isNodeAuth(ctx) {
24
34
  return ctx.type === 'node';
25
35
  }
@@ -48,6 +48,8 @@ const VercelChatService_1 = require("../service/VercelChatService");
48
48
  const provider_http_transport_1 = require("../service/provider-http-transport");
49
49
  const VectorService_1 = require("../service/VectorService");
50
50
  const RdfStorageStatsService_1 = require("../service/RdfStorageStatsService");
51
+ const RdfSearchReconciliationRepository_1 = require("../../search/RdfSearchReconciliationRepository");
52
+ const RdfSearchReconciliationWorker_1 = require("../service/RdfSearchReconciliationWorker");
51
53
  const ApiServer_1 = require("../ApiServer");
52
54
  const chatkit_1 = require("../chatkit");
53
55
  const matrix_1 = require("../matrix");
@@ -60,13 +62,7 @@ const service_1 = require("../../ai/service");
60
62
  const rdf_1 = require("./rdf");
61
63
  const EdgeNodeCertificateCapabilityBridge_1 = require("../../edge/EdgeNodeCertificateCapabilityBridge");
62
64
  function resolveCssServiceBaseUrl() {
63
- if (process.env.CSS_INTERNAL_URL) {
64
- return process.env.CSS_INTERNAL_URL;
65
- }
66
- if (process.env.CSS_BASE_URL) {
67
- return process.env.CSS_BASE_URL;
68
- }
69
- return 'http://localhost:3000/';
65
+ return `http://127.0.0.1:${process.env.CSS_PORT ?? '3000'}/`;
70
66
  }
71
67
  function resolveHostedPodCssBaseUrl() {
72
68
  return `http://127.0.0.1:${process.env.XPOD_MAIN_PORT ?? '3000'}/`;
@@ -559,6 +555,22 @@ function registerCommonServices(container) {
559
555
  rdfSearchIndexingService: (0, awilix_1.asFunction)(({ rdfEngine, chatKitStore, embeddingService }) => {
560
556
  return (0, rdf_1.createApiRdfSearchIndexingService)(rdfEngine, { chatKitStore, embeddingService });
561
557
  }).singleton(),
558
+ rdfSearchReconciliationRepository: (0, awilix_1.asFunction)(({ db }) => {
559
+ return new RdfSearchReconciliationRepository_1.RdfSearchReconciliationRepository(db);
560
+ }).singleton(),
561
+ rdfSearchReconciliationWorker: (0, awilix_1.asFunction)(({ rdfSearchReconciliationRepository, rdfSearchIndexingService, runAuthContextRegistry, chatKitStore, rdfEngine, }) => {
562
+ const logger = (0, global_logger_factory_1.getLoggerFor)('RdfSearchReconciliationWorker');
563
+ return new RdfSearchReconciliationWorker_1.RdfSearchReconciliationWorker({
564
+ repository: rdfSearchReconciliationRepository,
565
+ indexingService: rdfSearchIndexingService,
566
+ contextRegistry: runAuthContextRegistry,
567
+ store: chatKitStore,
568
+ rdfEngine,
569
+ onError: (error, input) => {
570
+ logger.error(`Failed RDF search ${input.phase} for ${input.sourceUri ?? input.sourceKey ?? 'unknown source'}: ${error}`);
571
+ },
572
+ });
573
+ }).singleton(),
562
574
  rdfStorageStatsService: (0, awilix_1.asFunction)(({ config, rdfEngine }) => {
563
575
  return new RdfStorageStatsService_1.RdfStorageStatsService({
564
576
  edition: config.edition,
@@ -566,7 +578,7 @@ function registerCommonServices(container) {
566
578
  rdfEngine,
567
579
  });
568
580
  }).singleton(),
569
- runExecutionBackend: (0, awilix_1.asFunction)(({ config, inngestRuntimeConfig, chatKitStore, taskAuthBindingService, runAuthContextRegistry, runContextRetriever, rdfSearchIndexingService, aiConnectionInvocationKeyIssuer }) => {
581
+ runExecutionBackend: (0, awilix_1.asFunction)(({ config, inngestRuntimeConfig, chatKitStore, taskAuthBindingService, runAuthContextRegistry, runContextRetriever, rdfSearchIndexingService, rdfSearchReconciliationRepository, aiConnectionInvocationKeyIssuer }) => {
570
582
  return new InngestRunExecutionBackend_1.InngestRunExecutionBackend({
571
583
  baseUrl: inngestRuntimeConfig?.baseUrl,
572
584
  eventKey: inngestRuntimeConfig?.eventKey,
@@ -588,6 +600,7 @@ function registerCommonServices(container) {
588
600
  agentLoopIsolation: config.edition === 'cloud' ? 'sandboxed-process' : 'in-process',
589
601
  requireSandbox: config.edition === 'cloud',
590
602
  rdfSearchIndexingService,
603
+ rdfSearchReconciliationRepository,
591
604
  }),
592
605
  });
593
606
  }).singleton(),
@@ -13,3 +13,4 @@ export declare function createApiRdfEngine(config: ApiContainerConfig): RdfEngin
13
13
  export declare function createApiRunContextRetriever(rdfEngine: RdfEngineLike | undefined, dependencies?: ApiRunContextRetrieverDependencies): RunContextRetriever<StoreContext> | undefined;
14
14
  export declare function createApiRdfSearchIndexingService(rdfEngine: RdfEngineLike | undefined, dependencies?: ApiRunContextRetrieverDependencies): RdfSearchIndexingService | undefined;
15
15
  export declare function isPostgresConnectionString(value: string): boolean;
16
+ export declare function isSqliteConnectionString(value: string): boolean;
@@ -4,27 +4,48 @@ exports.createApiRdfEngine = createApiRdfEngine;
4
4
  exports.createApiRunContextRetriever = createApiRunContextRetriever;
5
5
  exports.createApiRdfSearchIndexingService = createApiRdfSearchIndexingService;
6
6
  exports.isPostgresConnectionString = isPostgresConnectionString;
7
+ exports.isSqliteConnectionString = isSqliteConnectionString;
7
8
  const RdfRunContextRetriever_1 = require("../runs/RdfRunContextRetriever");
8
9
  const rdf_1 = require("../../storage/rdf");
10
+ const AuthContext_1 = require("../auth/AuthContext");
9
11
  const RdfSearchIndexingService_1 = require("../service/RdfSearchIndexingService");
10
12
  function createApiRdfEngine(config) {
11
- const connectionString = config.sparqlEndpoint;
12
- if (config.edition !== 'cloud' || !connectionString || !isPostgresConnectionString(connectionString)) {
13
+ const connectionString = config.edition === 'local' && config.rdfIndexPath
14
+ ? `sqlite:${config.rdfIndexPath}`
15
+ : config.sparqlEndpoint;
16
+ if (!connectionString)
17
+ return undefined;
18
+ if (isSqliteConnectionString(connectionString)) {
19
+ const path = sqlitePathFromConnectionString(connectionString);
20
+ return new rdf_1.SolidRdfEngine({
21
+ index: { path },
22
+ textIndex: { path },
23
+ vectorIndex: { path },
24
+ nativeSparqlClient: new rdf_1.LocalQleverNativeSparqlClient({
25
+ args: [
26
+ '--sqlite-path',
27
+ path,
28
+ ],
29
+ }),
30
+ });
31
+ }
32
+ if (!isPostgresConnectionString(connectionString)) {
13
33
  return undefined;
14
34
  }
15
35
  return new rdf_1.PostgresRdfEngine({
16
36
  driver: 'pg',
17
37
  connectionString,
18
38
  rdfAccelerationProfile: 'pg-hot-operators',
19
- nativeSparqlEnabled: config.rdfNativeSparqlEnabled,
20
39
  maintenanceIntervalMs: 0,
21
40
  textIndex: {
22
41
  driver: 'pg',
23
42
  connectionString,
43
+ textSearchBackend: 'pg-native-fts',
24
44
  },
25
45
  vectorIndex: {
26
46
  driver: 'pg',
27
47
  connectionString,
48
+ backend: 'component',
28
49
  },
29
50
  });
30
51
  }
@@ -57,7 +78,15 @@ function createRunContextEmbeddingProvider(dependencies) {
57
78
  return undefined;
58
79
  }
59
80
  return async (input) => {
60
- const config = await chatKitStore.getAiConfig(input.context);
81
+ const auth = input.context.auth;
82
+ if (!(0, AuthContext_1.hasSolidClientCredentialsAuthority)(auth)) {
83
+ return undefined;
84
+ }
85
+ const config = await chatKitStore.getAiConfig({
86
+ ...input.context,
87
+ userId: auth.webId,
88
+ auth,
89
+ });
61
90
  if (!config?.embeddingModel || !config.apiKey) {
62
91
  return undefined;
63
92
  }
@@ -68,13 +97,23 @@ function createRunContextEmbeddingProvider(dependencies) {
68
97
  baseUrl: config.baseUrl,
69
98
  proxyUrl: config.proxyUrl,
70
99
  }, config.embeddingModel),
100
+ provider: config.providerId,
71
101
  model: config.embeddingModel,
102
+ modelVersion: (0, RdfSearchIndexingService_1.normalizeRdfVectorModelVersion)(config.embeddingModelVersion),
103
+ inputKind: 'semantic',
104
+ projectionPolicyVersion: RdfSearchIndexingService_1.DEFAULT_RDF_VECTOR_PROJECTION_POLICY_VERSION,
72
105
  };
73
106
  };
74
107
  }
75
108
  function isPostgresConnectionString(value) {
76
109
  return value.startsWith('postgres://') || value.startsWith('postgresql://');
77
110
  }
111
+ function isSqliteConnectionString(value) {
112
+ return value.startsWith('sqlite:');
113
+ }
114
+ function sqlitePathFromConnectionString(value) {
115
+ return value.slice('sqlite:'.length);
116
+ }
78
117
  function contextRdfAccessScope(context) {
79
118
  const candidate = context.rdfAccessScope;
80
119
  if (!candidate || typeof candidate !== 'object') {
@@ -28,6 +28,8 @@ import type { RuntimeHost } from '../../runtime/host/types';
28
28
  import type { ProviderRegistry, EmbeddingService } from '../../ai/service';
29
29
  import type { VectorService } from '../service/VectorService';
30
30
  import type { RdfSearchIndexingService } from '../service/RdfSearchIndexingService';
31
+ import type { RdfSearchReconciliationRepository } from '../../search/RdfSearchReconciliationRepository';
32
+ import type { RdfSearchReconciliationWorker } from '../service/RdfSearchReconciliationWorker';
31
33
  import type { RdfStorageStatsService } from '../service/RdfStorageStatsService';
32
34
  import type { InngestRunExecutionBackend } from '../runs/InngestRunExecutionBackend';
33
35
  import type { RunContextRetriever } from '../runs/RunExecutionBackend';
@@ -225,6 +227,8 @@ export interface ApiContainerCradle {
225
227
  rdfEngine: RdfEngineLike | undefined;
226
228
  runContextRetriever: RunContextRetriever<StoreContext> | undefined;
227
229
  rdfSearchIndexingService: RdfSearchIndexingService | undefined;
230
+ rdfSearchReconciliationRepository: RdfSearchReconciliationRepository;
231
+ rdfSearchReconciliationWorker: RdfSearchReconciliationWorker;
228
232
  runExecutionBackend: InngestRunExecutionBackend;
229
233
  taskAuthBindingService: TaskAuthBindingService<StoreContext>;
230
234
  taskService: TaskService<StoreContext>;
@@ -161,7 +161,7 @@ export declare class InngestRunExecutionBackend implements RunExecutionBackend {
161
161
  readonly event: string;
162
162
  }], Omit<Omit<import("inngest").BaseContext<Inngest.Any>, never> & Record<never, never> & {
163
163
  logger: import("inngest").Logger;
164
- }, "group" | "requestId" | "event" | "attempt" | "events" | "runId" | "step" | "defer" | "jobId" | "maxAttempts"> & import("inngest").FailureEventArgs<EventPayload<any>> & {
164
+ }, "group" | "step" | "requestId" | "event" | "attempt" | "events" | "runId" | "defer" | "jobId" | "maxAttempts"> & import("inngest").FailureEventArgs<EventPayload<any>> & {
165
165
  step: {
166
166
  sendEvent: (idOrOptions: import("inngest").StepOptionsOrId, payload: import("inngest").SendEventPayload) => Promise<import("inngest/types").SendEventOutput<import("inngest").ClientOptionsFromInngest<Inngest<import("inngest").ClientOptions>>>>;
167
167
  waitForSignal: <TData>(idOrOptions: import("inngest").StepOptionsOrId, opts: {
@@ -342,7 +342,7 @@ export declare class InngestRunExecutionBackend implements RunExecutionBackend {
342
342
  readonly event: string;
343
343
  }], Omit<Omit<import("inngest").BaseContext<Inngest.Any>, never> & Record<never, never> & {
344
344
  logger: import("inngest").Logger;
345
- }, "group" | "requestId" | "event" | "attempt" | "events" | "runId" | "step" | "defer" | "jobId" | "maxAttempts"> & import("inngest").FailureEventArgs<EventPayload<any>> & {
345
+ }, "group" | "step" | "requestId" | "event" | "attempt" | "events" | "runId" | "defer" | "jobId" | "maxAttempts"> & import("inngest").FailureEventArgs<EventPayload<any>> & {
346
346
  step: {
347
347
  sendEvent: (idOrOptions: import("inngest").StepOptionsOrId, payload: import("inngest").SendEventPayload) => Promise<import("inngest/types").SendEventOutput<import("inngest").ClientOptionsFromInngest<Inngest<import("inngest").ClientOptions>>>>;
348
348
  waitForSignal: <TData>(idOrOptions: import("inngest").StepOptionsOrId, opts: {
@@ -1,5 +1,6 @@
1
1
  import { type SolidFS, type SolidFsProjection } from '../../solidfs';
2
2
  import type { RdfSearchIndexingService } from '../service/RdfSearchIndexingService';
3
+ import type { RdfSearchReconciliationRepository } from '../../search/RdfSearchReconciliationRepository';
3
4
  import type { AgentRuntimeEvent } from './AgentRuntimeTypes';
4
5
  import type { RunExecutionBackend, RunExecutionInput } from './RunExecutionBackend';
5
6
  type PiSdk = typeof import('@mariozechner/pi-coding-agent');
@@ -28,6 +29,7 @@ export interface PiAgentRuntimeDriverOptions {
28
29
  solidfsProjection?: SolidFsProjection;
29
30
  solidfsJournalRootDir?: string;
30
31
  rdfSearchIndexingService?: RdfSearchIndexingService;
32
+ rdfSearchReconciliationRepository?: Pick<RdfSearchReconciliationRepository, 'upsertRetryable' | 'upsertBlockedConfig' | 'waitForConfig' | 'upsertApplied' | 'deleteSource'>;
31
33
  }
32
34
  /**
33
35
  * Request-scoped adapter around pi's AgentSession primitives.
@@ -59,6 +59,7 @@ class PiAgentRuntimeDriver {
59
59
  if (this.options.rdfSearchIndexingService) {
60
60
  syncers.push(new RdfSearchIndexingSolidFsSyncer_1.RdfSearchIndexingSolidFsSyncer({
61
61
  service: this.options.rdfSearchIndexingService,
62
+ reconciliationRepository: this.options.rdfSearchReconciliationRepository,
62
63
  }));
63
64
  }
64
65
  return syncers.length === 1
@@ -4,7 +4,11 @@ import type { RdfEngineLike, RdfQuery, RdfQueryCacheScope } from '../../storage/
4
4
  import type { RunContextRetrievalInput, RunContextRetriever, RunRetrievedContext } from './RunExecutionBackend';
5
5
  export type RdfRunContextEmbedding = number[] | {
6
6
  embedding: number[];
7
+ provider?: string;
7
8
  model?: string;
9
+ modelVersion?: string;
10
+ inputKind?: string;
11
+ projectionPolicyVersion?: string;
8
12
  };
9
13
  export interface RdfRunContextRetrieverOptions<TContext = StoreContext> {
10
14
  rdfEngine: RdfEngineLike;
@@ -18,7 +22,11 @@ export interface RdfRunContextRetrieverOptions<TContext = StoreContext> {
18
22
  failOpen?: boolean;
19
23
  textWeight?: number;
20
24
  vectorWeight?: number;
25
+ vectorProvider?: string;
21
26
  vectorModel?: string;
27
+ vectorModelVersion?: string;
28
+ vectorInputKind?: string;
29
+ vectorProjectionPolicyVersion?: string;
22
30
  sourcePrefix?: string | ((input: RunContextRetrievalInput<TContext>) => string | undefined);
23
31
  cacheScope?: RdfQueryCacheScope | ((input: RunContextRetrievalInput<TContext>) => RdfQueryCacheScope | undefined);
24
32
  accessScope?: RdfAccessScope | ((input: RunContextRetrievalInput<TContext>) => RdfAccessScope | undefined);
@@ -98,16 +98,26 @@ class RdfRunContextRetriever {
98
98
  query.vectorSearch = [
99
99
  {
100
100
  embedding: normalizedEmbedding.embedding,
101
+ vectorProvider: normalizedEmbedding.provider ?? this.options.vectorProvider,
101
102
  vectorModel: normalizedEmbedding.model ?? this.options.vectorModel,
103
+ vectorModelVersion: normalizedEmbedding.modelVersion ?? this.options.vectorModelVersion,
104
+ vectorInputKind: normalizedEmbedding.inputKind ?? this.options.vectorInputKind,
105
+ vectorProjectionPolicyVersion: normalizedEmbedding.projectionPolicyVersion ?? this.options.vectorProjectionPolicyVersion,
102
106
  scope,
103
107
  limit,
104
- source: 'source',
108
+ source: 'vectorSource',
105
109
  chunk: 'vectorChunk',
106
110
  content: 'vectorContent',
107
111
  heading: 'vectorHeading',
108
112
  score: 'vectorScore',
109
113
  distance: 'vectorDistance',
114
+ sourceKey: 'sourceKey',
115
+ retrievalPoint: 'retrievalPointKey',
116
+ provider: 'vectorProvider',
110
117
  model: 'vectorModel',
118
+ modelVersion: 'vectorModelVersion',
119
+ inputKind: 'vectorInputKind',
120
+ projectionPolicyVersion: 'vectorProjectionPolicyVersion',
111
121
  },
112
122
  ];
113
123
  query.binds = [
@@ -141,7 +151,11 @@ class RdfRunContextRetriever {
141
151
  'vectorHeading',
142
152
  'vectorScore',
143
153
  'vectorDistance',
154
+ 'vectorProvider',
144
155
  'vectorModel',
156
+ 'vectorModelVersion',
157
+ 'vectorInputKind',
158
+ 'vectorProjectionPolicyVersion',
145
159
  'fusionScore',
146
160
  ];
147
161
  query.orderBy = [
@@ -200,7 +214,11 @@ class RdfRunContextRetriever {
200
214
  const vectorScore = termNumber(row.vectorScore);
201
215
  const heading = termValue(row.textHeading) || termValue(row.vectorHeading);
202
216
  const vectorDistance = termNumber(row.vectorDistance);
217
+ const vectorProvider = termValue(row.vectorProvider);
203
218
  const vectorModel = termValue(row.vectorModel);
219
+ const vectorModelVersion = termValue(row.vectorModelVersion);
220
+ const vectorInputKind = termValue(row.vectorInputKind);
221
+ const vectorProjectionPolicyVersion = termValue(row.vectorProjectionPolicyVersion);
204
222
  const entityProvenance = parseJsonArray(termValue(row.entityProvenance));
205
223
  const metadata = compactRecord({
206
224
  untrustedContext: true,
@@ -213,7 +231,11 @@ class RdfRunContextRetriever {
213
231
  textScore,
214
232
  vectorScore,
215
233
  vectorDistance,
234
+ vectorProvider,
216
235
  vectorModel,
236
+ vectorModelVersion,
237
+ vectorInputKind,
238
+ vectorProjectionPolicyVersion,
217
239
  contentType: termValue(row.contentType),
218
240
  });
219
241
  return {
@@ -452,12 +452,26 @@ async function startApiService(options = {}) {
452
452
  authMiddleware: (0, awilix_1.asValue)(new OpenAuthMiddleware_1.OpenAuthMiddleware({ context: options.authContext })),
453
453
  });
454
454
  }
455
- (0, routes_1.registerRoutes)(container);
456
- await registerPrimaryServiceToken(container, config, logger);
457
- await reconcileLocalOwnerRoles(container, config, logger);
458
- await startBackgroundServices(container, logger);
459
- const server = container.resolve('apiServer');
460
- await server.start();
455
+ let server;
456
+ let backgroundServicesStarted = false;
457
+ try {
458
+ (0, routes_1.registerRoutes)(container);
459
+ server = container.resolve('apiServer');
460
+ await container.resolve('rdfEngine', { allowUnregistered: true })?.open?.();
461
+ await registerPrimaryServiceToken(container, config, logger);
462
+ await reconcileLocalOwnerRoles(container, config, logger);
463
+ await startBackgroundServices(container, logger);
464
+ backgroundServicesStarted = true;
465
+ await server.start();
466
+ }
467
+ catch (error) {
468
+ if (backgroundServicesStarted) {
469
+ await stopBackgroundServices(container);
470
+ }
471
+ await stopApiRuntimeServices(container);
472
+ await embeddedInngest.service.stop().catch(() => undefined);
473
+ throw error;
474
+ }
461
475
  logger.info(`API Service active on ${config.socketPath ? `unix://${config.socketPath}` : `${config.host}:${config.port}`}`);
462
476
  return {
463
477
  config,