@undefineds.co/xpod 0.1.0-local.202602081751

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 (970) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +146 -0
  3. package/components/components.jsonld +72 -0
  4. package/components/context.jsonld +1635 -0
  5. package/config/bun.json +90 -0
  6. package/config/cli.json +260 -0
  7. package/config/cloud.json +469 -0
  8. package/config/extensions.local.initializer.json +23 -0
  9. package/config/local.json +261 -0
  10. package/config/logging/configurable.json +18 -0
  11. package/config/main.json +200 -0
  12. package/config/main.vanilla.json +6 -0
  13. package/config/resolver.json +347 -0
  14. package/config/search.json +66 -0
  15. package/config/seed.dev.json +29 -0
  16. package/config/seeds/admin.example.json +11 -0
  17. package/config/seeds/test.json +11 -0
  18. package/config/terminal.json +22 -0
  19. package/config/vector.json +35 -0
  20. package/config/xpod.base.json +155 -0
  21. package/config/xpod.cluster.json +419 -0
  22. package/config/xpod.json +233 -0
  23. package/dist/agents/AgentExecutorFactory.d.ts +67 -0
  24. package/dist/agents/AgentExecutorFactory.js +193 -0
  25. package/dist/agents/AgentExecutorFactory.js.map +1 -0
  26. package/dist/agents/AgentManager.d.ts +114 -0
  27. package/dist/agents/AgentManager.js +289 -0
  28. package/dist/agents/AgentManager.js.map +1 -0
  29. package/dist/agents/BaseAgentExecutor.d.ts +67 -0
  30. package/dist/agents/BaseAgentExecutor.js +101 -0
  31. package/dist/agents/BaseAgentExecutor.js.map +1 -0
  32. package/dist/agents/ClaudeExecutor.d.ts +63 -0
  33. package/dist/agents/ClaudeExecutor.js +335 -0
  34. package/dist/agents/ClaudeExecutor.js.map +1 -0
  35. package/dist/agents/CodeBuddyExecutor.d.ts +54 -0
  36. package/dist/agents/CodeBuddyExecutor.js +273 -0
  37. package/dist/agents/CodeBuddyExecutor.js.map +1 -0
  38. package/dist/agents/IndexAgent.d.ts +70 -0
  39. package/dist/agents/IndexAgent.js +417 -0
  40. package/dist/agents/IndexAgent.js.map +1 -0
  41. package/dist/agents/index.d.ts +22 -0
  42. package/dist/agents/index.js +48 -0
  43. package/dist/agents/index.js.map +1 -0
  44. package/dist/agents/schema/agent-config.d.ts +58 -0
  45. package/dist/agents/schema/agent-config.js +74 -0
  46. package/dist/agents/schema/agent-config.js.map +1 -0
  47. package/dist/agents/schema/tables.d.ts +46 -0
  48. package/dist/agents/schema/tables.js +64 -0
  49. package/dist/agents/schema/tables.js.map +1 -0
  50. package/dist/agents/types.d.ts +266 -0
  51. package/dist/agents/types.js +9 -0
  52. package/dist/agents/types.js.map +1 -0
  53. package/dist/ai/index.d.ts +5 -0
  54. package/dist/ai/index.js +22 -0
  55. package/dist/ai/index.js.map +1 -0
  56. package/dist/ai/schema/config.d.ts +27 -0
  57. package/dist/ai/schema/config.js +36 -0
  58. package/dist/ai/schema/config.js.map +1 -0
  59. package/dist/ai/schema/index.d.ts +8 -0
  60. package/dist/ai/schema/index.js +27 -0
  61. package/dist/ai/schema/index.js.map +1 -0
  62. package/dist/ai/schema/model.d.ts +40 -0
  63. package/dist/ai/schema/model.js +60 -0
  64. package/dist/ai/schema/model.js.map +1 -0
  65. package/dist/ai/schema/provider.d.ts +21 -0
  66. package/dist/ai/schema/provider.js +30 -0
  67. package/dist/ai/schema/provider.js.map +1 -0
  68. package/dist/ai/schema/types.d.ts +52 -0
  69. package/dist/ai/schema/types.js +62 -0
  70. package/dist/ai/schema/types.js.map +1 -0
  71. package/dist/ai/schema/vector-store.d.ts +53 -0
  72. package/dist/ai/schema/vector-store.js +65 -0
  73. package/dist/ai/schema/vector-store.js.map +1 -0
  74. package/dist/ai/service/CredentialReader.d.ts +7 -0
  75. package/dist/ai/service/CredentialReader.js +10 -0
  76. package/dist/ai/service/CredentialReader.js.map +1 -0
  77. package/dist/ai/service/CredentialReaderImpl.d.ts +6 -0
  78. package/dist/ai/service/CredentialReaderImpl.js +55 -0
  79. package/dist/ai/service/CredentialReaderImpl.js.map +1 -0
  80. package/dist/ai/service/EmbeddingService.d.ts +8 -0
  81. package/dist/ai/service/EmbeddingService.js +10 -0
  82. package/dist/ai/service/EmbeddingService.js.map +1 -0
  83. package/dist/ai/service/EmbeddingServiceImpl.d.ts +11 -0
  84. package/dist/ai/service/EmbeddingServiceImpl.js +73 -0
  85. package/dist/ai/service/EmbeddingServiceImpl.js.map +1 -0
  86. package/dist/ai/service/ProviderRegistry.d.ts +26 -0
  87. package/dist/ai/service/ProviderRegistry.js +10 -0
  88. package/dist/ai/service/ProviderRegistry.js.map +1 -0
  89. package/dist/ai/service/ProviderRegistryImpl.d.ts +14 -0
  90. package/dist/ai/service/ProviderRegistryImpl.js +112 -0
  91. package/dist/ai/service/ProviderRegistryImpl.js.map +1 -0
  92. package/dist/ai/service/index.d.ts +10 -0
  93. package/dist/ai/service/index.js +29 -0
  94. package/dist/ai/service/index.js.map +1 -0
  95. package/dist/ai/service/types.d.ts +12 -0
  96. package/dist/ai/service/types.js +6 -0
  97. package/dist/ai/service/types.js.map +1 -0
  98. package/dist/api/ApiServer.d.ts +77 -0
  99. package/dist/api/ApiServer.js +191 -0
  100. package/dist/api/ApiServer.js.map +1 -0
  101. package/dist/api/auth/AuthContext.d.ts +41 -0
  102. package/dist/api/auth/AuthContext.js +44 -0
  103. package/dist/api/auth/AuthContext.js.map +1 -0
  104. package/dist/api/auth/Authenticator.d.ts +23 -0
  105. package/dist/api/auth/Authenticator.js +3 -0
  106. package/dist/api/auth/Authenticator.js.map +1 -0
  107. package/dist/api/auth/ClientCredentialsAuthenticator.d.ts +56 -0
  108. package/dist/api/auth/ClientCredentialsAuthenticator.js +191 -0
  109. package/dist/api/auth/ClientCredentialsAuthenticator.js.map +1 -0
  110. package/dist/api/auth/MultiAuthenticator.d.ts +15 -0
  111. package/dist/api/auth/MultiAuthenticator.js +36 -0
  112. package/dist/api/auth/MultiAuthenticator.js.map +1 -0
  113. package/dist/api/auth/NodeTokenAuthenticator.d.ts +21 -0
  114. package/dist/api/auth/NodeTokenAuthenticator.js +124 -0
  115. package/dist/api/auth/NodeTokenAuthenticator.js.map +1 -0
  116. package/dist/api/auth/SolidTokenAuthenticator.d.ts +27 -0
  117. package/dist/api/auth/SolidTokenAuthenticator.js +144 -0
  118. package/dist/api/auth/SolidTokenAuthenticator.js.map +1 -0
  119. package/dist/api/auth/index.d.ts +5 -0
  120. package/dist/api/auth/index.js +23 -0
  121. package/dist/api/auth/index.js.map +1 -0
  122. package/dist/api/chatkit/ai-provider.d.ts +44 -0
  123. package/dist/api/chatkit/ai-provider.js +157 -0
  124. package/dist/api/chatkit/ai-provider.js.map +1 -0
  125. package/dist/api/chatkit/index.d.ts +11 -0
  126. package/dist/api/chatkit/index.js +44 -0
  127. package/dist/api/chatkit/index.js.map +1 -0
  128. package/dist/api/chatkit/pod-store.d.ts +154 -0
  129. package/dist/api/chatkit/pod-store.js +794 -0
  130. package/dist/api/chatkit/pod-store.js.map +1 -0
  131. package/dist/api/chatkit/schema.d.ts +139 -0
  132. package/dist/api/chatkit/schema.js +168 -0
  133. package/dist/api/chatkit/schema.js.map +1 -0
  134. package/dist/api/chatkit/service.d.ts +143 -0
  135. package/dist/api/chatkit/service.js +442 -0
  136. package/dist/api/chatkit/service.js.map +1 -0
  137. package/dist/api/chatkit/store.d.ts +63 -0
  138. package/dist/api/chatkit/store.js +178 -0
  139. package/dist/api/chatkit/store.js.map +1 -0
  140. package/dist/api/chatkit/types.d.ts +461 -0
  141. package/dist/api/chatkit/types.js +50 -0
  142. package/dist/api/chatkit/types.js.map +1 -0
  143. package/dist/api/container/cloud.d.ts +12 -0
  144. package/dist/api/container/cloud.js +97 -0
  145. package/dist/api/container/cloud.js.map +1 -0
  146. package/dist/api/container/common.d.ts +11 -0
  147. package/dist/api/container/common.js +82 -0
  148. package/dist/api/container/common.js.map +1 -0
  149. package/dist/api/container/index.d.ts +16 -0
  150. package/dist/api/container/index.js +90 -0
  151. package/dist/api/container/index.js.map +1 -0
  152. package/dist/api/container/local.d.ts +13 -0
  153. package/dist/api/container/local.js +197 -0
  154. package/dist/api/container/local.js.map +1 -0
  155. package/dist/api/container/routes.d.ts +11 -0
  156. package/dist/api/container/routes.js +129 -0
  157. package/dist/api/container/routes.js.map +1 -0
  158. package/dist/api/container/types.d.ts +92 -0
  159. package/dist/api/container/types.js +8 -0
  160. package/dist/api/container/types.js.map +1 -0
  161. package/dist/api/handlers/AdminHandler.d.ts +6 -0
  162. package/dist/api/handlers/AdminHandler.js +330 -0
  163. package/dist/api/handlers/AdminHandler.js.map +1 -0
  164. package/dist/api/handlers/ApiKeyHandler.d.ts +15 -0
  165. package/dist/api/handlers/ApiKeyHandler.js +159 -0
  166. package/dist/api/handlers/ApiKeyHandler.js.map +1 -0
  167. package/dist/api/handlers/ChatHandler.d.ts +60 -0
  168. package/dist/api/handlers/ChatHandler.js +230 -0
  169. package/dist/api/handlers/ChatHandler.js.map +1 -0
  170. package/dist/api/handlers/ChatKitHandler.d.ts +18 -0
  171. package/dist/api/handlers/ChatKitHandler.js +151 -0
  172. package/dist/api/handlers/ChatKitHandler.js.map +1 -0
  173. package/dist/api/handlers/DashboardHandler.d.ts +14 -0
  174. package/dist/api/handlers/DashboardHandler.js +117 -0
  175. package/dist/api/handlers/DashboardHandler.js.map +1 -0
  176. package/dist/api/handlers/DdnsHandler.d.ts +19 -0
  177. package/dist/api/handlers/DdnsHandler.js +306 -0
  178. package/dist/api/handlers/DdnsHandler.js.map +1 -0
  179. package/dist/api/handlers/DevHandler.d.ts +18 -0
  180. package/dist/api/handlers/DevHandler.js +276 -0
  181. package/dist/api/handlers/DevHandler.js.map +1 -0
  182. package/dist/api/handlers/NodeHandler.d.ts +16 -0
  183. package/dist/api/handlers/NodeHandler.js +190 -0
  184. package/dist/api/handlers/NodeHandler.js.map +1 -0
  185. package/dist/api/handlers/PodManagementHandler.d.ts +39 -0
  186. package/dist/api/handlers/PodManagementHandler.js +294 -0
  187. package/dist/api/handlers/PodManagementHandler.js.map +1 -0
  188. package/dist/api/handlers/QuotaHandler.d.ts +21 -0
  189. package/dist/api/handlers/QuotaHandler.js +209 -0
  190. package/dist/api/handlers/QuotaHandler.js.map +1 -0
  191. package/dist/api/handlers/SignalHandler.d.ts +13 -0
  192. package/dist/api/handlers/SignalHandler.js +122 -0
  193. package/dist/api/handlers/SignalHandler.js.map +1 -0
  194. package/dist/api/handlers/SubdomainClientHandler.d.ts +24 -0
  195. package/dist/api/handlers/SubdomainClientHandler.js +169 -0
  196. package/dist/api/handlers/SubdomainClientHandler.js.map +1 -0
  197. package/dist/api/handlers/SubdomainHandler.d.ts +17 -0
  198. package/dist/api/handlers/SubdomainHandler.js +312 -0
  199. package/dist/api/handlers/SubdomainHandler.js.map +1 -0
  200. package/dist/api/handlers/VectorHandler.d.ts +15 -0
  201. package/dist/api/handlers/VectorHandler.js +293 -0
  202. package/dist/api/handlers/VectorHandler.js.map +1 -0
  203. package/dist/api/handlers/VectorStoreHandler.d.ts +20 -0
  204. package/dist/api/handlers/VectorStoreHandler.js +348 -0
  205. package/dist/api/handlers/VectorStoreHandler.js.map +1 -0
  206. package/dist/api/handlers/VectorStoreWebhookHandler.d.ts +74 -0
  207. package/dist/api/handlers/VectorStoreWebhookHandler.js +121 -0
  208. package/dist/api/handlers/VectorStoreWebhookHandler.js.map +1 -0
  209. package/dist/api/handlers/WebIdProfileHandler.d.ts +14 -0
  210. package/dist/api/handlers/WebIdProfileHandler.js +204 -0
  211. package/dist/api/handlers/WebIdProfileHandler.js.map +1 -0
  212. package/dist/api/handlers/index.d.ts +11 -0
  213. package/dist/api/handlers/index.js +28 -0
  214. package/dist/api/handlers/index.js.map +1 -0
  215. package/dist/api/index.d.ts +12 -0
  216. package/dist/api/index.js +29 -0
  217. package/dist/api/index.js.map +1 -0
  218. package/dist/api/main.d.ts +14 -0
  219. package/dist/api/main.js +106 -0
  220. package/dist/api/main.js.map +1 -0
  221. package/dist/api/middleware/AuthMiddleware.d.ts +35 -0
  222. package/dist/api/middleware/AuthMiddleware.js +51 -0
  223. package/dist/api/middleware/AuthMiddleware.js.map +1 -0
  224. package/dist/api/middleware/index.d.ts +1 -0
  225. package/dist/api/middleware/index.js +18 -0
  226. package/dist/api/middleware/index.js.map +1 -0
  227. package/dist/api/models/model-provider.schema.d.ts +12 -0
  228. package/dist/api/models/model-provider.schema.js +21 -0
  229. package/dist/api/models/model-provider.schema.js.map +1 -0
  230. package/dist/api/models/namespaces.d.ts +9 -0
  231. package/dist/api/models/namespaces.js +34 -0
  232. package/dist/api/models/namespaces.js.map +1 -0
  233. package/dist/api/service/InternalPodService.d.ts +19 -0
  234. package/dist/api/service/InternalPodService.js +82 -0
  235. package/dist/api/service/InternalPodService.js.map +1 -0
  236. package/dist/api/service/VectorService.d.ts +156 -0
  237. package/dist/api/service/VectorService.js +202 -0
  238. package/dist/api/service/VectorService.js.map +1 -0
  239. package/dist/api/service/VectorStoreService.d.ts +262 -0
  240. package/dist/api/service/VectorStoreService.js +985 -0
  241. package/dist/api/service/VectorStoreService.js.map +1 -0
  242. package/dist/api/service/VercelChatService.d.ts +28 -0
  243. package/dist/api/service/VercelChatService.js +289 -0
  244. package/dist/api/service/VercelChatService.js.map +1 -0
  245. package/dist/api/store/DrizzleClientCredentialsStore.d.ts +56 -0
  246. package/dist/api/store/DrizzleClientCredentialsStore.js +145 -0
  247. package/dist/api/store/DrizzleClientCredentialsStore.js.map +1 -0
  248. package/dist/api/store/index.d.ts +1 -0
  249. package/dist/api/store/index.js +18 -0
  250. package/dist/api/store/index.js.map +1 -0
  251. package/dist/components/components.jsonld +88 -0
  252. package/dist/components/context.jsonld +1962 -0
  253. package/dist/credential/index.d.ts +1 -0
  254. package/dist/credential/index.js +18 -0
  255. package/dist/credential/index.js.map +1 -0
  256. package/dist/credential/schema/index.d.ts +2 -0
  257. package/dist/credential/schema/index.js +19 -0
  258. package/dist/credential/schema/index.js.map +1 -0
  259. package/dist/credential/schema/tables.d.ts +31 -0
  260. package/dist/credential/schema/tables.js +42 -0
  261. package/dist/credential/schema/tables.js.map +1 -0
  262. package/dist/credential/schema/types.d.ts +20 -0
  263. package/dist/credential/schema/types.js +26 -0
  264. package/dist/credential/schema/types.js.map +1 -0
  265. package/dist/dns/DnsProvider.d.ts +46 -0
  266. package/dist/dns/DnsProvider.js +3 -0
  267. package/dist/dns/DnsProvider.js.map +1 -0
  268. package/dist/dns/DnsProvider.jsonld +161 -0
  269. package/dist/dns/cloudflare/CloudflareDnsProvider.d.ts +51 -0
  270. package/dist/dns/cloudflare/CloudflareDnsProvider.js +227 -0
  271. package/dist/dns/cloudflare/CloudflareDnsProvider.js.map +1 -0
  272. package/dist/dns/cloudflare/index.d.ts +1 -0
  273. package/dist/dns/cloudflare/index.js +18 -0
  274. package/dist/dns/cloudflare/index.js.map +1 -0
  275. package/dist/dns/tencent/TencentDnsProvider.d.ts +42 -0
  276. package/dist/dns/tencent/TencentDnsProvider.js +221 -0
  277. package/dist/dns/tencent/TencentDnsProvider.js.map +1 -0
  278. package/dist/dns/tencent/TencentDnsProvider.jsonld +239 -0
  279. package/dist/document/Chunker.d.ts +64 -0
  280. package/dist/document/Chunker.js +8 -0
  281. package/dist/document/Chunker.js.map +1 -0
  282. package/dist/document/DocumentParser.d.ts +58 -0
  283. package/dist/document/DocumentParser.js +8 -0
  284. package/dist/document/DocumentParser.js.map +1 -0
  285. package/dist/document/HeadingChunker.d.ts +34 -0
  286. package/dist/document/HeadingChunker.js +182 -0
  287. package/dist/document/HeadingChunker.js.map +1 -0
  288. package/dist/document/JinaDocumentParser.d.ts +40 -0
  289. package/dist/document/JinaDocumentParser.js +129 -0
  290. package/dist/document/JinaDocumentParser.js.map +1 -0
  291. package/dist/document/index.d.ts +7 -0
  292. package/dist/document/index.js +26 -0
  293. package/dist/document/index.js.map +1 -0
  294. package/dist/edge/DdnsManager.d.ts +53 -0
  295. package/dist/edge/DdnsManager.js +153 -0
  296. package/dist/edge/DdnsManager.js.map +1 -0
  297. package/dist/edge/Dns01CertificateProvisioner.d.ts +27 -0
  298. package/dist/edge/Dns01CertificateProvisioner.js +160 -0
  299. package/dist/edge/Dns01CertificateProvisioner.js.map +1 -0
  300. package/dist/edge/Dns01CertificateProvisioner.jsonld +148 -0
  301. package/dist/edge/EdgeNodeAgent.d.ts +56 -0
  302. package/dist/edge/EdgeNodeAgent.js +230 -0
  303. package/dist/edge/EdgeNodeAgent.js.map +1 -0
  304. package/dist/edge/EdgeNodeAgent.jsonld +89 -0
  305. package/dist/edge/EdgeNodeAgentInitializer.d.ts +25 -0
  306. package/dist/edge/EdgeNodeAgentInitializer.js +64 -0
  307. package/dist/edge/EdgeNodeAgentInitializer.js.map +1 -0
  308. package/dist/edge/EdgeNodeCapabilityDetector.d.ts +98 -0
  309. package/dist/edge/EdgeNodeCapabilityDetector.js +425 -0
  310. package/dist/edge/EdgeNodeCapabilityDetector.js.map +1 -0
  311. package/dist/edge/EdgeNodeCertificateProvisioner.d.ts +3 -0
  312. package/dist/edge/EdgeNodeCertificateProvisioner.js +3 -0
  313. package/dist/edge/EdgeNodeCertificateProvisioner.js.map +1 -0
  314. package/dist/edge/EdgeNodeCertificateProvisioner.jsonld +21 -0
  315. package/dist/edge/EdgeNodeDnsCoordinator.d.ts +38 -0
  316. package/dist/edge/EdgeNodeDnsCoordinator.js +201 -0
  317. package/dist/edge/EdgeNodeDnsCoordinator.js.map +1 -0
  318. package/dist/edge/EdgeNodeDnsCoordinator.jsonld +212 -0
  319. package/dist/edge/EdgeNodeHealthProbeService.d.ts +25 -0
  320. package/dist/edge/EdgeNodeHealthProbeService.js +208 -0
  321. package/dist/edge/EdgeNodeHealthProbeService.js.map +1 -0
  322. package/dist/edge/EdgeNodeHealthProbeService.jsonld +176 -0
  323. package/dist/edge/EdgeNodeModeDetector.d.ts +50 -0
  324. package/dist/edge/EdgeNodeModeDetector.js +194 -0
  325. package/dist/edge/EdgeNodeModeDetector.js.map +1 -0
  326. package/dist/edge/EdgeNodeModeDetector.jsonld +114 -0
  327. package/dist/edge/EdgeNodeTunnelManager.d.ts +23 -0
  328. package/dist/edge/EdgeNodeTunnelManager.js +99 -0
  329. package/dist/edge/EdgeNodeTunnelManager.js.map +1 -0
  330. package/dist/edge/EdgeNodeTunnelManager.jsonld +128 -0
  331. package/dist/edge/FrpTunnelManager.d.ts +30 -0
  332. package/dist/edge/FrpTunnelManager.js +151 -0
  333. package/dist/edge/FrpTunnelManager.js.map +1 -0
  334. package/dist/edge/FrpTunnelManager.jsonld +192 -0
  335. package/dist/edge/LocalNetworkManager.d.ts +41 -0
  336. package/dist/edge/LocalNetworkManager.js +115 -0
  337. package/dist/edge/LocalNetworkManager.js.map +1 -0
  338. package/dist/edge/acme/AcmeCertificateManager.d.ts +65 -0
  339. package/dist/edge/acme/AcmeCertificateManager.js +233 -0
  340. package/dist/edge/acme/AcmeCertificateManager.js.map +1 -0
  341. package/dist/edge/acme/AcmeCertificateManager.jsonld +373 -0
  342. package/dist/edge/acme/ClusterCertificateManager.d.ts +40 -0
  343. package/dist/edge/acme/ClusterCertificateManager.js +184 -0
  344. package/dist/edge/acme/ClusterCertificateManager.js.map +1 -0
  345. package/dist/edge/acme/DnsChallengeClient.d.ts +15 -0
  346. package/dist/edge/acme/DnsChallengeClient.js +40 -0
  347. package/dist/edge/acme/DnsChallengeClient.js.map +1 -0
  348. package/dist/edge/acme/utils.d.ts +4 -0
  349. package/dist/edge/acme/utils.js +17 -0
  350. package/dist/edge/acme/utils.js.map +1 -0
  351. package/dist/edge/frp/FrpRelay.d.ts +11 -0
  352. package/dist/edge/frp/FrpRelay.js +29 -0
  353. package/dist/edge/frp/FrpRelay.js.map +1 -0
  354. package/dist/edge/frp/FrpcProcessManager.d.ts +51 -0
  355. package/dist/edge/frp/FrpcProcessManager.js +174 -0
  356. package/dist/edge/frp/FrpcProcessManager.js.map +1 -0
  357. package/dist/edge/interfaces/EdgeNodeTunnelManager.d.ts +6 -0
  358. package/dist/edge/interfaces/EdgeNodeTunnelManager.js +3 -0
  359. package/dist/edge/interfaces/EdgeNodeTunnelManager.js.map +1 -0
  360. package/dist/edge/interfaces/EdgeNodeTunnelManager.jsonld +21 -0
  361. package/dist/embedding/CredentialReader.d.ts +7 -0
  362. package/dist/embedding/CredentialReader.js +10 -0
  363. package/dist/embedding/CredentialReader.js.map +1 -0
  364. package/dist/embedding/CredentialReader.jsonld +22 -0
  365. package/dist/embedding/CredentialReaderImpl.d.ts +6 -0
  366. package/dist/embedding/CredentialReaderImpl.js +55 -0
  367. package/dist/embedding/CredentialReaderImpl.js.map +1 -0
  368. package/dist/embedding/CredentialReaderImpl.jsonld +31 -0
  369. package/dist/embedding/EmbeddingService.d.ts +8 -0
  370. package/dist/embedding/EmbeddingService.js +10 -0
  371. package/dist/embedding/EmbeddingService.js.map +1 -0
  372. package/dist/embedding/EmbeddingService.jsonld +26 -0
  373. package/dist/embedding/EmbeddingServiceImpl.d.ts +11 -0
  374. package/dist/embedding/EmbeddingServiceImpl.js +73 -0
  375. package/dist/embedding/EmbeddingServiceImpl.js.map +1 -0
  376. package/dist/embedding/EmbeddingServiceImpl.jsonld +53 -0
  377. package/dist/embedding/ProviderRegistry.d.ts +26 -0
  378. package/dist/embedding/ProviderRegistry.js +10 -0
  379. package/dist/embedding/ProviderRegistry.js.map +1 -0
  380. package/dist/embedding/ProviderRegistry.jsonld +30 -0
  381. package/dist/embedding/ProviderRegistryImpl.d.ts +14 -0
  382. package/dist/embedding/ProviderRegistryImpl.js +112 -0
  383. package/dist/embedding/ProviderRegistryImpl.js.map +1 -0
  384. package/dist/embedding/ProviderRegistryImpl.jsonld +40 -0
  385. package/dist/embedding/index.d.ts +5 -0
  386. package/dist/embedding/index.js +22 -0
  387. package/dist/embedding/index.js.map +1 -0
  388. package/dist/embedding/schema/index.d.ts +1 -0
  389. package/dist/embedding/schema/index.js +18 -0
  390. package/dist/embedding/schema/index.js.map +1 -0
  391. package/dist/embedding/schema/tables.d.ts +70 -0
  392. package/dist/embedding/schema/tables.js +102 -0
  393. package/dist/embedding/schema/tables.js.map +1 -0
  394. package/dist/embedding/types.d.ts +12 -0
  395. package/dist/embedding/types.js +6 -0
  396. package/dist/embedding/types.js.map +1 -0
  397. package/dist/gateway/port-finder.d.ts +4 -0
  398. package/dist/gateway/port-finder.js +15 -0
  399. package/dist/gateway/port-finder.js.map +1 -0
  400. package/dist/gateway/proxy.d.ts +22 -0
  401. package/dist/gateway/proxy.js +149 -0
  402. package/dist/gateway/proxy.js.map +1 -0
  403. package/dist/gateway/supervisor.d.ts +2 -0
  404. package/dist/gateway/supervisor.js +7 -0
  405. package/dist/gateway/supervisor.js.map +1 -0
  406. package/dist/gateway/types.d.ts +1 -0
  407. package/dist/gateway/types.js +3 -0
  408. package/dist/gateway/types.js.map +1 -0
  409. package/dist/http/AppStaticAssetHandler.d.ts +8 -0
  410. package/dist/http/AppStaticAssetHandler.js +27 -0
  411. package/dist/http/AppStaticAssetHandler.js.map +1 -0
  412. package/dist/http/AppStaticAssetHandler.jsonld +26 -0
  413. package/dist/http/ClusterIngressRouter.d.ts +93 -0
  414. package/dist/http/ClusterIngressRouter.js +355 -0
  415. package/dist/http/ClusterIngressRouter.js.map +1 -0
  416. package/dist/http/ClusterIngressRouter.jsonld +227 -0
  417. package/dist/http/ClusterWebSocketConfigurator.d.ts +59 -0
  418. package/dist/http/ClusterWebSocketConfigurator.js +226 -0
  419. package/dist/http/ClusterWebSocketConfigurator.js.map +1 -0
  420. package/dist/http/ClusterWebSocketConfigurator.jsonld +145 -0
  421. package/dist/http/EdgeNodeDirectDebugHttpHandler.d.ts +25 -0
  422. package/dist/http/EdgeNodeDirectDebugHttpHandler.js +126 -0
  423. package/dist/http/EdgeNodeDirectDebugHttpHandler.js.map +1 -0
  424. package/dist/http/EdgeNodeDirectDebugHttpHandler.jsonld +151 -0
  425. package/dist/http/EdgeNodeProxyHttpHandler.d.ts +28 -0
  426. package/dist/http/EdgeNodeProxyHttpHandler.js +190 -0
  427. package/dist/http/EdgeNodeProxyHttpHandler.js.map +1 -0
  428. package/dist/http/EdgeNodeProxyHttpHandler.jsonld +162 -0
  429. package/dist/http/PodRoutingHttpHandler.d.ts +64 -0
  430. package/dist/http/PodRoutingHttpHandler.js +233 -0
  431. package/dist/http/PodRoutingHttpHandler.js.map +1 -0
  432. package/dist/http/PodRoutingHttpHandler.jsonld +171 -0
  433. package/dist/http/RequestIdHttpHandler.d.ts +15 -0
  434. package/dist/http/RequestIdHttpHandler.js +59 -0
  435. package/dist/http/RequestIdHttpHandler.js.map +1 -0
  436. package/dist/http/RouterHttpHandler.d.ts +21 -0
  437. package/dist/http/RouterHttpHandler.js +49 -0
  438. package/dist/http/RouterHttpHandler.js.map +1 -0
  439. package/dist/http/RouterHttpHandler.jsonld +80 -0
  440. package/dist/http/RouterHttpRoute.d.ts +6 -0
  441. package/dist/http/RouterHttpRoute.js +11 -0
  442. package/dist/http/RouterHttpRoute.js.map +1 -0
  443. package/dist/http/RouterHttpRoute.jsonld +48 -0
  444. package/dist/http/SignalInterceptHttpHandler.d.ts +24 -0
  445. package/dist/http/SignalInterceptHttpHandler.js +47 -0
  446. package/dist/http/SignalInterceptHttpHandler.js.map +1 -0
  447. package/dist/http/SignalInterceptHttpHandler.jsonld +103 -0
  448. package/dist/http/SubgraphSparqlHttpHandler.d.ts +70 -0
  449. package/dist/http/SubgraphSparqlHttpHandler.js +640 -0
  450. package/dist/http/SubgraphSparqlHttpHandler.js.map +1 -0
  451. package/dist/http/SubgraphSparqlHttpHandler.jsonld +363 -0
  452. package/dist/http/TracingHandler.d.ts +19 -0
  453. package/dist/http/TracingHandler.js +60 -0
  454. package/dist/http/TracingHandler.js.map +1 -0
  455. package/dist/http/TracingHandler.jsonld +37 -0
  456. package/dist/http/admin/EdgeNodeAdminHttpHandler.d.ts +45 -0
  457. package/dist/http/admin/EdgeNodeAdminHttpHandler.js +292 -0
  458. package/dist/http/admin/EdgeNodeAdminHttpHandler.js.map +1 -0
  459. package/dist/http/admin/EdgeNodeCertificateHttpHandler.d.ts +33 -0
  460. package/dist/http/admin/EdgeNodeCertificateHttpHandler.js +172 -0
  461. package/dist/http/admin/EdgeNodeCertificateHttpHandler.js.map +1 -0
  462. package/dist/http/admin/EdgeNodeCertificateHttpHandler.jsonld +182 -0
  463. package/dist/http/admin/EdgeNodeSignalHttpHandler.d.ts +71 -0
  464. package/dist/http/admin/EdgeNodeSignalHttpHandler.js +674 -0
  465. package/dist/http/admin/EdgeNodeSignalHttpHandler.js.map +1 -0
  466. package/dist/http/admin/EdgeNodeSignalHttpHandler.jsonld +406 -0
  467. package/dist/http/cluster/PodMigrationHttpHandler.d.ts +52 -0
  468. package/dist/http/cluster/PodMigrationHttpHandler.js +208 -0
  469. package/dist/http/cluster/PodMigrationHttpHandler.js.map +1 -0
  470. package/dist/http/cluster/PodMigrationHttpHandler.jsonld +169 -0
  471. package/dist/http/quota/QuotaAdminHttpHandler.d.ts +34 -0
  472. package/dist/http/quota/QuotaAdminHttpHandler.js +241 -0
  473. package/dist/http/quota/QuotaAdminHttpHandler.js.map +1 -0
  474. package/dist/http/quota/QuotaAdminHttpHandler.jsonld +171 -0
  475. package/dist/http/search/SearchHttpHandler.d.ts +59 -0
  476. package/dist/http/search/SearchHttpHandler.js +312 -0
  477. package/dist/http/search/SearchHttpHandler.js.map +1 -0
  478. package/dist/http/search/index.d.ts +1 -0
  479. package/dist/http/search/index.js +18 -0
  480. package/dist/http/search/index.js.map +1 -0
  481. package/dist/http/terminal/TerminalHttpHandler.d.ts +45 -0
  482. package/dist/http/terminal/TerminalHttpHandler.js +306 -0
  483. package/dist/http/terminal/TerminalHttpHandler.js.map +1 -0
  484. package/dist/http/terminal/TerminalHttpHandler.jsonld +232 -0
  485. package/dist/http/terminal/index.d.ts +1 -0
  486. package/dist/http/terminal/index.js +18 -0
  487. package/dist/http/terminal/index.js.map +1 -0
  488. package/dist/http/vector/VectorHttpHandler.d.ts +42 -0
  489. package/dist/http/vector/VectorHttpHandler.js +301 -0
  490. package/dist/http/vector/VectorHttpHandler.js.map +1 -0
  491. package/dist/http/vector/VectorHttpHandler.jsonld +157 -0
  492. package/dist/http/vector/index.d.ts +1 -0
  493. package/dist/http/vector/index.js +18 -0
  494. package/dist/http/vector/index.js.map +1 -0
  495. package/dist/ice/IceServerProvider.d.ts +85 -0
  496. package/dist/ice/IceServerProvider.js +122 -0
  497. package/dist/ice/IceServerProvider.js.map +1 -0
  498. package/dist/ice/index.d.ts +8 -0
  499. package/dist/ice/index.js +25 -0
  500. package/dist/ice/index.js.map +1 -0
  501. package/dist/identity/CenterNodeRegistrationService.d.ts +102 -0
  502. package/dist/identity/CenterNodeRegistrationService.js +266 -0
  503. package/dist/identity/CenterNodeRegistrationService.js.map +1 -0
  504. package/dist/identity/CenterNodeRegistrationService.jsonld +251 -0
  505. package/dist/identity/ReactAppViewHandler.d.ts +31 -0
  506. package/dist/identity/ReactAppViewHandler.js +79 -0
  507. package/dist/identity/ReactAppViewHandler.js.map +1 -0
  508. package/dist/identity/ReactAppViewHandler.jsonld +99 -0
  509. package/dist/identity/drizzle/AccountRepository.d.ts +31 -0
  510. package/dist/identity/drizzle/AccountRepository.js +130 -0
  511. package/dist/identity/drizzle/AccountRepository.js.map +1 -0
  512. package/dist/identity/drizzle/AccountRoleRepository.d.ts +23 -0
  513. package/dist/identity/drizzle/AccountRoleRepository.js +233 -0
  514. package/dist/identity/drizzle/AccountRoleRepository.js.map +1 -0
  515. package/dist/identity/drizzle/DdnsRepository.d.ts +87 -0
  516. package/dist/identity/drizzle/DdnsRepository.js +284 -0
  517. package/dist/identity/drizzle/DdnsRepository.js.map +1 -0
  518. package/dist/identity/drizzle/DrizzleIndexedStorage.d.ts +26 -0
  519. package/dist/identity/drizzle/DrizzleIndexedStorage.js +159 -0
  520. package/dist/identity/drizzle/DrizzleIndexedStorage.js.map +1 -0
  521. package/dist/identity/drizzle/DrizzleIndexedStorage.jsonld +130 -0
  522. package/dist/identity/drizzle/EdgeNodeRepository.d.ts +155 -0
  523. package/dist/identity/drizzle/EdgeNodeRepository.js +555 -0
  524. package/dist/identity/drizzle/EdgeNodeRepository.js.map +1 -0
  525. package/dist/identity/drizzle/PodLookupRepository.d.ts +59 -0
  526. package/dist/identity/drizzle/PodLookupRepository.js +153 -0
  527. package/dist/identity/drizzle/PodLookupRepository.js.map +1 -0
  528. package/dist/identity/drizzle/WebIdProfileRepository.d.ts +58 -0
  529. package/dist/identity/drizzle/WebIdProfileRepository.js +157 -0
  530. package/dist/identity/drizzle/WebIdProfileRepository.js.map +1 -0
  531. package/dist/identity/drizzle/db.d.ts +60 -0
  532. package/dist/identity/drizzle/db.js +269 -0
  533. package/dist/identity/drizzle/db.js.map +1 -0
  534. package/dist/identity/drizzle/schema.d.ts +1 -0
  535. package/dist/identity/drizzle/schema.js +20 -0
  536. package/dist/identity/drizzle/schema.js.map +1 -0
  537. package/dist/identity/drizzle/schema.pg.d.ts +20 -0
  538. package/dist/identity/drizzle/schema.pg.js +103 -0
  539. package/dist/identity/drizzle/schema.pg.js.map +1 -0
  540. package/dist/identity/drizzle/schema.sqlite.d.ts +872 -0
  541. package/dist/identity/drizzle/schema.sqlite.js +100 -0
  542. package/dist/identity/drizzle/schema.sqlite.js.map +1 -0
  543. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.d.ts +43 -0
  544. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js +92 -0
  545. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js.map +1 -0
  546. package/dist/identity/oidc/AutoDetectIdentityProviderHandler.jsonld +122 -0
  547. package/dist/identity/oidc/AutoDetectOidcHandler.d.ts +55 -0
  548. package/dist/identity/oidc/AutoDetectOidcHandler.js +137 -0
  549. package/dist/identity/oidc/AutoDetectOidcHandler.js.map +1 -0
  550. package/dist/identity/oidc/AutoDetectOidcHandler.jsonld +138 -0
  551. package/dist/identity/oidc/DisabledIdentityProviderHandler.d.ts +51 -0
  552. package/dist/identity/oidc/DisabledIdentityProviderHandler.js +104 -0
  553. package/dist/identity/oidc/DisabledIdentityProviderHandler.js.map +1 -0
  554. package/dist/identity/oidc/DisabledIdentityProviderHandler.jsonld +111 -0
  555. package/dist/identity/oidc/DisabledOidcHandler.d.ts +55 -0
  556. package/dist/identity/oidc/DisabledOidcHandler.js +132 -0
  557. package/dist/identity/oidc/DisabledOidcHandler.js.map +1 -0
  558. package/dist/identity/oidc/DisabledOidcHandler.jsonld +157 -0
  559. package/dist/index.d.ts +80 -0
  560. package/dist/index.js +155 -0
  561. package/dist/index.js.map +1 -0
  562. package/dist/legacy/DrizzleClientCredentialsStore.d.ts +51 -0
  563. package/dist/legacy/DrizzleClientCredentialsStore.js +142 -0
  564. package/dist/legacy/DrizzleClientCredentialsStore.js.map +1 -0
  565. package/dist/legacy/DrizzleIndexedStorage.d.ts +26 -0
  566. package/dist/legacy/DrizzleIndexedStorage.js +159 -0
  567. package/dist/legacy/DrizzleIndexedStorage.js.map +1 -0
  568. package/dist/legacy/DrizzleQuotaService.d.ts +16 -0
  569. package/dist/legacy/DrizzleQuotaService.js +37 -0
  570. package/dist/legacy/DrizzleQuotaService.js.map +1 -0
  571. package/dist/libs/backends/index.d.ts +6 -0
  572. package/dist/libs/backends/index.js +31 -0
  573. package/dist/libs/backends/index.js.map +1 -0
  574. package/dist/libs/backends/sqlup.d.ts +44 -0
  575. package/dist/libs/backends/sqlup.js +437 -0
  576. package/dist/libs/backends/sqlup.js.map +1 -0
  577. package/dist/logging/ConfigurableLoggerFactory.d.ts +24 -0
  578. package/dist/logging/ConfigurableLoggerFactory.js +77 -0
  579. package/dist/logging/ConfigurableLoggerFactory.js.map +1 -0
  580. package/dist/logging/ConfigurableLoggerFactory.jsonld +169 -0
  581. package/dist/logging/LogContext.d.ts +5 -0
  582. package/dist/logging/LogContext.js +6 -0
  583. package/dist/logging/LogContext.js.map +1 -0
  584. package/dist/main.d.ts +2 -0
  585. package/dist/main.js +148 -0
  586. package/dist/main.js.map +1 -0
  587. package/dist/network/LocalNetworkDetector.d.ts +65 -0
  588. package/dist/network/LocalNetworkDetector.js +185 -0
  589. package/dist/network/LocalNetworkDetector.js.map +1 -0
  590. package/dist/network/index.d.ts +4 -0
  591. package/dist/network/index.js +21 -0
  592. package/dist/network/index.js.map +1 -0
  593. package/dist/pods/ReservedSuffixIdentifierGenerator.d.ts +13 -0
  594. package/dist/pods/ReservedSuffixIdentifierGenerator.js +26 -0
  595. package/dist/pods/ReservedSuffixIdentifierGenerator.js.map +1 -0
  596. package/dist/pods/ReservedSuffixIdentifierGenerator.jsonld +75 -0
  597. package/dist/quota/DefaultQuotaService.d.ts +16 -0
  598. package/dist/quota/DefaultQuotaService.js +37 -0
  599. package/dist/quota/DefaultQuotaService.js.map +1 -0
  600. package/dist/quota/DefaultQuotaService.jsonld +85 -0
  601. package/dist/quota/DrizzleQuotaService.d.ts +16 -0
  602. package/dist/quota/DrizzleQuotaService.js +37 -0
  603. package/dist/quota/DrizzleQuotaService.js.map +1 -0
  604. package/dist/quota/DrizzleQuotaService.jsonld +87 -0
  605. package/dist/quota/NoopQuotaService.d.ts +7 -0
  606. package/dist/quota/NoopQuotaService.js +15 -0
  607. package/dist/quota/NoopQuotaService.js.map +1 -0
  608. package/dist/quota/NoopQuotaService.jsonld +36 -0
  609. package/dist/quota/QuotaService.d.ts +6 -0
  610. package/dist/quota/QuotaService.js +3 -0
  611. package/dist/quota/QuotaService.js.map +1 -0
  612. package/dist/quota/QuotaService.jsonld +33 -0
  613. package/dist/sdk/SignalingClientAdapter.d.ts +38 -0
  614. package/dist/sdk/SignalingClientAdapter.js +99 -0
  615. package/dist/sdk/SignalingClientAdapter.js.map +1 -0
  616. package/dist/sdk/createFetch.d.ts +23 -0
  617. package/dist/sdk/createFetch.js +258 -0
  618. package/dist/sdk/createFetch.js.map +1 -0
  619. package/dist/sdk/index.d.ts +29 -0
  620. package/dist/sdk/index.js +34 -0
  621. package/dist/sdk/index.js.map +1 -0
  622. package/dist/sdk/xpodFetch.d.ts +112 -0
  623. package/dist/sdk/xpodFetch.js +251 -0
  624. package/dist/sdk/xpodFetch.js.map +1 -0
  625. package/dist/service/EdgeNodeCertificateService.d.ts +45 -0
  626. package/dist/service/EdgeNodeCertificateService.js +164 -0
  627. package/dist/service/EdgeNodeCertificateService.js.map +1 -0
  628. package/dist/service/EdgeNodeCertificateService.jsonld +216 -0
  629. package/dist/service/EdgeNodeHeartbeatService.d.ts +68 -0
  630. package/dist/service/EdgeNodeHeartbeatService.js +262 -0
  631. package/dist/service/EdgeNodeHeartbeatService.js.map +1 -0
  632. package/dist/service/PodMigrationService.d.ts +43 -0
  633. package/dist/service/PodMigrationService.js +72 -0
  634. package/dist/service/PodMigrationService.js.map +1 -0
  635. package/dist/service/PodMigrationService.jsonld +76 -0
  636. package/dist/signaling/SignalingClient.d.ts +142 -0
  637. package/dist/signaling/SignalingClient.js +305 -0
  638. package/dist/signaling/SignalingClient.js.map +1 -0
  639. package/dist/signaling/SignalingService.d.ts +104 -0
  640. package/dist/signaling/SignalingService.js +440 -0
  641. package/dist/signaling/SignalingService.js.map +1 -0
  642. package/dist/signaling/index.d.ts +11 -0
  643. package/dist/signaling/index.js +28 -0
  644. package/dist/signaling/index.js.map +1 -0
  645. package/dist/signaling/types.d.ts +237 -0
  646. package/dist/signaling/types.js +18 -0
  647. package/dist/signaling/types.js.map +1 -0
  648. package/dist/storage/DrizzleCompat.d.ts +15 -0
  649. package/dist/storage/DrizzleCompat.js +60 -0
  650. package/dist/storage/DrizzleCompat.js.map +1 -0
  651. package/dist/storage/LockingResourceStore.d.ts +8 -0
  652. package/dist/storage/LockingResourceStore.js +68 -0
  653. package/dist/storage/LockingResourceStore.js.map +1 -0
  654. package/dist/storage/MigratableDataAccessor.d.ts +63 -0
  655. package/dist/storage/MigratableDataAccessor.js +11 -0
  656. package/dist/storage/MigratableDataAccessor.js.map +1 -0
  657. package/dist/storage/MigratableDataAccessor.jsonld +60 -0
  658. package/dist/storage/ObservableResourceStore.d.ts +89 -0
  659. package/dist/storage/ObservableResourceStore.js +125 -0
  660. package/dist/storage/ObservableResourceStore.js.map +1 -0
  661. package/dist/storage/RepresentationPartialConvertingStore.d.ts +22 -0
  662. package/dist/storage/RepresentationPartialConvertingStore.js +94 -0
  663. package/dist/storage/RepresentationPartialConvertingStore.js.map +1 -0
  664. package/dist/storage/RepresentationPartialConvertingStore.jsonld +332 -0
  665. package/dist/storage/SparqlUpdateResourceStore.d.ts +30 -0
  666. package/dist/storage/SparqlUpdateResourceStore.js +292 -0
  667. package/dist/storage/SparqlUpdateResourceStore.js.map +1 -0
  668. package/dist/storage/SparqlUpdateResourceStore.jsonld +112 -0
  669. package/dist/storage/SqliteCompat.d.ts +60 -0
  670. package/dist/storage/SqliteCompat.js +158 -0
  671. package/dist/storage/SqliteCompat.js.map +1 -0
  672. package/dist/storage/accessors/MinioDataAccessor.d.ts +127 -0
  673. package/dist/storage/accessors/MinioDataAccessor.js +249 -0
  674. package/dist/storage/accessors/MinioDataAccessor.js.map +1 -0
  675. package/dist/storage/accessors/MinioDataAccessor.jsonld +138 -0
  676. package/dist/storage/accessors/MixDataAccessor.d.ts +43 -0
  677. package/dist/storage/accessors/MixDataAccessor.js +130 -0
  678. package/dist/storage/accessors/MixDataAccessor.js.map +1 -0
  679. package/dist/storage/accessors/MixDataAccessor.jsonld +101 -0
  680. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +146 -0
  681. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +415 -0
  682. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js.map +1 -0
  683. package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +180 -0
  684. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +95 -0
  685. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +376 -0
  686. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js.map +1 -0
  687. package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +168 -0
  688. package/dist/storage/accessors/TieredMinioDataAccessor.d.ts +150 -0
  689. package/dist/storage/accessors/TieredMinioDataAccessor.js +582 -0
  690. package/dist/storage/accessors/TieredMinioDataAccessor.js.map +1 -0
  691. package/dist/storage/accessors/TieredMinioDataAccessor.jsonld +333 -0
  692. package/dist/storage/database/PostgresPoolManager.d.ts +56 -0
  693. package/dist/storage/database/PostgresPoolManager.js +117 -0
  694. package/dist/storage/database/PostgresPoolManager.js.map +1 -0
  695. package/dist/storage/keyvalue/PostgresKeyValueStorage.d.ts +34 -0
  696. package/dist/storage/keyvalue/PostgresKeyValueStorage.js +146 -0
  697. package/dist/storage/keyvalue/PostgresKeyValueStorage.js.map +1 -0
  698. package/dist/storage/keyvalue/PostgresKeyValueStorage.jsonld +192 -0
  699. package/dist/storage/keyvalue/RedisKeyValueStorage.d.ts +30 -0
  700. package/dist/storage/keyvalue/RedisKeyValueStorage.js +133 -0
  701. package/dist/storage/keyvalue/RedisKeyValueStorage.js.map +1 -0
  702. package/dist/storage/keyvalue/RedisKeyValueStorage.jsonld +237 -0
  703. package/dist/storage/keyvalue/SqliteKeyValueStorage.d.ts +30 -0
  704. package/dist/storage/keyvalue/SqliteKeyValueStorage.js +164 -0
  705. package/dist/storage/keyvalue/SqliteKeyValueStorage.js.map +1 -0
  706. package/dist/storage/keyvalue/SqliteKeyValueStorage.jsonld +167 -0
  707. package/dist/storage/quint/BaseQuintStore.d.ts +80 -0
  708. package/dist/storage/quint/BaseQuintStore.js +535 -0
  709. package/dist/storage/quint/BaseQuintStore.js.map +1 -0
  710. package/dist/storage/quint/BaseQuintStore.jsonld +175 -0
  711. package/dist/storage/quint/PgQuintStore.d.ts +61 -0
  712. package/dist/storage/quint/PgQuintStore.drizzle.d.ts +45 -0
  713. package/dist/storage/quint/PgQuintStore.drizzle.js +327 -0
  714. package/dist/storage/quint/PgQuintStore.drizzle.js.map +1 -0
  715. package/dist/storage/quint/PgQuintStore.js +275 -0
  716. package/dist/storage/quint/PgQuintStore.js.map +1 -0
  717. package/dist/storage/quint/PgQuintStore.jsonld +258 -0
  718. package/dist/storage/quint/SqliteQuintStore.d.ts +55 -0
  719. package/dist/storage/quint/SqliteQuintStore.js +630 -0
  720. package/dist/storage/quint/SqliteQuintStore.js.map +1 -0
  721. package/dist/storage/quint/SqliteQuintStore.jsonld +157 -0
  722. package/dist/storage/quint/index.d.ts +11 -0
  723. package/dist/storage/quint/index.js +30 -0
  724. package/dist/storage/quint/index.js.map +1 -0
  725. package/dist/storage/quint/schema.d.ts +82 -0
  726. package/dist/storage/quint/schema.js +33 -0
  727. package/dist/storage/quint/schema.js.map +1 -0
  728. package/dist/storage/quint/serialization.d.ts +56 -0
  729. package/dist/storage/quint/serialization.js +198 -0
  730. package/dist/storage/quint/serialization.js.map +1 -0
  731. package/dist/storage/quint/types.d.ts +152 -0
  732. package/dist/storage/quint/types.js +27 -0
  733. package/dist/storage/quint/types.js.map +1 -0
  734. package/dist/storage/quint/types.jsonld +78 -0
  735. package/dist/storage/quota/PerAccountQuotaStrategy.d.ts +19 -0
  736. package/dist/storage/quota/PerAccountQuotaStrategy.js +63 -0
  737. package/dist/storage/quota/PerAccountQuotaStrategy.js.map +1 -0
  738. package/dist/storage/quota/PerAccountQuotaStrategy.jsonld +113 -0
  739. package/dist/storage/quota/UsageRepository.d.ts +46 -0
  740. package/dist/storage/quota/UsageRepository.js +278 -0
  741. package/dist/storage/quota/UsageRepository.js.map +1 -0
  742. package/dist/storage/quota/UsageTrackingStore.d.ts +37 -0
  743. package/dist/storage/quota/UsageTrackingStore.js +355 -0
  744. package/dist/storage/quota/UsageTrackingStore.js.map +1 -0
  745. package/dist/storage/quota/UsageTrackingStore.jsonld +193 -0
  746. package/dist/storage/sparql/AlgebraUtils.d.ts +48 -0
  747. package/dist/storage/sparql/AlgebraUtils.js +118 -0
  748. package/dist/storage/sparql/AlgebraUtils.js.map +1 -0
  749. package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +59 -0
  750. package/dist/storage/sparql/ComunicaOptimizedEngine.js +254 -0
  751. package/dist/storage/sparql/ComunicaOptimizedEngine.js.map +1 -0
  752. package/dist/storage/sparql/ComunicaQuintEngine.d.ts +134 -0
  753. package/dist/storage/sparql/ComunicaQuintEngine.js +727 -0
  754. package/dist/storage/sparql/ComunicaQuintEngine.js.map +1 -0
  755. package/dist/storage/sparql/ExpressionEvaluator.d.ts +54 -0
  756. package/dist/storage/sparql/ExpressionEvaluator.js +340 -0
  757. package/dist/storage/sparql/ExpressionEvaluator.js.map +1 -0
  758. package/dist/storage/sparql/FilterPushdownExtractor.d.ts +74 -0
  759. package/dist/storage/sparql/FilterPushdownExtractor.js +409 -0
  760. package/dist/storage/sparql/FilterPushdownExtractor.js.map +1 -0
  761. package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +65 -0
  762. package/dist/storage/sparql/OptimizedQuadstoreEngine.js +327 -0
  763. package/dist/storage/sparql/OptimizedQuadstoreEngine.js.map +1 -0
  764. package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +46 -0
  765. package/dist/storage/sparql/OptimizedQuadstoreSource.js +118 -0
  766. package/dist/storage/sparql/OptimizedQuadstoreSource.js.map +1 -0
  767. package/dist/storage/sparql/PatternBuilder.d.ts +41 -0
  768. package/dist/storage/sparql/PatternBuilder.js +118 -0
  769. package/dist/storage/sparql/PatternBuilder.js.map +1 -0
  770. package/dist/storage/sparql/QueryOptimizer.d.ts +125 -0
  771. package/dist/storage/sparql/QueryOptimizer.js +363 -0
  772. package/dist/storage/sparql/QueryOptimizer.js.map +1 -0
  773. package/dist/storage/sparql/QuintEngine.d.ts +92 -0
  774. package/dist/storage/sparql/QuintEngine.js +150 -0
  775. package/dist/storage/sparql/QuintEngine.js.map +1 -0
  776. package/dist/storage/sparql/QuintQuerySource.d.ts +227 -0
  777. package/dist/storage/sparql/QuintQuerySource.js +918 -0
  778. package/dist/storage/sparql/QuintQuerySource.js.map +1 -0
  779. package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +40 -0
  780. package/dist/storage/sparql/SimpleSparqlExecutor.js +131 -0
  781. package/dist/storage/sparql/SimpleSparqlExecutor.js.map +1 -0
  782. package/dist/storage/sparql/SubgraphQueryEngine.d.ts +74 -0
  783. package/dist/storage/sparql/SubgraphQueryEngine.js +248 -0
  784. package/dist/storage/sparql/SubgraphQueryEngine.js.map +1 -0
  785. package/dist/storage/sparql/SubgraphQueryEngine.jsonld +250 -0
  786. package/dist/storage/vector/PostgresVectorStore.d.ts +46 -0
  787. package/dist/storage/vector/PostgresVectorStore.js +291 -0
  788. package/dist/storage/vector/PostgresVectorStore.js.map +1 -0
  789. package/dist/storage/vector/PostgresVectorStore.jsonld +142 -0
  790. package/dist/storage/vector/SqliteVectorStore.d.ts +44 -0
  791. package/dist/storage/vector/SqliteVectorStore.js +282 -0
  792. package/dist/storage/vector/SqliteVectorStore.js.map +1 -0
  793. package/dist/storage/vector/SqliteVectorStore.jsonld +137 -0
  794. package/dist/storage/vector/VectorIndexingListener.d.ts +114 -0
  795. package/dist/storage/vector/VectorIndexingListener.js +351 -0
  796. package/dist/storage/vector/VectorIndexingListener.js.map +1 -0
  797. package/dist/storage/vector/VectorStore.d.ts +42 -0
  798. package/dist/storage/vector/VectorStore.js +50 -0
  799. package/dist/storage/vector/VectorStore.js.map +1 -0
  800. package/dist/storage/vector/VectorStore.jsonld +87 -0
  801. package/dist/storage/vector/VectorStoreInit.d.ts +28 -0
  802. package/dist/storage/vector/VectorStoreInit.js +104 -0
  803. package/dist/storage/vector/VectorStoreInit.js.map +1 -0
  804. package/dist/storage/vector/index.d.ts +5 -0
  805. package/dist/storage/vector/index.js +22 -0
  806. package/dist/storage/vector/index.js.map +1 -0
  807. package/dist/storage/vector/types.d.ts +39 -0
  808. package/dist/storage/vector/types.js +8 -0
  809. package/dist/storage/vector/types.js.map +1 -0
  810. package/dist/subdomain/SubdomainClient.d.ts +156 -0
  811. package/dist/subdomain/SubdomainClient.js +220 -0
  812. package/dist/subdomain/SubdomainClient.js.map +1 -0
  813. package/dist/subdomain/SubdomainService.d.ts +114 -0
  814. package/dist/subdomain/SubdomainService.js +212 -0
  815. package/dist/subdomain/SubdomainService.js.map +1 -0
  816. package/dist/subdomain/SubdomainService.jsonld +261 -0
  817. package/dist/subdomain/index.d.ts +2 -0
  818. package/dist/subdomain/index.js +9 -0
  819. package/dist/subdomain/index.js.map +1 -0
  820. package/dist/supervisor/Supervisor.d.ts +20 -0
  821. package/dist/supervisor/Supervisor.js +174 -0
  822. package/dist/supervisor/Supervisor.js.map +1 -0
  823. package/dist/supervisor/index.d.ts +2 -0
  824. package/dist/supervisor/index.js +6 -0
  825. package/dist/supervisor/index.js.map +1 -0
  826. package/dist/supervisor/types.d.ts +19 -0
  827. package/dist/supervisor/types.js +3 -0
  828. package/dist/supervisor/types.js.map +1 -0
  829. package/dist/task/DrizzleTaskQueue.d.ts +60 -0
  830. package/dist/task/DrizzleTaskQueue.js +171 -0
  831. package/dist/task/DrizzleTaskQueue.js.map +1 -0
  832. package/dist/task/TaskExecutor.d.ts +82 -0
  833. package/dist/task/TaskExecutor.js +198 -0
  834. package/dist/task/TaskExecutor.js.map +1 -0
  835. package/dist/task/index.d.ts +10 -0
  836. package/dist/task/index.js +20 -0
  837. package/dist/task/index.js.map +1 -0
  838. package/dist/task/schema.d.ts +53 -0
  839. package/dist/task/schema.js +71 -0
  840. package/dist/task/schema.js.map +1 -0
  841. package/dist/task/types.d.ts +186 -0
  842. package/dist/task/types.js +12 -0
  843. package/dist/task/types.js.map +1 -0
  844. package/dist/terminal/AclPermissionService.d.ts +28 -0
  845. package/dist/terminal/AclPermissionService.js +141 -0
  846. package/dist/terminal/AclPermissionService.js.map +1 -0
  847. package/dist/terminal/BubblewrapSandbox.d.ts +51 -0
  848. package/dist/terminal/BubblewrapSandbox.js +147 -0
  849. package/dist/terminal/BubblewrapSandbox.js.map +1 -0
  850. package/dist/terminal/TerminalSession.d.ts +33 -0
  851. package/dist/terminal/TerminalSession.js +164 -0
  852. package/dist/terminal/TerminalSession.js.map +1 -0
  853. package/dist/terminal/TerminalSessionManager.d.ts +69 -0
  854. package/dist/terminal/TerminalSessionManager.js +196 -0
  855. package/dist/terminal/TerminalSessionManager.js.map +1 -0
  856. package/dist/terminal/index.d.ts +5 -0
  857. package/dist/terminal/index.js +22 -0
  858. package/dist/terminal/index.js.map +1 -0
  859. package/dist/terminal/sandbox/BubblewrapSandbox.d.ts +8 -0
  860. package/dist/terminal/sandbox/BubblewrapSandbox.js +105 -0
  861. package/dist/terminal/sandbox/BubblewrapSandbox.js.map +1 -0
  862. package/dist/terminal/sandbox/MacOSSandbox.d.ts +19 -0
  863. package/dist/terminal/sandbox/MacOSSandbox.js +120 -0
  864. package/dist/terminal/sandbox/MacOSSandbox.js.map +1 -0
  865. package/dist/terminal/sandbox/index.d.ts +29 -0
  866. package/dist/terminal/sandbox/index.js +113 -0
  867. package/dist/terminal/sandbox/index.js.map +1 -0
  868. package/dist/terminal/sandbox/types.d.ts +38 -0
  869. package/dist/terminal/sandbox/types.js +3 -0
  870. package/dist/terminal/sandbox/types.js.map +1 -0
  871. package/dist/terminal/types.d.ts +80 -0
  872. package/dist/terminal/types.js +16 -0
  873. package/dist/terminal/types.js.map +1 -0
  874. package/dist/tunnel/CloudflareTunnelProvider.d.ts +120 -0
  875. package/dist/tunnel/CloudflareTunnelProvider.js +376 -0
  876. package/dist/tunnel/CloudflareTunnelProvider.js.map +1 -0
  877. package/dist/tunnel/CloudflareTunnelProvider.jsonld +204 -0
  878. package/dist/tunnel/LocalTunnelProvider.d.ts +85 -0
  879. package/dist/tunnel/LocalTunnelProvider.js +295 -0
  880. package/dist/tunnel/LocalTunnelProvider.js.map +1 -0
  881. package/dist/tunnel/LocalTunnelProvider.jsonld +142 -0
  882. package/dist/tunnel/SakuraFrpTunnelProvider.d.ts +59 -0
  883. package/dist/tunnel/SakuraFrpTunnelProvider.js +207 -0
  884. package/dist/tunnel/SakuraFrpTunnelProvider.js.map +1 -0
  885. package/dist/tunnel/TunnelProvider.d.ts +91 -0
  886. package/dist/tunnel/TunnelProvider.js +10 -0
  887. package/dist/tunnel/TunnelProvider.js.map +1 -0
  888. package/dist/tunnel/TunnelProvider.jsonld +144 -0
  889. package/dist/tunnel/index.d.ts +3 -0
  890. package/dist/tunnel/index.js +8 -0
  891. package/dist/tunnel/index.js.map +1 -0
  892. package/dist/util/LockContext.d.ts +3 -0
  893. package/dist/util/LockContext.js +6 -0
  894. package/dist/util/LockContext.js.map +1 -0
  895. package/dist/util/ResourceStoreFetch.d.ts +11 -0
  896. package/dist/util/ResourceStoreFetch.js +147 -0
  897. package/dist/util/ResourceStoreFetch.js.map +1 -0
  898. package/dist/util/database/DatabaseMaintenance.d.ts +23 -0
  899. package/dist/util/database/DatabaseMaintenance.js +82 -0
  900. package/dist/util/database/DatabaseMaintenance.js.map +1 -0
  901. package/dist/util/identifiers/ClusterIdentifierStrategy.d.ts +23 -0
  902. package/dist/util/identifiers/ClusterIdentifierStrategy.js +73 -0
  903. package/dist/util/identifiers/ClusterIdentifierStrategy.js.map +1 -0
  904. package/dist/util/identifiers/ClusterIdentifierStrategy.jsonld +90 -0
  905. package/dist/util/identifiers/MultiDomainIdentifierStrategy.d.ts +40 -0
  906. package/dist/util/identifiers/MultiDomainIdentifierStrategy.js +73 -0
  907. package/dist/util/identifiers/MultiDomainIdentifierStrategy.js.map +1 -0
  908. package/dist/util/identifiers/MultiDomainIdentifierStrategy.jsonld +90 -0
  909. package/dist/util/identifiers/PathBasedPodIdentifierStrategy.d.ts +78 -0
  910. package/dist/util/identifiers/PathBasedPodIdentifierStrategy.js +182 -0
  911. package/dist/util/identifiers/PathBasedPodIdentifierStrategy.js.map +1 -0
  912. package/dist/util/identifiers/PathBasedPodIdentifierStrategy.jsonld +88 -0
  913. package/dist/util/identifiers/SubdomainPodIdentifierStrategy.d.ts +68 -0
  914. package/dist/util/identifiers/SubdomainPodIdentifierStrategy.js +149 -0
  915. package/dist/util/identifiers/SubdomainPodIdentifierStrategy.js.map +1 -0
  916. package/dist/util/identifiers/SubdomainPodIdentifierStrategy.jsonld +84 -0
  917. package/dist/util/locking/DebugRedisLocker.d.ts +8 -0
  918. package/dist/util/locking/DebugRedisLocker.js +33 -0
  919. package/dist/util/locking/DebugRedisLocker.js.map +1 -0
  920. package/dist/util/logger.d.ts +13 -0
  921. package/dist/util/logger.js +36 -0
  922. package/dist/util/logger.js.map +1 -0
  923. package/dist/util/stream/BandwidthThrottleTransform.d.ts +8 -0
  924. package/dist/util/stream/BandwidthThrottleTransform.js +55 -0
  925. package/dist/util/stream/BandwidthThrottleTransform.js.map +1 -0
  926. package/dist/vocab/external.d.ts +216 -0
  927. package/dist/vocab/external.js +276 -0
  928. package/dist/vocab/external.js.map +1 -0
  929. package/dist/vocab/index.d.ts +26 -0
  930. package/dist/vocab/index.js +46 -0
  931. package/dist/vocab/index.js.map +1 -0
  932. package/dist/vocab/udfs.d.ts +184 -0
  933. package/dist/vocab/udfs.js +217 -0
  934. package/dist/vocab/udfs.js.map +1 -0
  935. package/dist/webrtc/WebRTCClient.d.ts +109 -0
  936. package/dist/webrtc/WebRTCClient.js +344 -0
  937. package/dist/webrtc/WebRTCClient.js.map +1 -0
  938. package/dist/webrtc/WebRTCPeerManager.d.ts +112 -0
  939. package/dist/webrtc/WebRTCPeerManager.js +289 -0
  940. package/dist/webrtc/WebRTCPeerManager.js.map +1 -0
  941. package/dist/webrtc/WeriftPeerConnectionFactory.d.ts +13 -0
  942. package/dist/webrtc/WeriftPeerConnectionFactory.js +255 -0
  943. package/dist/webrtc/WeriftPeerConnectionFactory.js.map +1 -0
  944. package/dist/webrtc/index.d.ts +13 -0
  945. package/dist/webrtc/index.js +30 -0
  946. package/dist/webrtc/index.js.map +1 -0
  947. package/dist/webrtc/types.d.ts +169 -0
  948. package/dist/webrtc/types.js +6 -0
  949. package/dist/webrtc/types.js.map +1 -0
  950. package/dist/xpod.single.cjs +826 -0
  951. package/dist/xpod.single.cjs.map +7 -0
  952. package/package.json +173 -0
  953. package/static/app/assets/index.css +1 -0
  954. package/static/app/assets/main.js +11 -0
  955. package/static/app/auth.html +21 -0
  956. package/static/app/index.html +14 -0
  957. package/static/app/vite.svg +1 -0
  958. package/static/dashboard/assets/dashboard-G96F8267.js +52 -0
  959. package/static/dashboard/assets/dashboard-PJyGDppf.css +1 -0
  960. package/static/dashboard/auth.html +21 -0
  961. package/static/dashboard/index.html +13 -0
  962. package/static/dashboard/vite.svg +1 -0
  963. package/static/landing/index.html +165 -0
  964. package/templates/identity/index.html.ejs +12 -0
  965. package/templates/identity/login.html.ejs +49 -0
  966. package/templates/identity/oidc/consent.html.ejs +103 -0
  967. package/templates/identity/password/forgot.html.ejs +49 -0
  968. package/templates/identity/password/login.html.ejs +58 -0
  969. package/templates/identity/password/register.html.ejs +65 -0
  970. package/templates/main.html.ejs +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryOptimizer.js","sourceRoot":"","sources":["../../../src/storage/sparql/QueryOptimizer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * QueryOptimizer - 统一的查询优化层\n * \n * 职责:\n * 1. 分析 SPARQL algebra,识别可优化的模式\n * 2. 选择最优执行策略\n * 3. 执行优化后的查询\n * \n * 支持的优化:\n * - OPTIONAL 优化:批量获取属性,避免指数级 LEFT JOIN\n * - Compound Query:多 pattern SQL JOIN,避免 JS 层 hash join\n * - FILTER 下推:条件下推到 SQL 层\n * \n * 设计原则:\n * - 所有优化逻辑集中在此类\n * - 对外暴露统一的接口\n * - 优化失败时优雅降级到 Comunica 默认行为\n */\n\nimport type { Bindings, Term, Variable } from '@rdfjs/types';\nimport type { Algebra } from 'sparqlalgebrajs';\nimport { DataFactory } from 'rdf-data-factory';\n\nimport type { QuintStore, AttributeMap } from '../quint/types';\n\nconst dataFactory = new DataFactory();\n\n/**\n * OPTIONAL 优化分析结果\n */\nexport interface OptionalAnalysis {\n /** 是否可优化 */\n canOptimize: boolean;\n /** 核心查询(不含 OPTIONAL) */\n coreOperation?: Algebra.Operation;\n /** subject 变量名 */\n subjectVar?: string;\n /** 要获取的属性 predicates */\n optionalPredicates?: string[];\n /** 各 OPTIONAL 的变量名 */\n optionalVars?: Map<string, string>; // predicate -> variable\n /** 不能优化的原因 */\n reason?: string;\n}\n\n/**\n * Compound Query 优化分析结果\n */\nexport interface CompoundAnalysis {\n /** 是否可优化 */\n canOptimize: boolean;\n /** 所有 patterns */\n patterns?: Algebra.Pattern[];\n /** JOIN 变量名 */\n joinVar?: string;\n /** JOIN 字段 */\n joinField?: 'subject' | 'predicate' | 'object' | 'graph';\n /** 不能优化的原因 */\n reason?: string;\n}\n\n/**\n * 查询优化结果\n */\nexport interface OptimizationResult {\n /** 优化类型 */\n type: 'optional' | 'compound' | 'none';\n /** 分析结果 */\n analysis: OptionalAnalysis | CompoundAnalysis | null;\n}\n\nexport interface QueryOptimizerOptions {\n debug?: boolean;\n bindingsFactory: any;\n}\n\n/**\n * QueryOptimizer - 查询优化器\n */\nexport class QueryOptimizer {\n private readonly store: QuintStore;\n private readonly debug: boolean;\n private readonly bindingsFactory: any;\n\n constructor(store: QuintStore, options: QueryOptimizerOptions) {\n this.store = store;\n this.debug = options.debug ?? false;\n this.bindingsFactory = options.bindingsFactory;\n }\n\n // ============================================================\n // 公共接口\n // ============================================================\n\n /**\n * 分析查询,确定最佳优化策略\n */\n analyzeQuery(algebra: Algebra.Operation): OptimizationResult {\n // 先检查 OPTIONAL 优化(优先级最高)\n if (this.store.getAttributes) {\n const optionalAnalysis = this.analyzeOptional(algebra);\n if (optionalAnalysis.canOptimize) {\n return { type: 'optional', analysis: optionalAnalysis };\n }\n }\n\n // 检查 Compound Query 优化\n if (this.store.getCompound) {\n const compoundAnalysis = this.analyzeCompound(algebra);\n if (compoundAnalysis.canOptimize) {\n return { type: 'compound', analysis: compoundAnalysis };\n }\n }\n\n return { type: 'none', analysis: null };\n }\n\n /**\n * 执行 OPTIONAL 优化查询\n * \n * @param analysis OPTIONAL 分析结果\n * @param coreBindings 核心查询的绑定结果\n * @param orderOptions 排序选项(可选)\n */\n async executeOptionalOptimized(\n analysis: OptionalAnalysis,\n coreBindings: Bindings[],\n orderOptions?: { varName: string; reverse?: boolean }\n ): Promise<Bindings[]> {\n const { subjectVar, optionalPredicates, optionalVars } = analysis;\n \n if (!subjectVar || !optionalPredicates || !optionalVars) {\n throw new Error('Invalid OptionalAnalysis');\n }\n\n if (coreBindings.length === 0) {\n return [];\n }\n\n // 提取所有 subject 值\n const subjects: string[] = [];\n for (const binding of coreBindings) {\n const subjectTerm = binding.get(dataFactory.variable(subjectVar));\n if (subjectTerm && subjectTerm.termType === 'NamedNode') {\n subjects.push(subjectTerm.value);\n }\n }\n\n if (this.debug) {\n console.log(`[QueryOptimizer] OPTIONAL: ${coreBindings.length} bindings, ${subjects.length} subjects`);\n }\n\n // 批量获取属性\n const attributeMap = await this.store.getAttributes!(\n subjects,\n optionalPredicates,\n undefined // TODO: 支持 graph 过滤\n );\n\n if (this.debug) {\n console.log(`[QueryOptimizer] getAttributes returned data for ${attributeMap.size} subjects`);\n }\n\n // 组装结果\n let results = this.assembleOptionalResults(coreBindings, attributeMap, subjectVar, optionalVars);\n\n // 应用排序\n if (orderOptions?.varName && results.length > 1) {\n results = this.sortBindings(results, orderOptions.varName, orderOptions.reverse ?? false);\n if (this.debug) {\n console.log(`[QueryOptimizer] Applied ORDER BY ?${orderOptions.varName} ${orderOptions.reverse ? 'DESC' : 'ASC'}`);\n }\n }\n\n return results;\n }\n\n /**\n * 对 Bindings 数组按指定变量排序\n */\n private sortBindings(bindings: Bindings[], varName: string, reverse: boolean): Bindings[] {\n const orderVar = dataFactory.variable(varName);\n \n return [...bindings].sort((a, b) => {\n const aVal = a.get(orderVar);\n const bVal = b.get(orderVar);\n \n // null/undefined 值排在最后\n if (!aVal && !bVal) return 0;\n if (!aVal) return 1;\n if (!bVal) return -1;\n \n // 比较值\n let cmp: number;\n if (aVal.termType === 'Literal' && bVal.termType === 'Literal') {\n // 对于字面量,先尝试数值比较\n const aNum = parseFloat(aVal.value);\n const bNum = parseFloat(bVal.value);\n if (!isNaN(aNum) && !isNaN(bNum)) {\n cmp = aNum - bNum;\n } else {\n // 字符串比较\n cmp = aVal.value.localeCompare(bVal.value);\n }\n } else {\n // 其他类型用字符串比较\n cmp = aVal.value.localeCompare(bVal.value);\n }\n \n return reverse ? -cmp : cmp;\n });\n }\n\n // ============================================================\n // OPTIONAL 优化\n // ============================================================\n\n /**\n * 分析查询是否可以进行 OPTIONAL 优化\n * \n * 可优化条件:\n * 1. 有核心条件(BGP 或带 FILTER 的 BGP)\n * 2. 有 OPTIONAL(>= 1 个)\n * 3. 所有 OPTIONAL 都是简单的属性获取:?s <pred> ?var\n * 4. 所有 OPTIONAL 使用同一个 subject 变量\n * 5. OPTIONAL 内部没有额外的 FILTER\n */\n analyzeOptional(algebra: Algebra.Operation): OptionalAnalysis {\n // 从 project -> slice -> orderby -> ... 找到实际的查询结构\n let current = algebra;\n while (current.type === 'project' || current.type === 'slice' || \n current.type === 'distinct' || current.type === 'reduced' ||\n current.type === 'orderby') {\n current = (current as any).input;\n }\n\n // 收集所有 leftjoin(OPTIONAL)和核心操作\n const leftJoins: Algebra.LeftJoin[] = [];\n let coreOp: Algebra.Operation | null = null;\n\n const collectLeftJoins = (op: Algebra.Operation): void => {\n if (op.type === 'leftjoin') {\n const lj = op as Algebra.LeftJoin;\n leftJoins.push(lj);\n collectLeftJoins(lj.input[0]);\n } else {\n coreOp = op;\n }\n };\n\n collectLeftJoins(current);\n\n if (leftJoins.length < 1) {\n return { canOptimize: false, reason: 'No OPTIONAL found' };\n }\n\n if (!coreOp) {\n return { canOptimize: false, reason: 'No core operation found' };\n }\n\n // 分析核心操作获取 subject 变量\n const subjectVar = this.extractSubjectVariable(coreOp);\n if (!subjectVar) {\n return { canOptimize: false, reason: 'Cannot determine subject variable from core operation' };\n }\n\n // 分析所有 OPTIONAL\n const optionalPredicates: string[] = [];\n const optionalVars = new Map<string, string>();\n\n for (const lj of leftJoins) {\n // 检查是否有额外的 filter\n if ((lj as any).expression) {\n return { canOptimize: false, reason: 'OPTIONAL contains FILTER expression' };\n }\n\n const patternInfo = this.extractSimplePattern(lj.input[1]);\n if (!patternInfo) {\n return { canOptimize: false, reason: 'OPTIONAL is not a simple pattern' };\n }\n\n if (patternInfo.subjectVar !== subjectVar) {\n return { \n canOptimize: false, \n reason: `OPTIONAL subject ?${patternInfo.subjectVar} doesn't match core subject ?${subjectVar}` \n };\n }\n\n if (!patternInfo.predicate) {\n return { canOptimize: false, reason: 'OPTIONAL predicate must be a constant' };\n }\n\n optionalPredicates.push(patternInfo.predicate);\n if (patternInfo.objectVar) {\n optionalVars.set(patternInfo.predicate, patternInfo.objectVar);\n }\n }\n\n return {\n canOptimize: true,\n coreOperation: coreOp,\n subjectVar,\n optionalPredicates,\n optionalVars,\n };\n }\n\n // ============================================================\n // Compound Query 优化\n // ============================================================\n\n /**\n * 分析查询是否可以进行 Compound Query 优化\n */\n analyzeCompound(algebra: Algebra.Operation): CompoundAnalysis {\n // 从 project -> slice -> ... 找到实际的查询结构\n let current = algebra;\n while (current.type === 'project' || current.type === 'slice' || \n current.type === 'distinct' || current.type === 'reduced' ||\n current.type === 'filter') {\n current = (current as any).input;\n }\n\n // 检查是否是 BGP 或 JOIN\n let patterns: Algebra.Pattern[] = [];\n\n if (current.type === 'bgp') {\n const bgp = current as Algebra.Bgp;\n patterns = bgp.patterns as Algebra.Pattern[];\n } else if (current.type === 'join') {\n const join = current as Algebra.Join;\n patterns = this.extractPatternsFromJoin(join);\n }\n\n if (patterns.length < 2) {\n return { canOptimize: false, reason: 'Need at least 2 patterns for compound query' };\n }\n\n // 检查所有 pattern 是否共享同一个 subject 变量\n const subjectVars = patterns.map(p => \n p.subject?.termType === 'Variable' ? p.subject.value : null\n );\n const uniqueSubjectVars = [...new Set(subjectVars.filter(v => v !== null))];\n\n if (uniqueSubjectVars.length !== 1) {\n return { canOptimize: false, reason: 'Patterns do not share the same subject variable' };\n }\n\n return {\n canOptimize: true,\n patterns,\n joinVar: uniqueSubjectVars[0]!,\n joinField: 'subject',\n };\n }\n\n // ============================================================\n // 辅助方法\n // ============================================================\n\n /**\n * 从核心操作提取 subject 变量\n */\n private extractSubjectVariable(op: Algebra.Operation): string | null {\n if (op.type === 'pattern') {\n const pattern = op as Algebra.Pattern;\n if (pattern.subject?.termType === 'Variable') {\n return pattern.subject.value;\n }\n } else if (op.type === 'bgp') {\n const bgp = op as Algebra.Bgp;\n if (bgp.patterns.length > 0) {\n const firstPattern = bgp.patterns[0] as Algebra.Pattern;\n if (firstPattern.subject?.termType === 'Variable') {\n return firstPattern.subject.value;\n }\n }\n } else if (op.type === 'filter') {\n return this.extractSubjectVariable((op as Algebra.Filter).input);\n } else if (op.type === 'join') {\n const join = op as Algebra.Join;\n if (join.input && join.input.length > 0) {\n return this.extractSubjectVariable(join.input[0]);\n }\n }\n return null;\n }\n\n /**\n * 从 OPTIONAL 的右操作数提取简单 pattern 信息\n */\n private extractSimplePattern(op: Algebra.Operation): {\n subjectVar: string;\n predicate: string | null;\n objectVar: string | null;\n } | null {\n if (op.type === 'pattern') {\n const pattern = op as Algebra.Pattern;\n if (pattern.subject?.termType !== 'Variable') {\n return null;\n }\n return {\n subjectVar: pattern.subject.value,\n predicate: pattern.predicate?.termType === 'NamedNode' ? pattern.predicate.value : null,\n objectVar: pattern.object?.termType === 'Variable' ? pattern.object.value : null,\n };\n } else if (op.type === 'bgp') {\n const bgp = op as Algebra.Bgp;\n if (bgp.patterns.length === 1) {\n return this.extractSimplePattern(bgp.patterns[0] as Algebra.Operation);\n }\n }\n return null;\n }\n\n /**\n * 从 JOIN 操作提取所有 patterns\n */\n private extractPatternsFromJoin(join: Algebra.Join): Algebra.Pattern[] {\n const patterns: Algebra.Pattern[] = [];\n \n for (const input of join.input) {\n if (input.type === 'pattern') {\n patterns.push(input as Algebra.Pattern);\n } else if (input.type === 'bgp') {\n patterns.push(...(input as Algebra.Bgp).patterns as Algebra.Pattern[]);\n } else if (input.type === 'join') {\n patterns.push(...this.extractPatternsFromJoin(input as Algebra.Join));\n }\n }\n\n return patterns;\n }\n\n /**\n * 组装 OPTIONAL 优化结果\n */\n private assembleOptionalResults(\n coreBindings: Bindings[],\n attributeMap: AttributeMap,\n subjectVar: string,\n optionalVars: Map<string, string>\n ): Bindings[] {\n const results: Bindings[] = [];\n \n for (const coreBinding of coreBindings) {\n const subjectTerm = coreBinding.get(dataFactory.variable(subjectVar));\n if (!subjectTerm || subjectTerm.termType !== 'NamedNode') {\n results.push(coreBinding);\n continue;\n }\n\n const subjectAttrs = attributeMap.get(subjectTerm.value);\n \n // 创建包含所有 OPTIONAL 变量的新 binding\n const entries: [Variable, Term][] = [];\n \n // 复制核心 binding 的所有变量\n for (const v of coreBinding.keys()) {\n const term = coreBinding.get(v);\n if (term) {\n entries.push([v as Variable, term]);\n }\n }\n\n // 添加 OPTIONAL 变量\n for (const [predicate, varName] of optionalVars) {\n const values = subjectAttrs?.get(predicate);\n if (values && values.length > 0) {\n entries.push([dataFactory.variable(varName), values[0]]);\n }\n }\n\n results.push(this.bindingsFactory.bindings(entries));\n }\n\n return results;\n }\n}\n"]}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * QuintEngine - Configurable SPARQL engine backed by QuintStore
3
+ *
4
+ * Store type (SQLite/PostgreSQL) determined by endpoint scheme.
5
+ *
6
+ * Usage:
7
+ * ```json
8
+ * {
9
+ * "@type": "QuintEngine",
10
+ * "endpoint": "postgresql://user:pass@localhost/db"
11
+ * }
12
+ * ```
13
+ */
14
+ import type { Bindings, ResultStream } from '@rdfjs/types';
15
+ import type { Quad } from '@rdfjs/types';
16
+ import type { QuintStore } from '../quint/types';
17
+ import { ComunicaQuintEngine, type QueryContext } from './ComunicaQuintEngine';
18
+ export interface QuintEngineArgs {
19
+ /**
20
+ * Connection string with scheme prefix:
21
+ * - SQLite: 'sqlite:/path/to/db' or 'sqlite::memory:'
22
+ * - PostgreSQL: 'postgresql://user:pass@host/db' or 'postgres://...'
23
+ */
24
+ endpoint: string;
25
+ /**
26
+ * Enable debug logging
27
+ */
28
+ debug?: boolean;
29
+ }
30
+ /**
31
+ * QuintEngine - Injectable SPARQL engine with configurable backend
32
+ *
33
+ * This class provides a unified interface for SPARQL queries backed by
34
+ * either SQLite or PostgreSQL QuintStore implementations.
35
+ */
36
+ export declare class QuintEngine {
37
+ private readonly store;
38
+ private readonly engine;
39
+ private readonly storeType;
40
+ private isOpen;
41
+ constructor(args: QuintEngineArgs);
42
+ /**
43
+ * Parse endpoint string to extract store type and connection string
44
+ *
45
+ * Formats:
46
+ * - sqlite:/path/to/db -> SQLite with file path
47
+ * - sqlite::memory: -> SQLite in-memory
48
+ * - postgresql://user:pass@host/db -> PostgreSQL
49
+ * - postgres://user:pass@host/db -> PostgreSQL (alias)
50
+ */
51
+ private parseEndpoint;
52
+ /**
53
+ * Open the underlying store connection
54
+ */
55
+ open(): Promise<void>;
56
+ /**
57
+ * Close the store connection
58
+ */
59
+ close(): Promise<void>;
60
+ /**
61
+ * Ensure store is open, auto-open if needed
62
+ */
63
+ private ensureOpen;
64
+ /**
65
+ * Execute SELECT query
66
+ */
67
+ queryBindings(query: string, context?: QueryContext): Promise<ResultStream<Bindings>>;
68
+ /**
69
+ * Execute ASK query
70
+ */
71
+ queryBoolean(query: string, context?: QueryContext): Promise<boolean>;
72
+ /**
73
+ * Execute CONSTRUCT/DESCRIBE query
74
+ */
75
+ queryQuads(query: string, context?: QueryContext): Promise<ResultStream<Quad>>;
76
+ /**
77
+ * Execute UPDATE query (INSERT/DELETE)
78
+ */
79
+ queryVoid(query: string, context?: QueryContext): Promise<void>;
80
+ /**
81
+ * Get the underlying QuintStore for direct operations
82
+ */
83
+ getStore(): QuintStore;
84
+ /**
85
+ * Get the underlying ComunicaQuintEngine
86
+ */
87
+ getEngine(): ComunicaQuintEngine;
88
+ /**
89
+ * Get the store type
90
+ */
91
+ getStoreType(): 'sqlite' | 'postgresql';
92
+ }
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ /**
3
+ * QuintEngine - Configurable SPARQL engine backed by QuintStore
4
+ *
5
+ * Store type (SQLite/PostgreSQL) determined by endpoint scheme.
6
+ *
7
+ * Usage:
8
+ * ```json
9
+ * {
10
+ * "@type": "QuintEngine",
11
+ * "endpoint": "postgresql://user:pass@localhost/db"
12
+ * }
13
+ * ```
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.QuintEngine = void 0;
17
+ const SqliteQuintStore_1 = require("../quint/SqliteQuintStore");
18
+ const PgQuintStore_1 = require("../quint/PgQuintStore");
19
+ const ComunicaQuintEngine_1 = require("./ComunicaQuintEngine");
20
+ /**
21
+ * QuintEngine - Injectable SPARQL engine with configurable backend
22
+ *
23
+ * This class provides a unified interface for SPARQL queries backed by
24
+ * either SQLite or PostgreSQL QuintStore implementations.
25
+ */
26
+ class QuintEngine {
27
+ constructor(args) {
28
+ this.isOpen = false;
29
+ const { storeType, connectionString } = this.parseEndpoint(args.endpoint);
30
+ this.storeType = storeType;
31
+ // Create appropriate store based on scheme
32
+ if (storeType === 'postgresql') {
33
+ this.store = new PgQuintStore_1.PgQuintStore({
34
+ connectionString,
35
+ });
36
+ }
37
+ else {
38
+ this.store = new SqliteQuintStore_1.SqliteQuintStore({
39
+ path: connectionString,
40
+ });
41
+ }
42
+ this.engine = new ComunicaQuintEngine_1.ComunicaQuintEngine(this.store, {
43
+ debug: args.debug,
44
+ });
45
+ }
46
+ /**
47
+ * Parse endpoint string to extract store type and connection string
48
+ *
49
+ * Formats:
50
+ * - sqlite:/path/to/db -> SQLite with file path
51
+ * - sqlite::memory: -> SQLite in-memory
52
+ * - postgresql://user:pass@host/db -> PostgreSQL
53
+ * - postgres://user:pass@host/db -> PostgreSQL (alias)
54
+ */
55
+ parseEndpoint(endpoint) {
56
+ if (endpoint.startsWith('sqlite:')) {
57
+ // sqlite:/path/to/db or sqlite::memory:
58
+ const path = endpoint.slice('sqlite:'.length);
59
+ return {
60
+ storeType: 'sqlite',
61
+ connectionString: path || ':memory:',
62
+ };
63
+ }
64
+ if (endpoint.startsWith('postgresql://') || endpoint.startsWith('postgres://')) {
65
+ return {
66
+ storeType: 'postgresql',
67
+ connectionString: endpoint,
68
+ };
69
+ }
70
+ // Default: treat as SQLite file path for backward compatibility
71
+ return {
72
+ storeType: 'sqlite',
73
+ connectionString: endpoint,
74
+ };
75
+ }
76
+ /**
77
+ * Open the underlying store connection
78
+ */
79
+ async open() {
80
+ if (!this.isOpen) {
81
+ await this.store.open();
82
+ this.isOpen = true;
83
+ }
84
+ }
85
+ /**
86
+ * Close the store connection
87
+ */
88
+ async close() {
89
+ if (this.isOpen) {
90
+ await this.store.close();
91
+ this.isOpen = false;
92
+ }
93
+ }
94
+ /**
95
+ * Ensure store is open, auto-open if needed
96
+ */
97
+ async ensureOpen() {
98
+ if (!this.isOpen) {
99
+ await this.open();
100
+ }
101
+ }
102
+ /**
103
+ * Execute SELECT query
104
+ */
105
+ async queryBindings(query, context) {
106
+ await this.ensureOpen();
107
+ return this.engine.queryBindings(query, context);
108
+ }
109
+ /**
110
+ * Execute ASK query
111
+ */
112
+ async queryBoolean(query, context) {
113
+ await this.ensureOpen();
114
+ return this.engine.queryBoolean(query, context);
115
+ }
116
+ /**
117
+ * Execute CONSTRUCT/DESCRIBE query
118
+ */
119
+ async queryQuads(query, context) {
120
+ await this.ensureOpen();
121
+ return this.engine.queryQuads(query, context);
122
+ }
123
+ /**
124
+ * Execute UPDATE query (INSERT/DELETE)
125
+ */
126
+ async queryVoid(query, context) {
127
+ await this.ensureOpen();
128
+ return this.engine.queryVoid(query, context);
129
+ }
130
+ /**
131
+ * Get the underlying QuintStore for direct operations
132
+ */
133
+ getStore() {
134
+ return this.store;
135
+ }
136
+ /**
137
+ * Get the underlying ComunicaQuintEngine
138
+ */
139
+ getEngine() {
140
+ return this.engine;
141
+ }
142
+ /**
143
+ * Get the store type
144
+ */
145
+ getStoreType() {
146
+ return this.storeType;
147
+ }
148
+ }
149
+ exports.QuintEngine = QuintEngine;
150
+ //# sourceMappingURL=QuintEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuintEngine.js","sourceRoot":"","sources":["../../../src/storage/sparql/QuintEngine.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * QuintEngine - Configurable SPARQL engine backed by QuintStore\n * \n * Store type (SQLite/PostgreSQL) determined by endpoint scheme.\n * \n * Usage:\n * ```json\n * {\n * \"@type\": \"QuintEngine\",\n * \"endpoint\": \"postgresql://user:pass@localhost/db\"\n * }\n * ```\n */\n\nimport type { Bindings, ResultStream } from '@rdfjs/types';\nimport type { Quad } from '@rdfjs/types';\n\nimport type { QuintStore } from '../quint/types';\nimport { SqliteQuintStore } from '../quint/SqliteQuintStore';\nimport { PgQuintStore } from '../quint/PgQuintStore';\nimport { ComunicaQuintEngine, type QueryContext } from './ComunicaQuintEngine';\n\nexport interface QuintEngineArgs {\n /**\n * Connection string with scheme prefix:\n * - SQLite: 'sqlite:/path/to/db' or 'sqlite::memory:'\n * - PostgreSQL: 'postgresql://user:pass@host/db' or 'postgres://...'\n */\n endpoint: string;\n \n /**\n * Enable debug logging\n */\n debug?: boolean;\n}\n\n/**\n * QuintEngine - Injectable SPARQL engine with configurable backend\n * \n * This class provides a unified interface for SPARQL queries backed by\n * either SQLite or PostgreSQL QuintStore implementations.\n */\nexport class QuintEngine {\n private readonly store: QuintStore;\n private readonly engine: ComunicaQuintEngine;\n private readonly storeType: 'sqlite' | 'postgresql';\n private isOpen = false;\n\n public constructor(args: QuintEngineArgs) {\n const { storeType, connectionString } = this.parseEndpoint(args.endpoint);\n this.storeType = storeType;\n \n // Create appropriate store based on scheme\n if (storeType === 'postgresql') {\n this.store = new PgQuintStore({\n connectionString,\n });\n } else {\n this.store = new SqliteQuintStore({\n path: connectionString,\n });\n }\n \n this.engine = new ComunicaQuintEngine(this.store, {\n debug: args.debug,\n });\n }\n\n /**\n * Parse endpoint string to extract store type and connection string\n * \n * Formats:\n * - sqlite:/path/to/db -> SQLite with file path\n * - sqlite::memory: -> SQLite in-memory\n * - postgresql://user:pass@host/db -> PostgreSQL\n * - postgres://user:pass@host/db -> PostgreSQL (alias)\n */\n private parseEndpoint(endpoint: string): { storeType: 'sqlite' | 'postgresql'; connectionString: string } {\n if (endpoint.startsWith('sqlite:')) {\n // sqlite:/path/to/db or sqlite::memory:\n const path = endpoint.slice('sqlite:'.length);\n return { \n storeType: 'sqlite', \n connectionString: path || ':memory:',\n };\n }\n \n if (endpoint.startsWith('postgresql://') || endpoint.startsWith('postgres://')) {\n return { \n storeType: 'postgresql', \n connectionString: endpoint,\n };\n }\n \n // Default: treat as SQLite file path for backward compatibility\n return { \n storeType: 'sqlite', \n connectionString: endpoint,\n };\n }\n\n /**\n * Open the underlying store connection\n */\n public async open(): Promise<void> {\n if (!this.isOpen) {\n await this.store.open();\n this.isOpen = true;\n }\n }\n\n /**\n * Close the store connection\n */\n public async close(): Promise<void> {\n if (this.isOpen) {\n await this.store.close();\n this.isOpen = false;\n }\n }\n\n /**\n * Ensure store is open, auto-open if needed\n */\n private async ensureOpen(): Promise<void> {\n if (!this.isOpen) {\n await this.open();\n }\n }\n\n /**\n * Execute SELECT query\n */\n public async queryBindings(query: string, context?: QueryContext): Promise<ResultStream<Bindings>> {\n await this.ensureOpen();\n return this.engine.queryBindings(query, context);\n }\n\n /**\n * Execute ASK query\n */\n public async queryBoolean(query: string, context?: QueryContext): Promise<boolean> {\n await this.ensureOpen();\n return this.engine.queryBoolean(query, context);\n }\n\n /**\n * Execute CONSTRUCT/DESCRIBE query\n */\n public async queryQuads(query: string, context?: QueryContext): Promise<ResultStream<Quad>> {\n await this.ensureOpen();\n return this.engine.queryQuads(query, context);\n }\n\n /**\n * Execute UPDATE query (INSERT/DELETE)\n */\n public async queryVoid(query: string, context?: QueryContext): Promise<void> {\n await this.ensureOpen();\n return this.engine.queryVoid(query, context);\n }\n\n /**\n * Get the underlying QuintStore for direct operations\n */\n public getStore(): QuintStore {\n return this.store;\n }\n\n /**\n * Get the underlying ComunicaQuintEngine\n */\n public getEngine(): ComunicaQuintEngine {\n return this.engine;\n }\n\n /**\n * Get the store type\n */\n public getStoreType(): 'sqlite' | 'postgresql' {\n return this.storeType;\n }\n}\n"]}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * QuintQuerySource - IQuerySource implementation for QuintStore
3
+ *
4
+ * This implements Comunica's IQuerySource interface to enable proper FILTER pushdown.
5
+ * Unlike RDF.Store.match() which only receives 4 terms, IQuerySource.queryBindings()
6
+ * receives the full SPARQL algebra including FILTER expressions.
7
+ *
8
+ * Design:
9
+ * - Delegates filter extraction to FilterPushdownExtractor
10
+ * - Delegates pattern building to PatternBuilder
11
+ * - Delegates in-memory evaluation to ExpressionEvaluator
12
+ * - Coordinates these components to execute queries efficiently
13
+ */
14
+ import type { Quad, Variable, Bindings } from '@rdfjs/types';
15
+ import type { AsyncIterator } from 'asynciterator';
16
+ import { Algebra } from 'sparqlalgebrajs';
17
+ import type { QuintStore, TermName } from '../quint/types';
18
+ import type { SecurityFilters } from './ComunicaQuintEngine';
19
+ export interface IActionContext {
20
+ get<V>(key: {
21
+ name: string;
22
+ }): V | undefined;
23
+ getSafe<V>(key: {
24
+ name: string;
25
+ }): V;
26
+ has(key: {
27
+ name: string;
28
+ }): boolean;
29
+ }
30
+ export interface FragmentSelectorShape {
31
+ type: 'operation' | 'conjunction' | 'disjunction' | 'negation' | 'arity';
32
+ operation?: {
33
+ operationType: 'type' | 'pattern' | 'wildcard';
34
+ type?: string;
35
+ pattern?: Algebra.Operation;
36
+ };
37
+ children?: FragmentSelectorShape[];
38
+ child?: FragmentSelectorShape;
39
+ variablesOptional?: Variable[];
40
+ joinBindings?: true;
41
+ filterBindings?: true;
42
+ min?: number;
43
+ max?: number;
44
+ }
45
+ export interface BindingsStream extends AsyncIterator<Bindings> {
46
+ }
47
+ export interface IQueryBindingsOptions {
48
+ joinBindings?: {
49
+ bindings: BindingsStream;
50
+ metadata: unknown;
51
+ };
52
+ filterBindings?: {
53
+ bindings: BindingsStream;
54
+ metadata: unknown;
55
+ };
56
+ }
57
+ export interface MetadataValidationState {
58
+ }
59
+ /**
60
+ * IQuerySource interface compatible with Comunica
61
+ */
62
+ export interface IQuerySource {
63
+ referenceValue: unknown;
64
+ getSelectorShape(context: IActionContext): Promise<FragmentSelectorShape>;
65
+ queryBindings(operation: Algebra.Operation, context: IActionContext, options?: IQueryBindingsOptions): BindingsStream;
66
+ queryQuads(operation: Algebra.Operation, context: IActionContext): AsyncIterator<Quad>;
67
+ queryBoolean(operation: Algebra.Ask, context: IActionContext): Promise<boolean>;
68
+ queryVoid(operation: Algebra.Update, context: IActionContext): Promise<void>;
69
+ toString(): string;
70
+ }
71
+ interface OptimizeParams {
72
+ limit?: number;
73
+ offset?: number;
74
+ order?: TermName[];
75
+ /** 原始 ORDER BY 变量名,用于分析绑定位置 */
76
+ orderVarName?: string;
77
+ reverse?: boolean;
78
+ }
79
+ /**
80
+ * QuintQuerySource implements IQuerySource for QuintStore
81
+ *
82
+ * Key features:
83
+ * 1. Declares support for FILTER operations via getSelectorShape()
84
+ * 2. Receives full SPARQL algebra in queryBindings() including FILTERs
85
+ * 3. Extracts filter conditions and pushes them down to QuintStore
86
+ * 4. Applies security filters (ACL) unconditionally
87
+ * 5. Tree-based evaluation for remaining non-pushdownable expressions
88
+ */
89
+ export declare class QuintQuerySource implements IQuerySource {
90
+ readonly referenceValue: unknown;
91
+ private readonly store;
92
+ private readonly debug;
93
+ private readonly bindingsFactory;
94
+ private readonly getSecurityFilters;
95
+ private readonly getOptimizeParams;
96
+ private readonly getFilterExpression;
97
+ private readonly filterExtractor;
98
+ private readonly patternBuilder;
99
+ private readonly expressionEvaluator;
100
+ constructor(store: QuintStore, options: {
101
+ debug?: boolean;
102
+ bindingsFactory: any;
103
+ getSecurityFilters: () => SecurityFilters | undefined;
104
+ getOptimizeParams: () => OptimizeParams | null;
105
+ getFilterExpression?: (varName: string) => Algebra.Expression | undefined;
106
+ });
107
+ /**
108
+ * Declare the operations this source supports
109
+ *
110
+ * We support:
111
+ * - Basic quad patterns (for simple queries)
112
+ * - FILTER operations (for filter pushdown)
113
+ * - BGP operations (for multi-pattern queries)
114
+ * - joinBindings: allows Comunica to push JOIN operations down to us
115
+ *
116
+ * The joinBindings support enables ActorRdfJoinMultiBindSource to push
117
+ * multiple patterns to us efficiently, using SQL JOINs instead of
118
+ * Comunica's nested loop approach.
119
+ */
120
+ getSelectorShape(_context: IActionContext): Promise<FragmentSelectorShape>;
121
+ /**
122
+ * Query bindings - main entry point for SPARQL queries
123
+ *
124
+ * When Comunica's ActorRdfJoinMultiBindSource selects us for a join operation,
125
+ * it passes options.joinBindings containing bindings from the first pattern.
126
+ * We need to use these bindings to filter our query results efficiently.
127
+ */
128
+ queryBindings(operation: Algebra.Operation, _context: IActionContext, options?: IQueryBindingsOptions): BindingsStream;
129
+ /**
130
+ * Execute query and return bindings
131
+ *
132
+ * If options.joinBindings is provided, we need to:
133
+ * 1. Collect bindings from the stream (these are from the first pattern in the JOIN)
134
+ * 2. Extract variable values that overlap with our patterns
135
+ * 3. Use those values as IN conditions in our query
136
+ * 4. JOIN the results with the incoming bindings
137
+ */
138
+ private executeQuery;
139
+ /**
140
+ * Execute a bind join: use incoming bindings to filter our query
141
+ *
142
+ * This is called when Comunica's ActorRdfJoinMultiBindSource pushes bindings to us.
143
+ * We use SQL IN clause to efficiently query only the rows matching the incoming bindings.
144
+ */
145
+ private executeBindJoin;
146
+ /**
147
+ * Execute bind join for a single pattern using IN filter
148
+ */
149
+ private executeBindJoinSimple;
150
+ /**
151
+ * Execute bind join for multiple patterns using compound query
152
+ */
153
+ private executeBindJoinCompound;
154
+ /**
155
+ * Hash join two binding sets on a common variable
156
+ */
157
+ private hashJoin;
158
+ /**
159
+ * Merge two bindings, returning null if they conflict
160
+ */
161
+ private mergeBindings;
162
+ /**
163
+ * Cartesian product of two binding sets
164
+ */
165
+ private cartesianJoin;
166
+ /**
167
+ * Execute OR branches with union semantics
168
+ */
169
+ private executeOrBranches;
170
+ /**
171
+ * Try to execute a compound query for multiple patterns joined by same subject
172
+ * Returns null if compound query is not applicable
173
+ */
174
+ private tryCompoundQuery;
175
+ /**
176
+ * Distribute filter conditions to their respective patterns
177
+ * Returns a map of pattern index -> PushdownFilters
178
+ */
179
+ private distributeFiltersToPatterns;
180
+ /**
181
+ * Build SELECT clause config for patterns
182
+ */
183
+ private buildSelectForPatterns;
184
+ /**
185
+ * Convert CompoundResult array to Bindings array
186
+ */
187
+ private compoundResultsToBindings;
188
+ /**
189
+ * Deserialize a value from storage format to RDF Term
190
+ * Uses the same deserialization logic as QuintStore
191
+ */
192
+ private deserializeValue;
193
+ /**
194
+ * Convert quads to bindings based on pattern variables
195
+ */
196
+ private quadsToBindings;
197
+ /**
198
+ * Get the term from quad that matches the variable position in pattern
199
+ */
200
+ private getTermForVariable;
201
+ /**
202
+ * Extract BGP pattern and filter from operation
203
+ * Returns either a single pattern or multiple patterns (from BGP or JOIN)
204
+ */
205
+ extractPatternAndFilter(operation: Algebra.Operation): {
206
+ pattern: Algebra.Pattern;
207
+ patterns?: Algebra.Pattern[];
208
+ filter: Algebra.Expression | null;
209
+ };
210
+ /**
211
+ * Get variables from operation
212
+ */
213
+ private getVariablesFromOperation;
214
+ queryQuads(operation: Algebra.Operation, _context: IActionContext): AsyncIterator<Quad>;
215
+ queryBoolean(operation: Algebra.Ask, _context: IActionContext): Promise<boolean>;
216
+ queryVoid(_operation: Algebra.Update, _context: IActionContext): Promise<void>;
217
+ /**
218
+ * 在 pattern 中查找变量绑定到哪个位置
219
+ *
220
+ * 例如:{ ?s <http://schema.org/name> ?name }
221
+ * - ?s 绑定到 subject
222
+ * - ?name 绑定到 object
223
+ */
224
+ private findVariableBinding;
225
+ toString(): string;
226
+ }
227
+ export {};