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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/bin/xpod.js +43 -8
  2. package/config/bun.json +45 -48
  3. package/config/cloud.json +13 -90
  4. package/config/components-ignore.json +0 -1
  5. package/config/local.json +111 -63
  6. package/config/resolver.json +4 -2
  7. package/config/terminal.json +4 -1
  8. package/config/xpod.base.json +16 -8
  9. package/config/xpod.json +51 -54
  10. package/dist/acceptance/PublicCloudSemanticConformance.d.ts +4 -0
  11. package/dist/acceptance/PublicCloudSemanticConformance.js +214 -0
  12. package/dist/acceptance/QleverSearchConformance.d.ts +39 -0
  13. package/dist/acceptance/QleverSearchConformance.js +686 -0
  14. package/dist/acceptance/QleverSemanticConformance.d.ts +3 -0
  15. package/dist/acceptance/QleverSemanticConformance.js +178 -0
  16. package/dist/acceptance/RdfSemanticConformance.d.ts +114 -0
  17. package/dist/acceptance/RdfSemanticConformance.js +307 -0
  18. package/dist/acceptance/run-installed-qlever-conformance.d.ts +12 -0
  19. package/dist/acceptance/run-installed-qlever-conformance.js +87 -0
  20. package/dist/acceptance/run-installed-rdf-conformance.d.ts +12 -0
  21. package/dist/acceptance/run-installed-rdf-conformance.js +88 -0
  22. package/dist/ai/service/EmbeddingProviderError.d.ts +7 -0
  23. package/dist/ai/service/EmbeddingProviderError.js +42 -0
  24. package/dist/api/ai-gateway/connect/index.js +5 -2
  25. package/dist/api/auth/AuthContext.d.ts +5 -0
  26. package/dist/api/auth/AuthContext.js +10 -0
  27. package/dist/api/container/common.js +20 -1
  28. package/dist/api/container/rdf.d.ts +1 -0
  29. package/dist/api/container/rdf.js +43 -4
  30. package/dist/api/container/types.d.ts +4 -0
  31. package/dist/api/runs/InngestRunExecutionBackend.d.ts +2 -2
  32. package/dist/api/runs/PiAgentRuntimeDriver.d.ts +2 -0
  33. package/dist/api/runs/PiAgentRuntimeDriver.js +1 -0
  34. package/dist/api/runs/RdfRunContextRetriever.d.ts +8 -0
  35. package/dist/api/runs/RdfRunContextRetriever.js +23 -1
  36. package/dist/api/runtime.js +20 -6
  37. package/dist/api/service/RdfSearchIndexingService.d.ts +37 -3
  38. package/dist/api/service/RdfSearchIndexingService.js +130 -18
  39. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.d.ts +8 -0
  40. package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js +102 -15
  41. package/dist/api/service/RdfSearchReconciliationWorker.d.ts +76 -0
  42. package/dist/api/service/RdfSearchReconciliationWorker.js +294 -0
  43. package/dist/api/tasks/InngestTaskScheduler.d.ts +4 -4
  44. package/dist/components/components.jsonld +9 -12
  45. package/dist/components/context.jsonld +227 -348
  46. package/dist/document/MarkdownRetrievalPointProjector.d.ts +33 -0
  47. package/dist/document/MarkdownRetrievalPointProjector.js +196 -0
  48. package/dist/document/MarkdownRetrievalPointProjector.jsonld +135 -0
  49. package/dist/document/ReaderMaterialization.d.ts +34 -0
  50. package/dist/document/ReaderMaterialization.js +3 -0
  51. package/dist/document/ReaderMaterialization.jsonld +151 -0
  52. package/dist/document/ReaderMaterializationRepository.d.ts +27 -0
  53. package/dist/document/ReaderMaterializationRepository.js +400 -0
  54. package/dist/document/ReaderMaterializationRepository.jsonld +84 -0
  55. package/dist/document/index.d.ts +3 -1
  56. package/dist/document/index.js +3 -1
  57. package/dist/http/SubgraphSparqlHttpHandler.js +34 -54
  58. package/dist/http/search/SearchHttpHandler.js +14 -12
  59. package/dist/http/terminal/TerminalHttpHandler.d.ts +3 -0
  60. package/dist/http/terminal/TerminalHttpHandler.js +1 -0
  61. package/dist/http/terminal/TerminalHttpHandler.jsonld +11 -0
  62. package/dist/identity/drizzle/DrizzleIndexedStorage.js +19 -39
  63. package/dist/identity/drizzle/db.d.ts +1 -0
  64. package/dist/identity/drizzle/db.js +35 -0
  65. package/dist/index.d.ts +9 -17
  66. package/dist/index.js +14 -22
  67. package/dist/provision/ProvisionPodCreator.d.ts +1 -1
  68. package/dist/provision/ProvisionPodCreator.js +4 -3
  69. package/dist/search/RdfSearchIntentSink.d.ts +17 -0
  70. package/dist/search/RdfSearchIntentSink.js +46 -0
  71. package/dist/search/RdfSearchIntentSink.jsonld +47 -0
  72. package/dist/search/RdfSearchReconciliationRepository.d.ts +81 -0
  73. package/dist/search/RdfSearchReconciliationRepository.js +771 -0
  74. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.d.ts +15 -0
  75. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.js +48 -0
  76. package/dist/solidfs/LocalRdfAuthorityRecoveryInitializer.jsonld +99 -0
  77. package/dist/solidfs/RdfIndexSolidFsSyncer.js +22 -4
  78. package/dist/solidfs/SolidFsSyncJournal.d.ts +7 -1
  79. package/dist/solidfs/SolidFsSyncJournal.js +20 -5
  80. package/dist/solidfs/SolidFsSyncJournal.jsonld +43 -0
  81. package/dist/solidfs/index.d.ts +1 -0
  82. package/dist/solidfs/index.js +1 -0
  83. package/dist/storage/SparqlUpdateResourceStore.js +3 -3
  84. package/dist/storage/accessors/MixDataAccessor.d.ts +21 -29
  85. package/dist/storage/accessors/MixDataAccessor.js +182 -399
  86. package/dist/storage/accessors/MixDataAccessor.jsonld +109 -87
  87. package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +12 -8
  88. package/dist/storage/accessors/SolidRdfDataAccessor.js +189 -59
  89. package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +14 -29
  90. package/dist/storage/rdf/LocalQleverNativeSparqlClient.d.ts +55 -0
  91. package/dist/storage/rdf/LocalQleverNativeSparqlClient.js +519 -0
  92. package/dist/storage/rdf/LocalQleverNativeSparqlClient.jsonld +314 -0
  93. package/dist/storage/rdf/PostgresRdfEngine.d.ts +3 -1
  94. package/dist/storage/rdf/PostgresRdfEngine.js +111 -74
  95. package/dist/storage/rdf/PostgresRdfEngine.jsonld +12 -22
  96. package/dist/storage/rdf/PostgresRdfSchemaValidation.d.ts +8 -0
  97. package/dist/storage/rdf/PostgresRdfSchemaValidation.js +82 -0
  98. package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +6 -3
  99. package/dist/storage/rdf/PostgresRdfTextIndex.js +158 -80
  100. package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +16 -4
  101. package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +4 -5
  102. package/dist/storage/rdf/PostgresRdfVectorIndex.js +124 -120
  103. package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +14 -18
  104. package/dist/storage/rdf/QleverSparqlEngine.d.ts +35 -0
  105. package/dist/storage/rdf/QleverSparqlEngine.js +185 -0
  106. package/dist/storage/rdf/QleverSparqlEngine.jsonld +70 -0
  107. package/dist/storage/rdf/Rdf3xIndex.js +20 -16
  108. package/dist/storage/rdf/RdfAccessScope.d.ts +4 -0
  109. package/dist/storage/rdf/RdfAccessScope.js +74 -9
  110. package/dist/storage/rdf/RdfAccessScope.jsonld +16 -0
  111. package/dist/storage/rdf/RdfEngineRdfJsSource.d.ts +14 -0
  112. package/dist/storage/rdf/RdfEngineRdfJsSource.js +179 -0
  113. package/dist/storage/rdf/RdfQuadIndex.d.ts +13 -14
  114. package/dist/storage/rdf/RdfQuadIndex.js +286 -99
  115. package/dist/storage/rdf/RdfQuadIndex.jsonld +10 -22
  116. package/dist/storage/rdf/RdfQueryExecutor.js +10 -4
  117. package/dist/storage/rdf/RdfQuerySparqlEngine.d.ts +33 -0
  118. package/dist/storage/rdf/RdfQuerySparqlEngine.js +215 -0
  119. package/dist/storage/rdf/RdfQuerySparqlEngine.jsonld +78 -0
  120. package/dist/storage/rdf/RdfSparqlAdapter.d.ts +0 -4
  121. package/dist/storage/rdf/RdfSparqlAdapter.js +75 -173
  122. package/dist/storage/rdf/RdfSparqlBoundary.d.ts +37 -0
  123. package/dist/storage/rdf/RdfSparqlBoundary.js +247 -0
  124. package/dist/storage/rdf/RdfSparqlSerialization.d.ts +3 -0
  125. package/dist/storage/rdf/RdfSparqlSerialization.js +19 -0
  126. package/dist/storage/rdf/RdfSqliteConnection.d.ts +7 -0
  127. package/dist/storage/rdf/RdfSqliteConnection.js +23 -0
  128. package/dist/storage/rdf/RdfTermDictionary.d.ts +0 -8
  129. package/dist/storage/rdf/RdfTermDictionary.js +0 -136
  130. package/dist/storage/rdf/RdfTermDictionary.jsonld +0 -32
  131. package/dist/storage/rdf/RdfTermSemantics.d.ts +6 -0
  132. package/dist/storage/rdf/RdfTermSemantics.js +29 -0
  133. package/dist/storage/rdf/RdfTextIndex.d.ts +5 -6
  134. package/dist/storage/rdf/RdfTextIndex.js +187 -115
  135. package/dist/storage/rdf/RdfTextIndex.jsonld +10 -14
  136. package/dist/storage/rdf/RdfVectorIndex.d.ts +4 -4
  137. package/dist/storage/rdf/RdfVectorIndex.js +156 -233
  138. package/dist/storage/rdf/RdfVectorIndex.jsonld +10 -14
  139. package/dist/storage/rdf/SolidRdfEngine.d.ts +16 -21
  140. package/dist/storage/rdf/SolidRdfEngine.js +28 -308
  141. package/dist/storage/rdf/SolidRdfEngine.jsonld +26 -148
  142. package/dist/storage/rdf/XpodComunicaQueryEngine.d.ts +10 -0
  143. package/dist/storage/rdf/XpodComunicaQueryEngine.js +72 -0
  144. package/dist/storage/rdf/index.d.ts +7 -6
  145. package/dist/storage/rdf/index.js +17 -12
  146. package/dist/storage/rdf/models-benchmark.d.ts +5 -1
  147. package/dist/storage/rdf/models-benchmark.js +17 -19
  148. package/dist/storage/rdf/types.d.ts +68 -6
  149. package/dist/storage/rdf/types.jsonld +69 -0
  150. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +13 -7
  151. package/dist/storage/sparql/SubgraphQueryEngine.js +6 -6
  152. package/dist/storage/vector/index.d.ts +0 -1
  153. package/dist/storage/vector/index.js +0 -1
  154. package/dist/terminal/AclPermissionService.d.ts +4 -5
  155. package/dist/terminal/AclPermissionService.js +55 -75
  156. package/dist/terminal/TerminalSessionManager.d.ts +3 -2
  157. package/dist/terminal/TerminalSessionManager.js +3 -3
  158. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  159. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  160. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +29 -26
  161. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  162. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  163. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +9 -4
  164. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  165. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts +1 -0
  166. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.d.ts.map +1 -1
  167. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js +6 -3
  168. package/node_modules/@undefineds.co/drizzle-solid/dist/core/notifications/notifications-client.js.map +1 -1
  169. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +3 -3
  170. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  171. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +6 -0
  172. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  173. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +13 -3
  174. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  175. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts +1 -0
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.d.ts.map +1 -1
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +31 -0
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js +5 -0
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql/builder/expression-builder.js.map +1 -1
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts +1 -0
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.d.ts.map +1 -1
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js +45 -0
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/sparql-executor.js.map +1 -1
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +29 -26
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +9 -4
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts +1 -0
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.d.ts.map +1 -1
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js +6 -3
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/notifications/notifications-client.js.map +1 -1
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +3 -3
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +6 -0
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +14 -4
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts +1 -0
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.d.ts.map +1 -1
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +30 -0
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js +5 -0
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts +1 -0
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.d.ts.map +1 -1
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js +45 -0
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/sparql-executor.js.map +1 -1
  214. package/node_modules/@undefineds.co/drizzle-solid/package.json +5 -4
  215. package/package.json +22 -8
  216. package/static/app/assets/{index-36TJKN-3.js → index-BikOyGPu.js} +34 -34
  217. package/static/app/assets/inrupt-smoke.js +2 -2
  218. package/static/app/assets/main.css +1 -1
  219. package/static/app/assets/main.js +11 -11
  220. package/static/auth-callback/assets/{AiConfigContext-BvBdu_A3.js → AiConfigContext-iQ74JmRZ.js} +1 -1
  221. package/static/auth-callback/assets/{AiConfigPage-BpDw4jco.js → AiConfigPage-BBDKE1gJ.js} +1 -1
  222. package/static/auth-callback/assets/{DocumentProcessingPanel-BmZ_jzRr.js → DocumentProcessingPanel-D9NntIEK.js} +1 -1
  223. package/static/auth-callback/assets/{IndexLifecyclePanel-BfQBjN4z.js → IndexLifecyclePanel-BG07yBdA.js} +1 -1
  224. package/static/auth-callback/assets/{IndexSubjectPanel-BlsnatPt.js → IndexSubjectPanel-B-bUnU3G.js} +1 -1
  225. package/static/auth-callback/assets/{ModelAssignmentsPanel-KA6Mdndz.js → ModelAssignmentsPanel-C7I-Nqy-.js} +1 -1
  226. package/static/auth-callback/assets/{ModelsPage-C7jymyIY.js → ModelsPage-C2hxyrmI.js} +1 -1
  227. package/static/auth-callback/assets/{NetworkPage-k2ShktNm.js → NetworkPage-IGIc2q1Y.js} +1 -1
  228. package/static/auth-callback/assets/{PaneListHeader-mLMe_dvU.js → PaneListHeader-CebuPl_g.js} +1 -1
  229. package/static/auth-callback/assets/{SearchIndexingPanel-CqV9um_t.js → SearchIndexingPanel-6HnZSg00.js} +1 -1
  230. package/static/auth-callback/assets/{StatusSubjectPanel-BgMBTbr2.js → StatusSubjectPanel-votxBkr5.js} +1 -1
  231. package/static/auth-callback/assets/{StatusWorkspace-zbSyhdG2.js → StatusWorkspace-Cksl61zX.js} +1 -1
  232. package/static/auth-callback/assets/{SystemSettingsPage-CtW79nW6.js → SystemSettingsPage-CKZFUaZT.js} +1 -1
  233. package/static/auth-callback/assets/{SystemSettingsSubjectPanel-ZOPKYUtZ.js → SystemSettingsSubjectPanel-pzfUcCf4.js} +1 -1
  234. package/static/auth-callback/assets/{activity-BQ-CQE3O.js → activity-DQL6kZHZ.js} +1 -1
  235. package/static/auth-callback/assets/auth-callback-B_s8Ye5Z.css +1 -0
  236. package/static/auth-callback/assets/{auth-callback-Htr_CB_g.js → auth-callback-BxQMd_Mc.js} +39 -39
  237. package/static/auth-callback/assets/{badge-D5SGTJeO.js → badge-DvW4LUHH.js} +1 -1
  238. package/static/auth-callback/assets/{download-DK183Ldo.js → download-Cx_uaCR1.js} +1 -1
  239. package/static/auth-callback/assets/{external-link-LDHy_4bn.js → external-link-D6L6ExH1.js} +1 -1
  240. package/static/auth-callback/assets/{index-BWrvgHqK.js → index-BAS_hxGu.js} +1 -1
  241. package/static/auth-callback/assets/{index-2WmlePQ9.js → index-BmBjpCoD.js} +1 -1
  242. package/static/auth-callback/assets/{index-browser-DUd4E4-x.js → index-browser-pdn4D3M4.js} +1 -1
  243. package/static/auth-callback/assets/{key-round-ibX79Kr-.js → key-round-BTBzOggq.js} +1 -1
  244. package/static/auth-callback/assets/{rotate-ccw-B2_VMaiX.js → rotate-ccw-eV7Cx8sB.js} +1 -1
  245. package/static/auth-callback/assets/{skeleton-F4nrpycc.js → skeleton-Bg4GYgBM.js} +1 -1
  246. package/static/auth-callback/assets/{waypoints-DImIq93f.js → waypoints-CJbydf0B.js} +1 -1
  247. package/static/auth-callback/assets/{workspace-layout-IVCSYU21.js → workspace-layout-C6Hh8Xf-.js} +1 -1
  248. package/static/auth-callback/auth-callback.html +2 -2
  249. package/static/dashboard/assets/{AiConfigContext-cjjfYTo9.js → AiConfigContext-BkJj28vK.js} +1 -1
  250. package/static/dashboard/assets/{AiConfigPage-CO0DSD_j.js → AiConfigPage-Cs9B4uyp.js} +1 -1
  251. package/static/dashboard/assets/{DocumentProcessingPanel-DMGnH8Oj.js → DocumentProcessingPanel-BBWmM7mS.js} +1 -1
  252. package/static/dashboard/assets/{IndexLifecyclePanel-DSkIOCL5.js → IndexLifecyclePanel-D5xGTT_i.js} +1 -1
  253. package/static/dashboard/assets/{IndexSubjectPanel-qWN_DbAp.js → IndexSubjectPanel-d-mjDthn.js} +1 -1
  254. package/static/dashboard/assets/{ModelAssignmentsPanel-DCf83uM3.js → ModelAssignmentsPanel-C-OLNbqf.js} +1 -1
  255. package/static/dashboard/assets/{ModelsPage-CMnvSrl5.js → ModelsPage-CBrLjuUn.js} +1 -1
  256. package/static/dashboard/assets/{NetworkPage-C8Gkwclb.js → NetworkPage-BlYk8L1z.js} +1 -1
  257. package/static/dashboard/assets/{PaneListHeader-BtU_8cDK.js → PaneListHeader-A5oZJQC0.js} +1 -1
  258. package/static/dashboard/assets/{SearchIndexingPanel-DEn12pNU.js → SearchIndexingPanel-Bs1j8ZP2.js} +1 -1
  259. package/static/dashboard/assets/{StatusSubjectPanel-B1_ILg2d.js → StatusSubjectPanel-Qao3orvi.js} +1 -1
  260. package/static/dashboard/assets/{StatusWorkspace-BG6nMNCo.js → StatusWorkspace-rDM0yDtk.js} +1 -1
  261. package/static/dashboard/assets/{SystemSettingsPage-BnWYIXaM.js → SystemSettingsPage-FPRPkKaR.js} +1 -1
  262. package/static/dashboard/assets/{SystemSettingsSubjectPanel-C_mYVPWb.js → SystemSettingsSubjectPanel-CjlJAxnX.js} +1 -1
  263. package/static/dashboard/assets/{activity-DYJ7PdRl.js → activity-CJ5K6hYC.js} +1 -1
  264. package/static/dashboard/assets/{badge-BIaZco1P.js → badge-L-NMOi1P.js} +1 -1
  265. package/static/dashboard/assets/dashboard-B_s8Ye5Z.css +1 -0
  266. package/static/dashboard/assets/{dashboard-Dl40_MEa.js → dashboard-DyjAyYxx.js} +34 -34
  267. package/static/dashboard/assets/{download-By16k9VK.js → download-Bi4u5K5B.js} +1 -1
  268. package/static/dashboard/assets/{external-link-B92xOG_d.js → external-link-jmhLDfvT.js} +1 -1
  269. package/static/dashboard/assets/{index-BajZpJ48.js → index-BoaGJBxf.js} +1 -1
  270. package/static/dashboard/assets/{index-wsVPom_x.js → index-C22TAEi4.js} +1 -1
  271. package/static/dashboard/assets/{key-round-Clo5FOwA.js → key-round-Dk1VmMrn.js} +1 -1
  272. package/static/dashboard/assets/{rotate-ccw-smWSfi1L.js → rotate-ccw-DIfLsSwi.js} +1 -1
  273. package/static/dashboard/assets/{skeleton-BrTaGeJw.js → skeleton-BGPJMHb-.js} +1 -1
  274. package/static/dashboard/assets/{waypoints-DGPQInE7.js → waypoints-CY53egpu.js} +1 -1
  275. package/static/dashboard/assets/{workspace-layout-CPU4XRmb.js → workspace-layout-CoHkcx70.js} +1 -1
  276. package/static/dashboard/dashboard.html +2 -2
  277. package/static/settings/assets/{AiConfigContext-CT29_OyW.js → AiConfigContext-BcEPlEJe.js} +1 -1
  278. package/static/settings/assets/{AiConfigPage-WIE95S28.js → AiConfigPage-D-t3ZUhg.js} +1 -1
  279. package/static/settings/assets/{DocumentProcessingPanel-KG8Sq999.js → DocumentProcessingPanel-m2SasiMO.js} +1 -1
  280. package/static/settings/assets/{IndexLifecyclePanel-iKvtHDXY.js → IndexLifecyclePanel-BNmAvx8V.js} +1 -1
  281. package/static/settings/assets/{IndexSubjectPanel-BQdSCkk4.js → IndexSubjectPanel-C5-L2AcW.js} +1 -1
  282. package/static/settings/assets/{ModelAssignmentsPanel-P8QcVB0F.js → ModelAssignmentsPanel-Cfpkf02Y.js} +1 -1
  283. package/static/settings/assets/{ModelsPage-UZkZGqor.js → ModelsPage-DZrACwVN.js} +1 -1
  284. package/static/settings/assets/{NetworkPage-Dcpcvg15.js → NetworkPage-BlrGGfqL.js} +1 -1
  285. package/static/settings/assets/{PaneListHeader--gHtZws5.js → PaneListHeader-C3TCs1RI.js} +1 -1
  286. package/static/settings/assets/{SearchIndexingPanel-DdgJSJYQ.js → SearchIndexingPanel-Cyp3CUzX.js} +1 -1
  287. package/static/settings/assets/{StatusSubjectPanel-UOxp_XVL.js → StatusSubjectPanel-gRkb8WEX.js} +1 -1
  288. package/static/settings/assets/{StatusWorkspace-CPNXuD12.js → StatusWorkspace-Dptx4Ec2.js} +1 -1
  289. package/static/settings/assets/{SystemSettingsPage-B6ySeVPw.js → SystemSettingsPage-BWgGUQbs.js} +1 -1
  290. package/static/settings/assets/{SystemSettingsSubjectPanel-I7zWmpiI.js → SystemSettingsSubjectPanel-VflUvpgC.js} +1 -1
  291. package/static/settings/assets/{activity-CFhmzahP.js → activity-D7iNhTkQ.js} +1 -1
  292. package/static/settings/assets/{badge-BBdUc5B-.js → badge-DO0r_RT4.js} +1 -1
  293. package/static/settings/assets/{download-WJE9-yxQ.js → download-CsJlNSbd.js} +1 -1
  294. package/static/settings/assets/{external-link-RKoYyCp_.js → external-link-BCR7SHme.js} +1 -1
  295. package/static/settings/assets/{index-Bq2o0Bif.js → index-Cgq16ekN.js} +1 -1
  296. package/static/settings/assets/{index-DvxneI5O.js → index-SrhQvcrU.js} +1 -1
  297. package/static/settings/assets/{index-browser-Qmo6EsFT.js → index-browser-THpcMCnz.js} +1 -1
  298. package/static/settings/assets/{key-round-r-D9sQUK.js → key-round-Dd3jk1BT.js} +1 -1
  299. package/static/settings/assets/{rotate-ccw-D3IIhbPH.js → rotate-ccw-tiL14i1d.js} +1 -1
  300. package/static/settings/assets/settings-B_s8Ye5Z.css +1 -0
  301. package/static/settings/assets/{settings-D8oDBXWg.js → settings-CVLDPejo.js} +34 -34
  302. package/static/settings/assets/{skeleton-DrL4RQuw.js → skeleton-DBxLuNgU.js} +1 -1
  303. package/static/settings/assets/{waypoints-C5sRhpJw.js → waypoints-DS3e3hv7.js} +1 -1
  304. package/static/settings/assets/{workspace-layout-B4ALmWsM.js → workspace-layout-mucrxyTK.js} +1 -1
  305. package/static/settings/settings.html +2 -2
  306. package/config/search.json +0 -66
  307. package/dist/document/HeadingChunker.jsonld +0 -41
  308. package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +0 -124
  309. package/dist/security/secret-cell/SecretCellVault.jsonld +0 -207
  310. package/dist/storage/PostgresDerivedIndexJournal.d.ts +0 -47
  311. package/dist/storage/PostgresDerivedIndexJournal.js +0 -408
  312. package/dist/storage/PostgresDerivedIndexJournal.jsonld +0 -303
  313. package/dist/storage/RdfDerivedIndexingListener.d.ts +0 -32
  314. package/dist/storage/RdfDerivedIndexingListener.js +0 -135
  315. package/dist/storage/RdfDerivedIndexingListener.jsonld +0 -228
  316. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +0 -148
  317. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +0 -436
  318. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +0 -172
  319. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +0 -102
  320. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +0 -474
  321. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +0 -192
  322. package/dist/storage/rdf/RdfSparqlAdapter.jsonld +0 -486
  323. package/dist/storage/rdf/ShadowRdfQuintStore.d.ts +0 -59
  324. package/dist/storage/rdf/ShadowRdfQuintStore.js +0 -216
  325. package/dist/storage/rdf/ShadowRdfQuintStore.jsonld +0 -312
  326. package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +0 -107
  327. package/dist/storage/rdf/SolidRdfSparqlEngine.js +0 -1117
  328. package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +0 -312
  329. package/dist/storage/sparql/AlgebraUtils.d.ts +0 -48
  330. package/dist/storage/sparql/AlgebraUtils.js +0 -118
  331. package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +0 -37
  332. package/dist/storage/sparql/CompatibilitySparqlEngine.js +0 -96
  333. package/dist/storage/sparql/CompatibilitySparqlEngine.jsonld +0 -123
  334. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +0 -36
  335. package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +0 -124
  336. package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +0 -59
  337. package/dist/storage/sparql/ComunicaOptimizedEngine.js +0 -254
  338. package/dist/storage/sparql/ComunicaQuintEngine.d.ts +0 -143
  339. package/dist/storage/sparql/ComunicaQuintEngine.js +0 -781
  340. package/dist/storage/sparql/ExpressionEvaluator.d.ts +0 -54
  341. package/dist/storage/sparql/ExpressionEvaluator.js +0 -340
  342. package/dist/storage/sparql/FilterPushdownExtractor.d.ts +0 -74
  343. package/dist/storage/sparql/FilterPushdownExtractor.js +0 -421
  344. package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +0 -65
  345. package/dist/storage/sparql/OptimizedQuadstoreEngine.js +0 -327
  346. package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +0 -46
  347. package/dist/storage/sparql/OptimizedQuadstoreSource.js +0 -118
  348. package/dist/storage/sparql/PatternBuilder.d.ts +0 -41
  349. package/dist/storage/sparql/PatternBuilder.js +0 -118
  350. package/dist/storage/sparql/QueryOptimizer.d.ts +0 -125
  351. package/dist/storage/sparql/QueryOptimizer.js +0 -375
  352. package/dist/storage/sparql/QuintEngine.d.ts +0 -92
  353. package/dist/storage/sparql/QuintEngine.js +0 -150
  354. package/dist/storage/sparql/QuintQuerySource.d.ts +0 -241
  355. package/dist/storage/sparql/QuintQuerySource.js +0 -1069
  356. package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +0 -40
  357. package/dist/storage/sparql/SimpleSparqlExecutor.js +0 -131
  358. package/dist/storage/vector/VectorIndexingListener.d.ts +0 -114
  359. package/dist/storage/vector/VectorIndexingListener.js +0 -346
  360. package/static/auth-callback/assets/auth-callback-rWdEQY5f.css +0 -1
  361. package/static/dashboard/assets/dashboard-rWdEQY5f.css +0 -1
  362. package/static/settings/assets/settings-rWdEQY5f.css +0 -1
