@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
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RdfRunContextRetriever = void 0;
|
|
4
|
+
const n3_1 = require("n3");
|
|
5
|
+
const RdfAccessScope_1 = require("../../storage/rdf/RdfAccessScope");
|
|
6
|
+
const { literal } = n3_1.DataFactory;
|
|
7
|
+
/**
|
|
8
|
+
* Product-level Run context retriever backed by SolidRdfEngine/PostgresRdfEngine.
|
|
9
|
+
*
|
|
10
|
+
* The retriever keeps RDF/text/vector lookup outside durable queue events and
|
|
11
|
+
* returns runtime-neutral snippets that drivers can project into their own
|
|
12
|
+
* prompt/session format.
|
|
13
|
+
*/
|
|
14
|
+
class RdfRunContextRetriever {
|
|
15
|
+
constructor(options) {
|
|
16
|
+
this.options = options;
|
|
17
|
+
}
|
|
18
|
+
async retrieve(input) {
|
|
19
|
+
const prompt = input.prompt.trim();
|
|
20
|
+
if (!prompt) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const embedding = await this.options.embedding?.(input);
|
|
25
|
+
const query = this.options.buildQuery
|
|
26
|
+
? await this.options.buildQuery(input, embedding)
|
|
27
|
+
: this.buildDefaultQuery(input, embedding);
|
|
28
|
+
const result = await this.options.rdfEngine.query(this.withAccessScope(query, input));
|
|
29
|
+
const items = result.bindings
|
|
30
|
+
.map((row) => this.bindingToContextItem(row))
|
|
31
|
+
.filter((item) => item !== undefined)
|
|
32
|
+
.slice(0, this.options.limit ?? 8);
|
|
33
|
+
if (items.length === 0) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
query: prompt,
|
|
38
|
+
items,
|
|
39
|
+
generatedAt: Math.floor(Date.now() / 1000),
|
|
40
|
+
plan: result.metrics.plan,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
if (this.options.failOpen === true) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
buildDefaultQuery(input, embedding) {
|
|
51
|
+
const limit = this.options.limit ?? 8;
|
|
52
|
+
const scope = this.searchScope(input);
|
|
53
|
+
const cacheScope = this.cacheScope(input);
|
|
54
|
+
const normalizedEmbedding = normalizeEmbedding(embedding);
|
|
55
|
+
const hasVector = (normalizedEmbedding?.embedding.length ?? 0) > 0;
|
|
56
|
+
const textWeight = this.options.textWeight ?? 0.55;
|
|
57
|
+
const vectorWeight = this.options.vectorWeight ?? 0.45;
|
|
58
|
+
const query = {
|
|
59
|
+
patterns: [],
|
|
60
|
+
textSearch: [
|
|
61
|
+
{
|
|
62
|
+
query: input.prompt,
|
|
63
|
+
scope,
|
|
64
|
+
limit,
|
|
65
|
+
source: 'source',
|
|
66
|
+
chunk: 'textChunk',
|
|
67
|
+
content: 'textContent',
|
|
68
|
+
heading: 'textHeading',
|
|
69
|
+
score: 'textScore',
|
|
70
|
+
workspace: 'workspace',
|
|
71
|
+
localPath: 'localPath',
|
|
72
|
+
contentType: 'contentType',
|
|
73
|
+
sourceKey: 'sourceKey',
|
|
74
|
+
retrievalPoint: 'retrievalPointKey',
|
|
75
|
+
retrievalKind: 'retrievalKind',
|
|
76
|
+
entityProvenance: 'entityProvenance',
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
select: [
|
|
80
|
+
'source',
|
|
81
|
+
'workspace',
|
|
82
|
+
'localPath',
|
|
83
|
+
'contentType',
|
|
84
|
+
'textChunk',
|
|
85
|
+
'textContent',
|
|
86
|
+
'textHeading',
|
|
87
|
+
'textScore',
|
|
88
|
+
'sourceKey',
|
|
89
|
+
'retrievalPointKey',
|
|
90
|
+
'retrievalKind',
|
|
91
|
+
'entityProvenance',
|
|
92
|
+
],
|
|
93
|
+
orderBy: [{ variable: 'textScore', direction: 'desc' }],
|
|
94
|
+
limit,
|
|
95
|
+
cache: cacheScope ? { scope: cacheScope } : undefined,
|
|
96
|
+
};
|
|
97
|
+
if (hasVector && normalizedEmbedding) {
|
|
98
|
+
query.vectorSearch = [
|
|
99
|
+
{
|
|
100
|
+
embedding: normalizedEmbedding.embedding,
|
|
101
|
+
vectorModel: normalizedEmbedding.model ?? this.options.vectorModel,
|
|
102
|
+
scope,
|
|
103
|
+
limit,
|
|
104
|
+
source: 'source',
|
|
105
|
+
chunk: 'vectorChunk',
|
|
106
|
+
content: 'vectorContent',
|
|
107
|
+
heading: 'vectorHeading',
|
|
108
|
+
score: 'vectorScore',
|
|
109
|
+
distance: 'vectorDistance',
|
|
110
|
+
model: 'vectorModel',
|
|
111
|
+
},
|
|
112
|
+
];
|
|
113
|
+
query.binds = [
|
|
114
|
+
{
|
|
115
|
+
variable: 'fusionScore',
|
|
116
|
+
expression: {
|
|
117
|
+
type: 'add',
|
|
118
|
+
expressions: [
|
|
119
|
+
{
|
|
120
|
+
type: 'multiply',
|
|
121
|
+
expressions: [
|
|
122
|
+
{ type: 'numericValue', expression: { type: 'variable', variable: 'textScore' } },
|
|
123
|
+
{ type: 'term', term: literal(String(textWeight)) },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'multiply',
|
|
128
|
+
expressions: [
|
|
129
|
+
{ type: 'numericValue', expression: { type: 'variable', variable: 'vectorScore' } },
|
|
130
|
+
{ type: 'term', term: literal(String(vectorWeight)) },
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
];
|
|
137
|
+
query.select = [
|
|
138
|
+
...(query.select ?? []),
|
|
139
|
+
'vectorChunk',
|
|
140
|
+
'vectorContent',
|
|
141
|
+
'vectorHeading',
|
|
142
|
+
'vectorScore',
|
|
143
|
+
'vectorDistance',
|
|
144
|
+
'vectorModel',
|
|
145
|
+
'fusionScore',
|
|
146
|
+
];
|
|
147
|
+
query.orderBy = [
|
|
148
|
+
{ variable: 'fusionScore', direction: 'desc' },
|
|
149
|
+
{ variable: 'source' },
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
return query;
|
|
153
|
+
}
|
|
154
|
+
searchScope(input) {
|
|
155
|
+
const sourcePrefix = typeof this.options.sourcePrefix === 'function'
|
|
156
|
+
? this.options.sourcePrefix(input)
|
|
157
|
+
: this.options.sourcePrefix;
|
|
158
|
+
return {
|
|
159
|
+
workspace: input.config.workspace,
|
|
160
|
+
...(sourcePrefix ? { sourcePrefix } : {}),
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
cacheScope(input) {
|
|
164
|
+
return typeof this.options.cacheScope === 'function'
|
|
165
|
+
? this.options.cacheScope(input)
|
|
166
|
+
: this.options.cacheScope;
|
|
167
|
+
}
|
|
168
|
+
withAccessScope(query, input) {
|
|
169
|
+
const accessScope = typeof this.options.accessScope === 'function'
|
|
170
|
+
? this.options.accessScope(input)
|
|
171
|
+
: this.options.accessScope;
|
|
172
|
+
if (!accessScope) {
|
|
173
|
+
this.assertAccessScopeOptional(input);
|
|
174
|
+
return query;
|
|
175
|
+
}
|
|
176
|
+
this.assertAccessScopeComplete(input, accessScope);
|
|
177
|
+
return (0, RdfAccessScope_1.applyRdfAccessScope)(query, accessScope);
|
|
178
|
+
}
|
|
179
|
+
assertAccessScopeOptional(input) {
|
|
180
|
+
if (isRemoteWorkspace(input.config.workspace)) {
|
|
181
|
+
throw new Error('RDF Run context retrieval requires an access scope for remote Pod workspaces');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
assertAccessScopeComplete(input, accessScope) {
|
|
185
|
+
if (!isRemoteWorkspace(input.config.workspace)) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
if (!accessScope.principal || !accessScope.version) {
|
|
189
|
+
throw new Error('RDF Run context retrieval requires principal and permission version for remote Pod workspaces');
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
bindingToContextItem(row) {
|
|
193
|
+
const text = termValue(row.textContent) || termValue(row.vectorContent);
|
|
194
|
+
const source = termValue(row.source);
|
|
195
|
+
if (!text || !source) {
|
|
196
|
+
return undefined;
|
|
197
|
+
}
|
|
198
|
+
const fusionScore = termNumber(row.fusionScore);
|
|
199
|
+
const textScore = termNumber(row.textScore);
|
|
200
|
+
const vectorScore = termNumber(row.vectorScore);
|
|
201
|
+
const heading = termValue(row.textHeading) || termValue(row.vectorHeading);
|
|
202
|
+
const vectorDistance = termNumber(row.vectorDistance);
|
|
203
|
+
const vectorModel = termValue(row.vectorModel);
|
|
204
|
+
const entityProvenance = parseJsonArray(termValue(row.entityProvenance));
|
|
205
|
+
const metadata = compactRecord({
|
|
206
|
+
untrustedContext: true,
|
|
207
|
+
textChunk: termValue(row.textChunk),
|
|
208
|
+
vectorChunk: termValue(row.vectorChunk),
|
|
209
|
+
sourceKey: termValue(row.sourceKey),
|
|
210
|
+
retrievalPointKey: termValue(row.retrievalPointKey),
|
|
211
|
+
retrievalKind: termValue(row.retrievalKind),
|
|
212
|
+
entityProvenance,
|
|
213
|
+
textScore,
|
|
214
|
+
vectorScore,
|
|
215
|
+
vectorDistance,
|
|
216
|
+
vectorModel,
|
|
217
|
+
contentType: termValue(row.contentType),
|
|
218
|
+
});
|
|
219
|
+
return {
|
|
220
|
+
kind: vectorScore !== undefined && textScore === undefined ? 'vector_chunk' : 'text_chunk',
|
|
221
|
+
source,
|
|
222
|
+
text,
|
|
223
|
+
score: fusionScore ?? textScore ?? vectorScore,
|
|
224
|
+
workspace: termValue(row.workspace),
|
|
225
|
+
localPath: termValue(row.localPath),
|
|
226
|
+
heading,
|
|
227
|
+
metadata,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
exports.RdfRunContextRetriever = RdfRunContextRetriever;
|
|
232
|
+
function isRemoteWorkspace(workspaceValue) {
|
|
233
|
+
try {
|
|
234
|
+
const workspace = new URL(workspaceValue);
|
|
235
|
+
return workspace.protocol === 'http:' || workspace.protocol === 'https:';
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
function normalizeEmbedding(input) {
|
|
242
|
+
if (!input) {
|
|
243
|
+
return undefined;
|
|
244
|
+
}
|
|
245
|
+
if (Array.isArray(input)) {
|
|
246
|
+
return { embedding: input };
|
|
247
|
+
}
|
|
248
|
+
return input;
|
|
249
|
+
}
|
|
250
|
+
function termValue(term) {
|
|
251
|
+
return term?.value || undefined;
|
|
252
|
+
}
|
|
253
|
+
function termNumber(term) {
|
|
254
|
+
const value = term?.value;
|
|
255
|
+
if (value === undefined) {
|
|
256
|
+
return undefined;
|
|
257
|
+
}
|
|
258
|
+
const parsed = Number(value);
|
|
259
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
260
|
+
}
|
|
261
|
+
function compactRecord(input) {
|
|
262
|
+
const entries = Object.entries(input).filter(([, value]) => value !== undefined);
|
|
263
|
+
return entries.length > 0 ? Object.fromEntries(entries) : undefined;
|
|
264
|
+
}
|
|
265
|
+
function parseJsonArray(value) {
|
|
266
|
+
if (!value) {
|
|
267
|
+
return undefined;
|
|
268
|
+
}
|
|
269
|
+
try {
|
|
270
|
+
const parsed = JSON.parse(value);
|
|
271
|
+
return Array.isArray(parsed) ? parsed : undefined;
|
|
272
|
+
}
|
|
273
|
+
catch {
|
|
274
|
+
return undefined;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=RdfRunContextRetriever.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RdfRunContextRetriever.js","sourceRoot":"","sources":["../../../src/api/runs/RdfRunContextRetriever.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataFactory } from 'n3';\nimport type { StoreContext } from '../chatkit/store';\nimport { applyRdfAccessScope, type RdfAccessScope } from '../../storage/rdf/RdfAccessScope';\nimport type { RdfBindingRow, RdfEngineLike, RdfQuery, RdfQueryCacheScope, RdfSearchScope } from '../../storage/rdf/types';\nimport type {\n RunContextRetrievalInput,\n RunContextRetriever,\n RunRetrievedContext,\n RunRetrievedContextItem,\n} from './RunExecutionBackend';\n\nconst { literal } = DataFactory;\n\nexport type RdfRunContextEmbedding =\n | number[]\n | {\n embedding: number[];\n model?: string;\n };\n\nexport interface RdfRunContextRetrieverOptions<TContext = StoreContext> {\n rdfEngine: RdfEngineLike;\n limit?: number;\n /**\n * Keep normal product paths fail-closed so missing text/vector indexes are\n * exposed at startup or request execution instead of silently degrading Run\n * context. Tests and optional deployments can still opt into best-effort\n * retrieval explicitly.\n */\n failOpen?: boolean;\n textWeight?: number;\n vectorWeight?: number;\n vectorModel?: string;\n sourcePrefix?: string | ((input: RunContextRetrievalInput<TContext>) => string | undefined);\n cacheScope?: RdfQueryCacheScope | ((input: RunContextRetrievalInput<TContext>) => RdfQueryCacheScope | undefined);\n accessScope?: RdfAccessScope | ((input: RunContextRetrievalInput<TContext>) => RdfAccessScope | undefined);\n embedding?: (input: RunContextRetrievalInput<TContext>) => Promise<RdfRunContextEmbedding | undefined>;\n buildQuery?: (input: RunContextRetrievalInput<TContext>, embedding?: RdfRunContextEmbedding) => RdfQuery | Promise<RdfQuery>;\n}\n\n/**\n * Product-level Run context retriever backed by SolidRdfEngine/PostgresRdfEngine.\n *\n * The retriever keeps RDF/text/vector lookup outside durable queue events and\n * returns runtime-neutral snippets that drivers can project into their own\n * prompt/session format.\n */\nexport class RdfRunContextRetriever<TContext = StoreContext> implements RunContextRetriever<TContext> {\n public constructor(private readonly options: RdfRunContextRetrieverOptions<TContext>) {}\n\n public async retrieve(input: RunContextRetrievalInput<TContext>): Promise<RunRetrievedContext | undefined> {\n const prompt = input.prompt.trim();\n if (!prompt) {\n return undefined;\n }\n\n try {\n const embedding = await this.options.embedding?.(input);\n const query = this.options.buildQuery\n ? await this.options.buildQuery(input, embedding)\n : this.buildDefaultQuery(input, embedding);\n const result = await this.options.rdfEngine.query(this.withAccessScope(query, input));\n const items = result.bindings\n .map((row) => this.bindingToContextItem(row))\n .filter((item): item is RunRetrievedContextItem => item !== undefined)\n .slice(0, this.options.limit ?? 8);\n\n if (items.length === 0) {\n return undefined;\n }\n\n return {\n query: prompt,\n items,\n generatedAt: Math.floor(Date.now() / 1000),\n plan: result.metrics.plan,\n };\n } catch (error) {\n if (this.options.failOpen === true) {\n return undefined;\n }\n throw error;\n }\n }\n\n private buildDefaultQuery(\n input: RunContextRetrievalInput<TContext>,\n embedding?: RdfRunContextEmbedding,\n ): RdfQuery {\n const limit = this.options.limit ?? 8;\n const scope = this.searchScope(input);\n const cacheScope = this.cacheScope(input);\n const normalizedEmbedding = normalizeEmbedding(embedding);\n const hasVector = (normalizedEmbedding?.embedding.length ?? 0) > 0;\n const textWeight = this.options.textWeight ?? 0.55;\n const vectorWeight = this.options.vectorWeight ?? 0.45;\n const query: RdfQuery = {\n patterns: [],\n textSearch: [\n {\n query: input.prompt,\n scope,\n limit,\n source: 'source',\n chunk: 'textChunk',\n content: 'textContent',\n heading: 'textHeading',\n score: 'textScore',\n workspace: 'workspace',\n localPath: 'localPath',\n contentType: 'contentType',\n sourceKey: 'sourceKey',\n retrievalPoint: 'retrievalPointKey',\n retrievalKind: 'retrievalKind',\n entityProvenance: 'entityProvenance',\n },\n ],\n select: [\n 'source',\n 'workspace',\n 'localPath',\n 'contentType',\n 'textChunk',\n 'textContent',\n 'textHeading',\n 'textScore',\n 'sourceKey',\n 'retrievalPointKey',\n 'retrievalKind',\n 'entityProvenance',\n ],\n orderBy: [{ variable: 'textScore', direction: 'desc' }],\n limit,\n cache: cacheScope ? { scope: cacheScope } : undefined,\n };\n\n if (hasVector && normalizedEmbedding) {\n query.vectorSearch = [\n {\n embedding: normalizedEmbedding.embedding,\n vectorModel: normalizedEmbedding.model ?? this.options.vectorModel,\n scope,\n limit,\n source: 'source',\n chunk: 'vectorChunk',\n content: 'vectorContent',\n heading: 'vectorHeading',\n score: 'vectorScore',\n distance: 'vectorDistance',\n model: 'vectorModel',\n },\n ];\n query.binds = [\n {\n variable: 'fusionScore',\n expression: {\n type: 'add',\n expressions: [\n {\n type: 'multiply',\n expressions: [\n { type: 'numericValue', expression: { type: 'variable', variable: 'textScore' } },\n { type: 'term', term: literal(String(textWeight)) },\n ],\n },\n {\n type: 'multiply',\n expressions: [\n { type: 'numericValue', expression: { type: 'variable', variable: 'vectorScore' } },\n { type: 'term', term: literal(String(vectorWeight)) },\n ],\n },\n ],\n },\n },\n ];\n query.select = [\n ...(query.select ?? []),\n 'vectorChunk',\n 'vectorContent',\n 'vectorHeading',\n 'vectorScore',\n 'vectorDistance',\n 'vectorModel',\n 'fusionScore',\n ];\n query.orderBy = [\n { variable: 'fusionScore', direction: 'desc' },\n { variable: 'source' },\n ];\n }\n\n return query;\n }\n\n private searchScope(input: RunContextRetrievalInput<TContext>): RdfSearchScope {\n const sourcePrefix = typeof this.options.sourcePrefix === 'function'\n ? this.options.sourcePrefix(input)\n : this.options.sourcePrefix;\n return {\n workspace: input.config.workspace,\n ...(sourcePrefix ? { sourcePrefix } : {}),\n };\n }\n\n private cacheScope(input: RunContextRetrievalInput<TContext>): RdfQueryCacheScope | undefined {\n return typeof this.options.cacheScope === 'function'\n ? this.options.cacheScope(input)\n : this.options.cacheScope;\n }\n\n private withAccessScope(query: RdfQuery, input: RunContextRetrievalInput<TContext>): RdfQuery {\n const accessScope = typeof this.options.accessScope === 'function'\n ? this.options.accessScope(input)\n : this.options.accessScope;\n if (!accessScope) {\n this.assertAccessScopeOptional(input);\n return query;\n }\n this.assertAccessScopeComplete(input, accessScope);\n return applyRdfAccessScope(query, accessScope);\n }\n\n private assertAccessScopeOptional(input: RunContextRetrievalInput<TContext>): void {\n if (isRemoteWorkspace(input.config.workspace)) {\n throw new Error('RDF Run context retrieval requires an access scope for remote Pod workspaces');\n }\n }\n\n private assertAccessScopeComplete(input: RunContextRetrievalInput<TContext>, accessScope: RdfAccessScope): void {\n if (!isRemoteWorkspace(input.config.workspace)) {\n return;\n }\n if (!accessScope.principal || !accessScope.version) {\n throw new Error('RDF Run context retrieval requires principal and permission version for remote Pod workspaces');\n }\n }\n\n private bindingToContextItem(row: RdfBindingRow): RunRetrievedContextItem | undefined {\n const text = termValue(row.textContent) || termValue(row.vectorContent);\n const source = termValue(row.source);\n if (!text || !source) {\n return undefined;\n }\n\n const fusionScore = termNumber(row.fusionScore);\n const textScore = termNumber(row.textScore);\n const vectorScore = termNumber(row.vectorScore);\n const heading = termValue(row.textHeading) || termValue(row.vectorHeading);\n const vectorDistance = termNumber(row.vectorDistance);\n const vectorModel = termValue(row.vectorModel);\n const entityProvenance = parseJsonArray(termValue(row.entityProvenance));\n const metadata = compactRecord({\n untrustedContext: true,\n textChunk: termValue(row.textChunk),\n vectorChunk: termValue(row.vectorChunk),\n sourceKey: termValue(row.sourceKey),\n retrievalPointKey: termValue(row.retrievalPointKey),\n retrievalKind: termValue(row.retrievalKind),\n entityProvenance,\n textScore,\n vectorScore,\n vectorDistance,\n vectorModel,\n contentType: termValue(row.contentType),\n });\n return {\n kind: vectorScore !== undefined && textScore === undefined ? 'vector_chunk' : 'text_chunk',\n source,\n text,\n score: fusionScore ?? textScore ?? vectorScore,\n workspace: termValue(row.workspace),\n localPath: termValue(row.localPath),\n heading,\n metadata,\n };\n }\n}\n\nfunction isRemoteWorkspace(workspaceValue: string): boolean {\n try {\n const workspace = new URL(workspaceValue);\n return workspace.protocol === 'http:' || workspace.protocol === 'https:';\n } catch {\n return false;\n }\n}\n\nfunction normalizeEmbedding(input: RdfRunContextEmbedding | undefined): { embedding: number[]; model?: string } | undefined {\n if (!input) {\n return undefined;\n }\n if (Array.isArray(input)) {\n return { embedding: input };\n }\n return input;\n}\n\nfunction termValue(term: RdfBindingRow[string] | undefined): string | undefined {\n return term?.value || undefined;\n}\n\nfunction termNumber(term: RdfBindingRow[string] | undefined): number | undefined {\n const value = term?.value;\n if (value === undefined) {\n return undefined;\n }\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction compactRecord(input: Record<string, unknown>): Record<string, unknown> | undefined {\n const entries = Object.entries(input).filter(([, value]) => value !== undefined);\n return entries.length > 0 ? Object.fromEntries(entries) : undefined;\n}\n\nfunction parseJsonArray(value: string | undefined): unknown[] | undefined {\n if (!value) {\n return undefined;\n }\n try {\n const parsed = JSON.parse(value);\n return Array.isArray(parsed) ? parsed : undefined;\n } catch {\n return undefined;\n }\n}\n"]}
|
|
@@ -9,6 +9,37 @@ export type RunConversationMessage = {
|
|
|
9
9
|
text: string;
|
|
10
10
|
createdAt: number;
|
|
11
11
|
};
|
|
12
|
+
export interface RunRetrievedContextItem {
|
|
13
|
+
/**
|
|
14
|
+
* Stable Pod resource, file URI, or runtime source identifier that produced
|
|
15
|
+
* this context item.
|
|
16
|
+
*/
|
|
17
|
+
source: string;
|
|
18
|
+
text: string;
|
|
19
|
+
score?: number;
|
|
20
|
+
kind?: 'rdf_literal' | 'text_chunk' | 'vector_chunk' | 'message' | 'file';
|
|
21
|
+
workspace?: string;
|
|
22
|
+
localPath?: string;
|
|
23
|
+
heading?: string;
|
|
24
|
+
metadata?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
export interface RunRetrievedContext {
|
|
27
|
+
query: string;
|
|
28
|
+
items: RunRetrievedContextItem[];
|
|
29
|
+
generatedAt?: number;
|
|
30
|
+
plan?: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface RunContextRetrievalInput<TContext = StoreContext> {
|
|
33
|
+
runId: string;
|
|
34
|
+
threadId: string;
|
|
35
|
+
prompt: string;
|
|
36
|
+
conversation: RunConversationMessage[];
|
|
37
|
+
config: AgentRuntimeConfig;
|
|
38
|
+
context: TContext;
|
|
39
|
+
}
|
|
40
|
+
export interface RunContextRetriever<TContext = StoreContext> {
|
|
41
|
+
retrieve(input: RunContextRetrievalInput<TContext>): Promise<RunRetrievedContext | undefined>;
|
|
42
|
+
}
|
|
12
43
|
export interface RunExecutionInput {
|
|
13
44
|
runId: string;
|
|
14
45
|
threadId: string;
|
|
@@ -19,6 +50,13 @@ export interface RunExecutionInput {
|
|
|
19
50
|
* request-scoped caches and restore from this input on every run.
|
|
20
51
|
*/
|
|
21
52
|
conversation: RunConversationMessage[];
|
|
53
|
+
/**
|
|
54
|
+
* Optional product-level context retrieved before runtime execution starts.
|
|
55
|
+
* The retriever may use RDF facts, text chunks, vector chunks, or other
|
|
56
|
+
* derived indexes; runtime drivers only project these snippets into their
|
|
57
|
+
* prompt/session format.
|
|
58
|
+
*/
|
|
59
|
+
retrievedContext?: RunRetrievedContext;
|
|
22
60
|
config: AgentRuntimeConfig;
|
|
23
61
|
/**
|
|
24
62
|
* Server-side auth binding used by unattended/durable Run callbacks to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunExecutionBackend.js","sourceRoot":"","sources":["../../../src/api/runs/RunExecutionBackend.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AgentRuntimeConfig,\n AgentRuntimeEvent,\n} from './AgentRuntimeTypes';\nimport type { StoreContext } from '../chatkit/store';\n\nexport type RunConversationMessage =\n | { role: 'user'; text: string; createdAt: number }\n | { role: 'assistant'; text: string; createdAt: number };\n\nexport interface RunExecutionInput {\n runId: string;\n threadId: string;\n prompt: string;\n /**\n * Durable conversation projection loaded by Xpod from Pod state before this\n * execution starts. Runtime drivers must treat their own sessions as\n * request-scoped caches and restore from this input on every run.\n */\n conversation: RunConversationMessage[];\n config: AgentRuntimeConfig;\n /**\n * Server-side auth binding used by unattended/durable Run callbacks to\n * restore Pod access without serializing secrets into queue events.\n */\n authBindingId?: string;\n /**\n * Present when a paused Run is being placed back on the execution queue.\n * This does not create a new Run; it resumes the same message-level Run\n * after external input such as a client tool result or approval.\n */\n continuation?: {\n kind: 'client_tool_output' | 'approval' | 'user_input';\n itemId?: string;\n };\n /**\n * Optional request context for in-process enqueue adapters. Durable workers\n * must restore Pod access from non-secret event data or service-side lookup;\n * access tokens must not be serialized into external queues.\n */\n context?: StoreContext;\n}\n\n/**\n * Execution boundary for an already-created Xpod Run.\n *\n * Implementations may enqueue, kick, or execute inline, but they must not own\n * the business state for the run. Pod-backed Run/Thread/Message/RunStep state\n * stays authoritative; backend ids are diagnostics only.\n */\nexport interface RunExecutionBackend {\n start(input: RunExecutionInput): AsyncIterable<AgentRuntimeEvent>;\n}\n\nexport interface RunEnqueueResult {\n runId: string;\n externalRunId?: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RunExecutionBackend.js","sourceRoot":"","sources":["../../../src/api/runs/RunExecutionBackend.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n AgentRuntimeConfig,\n AgentRuntimeEvent,\n} from './AgentRuntimeTypes';\nimport type { StoreContext } from '../chatkit/store';\n\nexport type RunConversationMessage =\n | { role: 'user'; text: string; createdAt: number }\n | { role: 'assistant'; text: string; createdAt: number };\n\nexport interface RunRetrievedContextItem {\n /**\n * Stable Pod resource, file URI, or runtime source identifier that produced\n * this context item.\n */\n source: string;\n text: string;\n score?: number;\n kind?: 'rdf_literal' | 'text_chunk' | 'vector_chunk' | 'message' | 'file';\n workspace?: string;\n localPath?: string;\n heading?: string;\n metadata?: Record<string, unknown>;\n}\n\nexport interface RunRetrievedContext {\n query: string;\n items: RunRetrievedContextItem[];\n generatedAt?: number;\n plan?: string[];\n}\n\nexport interface RunContextRetrievalInput<TContext = StoreContext> {\n runId: string;\n threadId: string;\n prompt: string;\n conversation: RunConversationMessage[];\n config: AgentRuntimeConfig;\n context: TContext;\n}\n\nexport interface RunContextRetriever<TContext = StoreContext> {\n retrieve(input: RunContextRetrievalInput<TContext>): Promise<RunRetrievedContext | undefined>;\n}\n\nexport interface RunExecutionInput {\n runId: string;\n threadId: string;\n prompt: string;\n /**\n * Durable conversation projection loaded by Xpod from Pod state before this\n * execution starts. Runtime drivers must treat their own sessions as\n * request-scoped caches and restore from this input on every run.\n */\n conversation: RunConversationMessage[];\n /**\n * Optional product-level context retrieved before runtime execution starts.\n * The retriever may use RDF facts, text chunks, vector chunks, or other\n * derived indexes; runtime drivers only project these snippets into their\n * prompt/session format.\n */\n retrievedContext?: RunRetrievedContext;\n config: AgentRuntimeConfig;\n /**\n * Server-side auth binding used by unattended/durable Run callbacks to\n * restore Pod access without serializing secrets into queue events.\n */\n authBindingId?: string;\n /**\n * Present when a paused Run is being placed back on the execution queue.\n * This does not create a new Run; it resumes the same message-level Run\n * after external input such as a client tool result or approval.\n */\n continuation?: {\n kind: 'client_tool_output' | 'approval' | 'user_input';\n itemId?: string;\n };\n /**\n * Optional request context for in-process enqueue adapters. Durable workers\n * must restore Pod access from non-secret event data or service-side lookup;\n * access tokens must not be serialized into external queues.\n */\n context?: StoreContext;\n}\n\n/**\n * Execution boundary for an already-created Xpod Run.\n *\n * Implementations may enqueue, kick, or execute inline, but they must not own\n * the business state for the run. Pod-backed Run/Thread/Message/RunStep state\n * stays authoritative; backend ids are diagnostics only.\n */\nexport interface RunExecutionBackend {\n start(input: RunExecutionInput): AsyncIterable<AgentRuntimeEvent>;\n}\n\nexport interface RunEnqueueResult {\n runId: string;\n externalRunId?: string;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ChatKitStore, StoreContext } from '../chatkit/store';
|
|
1
|
+
import type { ChatKitStore, ClientToolContinuationClaim, StoreContext } from '../chatkit/store';
|
|
2
2
|
import type { ClientEffect, ThreadItem, ThreadMetadata, ThreadRef, UserMessageItem } from '../chatkit/types';
|
|
3
|
-
import type
|
|
4
|
-
import type { RunExecutionBackend } from './RunExecutionBackend';
|
|
3
|
+
import { type AgentRuntimeConfig } from './AgentRuntimeTypes';
|
|
4
|
+
import type { RunContextRetriever, RunExecutionBackend } from './RunExecutionBackend';
|
|
5
5
|
export type RunStateEvent = {
|
|
6
6
|
type: 'item_added';
|
|
7
7
|
item: ThreadItem;
|
|
@@ -24,6 +24,11 @@ export interface RunStateCenterOptions<TContext = StoreContext> {
|
|
|
24
24
|
store: ChatKitStore<TContext>;
|
|
25
25
|
enableAgentRuntime?: boolean;
|
|
26
26
|
executionBackend?: RunExecutionBackend;
|
|
27
|
+
contextRetriever?: RunContextRetriever<TContext>;
|
|
28
|
+
}
|
|
29
|
+
export interface PreparedClientToolOutput {
|
|
30
|
+
claim: ClientToolContinuationClaim;
|
|
31
|
+
output: string;
|
|
27
32
|
}
|
|
28
33
|
/**
|
|
29
34
|
* Run is the xpod-side state center for Agent execution.
|
|
@@ -37,6 +42,7 @@ export declare class RunStateCenter<TContext = StoreContext> {
|
|
|
37
42
|
private readonly runStore?;
|
|
38
43
|
private readonly enableAgentRuntime;
|
|
39
44
|
private readonly executionBackend;
|
|
45
|
+
private readonly contextRetriever?;
|
|
40
46
|
constructor(options: RunStateCenterOptions<TContext>);
|
|
41
47
|
getAgentRuntimeConfig(thread: ThreadMetadata, context?: TContext): AgentRuntimeConfig | null;
|
|
42
48
|
getDefaultAgentRuntimeConfig(context: TContext): AgentRuntimeConfig | null;
|
|
@@ -48,12 +54,21 @@ export declare class RunStateCenter<TContext = StoreContext> {
|
|
|
48
54
|
context: TContext;
|
|
49
55
|
runtimeConfig: AgentRuntimeConfig;
|
|
50
56
|
}): AsyncIterable<RunStateEvent>;
|
|
57
|
+
private retrieveRunContext;
|
|
58
|
+
prepareClientToolOutput(input: {
|
|
59
|
+
threadRef: ThreadRef;
|
|
60
|
+
itemId: string;
|
|
61
|
+
output: string;
|
|
62
|
+
context: TContext;
|
|
63
|
+
}): Promise<PreparedClientToolOutput | undefined>;
|
|
64
|
+
releaseClientToolOutput(prepared: PreparedClientToolOutput, context: TContext): Promise<boolean>;
|
|
51
65
|
completeClientToolOutput(input: {
|
|
52
66
|
threadRef: ThreadRef;
|
|
53
67
|
itemId: string;
|
|
54
68
|
output: string;
|
|
55
69
|
context: TContext;
|
|
56
70
|
}): AsyncIterable<RunStateEvent>;
|
|
71
|
+
completePreparedClientToolOutput(prepared: PreparedClientToolOutput, context: TContext): AsyncIterable<RunStateEvent>;
|
|
57
72
|
private resolveRunStore;
|
|
58
73
|
private createRun;
|
|
59
74
|
private markRunStarted;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RunStateCenter = void 0;
|
|
4
4
|
const types_1 = require("../chatkit/types");
|
|
5
|
+
const AgentRuntimeTypes_1 = require("./AgentRuntimeTypes");
|
|
5
6
|
const InngestRunExecutionBackend_1 = require("./InngestRunExecutionBackend");
|
|
6
7
|
const types_2 = require("../workspace/types");
|
|
7
8
|
const schema_1 = require("./schema");
|
|
@@ -10,6 +11,7 @@ const RUN_WAITING_STATUSES = new Set([
|
|
|
10
11
|
schema_1.RunStatus.WAITING_INPUT,
|
|
11
12
|
schema_1.RunStatus.WAITING_RUNNER,
|
|
12
13
|
]);
|
|
14
|
+
const CLIENT_TOOL_CONTINUATION_LEASE_MS = 5 * 60_000;
|
|
13
15
|
/**
|
|
14
16
|
* Run is the xpod-side state center for Agent execution.
|
|
15
17
|
*
|
|
@@ -23,6 +25,7 @@ class RunStateCenter {
|
|
|
23
25
|
this.runStore = this.resolveRunStore(options.store);
|
|
24
26
|
this.enableAgentRuntime = options.enableAgentRuntime ?? false;
|
|
25
27
|
this.executionBackend = options.executionBackend ?? new InngestRunExecutionBackend_1.InngestRunExecutionBackend();
|
|
28
|
+
this.contextRetriever = options.contextRetriever;
|
|
26
29
|
}
|
|
27
30
|
getAgentRuntimeConfig(thread, context) {
|
|
28
31
|
if (!this.enableAgentRuntime) {
|
|
@@ -46,7 +49,7 @@ class RunStateCenter {
|
|
|
46
49
|
if (!workspace) {
|
|
47
50
|
throw new Error('Invalid thread runtime: workspace reference is required');
|
|
48
51
|
}
|
|
49
|
-
return {
|
|
52
|
+
return (0, AgentRuntimeTypes_1.withInvocationAiConnection)({
|
|
50
53
|
...runtime,
|
|
51
54
|
workspace,
|
|
52
55
|
runner: {
|
|
@@ -55,7 +58,7 @@ class RunStateCenter {
|
|
|
55
58
|
protocol,
|
|
56
59
|
},
|
|
57
60
|
agentConfig: runtime.agentConfig,
|
|
58
|
-
};
|
|
61
|
+
}, context);
|
|
59
62
|
}
|
|
60
63
|
getDefaultAgentRuntimeConfig(context) {
|
|
61
64
|
if (!this.enableAgentRuntime) {
|
|
@@ -92,11 +95,21 @@ class RunStateCenter {
|
|
|
92
95
|
await this.markRunStarted(run, context);
|
|
93
96
|
const assistantState = { item: assistantItem, fullText: '' };
|
|
94
97
|
let runtimeError;
|
|
98
|
+
const conversation = await this.loadConversation(threadRef, userMessage.id, context);
|
|
99
|
+
const retrievedContext = await this.retrieveRunContext({
|
|
100
|
+
runId: run.id,
|
|
101
|
+
threadId: thread.id,
|
|
102
|
+
prompt,
|
|
103
|
+
conversation,
|
|
104
|
+
config: runtimeConfig,
|
|
105
|
+
context,
|
|
106
|
+
});
|
|
95
107
|
for await (const event of this.executionBackend.start({
|
|
96
108
|
runId: run.id,
|
|
97
109
|
threadId: thread.id,
|
|
98
110
|
prompt,
|
|
99
|
-
conversation
|
|
111
|
+
conversation,
|
|
112
|
+
retrievedContext,
|
|
100
113
|
config: runtimeConfig,
|
|
101
114
|
context: context,
|
|
102
115
|
})) {
|
|
@@ -128,12 +141,56 @@ class RunStateCenter {
|
|
|
128
141
|
await this.finishRun(run, runtimeError ? schema_1.RunStatus.FAILED : schema_1.RunStatus.COMPLETED, context, runtimeError);
|
|
129
142
|
yield { type: 'item_done', item: finalItem };
|
|
130
143
|
}
|
|
131
|
-
async
|
|
144
|
+
async retrieveRunContext(input) {
|
|
145
|
+
const retrieved = await this.contextRetriever?.retrieve(input);
|
|
146
|
+
if (!retrieved || retrieved.items.length === 0) {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
return retrieved;
|
|
150
|
+
}
|
|
151
|
+
async prepareClientToolOutput(input) {
|
|
132
152
|
const { threadRef, itemId, output, context } = input;
|
|
133
|
-
|
|
134
|
-
|
|
153
|
+
if (!this.store.claimClientToolContinuation) {
|
|
154
|
+
throw new Error('Durable client tool continuation claim capability is required');
|
|
155
|
+
}
|
|
156
|
+
const now = (0, types_1.nowTimestamp)();
|
|
157
|
+
const claim = await this.store.claimClientToolContinuation({
|
|
158
|
+
threadRef,
|
|
159
|
+
itemId,
|
|
160
|
+
claimId: (0, types_1.generateId)('client-tool-continuation'),
|
|
161
|
+
leaseExpiresAt: now + CLIENT_TOOL_CONTINUATION_LEASE_MS,
|
|
162
|
+
now,
|
|
163
|
+
}, context);
|
|
164
|
+
if (!claim) {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
return { claim, output };
|
|
168
|
+
}
|
|
169
|
+
async releaseClientToolOutput(prepared, context) {
|
|
170
|
+
if (!this.store.releaseClientToolContinuation) {
|
|
171
|
+
throw new Error('Durable client tool continuation release capability is required');
|
|
172
|
+
}
|
|
173
|
+
return this.store.releaseClientToolContinuation(prepared.claim, (0, types_1.nowTimestamp)(), context);
|
|
174
|
+
}
|
|
175
|
+
async *completeClientToolOutput(input) {
|
|
176
|
+
const prepared = await this.prepareClientToolOutput(input);
|
|
177
|
+
if (!prepared) {
|
|
135
178
|
return;
|
|
136
179
|
}
|
|
180
|
+
let completed = false;
|
|
181
|
+
try {
|
|
182
|
+
yield* this.completePreparedClientToolOutput(prepared, input.context);
|
|
183
|
+
completed = true;
|
|
184
|
+
}
|
|
185
|
+
finally {
|
|
186
|
+
if (!completed) {
|
|
187
|
+
await this.releaseClientToolOutput(prepared, input.context);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async *completePreparedClientToolOutput(prepared, context) {
|
|
192
|
+
const { threadRef, item, run } = prepared.claim;
|
|
193
|
+
const { output } = prepared;
|
|
137
194
|
const updatedItem = {
|
|
138
195
|
...item,
|
|
139
196
|
output,
|
|
@@ -141,10 +198,6 @@ class RunStateCenter {
|
|
|
141
198
|
};
|
|
142
199
|
await this.store.saveItem(threadRef, updatedItem, context);
|
|
143
200
|
yield { type: 'item_done', item: updatedItem };
|
|
144
|
-
const run = await this.resolveWaitingRunForToolOutput(updatedItem, threadRef, context);
|
|
145
|
-
if (!run) {
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
201
|
const now = (0, types_1.nowTimestamp)();
|
|
149
202
|
await this.appendRunStep(run, schema_1.XpodRunStepType.CLIENT_TOOL_OUTPUT, context, {
|
|
150
203
|
message: updatedItem.name,
|
|
@@ -162,8 +215,6 @@ class RunStateCenter {
|
|
|
162
215
|
},
|
|
163
216
|
});
|
|
164
217
|
run.status = schema_1.RunStatus.QUEUED;
|
|
165
|
-
run.leaseOwner = undefined;
|
|
166
|
-
run.leaseExpiresAt = undefined;
|
|
167
218
|
run.completedAt = undefined;
|
|
168
219
|
run.error = undefined;
|
|
169
220
|
run.updatedAt = now;
|
|
@@ -191,12 +242,24 @@ class RunStateCenter {
|
|
|
191
242
|
fullText: (0, types_1.extractAssistantMessageText)(assistantItem.content),
|
|
192
243
|
};
|
|
193
244
|
await this.markRunStarted(run, context);
|
|
245
|
+
const continuationPrompt = this.buildContinuationPrompt(updatedItem);
|
|
246
|
+
const conversation = await this.loadConversation(threadRef, String(run.metadata?.userMessageId ?? updatedItem.id), context);
|
|
247
|
+
const runtimeConfig = this.resolveRuntimeConfigForContinuation(run, context);
|
|
248
|
+
const retrievedContext = await this.retrieveRunContext({
|
|
249
|
+
runId: run.id,
|
|
250
|
+
threadId: this.extractThreadIdFromRef(threadRef),
|
|
251
|
+
prompt: continuationPrompt,
|
|
252
|
+
conversation,
|
|
253
|
+
config: runtimeConfig,
|
|
254
|
+
context,
|
|
255
|
+
});
|
|
194
256
|
for await (const event of this.executionBackend.start({
|
|
195
257
|
runId: run.id,
|
|
196
258
|
threadId: this.extractThreadIdFromRef(threadRef),
|
|
197
|
-
prompt:
|
|
198
|
-
conversation
|
|
199
|
-
|
|
259
|
+
prompt: continuationPrompt,
|
|
260
|
+
conversation,
|
|
261
|
+
retrievedContext,
|
|
262
|
+
config: runtimeConfig,
|
|
200
263
|
continuation: {
|
|
201
264
|
kind: 'client_tool_output',
|
|
202
265
|
itemId: updatedItem.id,
|
|
@@ -222,11 +285,7 @@ class RunStateCenter {
|
|
|
222
285
|
if (result.action === 'return') {
|
|
223
286
|
return;
|
|
224
287
|
}
|
|
225
|
-
|
|
226
|
-
await this.store.saveItem(threadRef, finalItem, context);
|
|
227
|
-
await this.finishRun(run, schema_1.RunStatus.FAILED, context, result.message);
|
|
228
|
-
yield { type: 'item_done', item: finalItem };
|
|
229
|
-
return;
|
|
288
|
+
throw new Error(result.message);
|
|
230
289
|
}
|
|
231
290
|
const finalItem = this.finalizeAssistantMessage(assistantState.item, assistantState.fullText, 'completed');
|
|
232
291
|
await this.store.saveItem(threadRef, finalItem, context);
|
|
@@ -262,7 +321,7 @@ class RunStateCenter {
|
|
|
262
321
|
metadata: {
|
|
263
322
|
threadId: thread.id,
|
|
264
323
|
userMessageId: userMessage.id,
|
|
265
|
-
runtimeConfig,
|
|
324
|
+
runtimeConfig: (0, AgentRuntimeTypes_1.toPersistedAgentRuntimeConfig)(runtimeConfig),
|
|
266
325
|
},
|
|
267
326
|
createdAt: now,
|
|
268
327
|
updatedAt: now,
|
|
@@ -292,6 +351,8 @@ class RunStateCenter {
|
|
|
292
351
|
const now = (0, types_1.nowTimestamp)();
|
|
293
352
|
run.status = status;
|
|
294
353
|
run.completedAt = now;
|
|
354
|
+
run.leaseOwner = undefined;
|
|
355
|
+
run.leaseExpiresAt = undefined;
|
|
295
356
|
run.updatedAt = now;
|
|
296
357
|
run.error = error;
|
|
297
358
|
await this.saveRun(run, context);
|
|
@@ -436,7 +497,7 @@ class RunStateCenter {
|
|
|
436
497
|
return schema_1.XpodRunStepType.FAILED;
|
|
437
498
|
}
|
|
438
499
|
async saveRun(run, context) {
|
|
439
|
-
await this.runStore?.saveRun(run, context);
|
|
500
|
+
await this.runStore?.saveRun((0, AgentRuntimeTypes_1.deepScrubGatewayKey)(run), context);
|
|
440
501
|
}
|
|
441
502
|
async appendRunStep(run, type, context, options = {}) {
|
|
442
503
|
const createdAt = (0, types_1.nowTimestamp)();
|
|
@@ -547,10 +608,10 @@ class RunStateCenter {
|
|
|
547
608
|
buildContinuationPrompt(item) {
|
|
548
609
|
return `Continue the previous run after client tool output.\n\nTool: ${item.name}\nOutput:\n${item.output ?? ''}`;
|
|
549
610
|
}
|
|
550
|
-
resolveRuntimeConfigForContinuation(run) {
|
|
611
|
+
resolveRuntimeConfigForContinuation(run, context) {
|
|
551
612
|
const runtimeConfig = run.metadata?.runtimeConfig;
|
|
552
613
|
if (runtimeConfig && typeof runtimeConfig === 'object') {
|
|
553
|
-
return runtimeConfig;
|
|
614
|
+
return (0, AgentRuntimeTypes_1.withInvocationAiConnection)(runtimeConfig, context);
|
|
554
615
|
}
|
|
555
616
|
if (!(0, types_2.isWorkspaceRef)(run.workspace)) {
|
|
556
617
|
throw new Error('Run workspace reference is required');
|