@undefineds.co/xpod 0.3.57 → 0.3.61
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.
- package/README.md +3 -0
- package/config/cli.json +88 -0
- package/config/cloud.json +32 -1
- package/config/components-ignore.json +3 -0
- package/config/extensions.local.initializer.json +44 -0
- package/config/resolver.json +86 -0
- package/config/xpod.base.json +4 -0
- package/dist/agents/AgentExecutorFactory.d.ts +3 -3
- package/dist/agents/AgentExecutorFactory.js +28 -15
- package/dist/agents/AgentExecutorFactory.js.map +1 -1
- package/dist/agents/BaseAgentExecutor.d.ts +2 -1
- package/dist/agents/BaseAgentExecutor.js +1 -0
- package/dist/agents/BaseAgentExecutor.js.map +1 -1
- package/dist/agents/ClaudeExecutor.d.ts +3 -1
- package/dist/agents/ClaudeExecutor.js +18 -12
- package/dist/agents/ClaudeExecutor.js.map +1 -1
- package/dist/agents/config/resolve.js +0 -21
- package/dist/agents/config/resolve.js.map +1 -1
- package/dist/agents/config/types.d.ts +2 -7
- package/dist/agents/config/types.js +2 -1
- package/dist/agents/config/types.js.map +1 -1
- package/dist/agents/types.d.ts +18 -0
- package/dist/agents/types.js.map +1 -1
- package/dist/ai/schema/types.d.ts +2 -1
- package/dist/ai/schema/types.js +1 -0
- package/dist/ai/schema/types.js.map +1 -1
- package/dist/ai/service/CredentialReader.d.ts +3 -1
- package/dist/ai/service/CredentialReader.js.map +1 -1
- package/dist/ai/service/CredentialReaderImpl.d.ts +3 -1
- package/dist/ai/service/CredentialReaderImpl.js +24 -2
- package/dist/ai/service/CredentialReaderImpl.js.map +1 -1
- package/dist/ai/service/EmbeddingServiceImpl.js +13 -2
- package/dist/ai/service/EmbeddingServiceImpl.js.map +1 -1
- package/dist/ai/service/ProviderRegistry.d.ts +4 -0
- package/dist/ai/service/ProviderRegistry.js.map +1 -1
- package/dist/ai/service/ProviderRegistry.jsonld +4 -0
- package/dist/ai/service/ProviderRegistryImpl.d.ts +4 -1
- package/dist/ai/service/ProviderRegistryImpl.js +26 -4
- package/dist/ai/service/ProviderRegistryImpl.js.map +1 -1
- package/dist/ai/service/ProviderRegistryImpl.jsonld +12 -0
- package/dist/ai/service/defaultEmbeddingProfile.d.ts +5 -0
- package/dist/ai/service/defaultEmbeddingProfile.js +31 -0
- package/dist/ai/service/defaultEmbeddingProfile.js.map +1 -0
- package/dist/ai/service/index.d.ts +1 -0
- package/dist/ai/service/index.js +1 -0
- package/dist/ai/service/index.js.map +1 -1
- package/dist/ai/service/types.d.ts +1 -0
- package/dist/ai/service/types.js.map +1 -1
- package/dist/api/ApiServer.js +17 -2
- package/dist/api/ApiServer.js.map +1 -1
- package/dist/api/ai-gateway/AiGatewayService.d.ts +106 -0
- package/dist/api/ai-gateway/AiGatewayService.js +527 -0
- package/dist/api/ai-gateway/AiGatewayService.js.map +1 -0
- package/dist/api/ai-gateway/auth/AiConnectionInvocationKeyIssuer.d.ts +38 -0
- package/dist/api/ai-gateway/auth/AiConnectionInvocationKeyIssuer.js +128 -0
- package/dist/api/ai-gateway/auth/AiConnectionInvocationKeyIssuer.js.map +1 -0
- package/dist/api/ai-gateway/auth/ClientCredentialsInternalPodAccessTokenProvider.d.ts +25 -0
- package/dist/api/ai-gateway/auth/ClientCredentialsInternalPodAccessTokenProvider.js +91 -0
- package/dist/api/ai-gateway/auth/ClientCredentialsInternalPodAccessTokenProvider.js.map +1 -0
- package/dist/api/ai-gateway/auth/GatewayApiKey.d.ts +28 -0
- package/dist/api/ai-gateway/auth/GatewayApiKey.js +162 -0
- package/dist/api/ai-gateway/auth/GatewayApiKey.js.map +1 -0
- package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.d.ts +56 -0
- package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.js +143 -0
- package/dist/api/ai-gateway/auth/GatewayApiKeyAuthenticator.js.map +1 -0
- package/dist/api/ai-gateway/auth/GatewayKeyLocatorCodec.d.ts +26 -0
- package/dist/api/ai-gateway/auth/GatewayKeyLocatorCodec.js +97 -0
- package/dist/api/ai-gateway/auth/GatewayKeyLocatorCodec.js.map +1 -0
- package/dist/api/ai-gateway/auth/GatewayPrincipal.d.ts +20 -0
- package/dist/api/ai-gateway/auth/GatewayPrincipal.js +37 -0
- package/dist/api/ai-gateway/auth/GatewayPrincipal.js.map +1 -0
- package/dist/api/ai-gateway/auth/InvocationTokenCodec.d.ts +41 -0
- package/dist/api/ai-gateway/auth/InvocationTokenCodec.js +221 -0
- package/dist/api/ai-gateway/auth/InvocationTokenCodec.js.map +1 -0
- package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.d.ts +54 -0
- package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.js +152 -0
- package/dist/api/ai-gateway/auth/PodGatewayAccessKeyRepository.js.map +1 -0
- package/dist/api/ai-gateway/connect/index.d.ts +367 -0
- package/dist/api/ai-gateway/connect/index.js +1061 -0
- package/dist/api/ai-gateway/connect/index.js.map +1 -0
- package/dist/api/ai-gateway/credentials/CloudKmsWrapper.d.ts +40 -0
- package/dist/api/ai-gateway/credentials/CloudKmsWrapper.js +59 -0
- package/dist/api/ai-gateway/credentials/CloudKmsWrapper.js.map +1 -0
- package/dist/api/ai-gateway/credentials/CredentialVault.d.ts +14 -0
- package/dist/api/ai-gateway/credentials/CredentialVault.js +11 -0
- package/dist/api/ai-gateway/credentials/CredentialVault.js.map +1 -0
- package/dist/api/ai-gateway/credentials/KeyWrapper.d.ts +27 -0
- package/dist/api/ai-gateway/credentials/KeyWrapper.js +3 -0
- package/dist/api/ai-gateway/credentials/KeyWrapper.js.map +1 -0
- package/dist/api/ai-gateway/credentials/LocalKeychainWrapper.d.ts +27 -0
- package/dist/api/ai-gateway/credentials/LocalKeychainWrapper.js +145 -0
- package/dist/api/ai-gateway/credentials/LocalKeychainWrapper.js.map +1 -0
- package/dist/api/ai-gateway/credentials/SecretCellCredentialVault.d.ts +13 -0
- package/dist/api/ai-gateway/credentials/SecretCellCredentialVault.js +133 -0
- package/dist/api/ai-gateway/credentials/SecretCellCredentialVault.js.map +1 -0
- package/dist/api/ai-gateway/credentials/SecretCellKeyWrapper.d.ts +23 -0
- package/dist/api/ai-gateway/credentials/SecretCellKeyWrapper.js +62 -0
- package/dist/api/ai-gateway/credentials/SecretCellKeyWrapper.js.map +1 -0
- package/dist/api/ai-gateway/credentials/WebCryptoCredentialVault.d.ts +23 -0
- package/dist/api/ai-gateway/credentials/WebCryptoCredentialVault.js +173 -0
- package/dist/api/ai-gateway/credentials/WebCryptoCredentialVault.js.map +1 -0
- package/dist/api/ai-gateway/errors.d.ts +21 -0
- package/dist/api/ai-gateway/errors.js +50 -0
- package/dist/api/ai-gateway/errors.js.map +1 -0
- package/dist/api/ai-gateway/protocol/ChatCompletionsFrontend.d.ts +6 -0
- package/dist/api/ai-gateway/protocol/ChatCompletionsFrontend.js +111 -0
- package/dist/api/ai-gateway/protocol/ChatCompletionsFrontend.js.map +1 -0
- package/dist/api/ai-gateway/protocol/MessagesFrontend.d.ts +6 -0
- package/dist/api/ai-gateway/protocol/MessagesFrontend.js +99 -0
- package/dist/api/ai-gateway/protocol/MessagesFrontend.js.map +1 -0
- package/dist/api/ai-gateway/protocol/ResponsesFrontend.d.ts +6 -0
- package/dist/api/ai-gateway/protocol/ResponsesFrontend.js +232 -0
- package/dist/api/ai-gateway/protocol/ResponsesFrontend.js.map +1 -0
- package/dist/api/ai-gateway/protocol/index.d.ts +3 -0
- package/dist/api/ai-gateway/protocol/index.js +10 -0
- package/dist/api/ai-gateway/protocol/index.js.map +1 -0
- package/dist/api/ai-gateway/providers/AnthropicRuntimeAdapter.d.ts +7 -0
- package/dist/api/ai-gateway/providers/AnthropicRuntimeAdapter.js +37 -0
- package/dist/api/ai-gateway/providers/AnthropicRuntimeAdapter.js.map +1 -0
- package/dist/api/ai-gateway/providers/BailianRuntimeAdapter.d.ts +9 -0
- package/dist/api/ai-gateway/providers/BailianRuntimeAdapter.js +127 -0
- package/dist/api/ai-gateway/providers/BailianRuntimeAdapter.js.map +1 -0
- package/dist/api/ai-gateway/providers/DeepSeekRuntimeAdapter.d.ts +8 -0
- package/dist/api/ai-gateway/providers/DeepSeekRuntimeAdapter.js +47 -0
- package/dist/api/ai-gateway/providers/DeepSeekRuntimeAdapter.js.map +1 -0
- package/dist/api/ai-gateway/providers/KimiRuntimeAdapter.d.ts +8 -0
- package/dist/api/ai-gateway/providers/KimiRuntimeAdapter.js +57 -0
- package/dist/api/ai-gateway/providers/KimiRuntimeAdapter.js.map +1 -0
- package/dist/api/ai-gateway/providers/OpenAiCompatibleRuntimeAdapter.d.ts +1 -0
- package/dist/api/ai-gateway/providers/OpenAiCompatibleRuntimeAdapter.js +6 -0
- package/dist/api/ai-gateway/providers/OpenAiCompatibleRuntimeAdapter.js.map +1 -0
- package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.d.ts +13 -0
- package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.js +34 -0
- package/dist/api/ai-gateway/providers/OpenAiRuntimeAdapter.js.map +1 -0
- package/dist/api/ai-gateway/providers/ProviderRegistry.d.ts +68 -0
- package/dist/api/ai-gateway/providers/ProviderRegistry.js +288 -0
- package/dist/api/ai-gateway/providers/ProviderRegistry.js.map +1 -0
- package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.d.ts +88 -0
- package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.js +645 -0
- package/dist/api/ai-gateway/providers/ProviderRuntimeAdapter.js.map +1 -0
- package/dist/api/ai-gateway/providers/ProviderRuntimeRegistry.d.ts +13 -0
- package/dist/api/ai-gateway/providers/ProviderRuntimeRegistry.js +48 -0
- package/dist/api/ai-gateway/providers/ProviderRuntimeRegistry.js.map +1 -0
- package/dist/api/ai-gateway/providers/index.d.ts +9 -0
- package/dist/api/ai-gateway/providers/index.js +26 -0
- package/dist/api/ai-gateway/providers/index.js.map +1 -0
- package/dist/api/ai-gateway/quota/AnthropicQuotaAdapter.d.ts +5 -0
- package/dist/api/ai-gateway/quota/AnthropicQuotaAdapter.js +21 -0
- package/dist/api/ai-gateway/quota/AnthropicQuotaAdapter.js.map +1 -0
- package/dist/api/ai-gateway/quota/BailianQuotaAdapter.d.ts +5 -0
- package/dist/api/ai-gateway/quota/BailianQuotaAdapter.js +21 -0
- package/dist/api/ai-gateway/quota/BailianQuotaAdapter.js.map +1 -0
- package/dist/api/ai-gateway/quota/DeepSeekQuotaAdapter.d.ts +10 -0
- package/dist/api/ai-gateway/quota/DeepSeekQuotaAdapter.js +83 -0
- package/dist/api/ai-gateway/quota/DeepSeekQuotaAdapter.js.map +1 -0
- package/dist/api/ai-gateway/quota/KimiQuotaAdapter.d.ts +10 -0
- package/dist/api/ai-gateway/quota/KimiQuotaAdapter.js +70 -0
- package/dist/api/ai-gateway/quota/KimiQuotaAdapter.js.map +1 -0
- package/dist/api/ai-gateway/quota/OpenAiQuotaAdapter.d.ts +5 -0
- package/dist/api/ai-gateway/quota/OpenAiQuotaAdapter.js +21 -0
- package/dist/api/ai-gateway/quota/OpenAiQuotaAdapter.js.map +1 -0
- package/dist/api/ai-gateway/quota/ProviderQuotaAdapter.d.ts +214 -0
- package/dist/api/ai-gateway/quota/ProviderQuotaAdapter.js +511 -0
- package/dist/api/ai-gateway/quota/ProviderQuotaAdapter.js.map +1 -0
- package/dist/api/ai-gateway/quota/index.d.ts +6 -0
- package/dist/api/ai-gateway/quota/index.js +23 -0
- package/dist/api/ai-gateway/quota/index.js.map +1 -0
- package/dist/api/ai-gateway/routing/InMemorySessionAffinityStore.d.ts +26 -0
- package/dist/api/ai-gateway/routing/InMemorySessionAffinityStore.js +67 -0
- package/dist/api/ai-gateway/routing/InMemorySessionAffinityStore.js.map +1 -0
- package/dist/api/ai-gateway/routing/ModelRouter.d.ts +84 -0
- package/dist/api/ai-gateway/routing/ModelRouter.js +274 -0
- package/dist/api/ai-gateway/routing/ModelRouter.js.map +1 -0
- package/dist/api/ai-gateway/routing/RedisSessionAffinityStore.d.ts +39 -0
- package/dist/api/ai-gateway/routing/RedisSessionAffinityStore.js +122 -0
- package/dist/api/ai-gateway/routing/RedisSessionAffinityStore.js.map +1 -0
- package/dist/api/ai-gateway/routing/SessionAffinityStore.d.ts +49 -0
- package/dist/api/ai-gateway/routing/SessionAffinityStore.js +66 -0
- package/dist/api/ai-gateway/routing/SessionAffinityStore.js.map +1 -0
- package/dist/api/ai-gateway/service-access/AiConnectionServiceAccess.d.ts +25 -0
- package/dist/api/ai-gateway/service-access/AiConnectionServiceAccess.js +50 -0
- package/dist/api/ai-gateway/service-access/AiConnectionServiceAccess.js.map +1 -0
- package/dist/api/ai-gateway/types.d.ts +112 -0
- package/dist/api/ai-gateway/types.js +305 -0
- package/dist/api/ai-gateway/types.js.map +1 -0
- package/dist/api/auth/AuthContext.d.ts +18 -3
- package/dist/api/auth/AuthContext.js +13 -2
- package/dist/api/auth/AuthContext.js.map +1 -1
- package/dist/api/auth/Authenticator.d.ts +3 -0
- package/dist/api/auth/Authenticator.js.map +1 -1
- package/dist/api/auth/ClientCredentialsAuthenticator.d.ts +2 -6
- package/dist/api/auth/ClientCredentialsAuthenticator.js +12 -30
- package/dist/api/auth/ClientCredentialsAuthenticator.js.map +1 -1
- package/dist/api/auth/SolidTokenAuthenticator.d.ts +2 -0
- package/dist/api/auth/SolidTokenAuthenticator.js +88 -2
- package/dist/api/auth/SolidTokenAuthenticator.js.map +1 -1
- package/dist/api/auth/TokenIdentity.d.ts +6 -0
- package/dist/api/auth/TokenIdentity.js +31 -0
- package/dist/api/auth/TokenIdentity.js.map +1 -0
- package/dist/api/chatkit/ai-provider.d.ts +9 -23
- package/dist/api/chatkit/ai-provider.js +30 -153
- package/dist/api/chatkit/ai-provider.js.map +1 -1
- package/dist/api/chatkit/default-agent.d.ts +24 -15
- package/dist/api/chatkit/default-agent.js +24 -83
- package/dist/api/chatkit/default-agent.js.map +1 -1
- package/dist/api/chatkit/index.d.ts +2 -1
- package/dist/api/chatkit/index.js +3 -1
- package/dist/api/chatkit/index.js.map +1 -1
- package/dist/api/chatkit/pod-store.d.ts +13 -1
- package/dist/api/chatkit/pod-store.js +127 -7
- package/dist/api/chatkit/pod-store.js.map +1 -1
- package/dist/api/chatkit/runtime/AcpAgentRuntime.d.ts +0 -1
- package/dist/api/chatkit/runtime/AcpAgentRuntime.js +14 -51
- package/dist/api/chatkit/runtime/AcpAgentRuntime.js.map +1 -1
- package/dist/api/chatkit/runtime/AcpRunner.js +2 -1
- package/dist/api/chatkit/runtime/AcpRunner.js.map +1 -1
- package/dist/api/chatkit/runtime/CodexRuntimeProjector.d.ts +15 -1
- package/dist/api/chatkit/runtime/CodexRuntimeProjector.js +52 -34
- package/dist/api/chatkit/runtime/CodexRuntimeProjector.js.map +1 -1
- package/dist/api/chatkit/service.d.ts +8 -1
- package/dist/api/chatkit/service.js +46 -5
- package/dist/api/chatkit/service.js.map +1 -1
- package/dist/api/chatkit/store.d.ts +23 -1
- package/dist/api/chatkit/store.js +56 -0
- package/dist/api/chatkit/store.js.map +1 -1
- package/dist/api/chatkit/types.d.ts +1 -0
- package/dist/api/chatkit/types.js.map +1 -1
- package/dist/api/container/common.js +286 -13
- package/dist/api/container/common.js.map +1 -1
- package/dist/api/container/index.js +126 -6
- package/dist/api/container/index.js.map +1 -1
- package/dist/api/container/local.js +50 -6
- package/dist/api/container/local.js.map +1 -1
- package/dist/api/container/rdf.d.ts +15 -0
- package/dist/api/container/rdf.js +90 -0
- package/dist/api/container/rdf.js.map +1 -0
- package/dist/api/container/routes.js +151 -11
- package/dist/api/container/routes.js.map +1 -1
- package/dist/api/container/types.d.ts +96 -0
- package/dist/api/container/types.js.map +1 -1
- package/dist/api/handlers/AdminHandler.d.ts +25 -2
- package/dist/api/handlers/AdminHandler.js +60 -10
- package/dist/api/handlers/AdminHandler.js.map +1 -1
- package/dist/api/handlers/AiClientConfigurationHandler.d.ts +7 -0
- package/dist/api/handlers/AiClientConfigurationHandler.js +202 -0
- package/dist/api/handlers/AiClientConfigurationHandler.js.map +1 -0
- package/dist/api/handlers/AiGatewayHandler.d.ts +23 -0
- package/dist/api/handlers/AiGatewayHandler.js +231 -0
- package/dist/api/handlers/AiGatewayHandler.js.map +1 -0
- package/dist/api/handlers/AiGatewayManagementHandler.d.ts +24 -0
- package/dist/api/handlers/AiGatewayManagementHandler.js +503 -0
- package/dist/api/handlers/AiGatewayManagementHandler.js.map +1 -0
- package/dist/api/handlers/ChatHandler.d.ts +11 -12
- package/dist/api/handlers/ChatHandler.js +12 -219
- package/dist/api/handlers/ChatHandler.js.map +1 -1
- package/dist/api/handlers/DashboardHandler.js +22 -116
- package/dist/api/handlers/DashboardHandler.js.map +1 -1
- package/dist/api/handlers/NetworkSettingsHandler.d.ts +97 -0
- package/dist/api/handlers/NetworkSettingsHandler.js +511 -0
- package/dist/api/handlers/NetworkSettingsHandler.js.map +1 -0
- package/dist/api/handlers/PodSettingsHandler.d.ts +79 -0
- package/dist/api/handlers/PodSettingsHandler.js +162 -0
- package/dist/api/handlers/PodSettingsHandler.js.map +1 -0
- package/dist/api/handlers/ProvisionHandler.d.ts +3 -1
- package/dist/api/handlers/ProvisionHandler.js +22 -87
- package/dist/api/handlers/ProvisionHandler.js.map +1 -1
- package/dist/api/handlers/RdfStatsHandler.d.ts +6 -0
- package/dist/api/handlers/RdfStatsHandler.js +85 -0
- package/dist/api/handlers/RdfStatsHandler.js.map +1 -0
- package/dist/api/handlers/SettingsHandler.d.ts +5 -0
- package/dist/api/handlers/SettingsHandler.js +13 -0
- package/dist/api/handlers/SettingsHandler.js.map +1 -0
- package/dist/api/handlers/StaticSpaHandler.d.ts +8 -0
- package/dist/api/handlers/StaticSpaHandler.js +102 -0
- package/dist/api/handlers/StaticSpaHandler.js.map +1 -0
- package/dist/api/handlers/index.d.ts +1 -0
- package/dist/api/handlers/index.js +1 -0
- package/dist/api/handlers/index.js.map +1 -1
- package/dist/api/http/readBoundedJsonBody.d.ts +14 -0
- package/dist/api/http/readBoundedJsonBody.js +58 -0
- package/dist/api/http/readBoundedJsonBody.js.map +1 -0
- package/dist/api/middleware/AuthMiddleware.d.ts +1 -0
- package/dist/api/middleware/AuthMiddleware.js +33 -4
- package/dist/api/middleware/AuthMiddleware.js.map +1 -1
- package/dist/api/runs/AgentRuntimeTypes.d.ts +18 -3
- package/dist/api/runs/AgentRuntimeTypes.js +61 -0
- package/dist/api/runs/AgentRuntimeTypes.js.map +1 -1
- package/dist/api/runs/InngestRunExecutionBackend.d.ts +28 -3
- package/dist/api/runs/InngestRunExecutionBackend.js +26 -3
- package/dist/api/runs/InngestRunExecutionBackend.js.map +1 -1
- package/dist/api/runs/ManagedRunWorker.d.ts +4 -1
- package/dist/api/runs/ManagedRunWorker.js +39 -8
- package/dist/api/runs/ManagedRunWorker.js.map +1 -1
- package/dist/api/runs/PiAgentRuntimeDriver.d.ts +5 -1
- package/dist/api/runs/PiAgentRuntimeDriver.js +94 -57
- package/dist/api/runs/PiAgentRuntimeDriver.js.map +1 -1
- package/dist/api/runs/RdfRunContextRetriever.d.ts +46 -0
- package/dist/api/runs/RdfRunContextRetriever.js +277 -0
- package/dist/api/runs/RdfRunContextRetriever.js.map +1 -0
- package/dist/api/runs/RunExecutionBackend.d.ts +38 -0
- package/dist/api/runs/RunExecutionBackend.js.map +1 -1
- package/dist/api/runs/RunStateCenter.d.ts +18 -3
- package/dist/api/runs/RunStateCenter.js +85 -24
- package/dist/api/runs/RunStateCenter.js.map +1 -1
- package/dist/api/runtime.js +163 -3
- package/dist/api/runtime.js.map +1 -1
- package/dist/api/service/AiClientConfigurationService.d.ts +97 -0
- package/dist/api/service/AiClientConfigurationService.js +379 -0
- package/dist/api/service/AiClientConfigurationService.js.map +1 -0
- package/dist/api/service/RdfBenchmarkReportCatalog.d.ts +86 -0
- package/dist/api/service/RdfBenchmarkReportCatalog.js +349 -0
- package/dist/api/service/RdfBenchmarkReportCatalog.js.map +1 -0
- package/dist/api/service/RdfBenchmarkReportGate.d.ts +78 -0
- package/dist/api/service/RdfBenchmarkReportGate.js +197 -0
- package/dist/api/service/RdfBenchmarkReportGate.js.map +1 -0
- package/dist/api/service/RdfSearchIndexingService.d.ts +113 -0
- package/dist/api/service/RdfSearchIndexingService.js +272 -0
- package/dist/api/service/RdfSearchIndexingService.js.map +1 -0
- package/dist/api/service/RdfSearchIndexingSolidFsSyncer.d.ts +27 -0
- package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js +90 -0
- package/dist/api/service/RdfSearchIndexingSolidFsSyncer.js.map +1 -0
- package/dist/api/service/RdfStorageStatsService.d.ts +31 -0
- package/dist/api/service/RdfStorageStatsService.js +97 -0
- package/dist/api/service/RdfStorageStatsService.js.map +1 -0
- package/dist/api/service/VectorStoreService.d.ts +2 -0
- package/dist/api/service/VectorStoreService.js +70 -2
- package/dist/api/service/VectorStoreService.js.map +1 -1
- package/dist/api/service/VercelChatService.d.ts +27 -38
- package/dist/api/service/VercelChatService.js +153 -505
- package/dist/api/service/VercelChatService.js.map +1 -1
- package/dist/api/service/provider-http-transport.d.ts +21 -0
- package/dist/api/service/provider-http-transport.js +108 -2
- package/dist/api/service/provider-http-transport.js.map +1 -1
- package/dist/api/service/provider-registry.d.ts +5 -7
- package/dist/api/service/provider-registry.js +81 -64
- package/dist/api/service/provider-registry.js.map +1 -1
- package/dist/api/tasks/InngestTaskScheduler.d.ts +44 -4
- package/dist/api/tasks/TaskMaterializer.d.ts +10 -1
- package/dist/api/tasks/TaskMaterializer.js +39 -4
- package/dist/api/tasks/TaskMaterializer.js.map +1 -1
- package/dist/api/tasks/TaskService.d.ts +5 -1
- package/dist/api/tasks/TaskService.js +3 -0
- package/dist/api/tasks/TaskService.js.map +1 -1
- package/dist/cli/commands/obj.d.ts +9 -0
- package/dist/cli/commands/obj.js +74 -3
- package/dist/cli/commands/obj.js.map +1 -1
- package/dist/cli/commands/rdf.d.ts +9 -0
- package/dist/cli/commands/rdf.js +66 -1
- package/dist/cli/commands/rdf.js.map +1 -1
- package/dist/cli/commands/start.js +3 -0
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/lib/solid-auth.d.ts +3 -3
- package/dist/cli/lib/solid-auth.js +4 -4
- package/dist/cli/lib/solid-auth.js.map +1 -1
- package/dist/components/components.jsonld +16 -0
- package/dist/components/context.jsonld +815 -28
- package/dist/document/Chunker.jsonld +110 -0
- package/dist/document/{DocumentParser.d.ts → DocumentReader.d.ts} +23 -11
- package/dist/document/{DocumentParser.js → DocumentReader.js} +2 -2
- package/dist/document/DocumentReader.js.map +1 -0
- package/dist/document/DocumentReader.jsonld +82 -0
- package/dist/document/HeadingChunker.jsonld +41 -0
- package/dist/document/{JinaDocumentParser.d.ts → JinaReader.d.ts} +7 -7
- package/dist/document/{JinaDocumentParser.js → JinaReader.js} +12 -12
- package/dist/document/JinaReader.js.map +1 -0
- package/dist/document/JinaReader.jsonld +133 -0
- package/dist/document/L0SourceSummary.d.ts +103 -0
- package/dist/document/L0SourceSummary.js +157 -0
- package/dist/document/L0SourceSummary.js.map +1 -0
- package/dist/document/L0SourceSummary.jsonld +326 -0
- package/dist/document/PaddleOcrReader.d.ts +40 -0
- package/dist/document/PaddleOcrReader.js +53 -0
- package/dist/document/PaddleOcrReader.js.map +1 -0
- package/dist/document/PaddleOcrReader.jsonld +234 -0
- package/dist/document/ReaderAiConfig.d.ts +50 -0
- package/dist/document/ReaderAiConfig.js +109 -0
- package/dist/document/ReaderAiConfig.js.map +1 -0
- package/dist/document/ReaderAiConfig.jsonld +185 -0
- package/dist/document/ReaderPolicy.d.ts +89 -0
- package/dist/document/ReaderPolicy.js +158 -0
- package/dist/document/ReaderPolicy.js.map +1 -0
- package/dist/document/ReaderPolicy.jsonld +218 -0
- package/dist/document/index.d.ts +6 -2
- package/dist/document/index.js +6 -2
- package/dist/document/index.js.map +1 -1
- package/dist/edge/DdnsManager.d.ts +1 -1
- package/dist/edge/DdnsManager.js.map +1 -1
- package/dist/edge/EdgeNodeAgent.d.ts +4 -0
- package/dist/edge/EdgeNodeAgent.js +6 -0
- package/dist/edge/EdgeNodeAgent.js.map +1 -1
- package/dist/edge/EdgeNodeAgent.jsonld +8 -0
- package/dist/edge/EdgeNodeAgentInitializer.d.ts +16 -0
- package/dist/edge/EdgeNodeAgentInitializer.js +51 -0
- package/dist/edge/EdgeNodeAgentInitializer.js.map +1 -1
- package/dist/edge/EdgeNodeAgentInitializer.jsonld +250 -0
- package/dist/edge/EdgeNodeCertificateCapabilityBridge.d.ts +34 -0
- package/dist/edge/EdgeNodeCertificateCapabilityBridge.js +111 -0
- package/dist/edge/EdgeNodeCertificateCapabilityBridge.js.map +1 -0
- package/dist/edge/acme/AcmeCertificateManager.d.ts +14 -1
- package/dist/edge/acme/AcmeCertificateManager.js +67 -7
- package/dist/edge/acme/AcmeCertificateManager.js.map +1 -1
- package/dist/edge/acme/AcmeCertificateManager.jsonld +22 -2
- package/dist/edge/acme/ClusterCertificateManager.d.ts +12 -0
- package/dist/edge/acme/ClusterCertificateManager.js +38 -0
- package/dist/edge/acme/ClusterCertificateManager.js.map +1 -1
- package/dist/extensions/ExtensionRuntime.d.ts +17 -0
- package/dist/extensions/ExtensionRuntime.js +171 -0
- package/dist/extensions/ExtensionRuntime.js.map +1 -0
- package/dist/extensions/PodCredentialResolver.d.ts +23 -0
- package/dist/extensions/PodCredentialResolver.js +139 -0
- package/dist/extensions/PodCredentialResolver.js.map +1 -0
- package/dist/extensions/index.d.ts +3 -0
- package/dist/extensions/index.js +20 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/types.d.ts +73 -0
- package/dist/extensions/types.js +3 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/http/SubgraphSparqlHttpHandler.d.ts +20 -1
- package/dist/http/SubgraphSparqlHttpHandler.js +324 -43
- package/dist/http/SubgraphSparqlHttpHandler.js.map +1 -1
- package/dist/http/SubgraphSparqlHttpHandler.jsonld +87 -0
- package/dist/identity/drizzle/EdgeNodeRepository.js +3 -2
- package/dist/identity/drizzle/EdgeNodeRepository.js.map +1 -1
- package/dist/identity/drizzle/schema.pg.js +1 -1
- package/dist/identity/drizzle/schema.pg.js.map +1 -1
- package/dist/identity/drizzle/schema.sqlite.js +1 -1
- package/dist/identity/drizzle/schema.sqlite.js.map +1 -1
- package/dist/identity/oidc/ScopedPickWebIdHandler.js +5 -5
- package/dist/identity/oidc/ScopedPickWebIdHandler.js.map +1 -1
- package/dist/index.d.ts +12 -2
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/main.js +3 -0
- package/dist/main.js.map +1 -1
- package/dist/provision/LocalProvisionState.d.ts +28 -0
- package/dist/provision/LocalProvisionState.js +124 -0
- package/dist/provision/LocalProvisionState.js.map +1 -0
- package/dist/provision/ProvisionCodeCodec.d.ts +7 -3
- package/dist/provision/ProvisionCodeCodec.js +10 -3
- package/dist/provision/ProvisionCodeCodec.js.map +1 -1
- package/dist/provision/ProvisionPodCreator.d.ts +15 -1
- package/dist/provision/ProvisionPodCreator.js +68 -1
- package/dist/provision/ProvisionPodCreator.js.map +1 -1
- package/dist/provision/ProvisionPodCreator.jsonld +31 -0
- package/dist/provision/ServiceAccessTokenCodec.d.ts +45 -0
- package/dist/provision/ServiceAccessTokenCodec.js +86 -0
- package/dist/provision/ServiceAccessTokenCodec.js.map +1 -0
- package/dist/runtime/GatewayAdminProxyAuth.d.ts +29 -0
- package/dist/runtime/GatewayAdminProxyAuth.js +108 -0
- package/dist/runtime/GatewayAdminProxyAuth.js.map +1 -0
- package/dist/runtime/Proxy.d.ts +10 -0
- package/dist/runtime/Proxy.js +64 -6
- package/dist/runtime/Proxy.js.map +1 -1
- package/dist/runtime/XpodRuntime.js +1 -0
- package/dist/runtime/XpodRuntime.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts +1 -0
- package/dist/runtime/bootstrap.js +29 -0
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/css-process.d.ts +1 -0
- package/dist/runtime/css-process.js +1 -0
- package/dist/runtime/css-process.js.map +1 -1
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.js +3 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/lifecycle.d.ts +3 -1
- package/dist/runtime/lifecycle.js +3 -1
- package/dist/runtime/lifecycle.js.map +1 -1
- package/dist/runtime/runner/node/NodeGatewayRuntimeRunner.js +2 -0
- package/dist/runtime/runner/node/NodeGatewayRuntimeRunner.js.map +1 -1
- package/dist/runtime/runner/types.d.ts +3 -0
- package/dist/runtime/runner/types.js.map +1 -1
- package/dist/runtime/runtime-types.d.ts +2 -0
- package/dist/runtime/runtime-types.js.map +1 -1
- package/dist/runtime/safe-env.d.ts +15 -0
- package/dist/runtime/safe-env.js +109 -0
- package/dist/runtime/safe-env.js.map +1 -0
- package/dist/security/index.d.ts +1 -0
- package/dist/security/index.js +18 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/secret-cell/DeploymentRootKeyProvider.d.ts +17 -0
- package/dist/security/secret-cell/DeploymentRootKeyProvider.js +61 -0
- package/dist/security/secret-cell/DeploymentRootKeyProvider.js.map +1 -0
- package/dist/security/secret-cell/DeploymentRootKeyProvider.jsonld +124 -0
- package/dist/security/secret-cell/SecretCellVault.d.ts +55 -0
- package/dist/security/secret-cell/SecretCellVault.js +242 -0
- package/dist/security/secret-cell/SecretCellVault.js.map +1 -0
- package/dist/security/secret-cell/SecretCellVault.jsonld +207 -0
- package/dist/security/secret-cell/index.d.ts +2 -0
- package/dist/security/secret-cell/index.js +11 -0
- package/dist/security/secret-cell/index.js.map +1 -0
- package/dist/solidfs/CompositeSolidFsSyncer.d.ts +18 -0
- package/dist/solidfs/CompositeSolidFsSyncer.js +32 -0
- package/dist/solidfs/CompositeSolidFsSyncer.js.map +1 -0
- package/dist/solidfs/LocalSolidFS.js +25 -1
- package/dist/solidfs/LocalSolidFS.js.map +1 -1
- package/dist/solidfs/RdfIndexSolidFsSyncer.d.ts +41 -2
- package/dist/solidfs/RdfIndexSolidFsSyncer.js +331 -21
- package/dist/solidfs/RdfIndexSolidFsSyncer.js.map +1 -1
- package/dist/solidfs/SolidFsMetaNotes.d.ts +25 -0
- package/dist/solidfs/SolidFsMetaNotes.js +103 -0
- package/dist/solidfs/SolidFsMetaNotes.js.map +1 -0
- package/dist/solidfs/SolidFsSyncJournal.d.ts +2 -2
- package/dist/solidfs/SolidFsSyncJournal.js +9 -4
- package/dist/solidfs/SolidFsSyncJournal.js.map +1 -1
- package/dist/solidfs/SolidFsSyncJournal.jsonld +119 -0
- package/dist/solidfs/WorkspacePrompt.d.ts +13 -0
- package/dist/solidfs/WorkspacePrompt.js +42 -0
- package/dist/solidfs/WorkspacePrompt.js.map +1 -0
- package/dist/solidfs/index.d.ts +3 -0
- package/dist/solidfs/index.js +3 -0
- package/dist/solidfs/index.js.map +1 -1
- package/dist/solidfs/types.d.ts +12 -2
- package/dist/solidfs/types.js.map +1 -1
- package/dist/storage/accessors/MixDataAccessor.d.ts +36 -4
- package/dist/storage/accessors/MixDataAccessor.js +222 -23
- package/dist/storage/accessors/MixDataAccessor.js.map +1 -1
- package/dist/storage/accessors/MixDataAccessor.jsonld +89 -0
- package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +6 -1
- package/dist/storage/accessors/SolidRdfDataAccessor.js +35 -0
- package/dist/storage/accessors/SolidRdfDataAccessor.js.map +1 -1
- package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +20 -0
- package/dist/storage/database/PostgresPoolManager.d.ts +1 -0
- package/dist/storage/database/PostgresPoolManager.js +2 -2
- package/dist/storage/database/PostgresPoolManager.js.map +1 -1
- package/dist/storage/locking/UrlAwareRedisLocker.d.ts +2 -0
- package/dist/storage/locking/UrlAwareRedisLocker.js +65 -0
- package/dist/storage/locking/UrlAwareRedisLocker.js.map +1 -1
- package/dist/storage/locking/UrlAwareRedisLocker.jsonld +19 -0
- package/dist/storage/rdf/PostgresRdfEngine.d.ts +286 -9
- package/dist/storage/rdf/PostgresRdfEngine.js +10773 -2084
- package/dist/storage/rdf/PostgresRdfEngine.js.map +1 -1
- package/dist/storage/rdf/PostgresRdfEngine.jsonld +1693 -89
- package/dist/storage/rdf/PostgresRdfSqlExecutor.d.ts +24 -0
- package/dist/storage/rdf/PostgresRdfSqlExecutor.js +131 -0
- package/dist/storage/rdf/PostgresRdfSqlExecutor.js.map +1 -0
- package/dist/storage/rdf/PostgresRdfTextIndex.d.ts +54 -0
- package/dist/storage/rdf/PostgresRdfTextIndex.js +1255 -0
- package/dist/storage/rdf/PostgresRdfTextIndex.js.map +1 -0
- package/dist/storage/rdf/PostgresRdfTextIndex.jsonld +487 -0
- package/dist/storage/rdf/PostgresRdfVectorIndex.d.ts +46 -0
- package/dist/storage/rdf/PostgresRdfVectorIndex.js +1165 -0
- package/dist/storage/rdf/PostgresRdfVectorIndex.js.map +1 -0
- package/dist/storage/rdf/PostgresRdfVectorIndex.jsonld +423 -0
- package/dist/storage/rdf/Rdf3xIndex.d.ts +14 -1
- package/dist/storage/rdf/Rdf3xIndex.js +286 -2
- package/dist/storage/rdf/Rdf3xIndex.js.map +1 -1
- package/dist/storage/rdf/Rdf3xIndex.jsonld +36 -0
- package/dist/storage/rdf/Rdf3xSchema.d.ts +5 -1
- package/dist/storage/rdf/Rdf3xSchema.js +17 -3
- package/dist/storage/rdf/Rdf3xSchema.js.map +1 -1
- package/dist/storage/rdf/RdfAccessScope.d.ts +22 -0
- package/dist/storage/rdf/RdfAccessScope.js +345 -0
- package/dist/storage/rdf/RdfAccessScope.js.map +1 -0
- package/dist/storage/rdf/RdfAccessScope.jsonld +45 -0
- package/dist/storage/rdf/RdfFusionRankPlan.d.ts +2 -0
- package/dist/storage/rdf/RdfFusionRankPlan.js +186 -0
- package/dist/storage/rdf/RdfFusionRankPlan.js.map +1 -0
- package/dist/storage/rdf/RdfJoinShape.d.ts +8 -0
- package/dist/storage/rdf/RdfJoinShape.js +31 -0
- package/dist/storage/rdf/RdfJoinShape.js.map +1 -0
- package/dist/storage/rdf/RdfQuadIndex.d.ts +5 -2
- package/dist/storage/rdf/RdfQuadIndex.js +94 -6
- package/dist/storage/rdf/RdfQuadIndex.js.map +1 -1
- package/dist/storage/rdf/RdfQuadIndex.jsonld +12 -0
- package/dist/storage/rdf/RdfQueryExecutor.d.ts +3 -4
- package/dist/storage/rdf/RdfQueryExecutor.js +235 -8
- package/dist/storage/rdf/RdfQueryExecutor.js.map +1 -1
- package/dist/storage/rdf/RdfSearchSourceFilter.d.ts +10 -0
- package/dist/storage/rdf/RdfSearchSourceFilter.js +83 -0
- package/dist/storage/rdf/RdfSearchSourceFilter.js.map +1 -0
- package/dist/storage/rdf/RdfSparqlAdapter.d.ts +27 -1
- package/dist/storage/rdf/RdfSparqlAdapter.js +265 -3
- package/dist/storage/rdf/RdfSparqlAdapter.js.map +1 -1
- package/dist/storage/rdf/RdfSparqlAdapter.jsonld +8 -0
- package/dist/storage/rdf/RdfTermDictionary.d.ts +7 -1
- package/dist/storage/rdf/RdfTermDictionary.js +139 -0
- package/dist/storage/rdf/RdfTermDictionary.js.map +1 -1
- package/dist/storage/rdf/RdfTermDictionary.jsonld +4 -0
- package/dist/storage/rdf/RdfTextIndex.d.ts +45 -2
- package/dist/storage/rdf/RdfTextIndex.js +810 -114
- package/dist/storage/rdf/RdfTextIndex.js.map +1 -1
- package/dist/storage/rdf/RdfTextIndex.jsonld +193 -0
- package/dist/storage/rdf/RdfTextProjection.d.ts +10 -0
- package/dist/storage/rdf/RdfTextProjection.js +258 -0
- package/dist/storage/rdf/RdfTextProjection.js.map +1 -0
- package/dist/storage/rdf/RdfVectorIndex.d.ts +30 -2
- package/dist/storage/rdf/RdfVectorIndex.js +461 -38
- package/dist/storage/rdf/RdfVectorIndex.js.map +1 -1
- package/dist/storage/rdf/RdfVectorIndex.jsonld +163 -0
- package/dist/storage/rdf/SolidRdfEngine.d.ts +12 -9
- package/dist/storage/rdf/SolidRdfEngine.js +48 -22
- package/dist/storage/rdf/SolidRdfEngine.js.map +1 -1
- package/dist/storage/rdf/SolidRdfEngine.jsonld +33 -43
- package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +19 -8
- package/dist/storage/rdf/SolidRdfSparqlEngine.js +674 -44
- package/dist/storage/rdf/SolidRdfSparqlEngine.js.map +1 -1
- package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +51 -0
- package/dist/storage/rdf/index.d.ts +9 -5
- package/dist/storage/rdf/index.js +42 -1
- package/dist/storage/rdf/index.js.map +1 -1
- package/dist/storage/rdf/models-benchmark.d.ts +264 -2
- package/dist/storage/rdf/models-benchmark.js +4207 -155
- package/dist/storage/rdf/models-benchmark.js.map +1 -1
- package/dist/storage/rdf/types.d.ts +833 -4
- package/dist/storage/rdf/types.js.map +1 -1
- package/dist/storage/rdf/types.jsonld +348 -0
- package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +14 -13
- package/dist/storage/sparql/CompatibilitySparqlEngine.js +24 -24
- package/dist/storage/sparql/CompatibilitySparqlEngine.js.map +1 -1
- package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +14 -13
- package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +30 -18
- package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js.map +1 -1
- package/dist/storage/sparql/SubgraphQueryEngine.d.ts +21 -12
- package/dist/storage/sparql/SubgraphQueryEngine.js +12 -12
- package/dist/storage/sparql/SubgraphQueryEngine.js.map +1 -1
- package/dist/terminal/sandbox/MacOSSandbox.js +2 -1
- package/dist/terminal/sandbox/MacOSSandbox.js.map +1 -1
- package/dist/terminal/sandbox/index.js +2 -1
- package/dist/terminal/sandbox/index.js.map +1 -1
- package/dist/test-utils/no-auth-xpod.js +3 -0
- package/dist/test-utils/no-auth-xpod.js.map +1 -1
- package/dist/tunnel/LocalTunnelProvider.d.ts +3 -0
- package/dist/tunnel/LocalTunnelProvider.js +17 -1
- package/dist/tunnel/LocalTunnelProvider.js.map +1 -1
- package/dist/tunnel/LocalTunnelProvider.jsonld +23 -0
- package/dist/tunnel/SakuraFrpTunnelProvider.d.ts +3 -0
- package/dist/tunnel/SakuraFrpTunnelProvider.js +18 -2
- package/dist/tunnel/SakuraFrpTunnelProvider.js.map +1 -1
- package/dist/tunnel/TunnelProfiles.d.ts +22 -0
- package/dist/tunnel/TunnelProfiles.js +208 -0
- package/dist/tunnel/TunnelProfiles.js.map +1 -0
- package/dist/tunnel/index.d.ts +2 -0
- package/dist/tunnel/index.js +4 -1
- package/dist/tunnel/index.js.map +1 -1
- package/dist/util/identifiers/ClusterIdentifierStrategy.d.ts +3 -0
- package/dist/util/identifiers/ClusterIdentifierStrategy.js +18 -2
- package/dist/util/identifiers/ClusterIdentifierStrategy.js.map +1 -1
- package/dist/util/identifiers/ClusterIdentifierStrategy.jsonld +5 -1
- package/node_modules/@undefineds.co/ai-connection/dist/AiClientConfigurationSection.d.ts +55 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiClientConfigurationSection.js +167 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionHeader.d.ts +3 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionHeader.js +8 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionList.d.ts +4 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionList.js +36 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionMain.d.ts +4 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionMain.js +37 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionMainHeader.d.ts +3 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionMainHeader.js +7 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionPanel.d.ts +14 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiConnectionPanel.js +333 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiProviderCard.d.ts +22 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiProviderCard.js +43 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiQuotaCard.d.ts +8 -0
- package/node_modules/@undefineds.co/ai-connection/dist/AiQuotaCard.js +6 -0
- package/node_modules/@undefineds.co/ai-connection/dist/ai-connection-client.d.ts +120 -0
- package/node_modules/@undefineds.co/ai-connection/dist/ai-connection-client.js +414 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/base-adapter.d.ts +32 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/base-adapter.js +212 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/codex.d.ts +14 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/codex.js +90 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/index.cjs +668 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/index.d.ts +6 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/index.js +6 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/json-env-adapter.d.ts +21 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/json-env-adapter.js +82 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/pi.d.ts +13 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/pi.js +83 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/transaction.d.ts +17 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/transaction.js +153 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/types.d.ts +40 -0
- package/node_modules/@undefineds.co/ai-connection/dist/client-config/types.js +1 -0
- package/node_modules/@undefineds.co/ai-connection/dist/controller.d.ts +42 -0
- package/node_modules/@undefineds.co/ai-connection/dist/controller.js +289 -0
- package/node_modules/@undefineds.co/ai-connection/dist/index.d.ts +16 -0
- package/node_modules/@undefineds.co/ai-connection/dist/index.js +41 -0
- package/node_modules/@undefineds.co/ai-connection/dist/manifest.d.ts +1 -0
- package/node_modules/@undefineds.co/ai-connection/dist/manifest.js +18 -0
- package/node_modules/@undefineds.co/ai-connection/dist/service-access.d.ts +3 -0
- package/node_modules/@undefineds.co/ai-connection/dist/service-access.js +133 -0
- package/node_modules/@undefineds.co/ai-connection/package.json +50 -0
- package/node_modules/@undefineds.co/extension-sdk/README.md +299 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/index.d.ts +5 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/index.js +5 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/layout.d.ts +16 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/layout.js +36 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/manifest.d.ts +27 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/manifest.js +79 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react/app-layout.d.ts +7 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react/app-layout.js +8 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react/auth-boundary.d.ts +27 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react/auth-boundary.js +49 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react/layout-context.d.ts +11 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react/layout-context.js +9 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react/workspace-layout.d.ts +38 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react/workspace-layout.js +132 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react.d.ts +12 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/react.js +19 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/testing.d.ts +7 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/testing.js +27 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/web.d.ts +225 -0
- package/node_modules/@undefineds.co/extension-sdk/dist/web.js +142 -0
- package/node_modules/@undefineds.co/extension-sdk/package.json +49 -0
- package/node_modules/@undefineds.co/shared-ui/dist/badge.d.ts +8 -0
- package/node_modules/@undefineds.co/shared-ui/dist/badge.js +17 -0
- package/node_modules/@undefineds.co/shared-ui/dist/button.d.ts +10 -0
- package/node_modules/@undefineds.co/shared-ui/dist/button.js +30 -0
- package/node_modules/@undefineds.co/shared-ui/dist/card.d.ts +7 -0
- package/node_modules/@undefineds.co/shared-ui/dist/card.js +15 -0
- package/node_modules/@undefineds.co/shared-ui/dist/index.d.ts +6 -0
- package/node_modules/@undefineds.co/shared-ui/dist/index.js +6 -0
- package/node_modules/@undefineds.co/shared-ui/dist/input.d.ts +4 -0
- package/node_modules/@undefineds.co/shared-ui/dist/input.js +5 -0
- package/node_modules/@undefineds.co/shared-ui/dist/theme.css +121 -0
- package/node_modules/@undefineds.co/shared-ui/dist/utils.d.ts +2 -0
- package/node_modules/@undefineds.co/shared-ui/dist/utils.js +5 -0
- package/node_modules/@undefineds.co/shared-ui/dist/workspace.d.ts +23 -0
- package/node_modules/@undefineds.co/shared-ui/dist/workspace.js +38 -0
- package/node_modules/@undefineds.co/shared-ui/package.json +39 -0
- package/node_modules/@undefineds.co/solid-sdk/dist/index.d.ts +3 -0
- package/node_modules/@undefineds.co/solid-sdk/dist/index.js +3 -0
- package/node_modules/@undefineds.co/solid-sdk/dist/pod-runtime.d.ts +45 -0
- package/node_modules/@undefineds.co/solid-sdk/dist/pod-runtime.js +147 -0
- package/node_modules/@undefineds.co/solid-sdk/dist/react.d.ts +15 -0
- package/node_modules/@undefineds.co/solid-sdk/dist/react.js +15 -0
- package/node_modules/@undefineds.co/solid-sdk/dist/session.d.ts +42 -0
- package/node_modules/@undefineds.co/solid-sdk/dist/session.js +127 -0
- package/node_modules/@undefineds.co/solid-sdk/package.json +45 -0
- package/package.json +32 -12
- package/static/app/assets/index-BoYHJ6si.js +230 -0
- package/static/app/assets/inrupt-smoke.js +2 -2
- package/static/app/assets/main.css +1 -1
- package/static/app/assets/main.js +9 -9
- package/static/dashboard/assets/NetworkPage-Brt79fuQ.js +2 -0
- package/static/dashboard/assets/PaneListHeader-57nvMwH6.js +1 -0
- package/static/dashboard/assets/PodPage-CM6do1vB.js +2 -0
- package/static/dashboard/assets/ServicesPage-BUNxGJRz.js +1 -0
- package/static/dashboard/assets/card-B9Zjf_2p.js +1 -0
- package/static/dashboard/assets/dashboard-8C6o666W.js +305 -0
- package/static/dashboard/assets/dashboard-CSdewNeA.css +1 -0
- package/static/dashboard/assets/database-DPh9wDY9.js +1 -0
- package/static/dashboard/assets/external-link-VbMQvVMz.js +1 -0
- package/static/dashboard/assets/index-RfiFckzb.js +51 -0
- package/static/dashboard/assets/refresh-cw-BxVxNxNr.js +1 -0
- package/static/dashboard/assets/services-status-context-DKmJ7ISr.js +1 -0
- package/static/dashboard/dashboard.html +2 -2
- package/static/settings/assets/ModelsPage-D_IH7AH3.js +1 -0
- package/static/settings/assets/PaneListHeader-Bgaze006.js +1 -0
- package/static/settings/assets/PodPage-Cy1VNObw.js +2 -0
- package/static/settings/assets/ServicesPage-BsFaxVWC.js +1 -0
- package/static/settings/assets/SettingsPage-UafNWE_p.js +48 -0
- package/static/settings/assets/card-B_bXSIn-.js +1 -0
- package/static/settings/assets/services-status-context-DiX-AbrP.js +1 -0
- package/static/settings/assets/settings-B30oMfZq.js +305 -0
- package/static/settings/assets/settings-CSdewNeA.css +1 -0
- package/static/settings/assets/workspace-layout-Dv1Yn9Ci.js +1 -0
- package/static/settings/auth.html +21 -0
- package/static/settings/reachability.html +221 -0
- package/static/settings/reachability.svg +7 -0
- package/static/settings/reachability.webmanifest +18 -0
- package/static/settings/settings.html +13 -0
- package/static/settings/signal-pod.html +293 -0
- package/static/settings/vite.svg +1 -0
- package/dist/api/service/ai-gateway-transport.d.ts +0 -25
- package/dist/api/service/ai-gateway-transport.js +0 -136
- package/dist/api/service/ai-gateway-transport.js.map +0 -1
- package/dist/api/service/chat-protocol-adapters.d.ts +0 -5
- package/dist/api/service/chat-protocol-adapters.js +0 -146
- package/dist/api/service/chat-protocol-adapters.js.map +0 -1
- package/dist/api/service/chat-routing.d.ts +0 -8
- package/dist/api/service/chat-routing.js +0 -16
- package/dist/api/service/chat-routing.js.map +0 -1
- package/dist/api/service/platform-ai-config.d.ts +0 -10
- package/dist/api/service/platform-ai-config.js +0 -76
- package/dist/api/service/platform-ai-config.js.map +0 -1
- package/dist/document/DocumentParser.js.map +0 -1
- package/dist/document/JinaDocumentParser.js.map +0 -1
- package/static/app/assets/index-C1yksyT4.js +0 -171
- package/static/dashboard/assets/dashboard-BssaVKTn.css +0 -1
- package/static/dashboard/assets/dashboard-Ckuadl3C.js +0 -54
|
@@ -63,6 +63,14 @@
|
|
|
63
63
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_rebuildFromCurrentQuads",
|
|
64
64
|
"memberFieldName": "rebuildFromCurrentQuads"
|
|
65
65
|
},
|
|
66
|
+
{
|
|
67
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_rebuildAllProjectionTables",
|
|
68
|
+
"memberFieldName": "rebuildAllProjectionTables"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_refreshDirtyProjectionTables",
|
|
72
|
+
"memberFieldName": "refreshDirtyProjectionTables"
|
|
73
|
+
},
|
|
66
74
|
{
|
|
67
75
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_factsDataVersion",
|
|
68
76
|
"memberFieldName": "factsDataVersion"
|
|
@@ -139,6 +147,10 @@
|
|
|
139
147
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_initializeSchema",
|
|
140
148
|
"memberFieldName": "initializeSchema"
|
|
141
149
|
},
|
|
150
|
+
{
|
|
151
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_initializeDirtyTrackingTriggers",
|
|
152
|
+
"memberFieldName": "initializeDirtyTrackingTriggers"
|
|
153
|
+
},
|
|
142
154
|
{
|
|
143
155
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_dropMaterializedFactCopies",
|
|
144
156
|
"memberFieldName": "dropMaterializedFactCopies"
|
|
@@ -151,6 +163,10 @@
|
|
|
151
163
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_clearRdf3xTables",
|
|
152
164
|
"memberFieldName": "clearRdf3xTables"
|
|
153
165
|
},
|
|
166
|
+
{
|
|
167
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_clearDirtyProjectionTables",
|
|
168
|
+
"memberFieldName": "clearDirtyProjectionTables"
|
|
169
|
+
},
|
|
154
170
|
{
|
|
155
171
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_prepareSchemaVersion",
|
|
156
172
|
"memberFieldName": "prepareSchemaVersion"
|
|
@@ -175,18 +191,38 @@
|
|
|
175
191
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_setMetadataValue",
|
|
176
192
|
"memberFieldName": "setMetadataValue"
|
|
177
193
|
},
|
|
194
|
+
{
|
|
195
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_dirtyProjectionStats",
|
|
196
|
+
"memberFieldName": "dirtyProjectionStats"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_countDirtyProjectionQuads",
|
|
200
|
+
"memberFieldName": "countDirtyProjectionQuads"
|
|
201
|
+
},
|
|
178
202
|
{
|
|
179
203
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_rebuildPairProjection",
|
|
180
204
|
"memberFieldName": "rebuildPairProjection"
|
|
181
205
|
},
|
|
206
|
+
{
|
|
207
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_refreshDirtyPairProjection",
|
|
208
|
+
"memberFieldName": "refreshDirtyPairProjection"
|
|
209
|
+
},
|
|
182
210
|
{
|
|
183
211
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_rebuildTermProjection",
|
|
184
212
|
"memberFieldName": "rebuildTermProjection"
|
|
185
213
|
},
|
|
214
|
+
{
|
|
215
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_refreshDirtyTermProjection",
|
|
216
|
+
"memberFieldName": "refreshDirtyTermProjection"
|
|
217
|
+
},
|
|
186
218
|
{
|
|
187
219
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_rebuildGraphProjection",
|
|
188
220
|
"memberFieldName": "rebuildGraphProjection"
|
|
189
221
|
},
|
|
222
|
+
{
|
|
223
|
+
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_refreshDirtyGraphProjection",
|
|
224
|
+
"memberFieldName": "refreshDirtyGraphProjection"
|
|
225
|
+
},
|
|
190
226
|
{
|
|
191
227
|
"@id": "undefineds:dist/storage/rdf/Rdf3xIndex.jsonld#Rdf3xIndex__member_compileScanSql",
|
|
192
228
|
"memberFieldName": "compileScanSql"
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { SqliteDatabase } from '../SqliteRuntime';
|
|
2
2
|
export declare const RDF3X_GRAPH_PROJECTION_TABLE = "rdf3x_stat_g";
|
|
3
|
+
export declare const RDF3X_DIRTY_GRAPH_TABLE = "rdf3x_dirty_graphs";
|
|
4
|
+
export declare const RDF3X_DIRTY_PAIR_TABLE = "rdf3x_dirty_pairs";
|
|
5
|
+
export declare const RDF3X_DIRTY_TERM_TABLE = "rdf3x_dirty_terms";
|
|
3
6
|
export declare const RDF3X_PAIR_PROJECTION_TABLE_BY_NAME: {
|
|
4
7
|
readonly SP: "rdf3x_stat_sp";
|
|
5
8
|
readonly SO: "rdf3x_stat_so";
|
|
@@ -13,8 +16,9 @@ export declare const RDF3X_TERM_PROJECTION_TABLE_BY_NAME: {
|
|
|
13
16
|
readonly P: "rdf3x_stat_p";
|
|
14
17
|
readonly O: "rdf3x_stat_o";
|
|
15
18
|
};
|
|
16
|
-
export declare const RDF3X_DERIVED_TABLES: readonly ["rdf3x_metadata", "rdf3x_stat_g", ...("rdf3x_stat_sp" | "rdf3x_stat_so" | "rdf3x_stat_ps" | "rdf3x_stat_po" | "rdf3x_stat_os" | "rdf3x_stat_op" | "rdf3x_stat_s" | "rdf3x_stat_p" | "rdf3x_stat_o")[]];
|
|
19
|
+
export declare const RDF3X_DERIVED_TABLES: readonly ["rdf3x_metadata", "rdf3x_stat_g", ...("rdf3x_stat_sp" | "rdf3x_stat_so" | "rdf3x_stat_ps" | "rdf3x_stat_po" | "rdf3x_stat_os" | "rdf3x_stat_op" | "rdf3x_stat_s" | "rdf3x_stat_p" | "rdf3x_stat_o")[], "rdf3x_dirty_graphs", "rdf3x_dirty_pairs", "rdf3x_dirty_terms"];
|
|
17
20
|
export declare const RDF3X_MATERIALIZED_FACT_COPY_TABLES: readonly ["rdf3x_triple_membership", "rdf3x_spo", "rdf3x_sop", "rdf3x_pso", "rdf3x_pos", "rdf3x_osp", "rdf3x_ops"];
|
|
18
21
|
export declare const RDF3X_DERIVED_INDEXES: readonly ["rdf3x_membership_gspo", "rdf3x_membership_spo", "rdf3x_membership_source"];
|
|
22
|
+
export declare const RDF3X_DIRTY_TRIGGERS: readonly ["rdf3x_dirty_quads_insert", "rdf3x_dirty_quads_delete", "rdf3x_dirty_quads_update"];
|
|
19
23
|
export declare function dropRdf3xMaterializedFactCopies(db: SqliteDatabase): void;
|
|
20
24
|
export declare function dropRdf3xDerivedSchemaObjects(db: SqliteDatabase): void;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RDF3X_DERIVED_INDEXES = exports.RDF3X_MATERIALIZED_FACT_COPY_TABLES = exports.RDF3X_DERIVED_TABLES = exports.RDF3X_TERM_PROJECTION_TABLE_BY_NAME = exports.RDF3X_PAIR_PROJECTION_TABLE_BY_NAME = exports.RDF3X_GRAPH_PROJECTION_TABLE = void 0;
|
|
3
|
+
exports.RDF3X_DIRTY_TRIGGERS = exports.RDF3X_DERIVED_INDEXES = exports.RDF3X_MATERIALIZED_FACT_COPY_TABLES = exports.RDF3X_DERIVED_TABLES = exports.RDF3X_TERM_PROJECTION_TABLE_BY_NAME = exports.RDF3X_PAIR_PROJECTION_TABLE_BY_NAME = exports.RDF3X_DIRTY_TERM_TABLE = exports.RDF3X_DIRTY_PAIR_TABLE = exports.RDF3X_DIRTY_GRAPH_TABLE = exports.RDF3X_GRAPH_PROJECTION_TABLE = void 0;
|
|
4
4
|
exports.dropRdf3xMaterializedFactCopies = dropRdf3xMaterializedFactCopies;
|
|
5
5
|
exports.dropRdf3xDerivedSchemaObjects = dropRdf3xDerivedSchemaObjects;
|
|
6
6
|
exports.RDF3X_GRAPH_PROJECTION_TABLE = 'rdf3x_stat_g';
|
|
7
|
+
exports.RDF3X_DIRTY_GRAPH_TABLE = 'rdf3x_dirty_graphs';
|
|
8
|
+
exports.RDF3X_DIRTY_PAIR_TABLE = 'rdf3x_dirty_pairs';
|
|
9
|
+
exports.RDF3X_DIRTY_TERM_TABLE = 'rdf3x_dirty_terms';
|
|
7
10
|
exports.RDF3X_PAIR_PROJECTION_TABLE_BY_NAME = {
|
|
8
11
|
SP: 'rdf3x_stat_sp',
|
|
9
12
|
SO: 'rdf3x_stat_so',
|
|
@@ -22,6 +25,9 @@ exports.RDF3X_DERIVED_TABLES = [
|
|
|
22
25
|
exports.RDF3X_GRAPH_PROJECTION_TABLE,
|
|
23
26
|
...Object.values(exports.RDF3X_PAIR_PROJECTION_TABLE_BY_NAME),
|
|
24
27
|
...Object.values(exports.RDF3X_TERM_PROJECTION_TABLE_BY_NAME),
|
|
28
|
+
exports.RDF3X_DIRTY_GRAPH_TABLE,
|
|
29
|
+
exports.RDF3X_DIRTY_PAIR_TABLE,
|
|
30
|
+
exports.RDF3X_DIRTY_TERM_TABLE,
|
|
25
31
|
];
|
|
26
32
|
exports.RDF3X_MATERIALIZED_FACT_COPY_TABLES = [
|
|
27
33
|
'rdf3x_triple_membership',
|
|
@@ -37,13 +43,21 @@ exports.RDF3X_DERIVED_INDEXES = [
|
|
|
37
43
|
'rdf3x_membership_spo',
|
|
38
44
|
'rdf3x_membership_source',
|
|
39
45
|
];
|
|
46
|
+
exports.RDF3X_DIRTY_TRIGGERS = [
|
|
47
|
+
'rdf3x_dirty_quads_insert',
|
|
48
|
+
'rdf3x_dirty_quads_delete',
|
|
49
|
+
'rdf3x_dirty_quads_update',
|
|
50
|
+
];
|
|
40
51
|
function dropRdf3xMaterializedFactCopies(db) {
|
|
41
52
|
dropRdf3xObjects(db, exports.RDF3X_MATERIALIZED_FACT_COPY_TABLES, exports.RDF3X_DERIVED_INDEXES);
|
|
42
53
|
}
|
|
43
54
|
function dropRdf3xDerivedSchemaObjects(db) {
|
|
44
|
-
dropRdf3xObjects(db, [...exports.RDF3X_DERIVED_TABLES, ...exports.RDF3X_MATERIALIZED_FACT_COPY_TABLES], exports.RDF3X_DERIVED_INDEXES);
|
|
55
|
+
dropRdf3xObjects(db, [...exports.RDF3X_DERIVED_TABLES, ...exports.RDF3X_MATERIALIZED_FACT_COPY_TABLES], exports.RDF3X_DERIVED_INDEXES, exports.RDF3X_DIRTY_TRIGGERS);
|
|
45
56
|
}
|
|
46
|
-
function dropRdf3xObjects(db, names, indexes) {
|
|
57
|
+
function dropRdf3xObjects(db, names, indexes, triggers = []) {
|
|
58
|
+
if (triggers.length > 0) {
|
|
59
|
+
db.exec(triggers.map((trigger) => `DROP TRIGGER IF EXISTS ${trigger};`).join('\n'));
|
|
60
|
+
}
|
|
47
61
|
db.exec(indexes.map((index) => `DROP INDEX IF EXISTS ${index};`).join('\n'));
|
|
48
62
|
if (names.length === 0) {
|
|
49
63
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rdf3xSchema.js","sourceRoot":"","sources":["../../../src/storage/rdf/Rdf3xSchema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Rdf3xSchema.js","sourceRoot":"","sources":["../../../src/storage/rdf/Rdf3xSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SqliteDatabase } from '../SqliteRuntime';\n\nexport const RDF3X_GRAPH_PROJECTION_TABLE = 'rdf3x_stat_g';\nexport const RDF3X_DIRTY_GRAPH_TABLE = 'rdf3x_dirty_graphs';\nexport const RDF3X_DIRTY_PAIR_TABLE = 'rdf3x_dirty_pairs';\nexport const RDF3X_DIRTY_TERM_TABLE = 'rdf3x_dirty_terms';\n\nexport const RDF3X_PAIR_PROJECTION_TABLE_BY_NAME = {\n SP: 'rdf3x_stat_sp',\n SO: 'rdf3x_stat_so',\n PS: 'rdf3x_stat_ps',\n PO: 'rdf3x_stat_po',\n OS: 'rdf3x_stat_os',\n OP: 'rdf3x_stat_op',\n} as const;\n\nexport const RDF3X_TERM_PROJECTION_TABLE_BY_NAME = {\n S: 'rdf3x_stat_s',\n P: 'rdf3x_stat_p',\n O: 'rdf3x_stat_o',\n} as const;\n\nexport const RDF3X_DERIVED_TABLES = [\n 'rdf3x_metadata',\n RDF3X_GRAPH_PROJECTION_TABLE,\n ...Object.values(RDF3X_PAIR_PROJECTION_TABLE_BY_NAME),\n ...Object.values(RDF3X_TERM_PROJECTION_TABLE_BY_NAME),\n RDF3X_DIRTY_GRAPH_TABLE,\n RDF3X_DIRTY_PAIR_TABLE,\n RDF3X_DIRTY_TERM_TABLE,\n] as const;\n\nexport const RDF3X_MATERIALIZED_FACT_COPY_TABLES = [\n 'rdf3x_triple_membership',\n 'rdf3x_spo',\n 'rdf3x_sop',\n 'rdf3x_pso',\n 'rdf3x_pos',\n 'rdf3x_osp',\n 'rdf3x_ops',\n] as const;\n\nexport const RDF3X_DERIVED_INDEXES = [\n 'rdf3x_membership_gspo',\n 'rdf3x_membership_spo',\n 'rdf3x_membership_source',\n] as const;\n\nexport const RDF3X_DIRTY_TRIGGERS = [\n 'rdf3x_dirty_quads_insert',\n 'rdf3x_dirty_quads_delete',\n 'rdf3x_dirty_quads_update',\n] as const;\n\nexport function dropRdf3xMaterializedFactCopies(db: SqliteDatabase): void {\n dropRdf3xObjects(db, RDF3X_MATERIALIZED_FACT_COPY_TABLES, RDF3X_DERIVED_INDEXES);\n}\n\nexport function dropRdf3xDerivedSchemaObjects(db: SqliteDatabase): void {\n dropRdf3xObjects(\n db,\n [...RDF3X_DERIVED_TABLES, ...RDF3X_MATERIALIZED_FACT_COPY_TABLES],\n RDF3X_DERIVED_INDEXES,\n RDF3X_DIRTY_TRIGGERS,\n );\n}\n\nfunction dropRdf3xObjects(\n db: SqliteDatabase,\n names: readonly string[],\n indexes: readonly string[],\n triggers: readonly string[] = [],\n): void {\n if (triggers.length > 0) {\n db.exec(triggers.map((trigger) => `DROP TRIGGER IF EXISTS ${trigger};`).join('\\n'));\n }\n db.exec(indexes.map((index) => `DROP INDEX IF EXISTS ${index};`).join('\\n'));\n if (names.length === 0) {\n return;\n }\n\n const rows = db.prepare<{ name: string; type: string }>(`\n SELECT name, type\n FROM sqlite_schema\n WHERE name IN (${names.map(() => '?').join(', ')})\n `).all(...names);\n\n for (const row of rows) {\n if (row.type === 'view') {\n db.exec(`DROP VIEW IF EXISTS ${row.name};`);\n } else if (row.type === 'table') {\n db.exec(`DROP TABLE IF EXISTS ${row.name};`);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RdfQuery, RdfQueryCacheScope } from './types';
|
|
2
|
+
export declare const RdfAccessMode: {
|
|
3
|
+
readonly READ: "read";
|
|
4
|
+
readonly APPEND: "append";
|
|
5
|
+
readonly DELETE: "delete";
|
|
6
|
+
readonly WRITE: "write";
|
|
7
|
+
};
|
|
8
|
+
export type RdfAccessMode = typeof RdfAccessMode[keyof typeof RdfAccessMode];
|
|
9
|
+
export interface RdfAccessScope {
|
|
10
|
+
basePath: string;
|
|
11
|
+
mode: RdfAccessMode;
|
|
12
|
+
principal?: string;
|
|
13
|
+
allowedGraphUrls?: string[];
|
|
14
|
+
deniedGraphUrls?: string[];
|
|
15
|
+
deniedGraphPrefixes?: string[];
|
|
16
|
+
version?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function isRestrictiveRdfAccessScope(scope?: RdfAccessScope): boolean;
|
|
19
|
+
export declare function rdfAccessCacheScope(scope?: RdfAccessScope): RdfQueryCacheScope | undefined;
|
|
20
|
+
export declare function applyRdfAccessScope(query: RdfQuery, scope?: RdfAccessScope): RdfQuery;
|
|
21
|
+
export declare function filterRdfAccessGraphs(graphs: Iterable<string>, scope?: RdfAccessScope): Set<string>;
|
|
22
|
+
export declare function rdfAccessGraphAllowed(graph: string, scope: RdfAccessScope): boolean;
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RdfAccessMode = void 0;
|
|
4
|
+
exports.isRestrictiveRdfAccessScope = isRestrictiveRdfAccessScope;
|
|
5
|
+
exports.rdfAccessCacheScope = rdfAccessCacheScope;
|
|
6
|
+
exports.applyRdfAccessScope = applyRdfAccessScope;
|
|
7
|
+
exports.filterRdfAccessGraphs = filterRdfAccessGraphs;
|
|
8
|
+
exports.rdfAccessGraphAllowed = rdfAccessGraphAllowed;
|
|
9
|
+
const n3_1 = require("n3");
|
|
10
|
+
const types_1 = require("../quint/types");
|
|
11
|
+
exports.RdfAccessMode = {
|
|
12
|
+
READ: 'read',
|
|
13
|
+
APPEND: 'append',
|
|
14
|
+
DELETE: 'delete',
|
|
15
|
+
WRITE: 'write',
|
|
16
|
+
};
|
|
17
|
+
function isRestrictiveRdfAccessScope(scope) {
|
|
18
|
+
return Boolean(scope
|
|
19
|
+
&& ((scope.allowedGraphUrls?.length ?? 0) > 0
|
|
20
|
+
|| (scope.deniedGraphUrls?.length ?? 0) > 0
|
|
21
|
+
|| (scope.deniedGraphPrefixes?.length ?? 0) > 0));
|
|
22
|
+
}
|
|
23
|
+
function rdfAccessCacheScope(scope) {
|
|
24
|
+
if (!scope) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
mode: scope.mode,
|
|
29
|
+
principal: scope.principal ?? 'anonymous',
|
|
30
|
+
basePath: scope.basePath,
|
|
31
|
+
permissionVersion: scope.version ?? 'unversioned',
|
|
32
|
+
allowedGraphUrls: scope.allowedGraphUrls,
|
|
33
|
+
deniedGraphUrls: scope.deniedGraphUrls,
|
|
34
|
+
deniedGraphPrefixes: scope.deniedGraphPrefixes,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function applyRdfAccessScope(query, scope) {
|
|
38
|
+
const cacheScope = rdfAccessCacheScope(scope);
|
|
39
|
+
if (!scope) {
|
|
40
|
+
return query;
|
|
41
|
+
}
|
|
42
|
+
const state = {
|
|
43
|
+
impossibleGraph: n3_1.DataFactory.namedNode('urn:xpod:rdf-access-denied'),
|
|
44
|
+
};
|
|
45
|
+
const scoped = applyScopeToQuery(query, scope, state);
|
|
46
|
+
return {
|
|
47
|
+
...scoped,
|
|
48
|
+
cache: {
|
|
49
|
+
...scoped.cache,
|
|
50
|
+
scope: mergeRdfQueryCacheScopes(scoped.cache?.scope, cacheScope),
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function mergeRdfQueryCacheScopes(existing, access) {
|
|
55
|
+
if (!existing) {
|
|
56
|
+
return access;
|
|
57
|
+
}
|
|
58
|
+
if (!access) {
|
|
59
|
+
return existing;
|
|
60
|
+
}
|
|
61
|
+
return [existing, access];
|
|
62
|
+
}
|
|
63
|
+
function filterRdfAccessGraphs(graphs, scope) {
|
|
64
|
+
if (!scope) {
|
|
65
|
+
return new Set(graphs);
|
|
66
|
+
}
|
|
67
|
+
const filtered = new Set();
|
|
68
|
+
for (const graph of graphs) {
|
|
69
|
+
if (rdfAccessGraphAllowed(graph, scope)) {
|
|
70
|
+
filtered.add(graph);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return filtered;
|
|
74
|
+
}
|
|
75
|
+
function rdfAccessGraphAllowed(graph, scope) {
|
|
76
|
+
if (!graph.startsWith(scope.basePath)) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if (scope.allowedGraphUrls?.length && !scope.allowedGraphUrls.includes(graph)) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
if (scope.deniedGraphUrls?.includes(graph)) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return !(scope.deniedGraphPrefixes ?? []).some((prefix) => graph.startsWith(prefix));
|
|
86
|
+
}
|
|
87
|
+
function applyScopeToQuery(query, scope, state) {
|
|
88
|
+
const rootFilters = [...(query.filters ?? [])];
|
|
89
|
+
const patterns = (query.patterns ?? []).map((pattern) => scopePattern(pattern, rootFilters, scope, state));
|
|
90
|
+
return {
|
|
91
|
+
...query,
|
|
92
|
+
patterns,
|
|
93
|
+
filters: rootFilters.length > 0 ? rootFilters : undefined,
|
|
94
|
+
unions: query.unions?.map((group) => scopeUnionGroup(group, scope, state)),
|
|
95
|
+
minus: query.minus?.map((group) => scopeMinusGroup(group, scope, state)),
|
|
96
|
+
exists: query.exists?.map((group) => scopeExistsGroup(group, scope, state)),
|
|
97
|
+
optional: query.optional?.map((group) => scopeOptionalGroup(group, scope, state)),
|
|
98
|
+
textSearch: query.textSearch?.map((pattern) => scopeTextSearch(pattern, scope)),
|
|
99
|
+
vectorSearch: query.vectorSearch?.map((pattern) => scopeVectorSearch(pattern, scope)),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function scopeTextSearch(pattern, scope) {
|
|
103
|
+
return {
|
|
104
|
+
...pattern,
|
|
105
|
+
scope: scopeSearchSources(pattern.scope, scope),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
function scopeVectorSearch(pattern, scope) {
|
|
109
|
+
return {
|
|
110
|
+
...pattern,
|
|
111
|
+
scope: scopeSearchSources(pattern.scope, scope),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function scopeUnionGroup(group, scope, state) {
|
|
115
|
+
return {
|
|
116
|
+
branches: group.branches.map((branch) => scopeUnionBranch(branch, scope, state)),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function scopeUnionBranch(branch, scope, state) {
|
|
120
|
+
const filters = [...(branch.filters ?? [])];
|
|
121
|
+
return {
|
|
122
|
+
...branch,
|
|
123
|
+
patterns: branch.patterns.map((pattern) => scopePattern(pattern, filters, scope, state)),
|
|
124
|
+
filters: filters.length > 0 ? filters : undefined,
|
|
125
|
+
unions: branch.unions?.map((group) => scopeUnionGroup(group, scope, state)),
|
|
126
|
+
optional: branch.optional?.map((group) => scopeOptionalGroup(group, scope, state)),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function scopeMinusGroup(group, scope, state) {
|
|
130
|
+
const filters = [...(group.filters ?? [])];
|
|
131
|
+
return {
|
|
132
|
+
...group,
|
|
133
|
+
patterns: group.patterns.map((pattern) => scopePattern(pattern, filters, scope, state)),
|
|
134
|
+
filters: filters.length > 0 ? filters : undefined,
|
|
135
|
+
unions: group.unions?.map((union) => scopeUnionGroup(union, scope, state)),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function scopeExistsGroup(group, scope, state) {
|
|
139
|
+
const filters = [...(group.filters ?? [])];
|
|
140
|
+
return {
|
|
141
|
+
...group,
|
|
142
|
+
patterns: group.patterns.map((pattern) => scopePattern(pattern, filters, scope, state)),
|
|
143
|
+
filters: filters.length > 0 ? filters : undefined,
|
|
144
|
+
unions: group.unions?.map((union) => scopeUnionGroup(union, scope, state)),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function scopeOptionalGroup(group, scope, state) {
|
|
148
|
+
if (Array.isArray(group)) {
|
|
149
|
+
const ignoredFilters = [];
|
|
150
|
+
return group.map((pattern) => scopePattern(pattern, ignoredFilters, scope, state));
|
|
151
|
+
}
|
|
152
|
+
const filters = [...(group.filters ?? [])];
|
|
153
|
+
return {
|
|
154
|
+
...group,
|
|
155
|
+
patterns: group.patterns.map((pattern) => scopePattern(pattern, filters, scope, state)),
|
|
156
|
+
filters: filters.length > 0 ? filters : undefined,
|
|
157
|
+
unions: group.unions?.map((union) => scopeUnionGroup(union, scope, state)),
|
|
158
|
+
optional: group.optional?.map((optional) => scopeOptionalGroup(optional, scope, state)),
|
|
159
|
+
minus: group.minus?.map((minus) => scopeMinusGroup(minus, scope, state)),
|
|
160
|
+
exists: group.exists?.map((exists) => scopeExistsGroup(exists, scope, state)),
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
function scopePattern(pattern, filters, scope, state) {
|
|
164
|
+
const graph = pattern.graph ?? { $startsWith: scope.basePath };
|
|
165
|
+
if (isVariable(graph)) {
|
|
166
|
+
addGraphAccessFilters(filters, graph.variable, scope);
|
|
167
|
+
return pattern.graph ? pattern : { ...pattern, graph };
|
|
168
|
+
}
|
|
169
|
+
if ((0, types_1.isTerm)(graph)) {
|
|
170
|
+
return rdfAccessGraphAllowed(graph.value, scope)
|
|
171
|
+
? pattern
|
|
172
|
+
: { ...pattern, graph: state.impossibleGraph };
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
...pattern,
|
|
176
|
+
graph: scopeGraphOperators(graph, scope, state.impossibleGraph),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
function scopeGraphOperators(graph, scope, impossibleGraph) {
|
|
180
|
+
const operators = { ...graph };
|
|
181
|
+
const prefix = intersectSourcePrefix(typeof operators.$startsWith === 'string' ? operators.$startsWith : undefined, scope.basePath);
|
|
182
|
+
if (prefix === false) {
|
|
183
|
+
return impossibleGraph;
|
|
184
|
+
}
|
|
185
|
+
if (prefix) {
|
|
186
|
+
operators.$startsWith = prefix;
|
|
187
|
+
}
|
|
188
|
+
if (scope.allowedGraphUrls?.length) {
|
|
189
|
+
const allowedTerms = scope.allowedGraphUrls
|
|
190
|
+
.filter((url) => graphOperatorsMayMatch(operators, url))
|
|
191
|
+
.map((url) => n3_1.DataFactory.namedNode(url));
|
|
192
|
+
if (allowedTerms.length === 0) {
|
|
193
|
+
return impossibleGraph;
|
|
194
|
+
}
|
|
195
|
+
operators.$in = intersectTermArrays(operators.$in, allowedTerms);
|
|
196
|
+
if (operators.$in.length === 0) {
|
|
197
|
+
return impossibleGraph;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (scope.deniedGraphUrls?.length) {
|
|
201
|
+
const deniedTerms = scope.deniedGraphUrls.map((url) => n3_1.DataFactory.namedNode(url));
|
|
202
|
+
operators.$notIn = unionTermArrays(operators.$notIn, deniedTerms);
|
|
203
|
+
}
|
|
204
|
+
return operators;
|
|
205
|
+
}
|
|
206
|
+
function graphOperatorsMayMatch(graph, graphUrl) {
|
|
207
|
+
if (isVariable(graph)) {
|
|
208
|
+
return true;
|
|
209
|
+
}
|
|
210
|
+
if ((0, types_1.isTerm)(graph)) {
|
|
211
|
+
return graph.value === graphUrl;
|
|
212
|
+
}
|
|
213
|
+
const operators = graph;
|
|
214
|
+
if (operators.$startsWith !== undefined && typeof operators.$startsWith === 'string' && !graphUrl.startsWith(operators.$startsWith)) {
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
if (Array.isArray(operators.$in) && !operators.$in.some((value) => (0, types_1.isTerm)(value) && value.value === graphUrl)) {
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
if (Array.isArray(operators.$notIn) && operators.$notIn.some((value) => (0, types_1.isTerm)(value) && value.value === graphUrl)) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
return true;
|
|
224
|
+
}
|
|
225
|
+
function addGraphAccessFilters(filters, variable, scope) {
|
|
226
|
+
filters.push({
|
|
227
|
+
variable,
|
|
228
|
+
operator: '$startsWith',
|
|
229
|
+
value: scope.basePath,
|
|
230
|
+
});
|
|
231
|
+
if (scope.allowedGraphUrls?.length) {
|
|
232
|
+
filters.push({
|
|
233
|
+
variable,
|
|
234
|
+
operator: '$in',
|
|
235
|
+
values: scope.allowedGraphUrls.map((url) => n3_1.DataFactory.namedNode(url)),
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
if (scope.deniedGraphUrls?.length) {
|
|
239
|
+
filters.push({
|
|
240
|
+
variable,
|
|
241
|
+
operator: '$notIn',
|
|
242
|
+
values: scope.deniedGraphUrls.map((url) => n3_1.DataFactory.namedNode(url)),
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
for (const prefix of scope.deniedGraphPrefixes ?? []) {
|
|
246
|
+
filters.push({
|
|
247
|
+
variable,
|
|
248
|
+
operator: '$notStartsWith',
|
|
249
|
+
value: prefix,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
function isVariable(value) {
|
|
254
|
+
return Boolean(value && typeof value === 'object' && 'variable' in value);
|
|
255
|
+
}
|
|
256
|
+
function intersectTermArrays(existing, incoming) {
|
|
257
|
+
if (!Array.isArray(existing)) {
|
|
258
|
+
return incoming;
|
|
259
|
+
}
|
|
260
|
+
const incomingValues = new Set(incoming.map((term) => term.value));
|
|
261
|
+
return existing.filter((value) => (0, types_1.isTerm)(value) && incomingValues.has(value.value));
|
|
262
|
+
}
|
|
263
|
+
function unionTermArrays(existing, incoming) {
|
|
264
|
+
const byValue = new Map();
|
|
265
|
+
if (Array.isArray(existing)) {
|
|
266
|
+
for (const value of existing) {
|
|
267
|
+
if ((0, types_1.isTerm)(value)) {
|
|
268
|
+
byValue.set(value.value, value);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
for (const term of incoming) {
|
|
273
|
+
byValue.set(term.value, term);
|
|
274
|
+
}
|
|
275
|
+
return [...byValue.values()];
|
|
276
|
+
}
|
|
277
|
+
function scopeSearchSources(existing, scope) {
|
|
278
|
+
const prefix = intersectSourcePrefix(existing?.sourcePrefix, scope.basePath);
|
|
279
|
+
const deniedPrefixes = unionStringArrays(existing?.deniedSourcePrefixes, scope.deniedGraphPrefixes);
|
|
280
|
+
const deniedSources = unionStringArrays(existing?.deniedSources, scope.deniedGraphUrls);
|
|
281
|
+
if (prefix === false) {
|
|
282
|
+
return {
|
|
283
|
+
...existing,
|
|
284
|
+
allowedSources: [],
|
|
285
|
+
deniedSources,
|
|
286
|
+
deniedSourcePrefixes: deniedPrefixes,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
const allowedFromScope = scope.allowedGraphUrls
|
|
290
|
+
? scope.allowedGraphUrls.filter((source) => sourceMatchesPrefix(source, prefix))
|
|
291
|
+
: undefined;
|
|
292
|
+
const allowedSources = filterStringsByPrefix(intersectStringArrays(existing?.allowedSources, allowedFromScope), prefix);
|
|
293
|
+
return {
|
|
294
|
+
...existing,
|
|
295
|
+
accessBasePath: scope.basePath,
|
|
296
|
+
...(prefix ? { sourcePrefix: prefix } : {}),
|
|
297
|
+
...(allowedSources ? { allowedSources } : {}),
|
|
298
|
+
...(deniedSources ? { deniedSources } : {}),
|
|
299
|
+
...(deniedPrefixes ? { deniedSourcePrefixes: deniedPrefixes } : {}),
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
function intersectSourcePrefix(left, right) {
|
|
303
|
+
if (!left) {
|
|
304
|
+
return right;
|
|
305
|
+
}
|
|
306
|
+
if (!right) {
|
|
307
|
+
return left;
|
|
308
|
+
}
|
|
309
|
+
if (left.startsWith(right)) {
|
|
310
|
+
return left;
|
|
311
|
+
}
|
|
312
|
+
if (right.startsWith(left)) {
|
|
313
|
+
return right;
|
|
314
|
+
}
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
317
|
+
function intersectStringArrays(left, right) {
|
|
318
|
+
if (!left) {
|
|
319
|
+
return right ? uniqueStrings(right) : undefined;
|
|
320
|
+
}
|
|
321
|
+
if (!right) {
|
|
322
|
+
return uniqueStrings(left);
|
|
323
|
+
}
|
|
324
|
+
const rightSet = new Set(right);
|
|
325
|
+
return uniqueStrings(left.filter((value) => rightSet.has(value)));
|
|
326
|
+
}
|
|
327
|
+
function unionStringArrays(left, right) {
|
|
328
|
+
if (!left && !right) {
|
|
329
|
+
return undefined;
|
|
330
|
+
}
|
|
331
|
+
return uniqueStrings([...(left ?? []), ...(right ?? [])]);
|
|
332
|
+
}
|
|
333
|
+
function filterStringsByPrefix(values, prefix) {
|
|
334
|
+
if (!values || !prefix) {
|
|
335
|
+
return values;
|
|
336
|
+
}
|
|
337
|
+
return values.filter((value) => value.startsWith(prefix));
|
|
338
|
+
}
|
|
339
|
+
function sourceMatchesPrefix(source, prefix) {
|
|
340
|
+
return !prefix || source.startsWith(prefix);
|
|
341
|
+
}
|
|
342
|
+
function uniqueStrings(values) {
|
|
343
|
+
return [...new Set(values.filter((value) => value.length > 0))].sort();
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=RdfAccessScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RdfAccessScope.js","sourceRoot":"","sources":["../../../src/storage/rdf/RdfAccessScope.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataFactory } from 'n3';\nimport type { Term } from '@rdfjs/types';\nimport { isTerm } from '../quint/types';\nimport type {\n RdfQuery,\n RdfQueryFilter,\n RdfQueryPattern,\n RdfQueryTermPattern,\n RdfUnionQueryBranch,\n RdfUnionQueryGroup,\n RdfMinusQueryGroup,\n RdfExistsQueryGroup,\n RdfOptionalQueryGroup,\n RdfQueryVariable,\n RdfQueryCacheScope,\n RdfSearchScope,\n RdfTextSearchPattern,\n RdfVectorSearchPattern,\n} from './types';\n\nexport const RdfAccessMode = {\n READ: 'read',\n APPEND: 'append',\n DELETE: 'delete',\n WRITE: 'write',\n} as const;\n\nexport type RdfAccessMode = typeof RdfAccessMode[keyof typeof RdfAccessMode];\n\nexport interface RdfAccessScope {\n basePath: string;\n mode: RdfAccessMode;\n principal?: string;\n allowedGraphUrls?: string[];\n deniedGraphUrls?: string[];\n deniedGraphPrefixes?: string[];\n version?: string;\n}\n\ninterface ApplyState {\n impossibleGraph: Term;\n}\n\nexport function isRestrictiveRdfAccessScope(scope?: RdfAccessScope): boolean {\n return Boolean(\n scope\n && (\n (scope.allowedGraphUrls?.length ?? 0) > 0\n || (scope.deniedGraphUrls?.length ?? 0) > 0\n || (scope.deniedGraphPrefixes?.length ?? 0) > 0\n ),\n );\n}\n\nexport function rdfAccessCacheScope(scope?: RdfAccessScope): RdfQueryCacheScope | undefined {\n if (!scope) {\n return undefined;\n }\n return {\n mode: scope.mode,\n principal: scope.principal ?? 'anonymous',\n basePath: scope.basePath,\n permissionVersion: scope.version ?? 'unversioned',\n allowedGraphUrls: scope.allowedGraphUrls,\n deniedGraphUrls: scope.deniedGraphUrls,\n deniedGraphPrefixes: scope.deniedGraphPrefixes,\n };\n}\n\nexport function applyRdfAccessScope(query: RdfQuery, scope?: RdfAccessScope): RdfQuery {\n const cacheScope = rdfAccessCacheScope(scope);\n if (!scope) {\n return query;\n }\n\n const state: ApplyState = {\n impossibleGraph: DataFactory.namedNode('urn:xpod:rdf-access-denied') as unknown as Term,\n };\n const scoped = applyScopeToQuery(query, scope, state);\n return {\n ...scoped,\n cache: {\n ...scoped.cache,\n scope: mergeRdfQueryCacheScopes(scoped.cache?.scope, cacheScope),\n },\n };\n}\n\nfunction mergeRdfQueryCacheScopes(\n existing: RdfQueryCacheScope | undefined,\n access: RdfQueryCacheScope | undefined,\n): RdfQueryCacheScope | undefined {\n if (!existing) {\n return access;\n }\n if (!access) {\n return existing;\n }\n return [existing, access];\n}\n\nexport function filterRdfAccessGraphs(graphs: Iterable<string>, scope?: RdfAccessScope): Set<string> {\n if (!scope) {\n return new Set(graphs);\n }\n const filtered = new Set<string>();\n for (const graph of graphs) {\n if (rdfAccessGraphAllowed(graph, scope)) {\n filtered.add(graph);\n }\n }\n return filtered;\n}\n\nexport function rdfAccessGraphAllowed(graph: string, scope: RdfAccessScope): boolean {\n if (!graph.startsWith(scope.basePath)) {\n return false;\n }\n if (scope.allowedGraphUrls?.length && !scope.allowedGraphUrls.includes(graph)) {\n return false;\n }\n if (scope.deniedGraphUrls?.includes(graph)) {\n return false;\n }\n return !(scope.deniedGraphPrefixes ?? []).some((prefix) => graph.startsWith(prefix));\n}\n\nfunction applyScopeToQuery(query: RdfQuery, scope: RdfAccessScope, state: ApplyState): RdfQuery {\n const rootFilters: RdfQueryFilter[] = [...(query.filters ?? [])];\n const patterns = (query.patterns ?? []).map((pattern) => scopePattern(pattern, rootFilters, scope, state));\n return {\n ...query,\n patterns,\n filters: rootFilters.length > 0 ? rootFilters : undefined,\n unions: query.unions?.map((group) => scopeUnionGroup(group, scope, state)),\n minus: query.minus?.map((group) => scopeMinusGroup(group, scope, state)),\n exists: query.exists?.map((group) => scopeExistsGroup(group, scope, state)),\n optional: query.optional?.map((group) => scopeOptionalGroup(group, scope, state)),\n textSearch: query.textSearch?.map((pattern) => scopeTextSearch(pattern, scope)),\n vectorSearch: query.vectorSearch?.map((pattern) => scopeVectorSearch(pattern, scope)),\n };\n}\n\nfunction scopeTextSearch(pattern: RdfTextSearchPattern, scope: RdfAccessScope): RdfTextSearchPattern {\n return {\n ...pattern,\n scope: scopeSearchSources(pattern.scope, scope),\n };\n}\n\nfunction scopeVectorSearch(pattern: RdfVectorSearchPattern, scope: RdfAccessScope): RdfVectorSearchPattern {\n return {\n ...pattern,\n scope: scopeSearchSources(pattern.scope, scope),\n };\n}\n\nfunction scopeUnionGroup(group: RdfUnionQueryGroup, scope: RdfAccessScope, state: ApplyState): RdfUnionQueryGroup {\n return {\n branches: group.branches.map((branch) => scopeUnionBranch(branch, scope, state)),\n };\n}\n\nfunction scopeUnionBranch(branch: RdfUnionQueryBranch, scope: RdfAccessScope, state: ApplyState): RdfUnionQueryBranch {\n const filters: RdfQueryFilter[] = [...(branch.filters ?? [])];\n return {\n ...branch,\n patterns: branch.patterns.map((pattern) => scopePattern(pattern, filters, scope, state)),\n filters: filters.length > 0 ? filters : undefined,\n unions: branch.unions?.map((group) => scopeUnionGroup(group, scope, state)),\n optional: branch.optional?.map((group) => scopeOptionalGroup(group, scope, state)),\n };\n}\n\nfunction scopeMinusGroup(group: RdfMinusQueryGroup, scope: RdfAccessScope, state: ApplyState): RdfMinusQueryGroup {\n const filters: RdfQueryFilter[] = [...(group.filters ?? [])];\n return {\n ...group,\n patterns: group.patterns.map((pattern) => scopePattern(pattern, filters, scope, state)),\n filters: filters.length > 0 ? filters : undefined,\n unions: group.unions?.map((union) => scopeUnionGroup(union, scope, state)),\n };\n}\n\nfunction scopeExistsGroup(group: RdfExistsQueryGroup, scope: RdfAccessScope, state: ApplyState): RdfExistsQueryGroup {\n const filters: RdfQueryFilter[] = [...(group.filters ?? [])];\n return {\n ...group,\n patterns: group.patterns.map((pattern) => scopePattern(pattern, filters, scope, state)),\n filters: filters.length > 0 ? filters : undefined,\n unions: group.unions?.map((union) => scopeUnionGroup(union, scope, state)),\n };\n}\n\nfunction scopeOptionalGroup(\n group: RdfQueryPattern[] | RdfOptionalQueryGroup,\n scope: RdfAccessScope,\n state: ApplyState,\n): RdfQueryPattern[] | RdfOptionalQueryGroup {\n if (Array.isArray(group)) {\n const ignoredFilters: RdfQueryFilter[] = [];\n return group.map((pattern) => scopePattern(pattern, ignoredFilters, scope, state));\n }\n\n const filters: RdfQueryFilter[] = [...(group.filters ?? [])];\n return {\n ...group,\n patterns: group.patterns.map((pattern) => scopePattern(pattern, filters, scope, state)),\n filters: filters.length > 0 ? filters : undefined,\n unions: group.unions?.map((union) => scopeUnionGroup(union, scope, state)),\n optional: group.optional?.map((optional) => scopeOptionalGroup(optional, scope, state)),\n minus: group.minus?.map((minus) => scopeMinusGroup(minus, scope, state)),\n exists: group.exists?.map((exists) => scopeExistsGroup(exists, scope, state)),\n };\n}\n\nfunction scopePattern(\n pattern: RdfQueryPattern,\n filters: RdfQueryFilter[],\n scope: RdfAccessScope,\n state: ApplyState,\n): RdfQueryPattern {\n const graph = pattern.graph ?? { $startsWith: scope.basePath };\n if (isVariable(graph)) {\n addGraphAccessFilters(filters, graph.variable, scope);\n return pattern.graph ? pattern : { ...pattern, graph };\n }\n if (isTerm(graph as any)) {\n return rdfAccessGraphAllowed((graph as Term).value, scope)\n ? pattern\n : { ...pattern, graph: state.impossibleGraph };\n }\n return {\n ...pattern,\n graph: scopeGraphOperators(graph, scope, state.impossibleGraph),\n };\n}\n\nfunction scopeGraphOperators(\n graph: RdfQueryTermPattern,\n scope: RdfAccessScope,\n impossibleGraph: Term,\n): RdfQueryTermPattern {\n const operators = { ...(graph as Record<string, unknown>) };\n const prefix = intersectSourcePrefix(\n typeof operators.$startsWith === 'string' ? operators.$startsWith : undefined,\n scope.basePath,\n );\n if (prefix === false) {\n return impossibleGraph;\n }\n if (prefix) {\n operators.$startsWith = prefix;\n }\n if (scope.allowedGraphUrls?.length) {\n const allowedTerms = scope.allowedGraphUrls\n .filter((url) => graphOperatorsMayMatch(operators as RdfQueryTermPattern, url))\n .map((url) => DataFactory.namedNode(url) as unknown as Term);\n if (allowedTerms.length === 0) {\n return impossibleGraph;\n }\n operators.$in = intersectTermArrays(operators.$in, allowedTerms);\n if ((operators.$in as Term[]).length === 0) {\n return impossibleGraph;\n }\n }\n if (scope.deniedGraphUrls?.length) {\n const deniedTerms = scope.deniedGraphUrls.map((url) => DataFactory.namedNode(url) as unknown as Term);\n operators.$notIn = unionTermArrays(operators.$notIn, deniedTerms);\n }\n return operators as RdfQueryTermPattern;\n}\n\nfunction graphOperatorsMayMatch(graph: RdfQueryTermPattern, graphUrl: string): boolean {\n if (isVariable(graph)) {\n return true;\n }\n if (isTerm(graph as any)) {\n return (graph as Term).value === graphUrl;\n }\n const operators = graph as Record<string, unknown>;\n if (operators.$startsWith !== undefined && typeof operators.$startsWith === 'string' && !graphUrl.startsWith(operators.$startsWith)) {\n return false;\n }\n if (Array.isArray(operators.$in) && !operators.$in.some((value) => isTerm(value as any) && (value as Term).value === graphUrl)) {\n return false;\n }\n if (Array.isArray(operators.$notIn) && operators.$notIn.some((value) => isTerm(value as any) && (value as Term).value === graphUrl)) {\n return false;\n }\n return true;\n}\n\nfunction addGraphAccessFilters(filters: RdfQueryFilter[], variable: string, scope: RdfAccessScope): void {\n filters.push({\n variable,\n operator: '$startsWith',\n value: scope.basePath,\n });\n if (scope.allowedGraphUrls?.length) {\n filters.push({\n variable,\n operator: '$in',\n values: scope.allowedGraphUrls.map((url) => DataFactory.namedNode(url) as unknown as Term),\n });\n }\n if (scope.deniedGraphUrls?.length) {\n filters.push({\n variable,\n operator: '$notIn',\n values: scope.deniedGraphUrls.map((url) => DataFactory.namedNode(url) as unknown as Term),\n });\n }\n for (const prefix of scope.deniedGraphPrefixes ?? []) {\n filters.push({\n variable,\n operator: '$notStartsWith',\n value: prefix,\n });\n }\n}\n\nfunction isVariable(value: RdfQueryTermPattern): value is RdfQueryVariable {\n return Boolean(value && typeof value === 'object' && 'variable' in value);\n}\n\nfunction intersectTermArrays(existing: unknown, incoming: Term[]): Term[] {\n if (!Array.isArray(existing)) {\n return incoming;\n }\n const incomingValues = new Set(incoming.map((term) => term.value));\n return existing.filter((value): value is Term => isTerm(value as any) && incomingValues.has((value as Term).value));\n}\n\nfunction unionTermArrays(existing: unknown, incoming: Term[]): Term[] {\n const byValue = new Map<string, Term>();\n if (Array.isArray(existing)) {\n for (const value of existing) {\n if (isTerm(value as any)) {\n byValue.set((value as Term).value, value as Term);\n }\n }\n }\n for (const term of incoming) {\n byValue.set(term.value, term);\n }\n return [...byValue.values()];\n}\n\nfunction scopeSearchSources(existing: RdfSearchScope | undefined, scope: RdfAccessScope): RdfSearchScope {\n const prefix = intersectSourcePrefix(existing?.sourcePrefix, scope.basePath);\n const deniedPrefixes = unionStringArrays(existing?.deniedSourcePrefixes, scope.deniedGraphPrefixes);\n const deniedSources = unionStringArrays(existing?.deniedSources, scope.deniedGraphUrls);\n\n if (prefix === false) {\n return {\n ...existing,\n allowedSources: [],\n deniedSources,\n deniedSourcePrefixes: deniedPrefixes,\n };\n }\n\n const allowedFromScope = scope.allowedGraphUrls\n ? scope.allowedGraphUrls.filter((source) => sourceMatchesPrefix(source, prefix))\n : undefined;\n const allowedSources = filterStringsByPrefix(\n intersectStringArrays(existing?.allowedSources, allowedFromScope),\n prefix,\n );\n\n return {\n ...existing,\n accessBasePath: scope.basePath,\n ...(prefix ? { sourcePrefix: prefix } : {}),\n ...(allowedSources ? { allowedSources } : {}),\n ...(deniedSources ? { deniedSources } : {}),\n ...(deniedPrefixes ? { deniedSourcePrefixes: deniedPrefixes } : {}),\n };\n}\n\nfunction intersectSourcePrefix(left: string | undefined, right: string | undefined): string | false | undefined {\n if (!left) {\n return right;\n }\n if (!right) {\n return left;\n }\n if (left.startsWith(right)) {\n return left;\n }\n if (right.startsWith(left)) {\n return right;\n }\n return false;\n}\n\nfunction intersectStringArrays(left: string[] | undefined, right: string[] | undefined): string[] | undefined {\n if (!left) {\n return right ? uniqueStrings(right) : undefined;\n }\n if (!right) {\n return uniqueStrings(left);\n }\n const rightSet = new Set(right);\n return uniqueStrings(left.filter((value) => rightSet.has(value)));\n}\n\nfunction unionStringArrays(left: string[] | undefined, right: string[] | undefined): string[] | undefined {\n if (!left && !right) {\n return undefined;\n }\n return uniqueStrings([...(left ?? []), ...(right ?? [])]);\n}\n\nfunction filterStringsByPrefix(values: string[] | undefined, prefix: string | undefined): string[] | undefined {\n if (!values || !prefix) {\n return values;\n }\n return values.filter((value) => value.startsWith(prefix));\n}\n\nfunction sourceMatchesPrefix(source: string, prefix: string | undefined): boolean {\n return !prefix || source.startsWith(prefix);\n}\n\nfunction uniqueStrings(values: string[]): string[] {\n return [...new Set(values.filter((value) => value.length > 0))].sort();\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": [
|
|
3
|
+
"https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/components/context.jsonld"
|
|
4
|
+
],
|
|
5
|
+
"@id": "npmd:@undefineds.co/xpod",
|
|
6
|
+
"components": [
|
|
7
|
+
{
|
|
8
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope",
|
|
9
|
+
"@type": "AbstractClass",
|
|
10
|
+
"requireElement": "RdfAccessScope",
|
|
11
|
+
"parameters": [],
|
|
12
|
+
"memberFields": [
|
|
13
|
+
{
|
|
14
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_basePath",
|
|
15
|
+
"memberFieldName": "basePath"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_mode",
|
|
19
|
+
"memberFieldName": "mode"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_principal",
|
|
23
|
+
"memberFieldName": "principal"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_allowedGraphUrls",
|
|
27
|
+
"memberFieldName": "allowedGraphUrls"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_deniedGraphUrls",
|
|
31
|
+
"memberFieldName": "deniedGraphUrls"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_deniedGraphPrefixes",
|
|
35
|
+
"memberFieldName": "deniedGraphPrefixes"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"@id": "undefineds:dist/storage/rdf/RdfAccessScope.jsonld#RdfAccessScope__member_version",
|
|
39
|
+
"memberFieldName": "version"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"constructorArguments": []
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|