@@ -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");
@@ -553,6 +555,22 @@ function registerCommonServices(container) {
553
555
  rdfSearchIndexingService: (0, awilix_1.asFunction)(({ rdfEngine, chatKitStore, embeddingService }) => {
554
556
  return (0, rdf_1.createApiRdfSearchIndexingService)(rdfEngine, { chatKitStore, embeddingService });
555
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(),
556
574
  rdfStorageStatsService: (0, awilix_1.asFunction)(({ config, rdfEngine }) => {
557
575
  return new RdfStorageStatsService_1.RdfStorageStatsService({
558
576
  edition: config.edition,
@@ -560,7 +578,7 @@ function registerCommonServices(container) {
560
578
  rdfEngine,
561
579
  });
562
580
  }).singleton(),
563
- 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 }) => {
564
582
  return new InngestRunExecutionBackend_1.InngestRunExecutionBackend({
565
583
  baseUrl: inngestRuntimeConfig?.baseUrl,
566
584
  eventKey: inngestRuntimeConfig?.eventKey,
@@ -582,6 +600,7 @@ function registerCommonServices(container) {
582
600
  agentLoopIsolation: config.edition === 'cloud' ? 'sandboxed-process' : 'in-process',
583
601
  requireSandbox: config.edition === 'cloud',
584
602
  rdfSearchIndexingService,
603
+ rdfSearchReconciliationRepository,
585
604
  }),
586
605
  });
587
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,