@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obj.js","sourceRoot":"","sources":["../../../src/cli/commands/obj.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Argv, CommandModule } from 'yargs';\nimport { appendFileSync, mkdirSync, readFileSync, writeFileSync } from 'fs';\nimport { dirname, join } from 'path';\nimport {\n createPodModelDescriptorRegistry,\n createPodStorage,\n podSchema,\n type PodModelDescriptor,\n type PodModelFieldDescriptor,\n type PodStorageMutationPlan,\n} from '@undefineds.co/models';\nimport { normalizeBaseUrl, requireAuthContext, type CliAuthContext } from '../lib/auth-context';\nimport { getSolidHomeDir } from '../lib/credentials-store';\nimport { CliCommandError, handleCliError, writeJsonItems, writeJsonResult } from '../lib/output';\nimport {\n ensureOk,\n fetchResource,\n readBodyFile,\n resolveResourceTarget,\n responseData,\n} from '../lib/resource';\nimport { documentResourceInput, resolveSparqlEndpoint } from './rdf';\n\ninterface ObjArgs {\n url?: string;\n json: boolean;\n}\n\ninterface ObjImportArgs extends ObjArgs {\n file: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjUpsertArgs extends ObjArgs {\n schema: string;\n from: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjSchemasArgs extends ObjArgs {\n domain?: string;\n}\n\ninterface ObjDescribeArgs extends ObjArgs {\n schema: string;\n}\n\ninterface ObjSelectorArgs extends ObjArgs {\n selector?: string;\n schema?: string;\n subject?: string;\n resource?: string;\n path?: string;\n where?: string;\n status?: string;\n relation?: string[];\n format: string;\n out?: string;\n limit: number;\n since?: string;\n 'include-metadata': boolean;\n}\n\ninterface ObjGetArgs extends ObjArgs {\n schema?: string;\n subject: string;\n out?: string;\n 'include-metadata': boolean;\n}\n\ninterface ObjPatchArgs extends ObjArgs {\n schema?: string;\n subject: string;\n set: string;\n 'if-match'?: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjLinkArgs extends ObjArgs {\n schema?: string;\n subject: string;\n predicate: string;\n object: string;\n 'if-match'?: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjDeleteArgs extends ObjArgs {\n schema?: string;\n subject: string;\n 'if-match'?: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjMutationRow {\n op?: string;\n schema?: string;\n match?: Record<string, unknown>;\n set?: Record<string, unknown>;\n subject?: string;\n path?: string;\n resource?: string;\n predicate?: string;\n object?: string;\n ifMatch?: string;\n body?: string;\n from?: string;\n contentType?: string;\n}\n\ninterface ResolvedObjSelector {\n descriptor: PodModelDescriptor;\n subject?: string;\n resourceUrl?: string;\n where: Record<string, unknown>;\n relations: Record<string, string>;\n limit: number;\n includeMetadata: boolean;\n}\n\ninterface DescriptorObject {\n schema: string;\n subject: string;\n resourceUrl: string;\n etag?: string | null;\n revision?: string | null;\n object: Record<string, unknown>;\n}\n\ntype SparqlBinding = {\n type?: string;\n value?: string;\n datatype?: string;\n};\n\ntype ItemResult = {\n index: number;\n ok: boolean;\n code: string;\n message?: string;\n [key: string]: unknown;\n};\ntype ObjMutationContext = CliAuthContext & {\n planningOnly?: boolean;\n planningWarning?: string;\n pendingOnly?: boolean;\n pendingWarning?: string;\n outboxPath?: string;\n};\n\ntype DiscoveryDescriptor = PodModelDescriptor & {\n aliases?: string[];\n domains?: string[];\n idSemantics?: Record<string, unknown>;\n relationFields?: string[];\n documentPathPolicy?: Record<string, unknown>;\n exampleInput?: Record<string, unknown>;\n};\n\nfunction objOptions<T>(yargs: Argv): Argv<T> {\n return yargs\n .option('url', {\n alias: 'u',\n type: 'string',\n description: 'Server base URL override',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n description: 'Output JSON envelope',\n }) as unknown as Argv<T>;\n}\n\nfunction selectorOptions<T extends ObjSelectorArgs>(yargs: Argv): Argv<T> {\n return objOptions<T>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias' })\n .option('subject', { type: 'string', description: 'Exact object subject URI or Pod-relative subject' })\n .option('resource', { type: 'string', description: 'Exact RDF document/resource URI or Pod-relative path' })\n .option('path', { type: 'string', description: 'Pod-relative resource path' })\n .option('where', { type: 'string', description: 'JSON object of descriptor field filters' })\n .option('status', { type: 'string', description: 'Shortcut for --where {\"status\": \"...\"} when the descriptor has a status field' })\n .option('relation', { type: 'array', string: true, description: 'Descriptor URI relation filter, field=uri. Repeatable.' })\n .option('limit', { type: 'number', default: 100, description: 'Maximum number of rows' })\n .option('include-metadata', { type: 'boolean', default: true, description: 'Include etag/revision metadata when available' }) as unknown as Argv<T>;\n}\n\nfunction mutationModeCheck(argv: { 'dry-run'?: boolean; commit?: boolean }): true {\n if (argv['dry-run'] === argv.commit) {\n throw new Error('Specify exactly one of --dry-run or --commit.');\n }\n return true;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction parseJsonObject(value: string, code: string): Record<string, unknown> {\n try {\n const parsed = JSON.parse(value) as unknown;\n if (!isRecord(parsed)) {\n throw new Error('Expected a JSON object.');\n }\n return parsed;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new CliCommandError(code, message, 2);\n }\n}\n\nasync function readStdinText(): Promise<string> {\n const chunks: Buffer[] = [];\n for await (const chunk of process.stdin) {\n chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk)));\n }\n return Buffer.concat(chunks).toString('utf-8');\n}\n\nasync function readTextInput(input: string): Promise<string> {\n return input === '-' ? readStdinText() : readFileSync(input, 'utf-8');\n}\n\nasync function readJsonl(input: string): Promise<ObjMutationRow[]> {\n return (await readTextInput(input))\n .split(/\\r?\\n/u)\n .map((line) => line.trim())\n .filter(Boolean)\n .map((line, index) => {\n try {\n const parsed = JSON.parse(line) as unknown;\n if (!isRecord(parsed)) {\n throw new Error('Expected a JSON object.');\n }\n return parsed as ObjMutationRow;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new CliCommandError('invalid_jsonl', `Invalid JSONL at line ${index + 1}: ${message}`, 2);\n }\n });\n}\n\nfunction descriptorLocalName(value: string): string {\n return value.split(/[\\/#]/u).filter(Boolean).pop() ?? value;\n}\n\nfunction normalizeDescriptorAlias(value: string): string {\n return value.toLowerCase().replace(/[^a-z0-9]+/gu, '');\n}\n\nfunction descriptorAliases(descriptor: PodModelDescriptor): string[] {\n const discovery = descriptor as DiscoveryDescriptor;\n return discovery.aliases?.length ? discovery.aliases : [ descriptorLocalName(descriptor.class) ];\n}\n\nfunction descriptorMatchesRef(descriptor: PodModelDescriptor, ref: string): boolean {\n const normalized = normalizeDescriptorAlias(ref);\n return descriptor.uri === ref ||\n descriptor.class === ref ||\n descriptor.resourceKind.toLowerCase() === ref.trim().toLowerCase() ||\n normalizeDescriptorAlias(descriptorLocalName(descriptor.uri)) === normalized ||\n normalizeDescriptorAlias(descriptorLocalName(descriptor.class)) === normalized ||\n descriptorAliases(descriptor).some((alias) => normalizeDescriptorAlias(alias) === normalized);\n}\n\nfunction resolveDescriptorOrNull(schema: string): PodModelDescriptor | null {\n const exact = podSchema.describe({ schemaUri: schema }) ??\n (podSchema as unknown as { describe(input: { alias: string }): PodModelDescriptor | null }).describe?.({ alias: schema });\n if (exact) return exact;\n\n return podSchema.list().find((descriptor) => descriptorMatchesRef(descriptor, schema)) ?? null;\n}\n\nfunction resolveDescriptor(schema: string): PodModelDescriptor {\n const descriptor = resolveDescriptorOrNull(schema);\n if (!descriptor) {\n throw new CliCommandError('schema_unknown', `Schema is not known by @undefineds.co/models: ${schema}`, 2);\n }\n return descriptor;\n}\n\nfunction resourceUrlFromPlan(podRoot: string, plan: PodStorageMutationPlan): string {\n return new URL(plan.resourceUri.replace(/^\\/+/, ''), podRoot).toString();\n}\n\nexport async function resolveObjMutationContext(argv: ObjArgs, commit: boolean): Promise<ObjMutationContext> {\n try {\n return await requireAuthContext(argv);\n } catch (error) {\n const podRoot = normalizeBaseUrl(argv.url ?? 'https://pod.local/');\n const outboxPath = getObjLocalOutboxPath();\n return {\n baseUrl: podRoot,\n webId: 'urn:xpod:unauthenticated',\n podRoot,\n baseIri: podRoot,\n accessToken: '',\n credentials: {\n url: podRoot,\n webId: 'urn:xpod:unauthenticated',\n authType: 'client_credentials',\n secrets: {\n clientId: '',\n clientSecret: '',\n },\n },\n ...(commit\n ? {\n pendingOnly: true,\n outboxPath,\n pendingWarning: `No Solid credentials found; mutation was written to local xpod outbox at ${outboxPath} and was not saved to a Pod.`,\n }\n : {\n planningOnly: true,\n planningWarning: 'No Solid credentials found; this is an offline dry-run plan and was not saved to a Pod.',\n }),\n };\n }\n}\n\nexport function getObjLocalOutboxPath(): string {\n return join(getSolidHomeDir(), 'apps', 'xpod', 'outbox', 'obj-mutations.jsonl');\n}\n\nfunction appendObjLocalOutbox(entry: Record<string, unknown>, outboxPath = getObjLocalOutboxPath()): void {\n mkdirSync(dirname(outboxPath), { recursive: true });\n appendFileSync(outboxPath, `${JSON.stringify(entry)}\\n`, 'utf-8');\n}\n\nfunction varName(field: string): string {\n return `v_${field.replace(/[^A-Za-z0-9_]/gu, '_')}`;\n}\n\nfunction fieldVar(field: string): string {\n return `?${varName(field)}`;\n}\n\nfunction sparqlIri(value: string): string {\n if (!/^https?:\\/\\//iu.test(value)) {\n throw new CliCommandError('invalid_uri', `Expected an absolute URI: ${value}`, 2);\n }\n return `<${value.replace(/[<>]/gu, '')}>`;\n}\n\nfunction sparqlValue(value: unknown, field?: PodModelFieldDescriptor): string {\n if (field?.type === 'uri') {\n if (typeof value !== 'string') {\n throw new CliCommandError('invalid_uri', `Field expects a URI value: ${String(value)}`, 2);\n }\n return sparqlIri(value);\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return JSON.stringify(value);\n }\n if (field?.type === 'json') {\n return JSON.stringify(JSON.stringify(value));\n }\n return JSON.stringify(String(value));\n}\n\nfunction assertKnownFields(descriptor: PodModelDescriptor, values: Record<string, unknown>, code = 'field_unknown'): void {\n const unknown = Object.keys(values).filter((field) => !descriptor.fields[field]);\n if (unknown.length > 0) {\n throw new CliCommandError(code, `Fields are not known by descriptor ${descriptor.uri}: ${unknown.join(', ')}`, 2);\n }\n}\n\nfunction assertWritableFields(descriptor: PodModelDescriptor, values: Record<string, unknown>): void {\n assertKnownFields(descriptor, values);\n const invalid = Object.keys(values).filter((field) => !descriptor.writableFields.includes(field));\n if (invalid.length > 0) {\n throw new CliCommandError('invalid_set_fields', `Fields are not writable: ${invalid.join(', ')}`, 2);\n }\n}\n\nexport function redactDescriptorObject(descriptor: PodModelDescriptor, value: Record<string, unknown>): Record<string, unknown> {\n const redacted: Record<string, unknown> = {};\n for (const [ key, item ] of Object.entries(value)) {\n redacted[key] = descriptor.fields[key]?.secret ? '[redacted]' : item;\n }\n return redacted;\n}\n\nexport function serializeSchemaDescriptor(descriptor: PodModelDescriptor): Record<string, unknown> {\n const discovery = descriptor as DiscoveryDescriptor;\n return {\n schema: descriptor.uri,\n uri: descriptor.uri,\n alias: descriptorAliases(descriptor)[0] ?? descriptor.resourceKind,\n aliases: descriptorAliases(descriptor),\n domains: discovery.domains ?? [],\n version: descriptor.version,\n source: descriptor.source,\n trustLevel: descriptor.trustLevel,\n namespace: descriptor.namespace,\n class: descriptor.class,\n resourceKind: descriptor.resourceKind,\n description: descriptor.description,\n storage: descriptor.storage,\n idSemantics: discovery.idSemantics ?? null,\n relationFields: discovery.relationFields ?? Object.entries(descriptor.fields)\n .filter(([, field]) => field.type === 'uri')\n .map(([ field ]) => field),\n documentPathPolicy: discovery.documentPathPolicy ?? null,\n fields: descriptor.fields,\n requiredFields: Object.entries(descriptor.fields)\n .filter(([, field]) => field.required)\n .map(([ field ]) => field),\n uniqueBy: descriptor.uniqueBy,\n writableFields: descriptor.writableFields,\n mergePolicy: descriptor.mergePolicy,\n exampleInput: discovery.exampleInput ?? descriptor.examples[0] ?? null,\n examples: descriptor.examples,\n };\n}\n\nexport function listSchemaDescriptors(\n input: { domain?: string } = {},\n descriptors: readonly PodModelDescriptor[] = podSchema.list(),\n): Record<string, unknown>[] {\n return descriptors\n .filter((descriptor) => !input.domain || ((descriptor as DiscoveryDescriptor).domains ?? []).includes(input.domain))\n .map(serializeSchemaDescriptor);\n}\n\nexport function describeSchemaDescriptor(\n schemaOrAlias: string,\n descriptors: readonly PodModelDescriptor[] = podSchema.list(),\n): Record<string, unknown> | null {\n const descriptor = descriptors.find((item) => descriptorMatchesRef(item, schemaOrAlias));\n return descriptor ? serializeSchemaDescriptor(descriptor) : null;\n}\n\nexport function buildDescriptorUpsertSparql(descriptor: PodModelDescriptor, subject: string, row: ObjMutationRow): string {\n const fields = descriptor.fields;\n const match = row.match ?? {};\n const set = row.set ?? {};\n assertKnownFields(descriptor, match);\n assertWritableFields(descriptor, set);\n\n const merged = { ...match, ...set };\n const deleteFields = Object.keys(set).filter((field) => fields[field]);\n const deletes = deleteFields.map((field) =>\n `<${subject}> <${fields[field].predicate}> ?old_${field.replace(/[^A-Za-z0-9_]/gu, '_')} .`,\n );\n const optionals = deleteFields.map((field) =>\n `OPTIONAL { <${subject}> <${fields[field].predicate}> ?old_${field.replace(/[^A-Za-z0-9_]/gu, '_')} }`,\n );\n const inserts = [\n `<${subject}> a <${descriptor.class}>`,\n ...Object.entries(merged)\n .filter(([ field, value ]) => fields[field] && value !== undefined && value !== null)\n .map(([ field, value ]) => `<${subject}> <${fields[field].predicate}> ${sparqlValue(value, fields[field])}`),\n ];\n\n return `DELETE {\\n ${deletes.join('\\n ')}\\n}\\nINSERT {\\n ${inserts.join(' .\\n ')} .\\n}\\nWHERE {\\n ${optionals.join('\\n ')}\\n}`;\n}\n\nexport function buildDescriptorPatchSparql(descriptor: PodModelDescriptor, subject: string, set: Record<string, unknown>): string {\n return buildDescriptorUpsertSparql(descriptor, subject, { set });\n}\n\nexport function buildDescriptorLinkSparql(subject: string, predicate: string, object: string): string {\n return `INSERT DATA {\\n <${subject}> <${predicate}> ${sparqlIri(object)} .\\n}`;\n}\n\nexport function buildDescriptorDeleteSparql(subject: string): string {\n return `DELETE {\\n <${subject}> ?p ?o .\\n}\\nWHERE {\\n <${subject}> ?p ?o .\\n}`;\n}\n\nfunction parseWhere(where?: string): Record<string, unknown> {\n return where ? parseJsonObject(where, 'invalid_where') : {};\n}\n\nexport function extractReservedWhereSelectors(where: Record<string, unknown>): {\n where: Record<string, unknown>;\n subject?: string;\n resource?: string;\n path?: string;\n} {\n const filters = { ...where };\n const selectors: { subject?: string; resource?: string; path?: string } = {};\n\n for (const key of [ 'subject', 'resource', 'path' ] as const) {\n const value = filters[key];\n if (value === undefined) continue;\n if (typeof value !== 'string') {\n throw new CliCommandError('invalid_where', `Reserved selector field \"${key}\" must be a string.`, 2);\n }\n selectors[key] = value;\n delete filters[key];\n }\n\n return { where: filters, ...selectors };\n}\n\nfunction applyReservedSelector(\n current: string | undefined,\n reserved: string | undefined,\n key: 'subject' | 'resource' | 'path',\n): string | undefined {\n if (!reserved) return current;\n if (current && current !== reserved) {\n throw new CliCommandError('selector_conflict', `Conflicting ${key} selectors were provided.`, 2);\n }\n return reserved;\n}\n\nfunction parseRelations(input?: string[]): Record<string, string> {\n const relations: Record<string, string> = {};\n for (const item of input ?? []) {\n const trimmed = item.trim();\n if (!trimmed) continue;\n if (trimmed.startsWith('{')) {\n const parsed = parseJsonObject(trimmed, 'invalid_relation');\n for (const [ key, value ] of Object.entries(parsed)) {\n if (typeof value !== 'string') {\n throw new CliCommandError('invalid_relation', `Relation filter ${key} must be a URI string.`, 2);\n }\n relations[key] = value;\n }\n continue;\n }\n const eq = trimmed.indexOf('=');\n if (eq <= 0) {\n throw new CliCommandError('invalid_relation', `Relation filter must be field=uri: ${trimmed}`, 2);\n }\n relations[trimmed.slice(0, eq)] = trimmed.slice(eq + 1);\n }\n return relations;\n}\n\nfunction classifySelector(selector: string): 'schema' | 'subject' | 'resource' | 'path' {\n if (resolveDescriptorOrNull(selector)) return 'schema';\n if (selector.includes('#')) return 'subject';\n if (/^https?:\\/\\//iu.test(selector)) return 'resource';\n if (selector.includes('/')) return 'path';\n return 'schema';\n}\n\nasync function inferDescriptorForSubject(context: CliAuthContext, subject: string): Promise<PodModelDescriptor> {\n const target = resolveResourceTarget(context, documentResourceInput(subject));\n const response = await fetchResource(context, target, {\n method: 'GET',\n headers: { Accept: 'text/turtle' },\n });\n ensureOk(response, response.status === 404 ? 'resource_not_found' : 'schema_infer_failed', `Failed to infer schema from ${subject}`);\n const body = await response.text();\n const matches = podSchema.list().filter((descriptor) => body.includes(`<${descriptor.class}>`));\n if (matches.length === 1) {\n return matches[0];\n }\n if (matches.length > 1) {\n throw new CliCommandError('schema_ambiguous', 'Multiple known descriptor classes were found. Re-run with --schema.', 2, {\n schemas: matches.map((descriptor) => descriptor.uri),\n });\n }\n throw new CliCommandError('schema_required', 'Could not infer a known schema from the subject document. Re-run with --schema.', 2);\n}\n\nasync function resolveObjectSelector(context: CliAuthContext, argv: ObjSelectorArgs): Promise<ResolvedObjSelector> {\n let schema = argv.schema;\n let subject = argv.subject;\n let resource = argv.resource;\n let path = argv.path;\n\n if (argv.selector) {\n const kind = classifySelector(argv.selector);\n if (kind === 'schema' && !schema) schema = argv.selector;\n if (kind === 'subject' && !subject) subject = argv.selector;\n if (kind === 'resource' && !resource) resource = argv.selector;\n if (kind === 'path' && !path) path = argv.selector;\n }\n\n const parsedWhere = parseWhere(argv.where);\n if (argv.status !== undefined) {\n parsedWhere.status = argv.status;\n }\n const {\n where,\n subject: whereSubject,\n resource: whereResource,\n path: wherePath,\n } = extractReservedWhereSelectors(parsedWhere);\n\n subject = applyReservedSelector(subject, whereSubject, 'subject');\n resource = applyReservedSelector(resource, whereResource, 'resource');\n path = applyReservedSelector(path, wherePath, 'path');\n\n const subjectUrl = subject ? resolveResourceTarget(context, subject).resourceUrl : undefined;\n const resourceUrl = resource\n ? resolveResourceTarget(context, documentResourceInput(resource)).resourceUrl\n : path\n ? resolveResourceTarget(context, documentResourceInput(path)).resourceUrl\n : subjectUrl\n ? documentResourceInput(subjectUrl)\n : undefined;\n\n const descriptor = schema\n ? resolveDescriptor(schema)\n : subjectUrl\n ? await inferDescriptorForSubject(context, subjectUrl)\n : undefined;\n\n if (!descriptor) {\n throw new CliCommandError('schema_required', 'Object selectors require --schema, a schema selector, or an exact subject with an inferable RDF type.', 2);\n }\n\n return {\n descriptor,\n subject: subjectUrl,\n resourceUrl,\n where,\n relations: parseRelations(argv.relation),\n limit: Math.max(1, Math.min(argv.limit || 100, 10000)),\n includeMetadata: argv['include-metadata'] !== false,\n };\n}\n\nfunction queryFilterTerm(field: PodModelFieldDescriptor, value: unknown): string {\n if (Array.isArray(value)) {\n return value.map((item) => sparqlValue(item, field)).join(' ');\n }\n return sparqlValue(value, field);\n}\n\nexport function buildDescriptorObjectQuery(selector: ResolvedObjSelector): string {\n const descriptor = selector.descriptor;\n assertKnownFields(descriptor, selector.where);\n\n const triples = [ `?subject a <${descriptor.class}> .` ];\n if (selector.subject) {\n triples.push(`VALUES ?subject { <${selector.subject}> }`);\n }\n if (selector.resourceUrl) {\n triples.push(`FILTER(STR(?subject) = ${JSON.stringify(selector.resourceUrl)} || STRSTARTS(STR(?subject), ${JSON.stringify(`${selector.resourceUrl}#`)}))`);\n }\n\n for (const [ field, fieldDescriptor ] of Object.entries(descriptor.fields)) {\n triples.push(`OPTIONAL { ?subject <${fieldDescriptor.predicate}> ${fieldVar(field)} . }`);\n }\n\n for (const [ field, value ] of Object.entries(selector.where)) {\n const descriptorField = descriptor.fields[field];\n if (!descriptorField) continue;\n if (Array.isArray(value)) {\n triples.push(`VALUES ${fieldVar(`filter_${field}`)} { ${queryFilterTerm(descriptorField, value)} }`);\n triples.push(`?subject <${descriptorField.predicate}> ${fieldVar(`filter_${field}`)} .`);\n } else {\n triples.push(`?subject <${descriptorField.predicate}> ${queryFilterTerm(descriptorField, value)} .`);\n }\n }\n\n for (const [ field, objectUri ] of Object.entries(selector.relations)) {\n const descriptorField = descriptor.fields[field];\n if (!descriptorField) {\n throw new CliCommandError('predicate_unknown', `Relation field is not known by descriptor ${descriptor.uri}: ${field}`, 2);\n }\n if (descriptorField.type !== 'uri') {\n throw new CliCommandError('relation_field_not_uri', `Relation field is not URI-valued: ${field}`, 2);\n }\n triples.push(`?subject <${descriptorField.predicate}> ${sparqlIri(objectUri)} .`);\n }\n\n const fieldVars = Object.keys(descriptor.fields).map(fieldVar).join(' ');\n return `SELECT ?subject ${fieldVars} WHERE {\\n ${triples.join('\\n ')}\\n}\\nLIMIT ${selector.limit}`;\n}\n\nfunction bindingToValue(binding: SparqlBinding | undefined, field: PodModelFieldDescriptor): unknown {\n if (!binding?.value) return undefined;\n if (binding.type === 'uri') return binding.value;\n if (field.type === 'number') {\n const number = Number(binding.value);\n return Number.isNaN(number) ? binding.value : number;\n }\n if (field.type === 'boolean') {\n return binding.value === 'true' || binding.value === '1';\n }\n if (field.type === 'json') {\n try {\n return JSON.parse(binding.value);\n } catch {\n return binding.value;\n }\n }\n return binding.value;\n}\n\nasync function applyEtags(context: CliAuthContext, objects: DescriptorObject[]): Promise<void> {\n const cache = new Map<string, string | null>();\n for (const object of objects) {\n if (!cache.has(object.resourceUrl)) {\n try {\n const target = resolveResourceTarget(context, object.resourceUrl);\n const response = await fetchResource(context, target, { method: 'HEAD' });\n cache.set(object.resourceUrl, response.ok ? response.headers.get('etag') : null);\n } catch {\n cache.set(object.resourceUrl, null);\n }\n }\n const etag = cache.get(object.resourceUrl) ?? null;\n object.etag = etag;\n object.revision = etag;\n }\n}\n\nasync function queryDescriptorObjects(context: CliAuthContext, selector: ResolvedObjSelector): Promise<DescriptorObject[]> {\n const endpoint = resolveSparqlEndpoint(context.podRoot);\n const query = buildDescriptorObjectQuery(selector);\n const response = await fetchResource(context, {\n input: endpoint,\n resourceUrl: endpoint,\n webId: context.webId,\n podRoot: context.podRoot,\n baseIri: context.baseIri,\n }, {\n method: 'POST',\n headers: {\n Accept: 'application/sparql-results+json',\n 'Content-Type': 'application/sparql-query',\n },\n body: query,\n });\n ensureOk(response, 'obj_query_failed', `Failed to list objects for ${selector.descriptor.uri}`);\n const result = (await response.json()) as {\n results?: { bindings?: Array<Record<string, SparqlBinding>> };\n };\n\n const objects = (result.results?.bindings ?? []).flatMap((binding) => {\n const subject = binding.subject?.value;\n if (!subject) return [];\n const object: Record<string, unknown> = {};\n for (const [ field, descriptorField ] of Object.entries(selector.descriptor.fields)) {\n const value = bindingToValue(binding[varName(field)], descriptorField);\n if (value !== undefined) {\n object[field] = descriptorField.secret ? '[redacted]' : value;\n }\n }\n return [{\n schema: selector.descriptor.uri,\n subject,\n resourceUrl: documentResourceInput(subject),\n object,\n }];\n });\n\n if (selector.includeMetadata) {\n await applyEtags(context, objects);\n }\n return objects;\n}\n\nfunction jsonlForObjects(objects: DescriptorObject[]): string {\n return `${objects.map((object, index) => JSON.stringify({\n index,\n ok: true,\n code: 'ok',\n ...object,\n })).join('\\n')}${objects.length > 0 ? '\\n' : ''}`;\n}\n\nasync function patchSubject(input: {\n context: CliAuthContext;\n subject: string;\n sparql: string;\n ifMatch?: string;\n errorCode: string;\n}): Promise<ReturnType<typeof responseData>> {\n const target = resolveResourceTarget(input.context, documentResourceInput(input.subject));\n const headers: Record<string, string> = { 'Content-Type': 'application/sparql-update' };\n if (input.ifMatch) headers['If-Match'] = input.ifMatch;\n const response = await fetchResource(input.context, target, {\n method: 'PATCH',\n headers,\n body: input.sparql,\n });\n ensureOk(response, input.errorCode, `Failed to patch object ${input.subject}`);\n return responseData(target, response);\n}\n\nfunction mutationPlan(input: {\n operationId: string;\n context: CliAuthContext;\n summary: string;\n subject: string;\n schema?: string;\n etag?: string;\n change: string;\n diff?: unknown[];\n}): Record<string, unknown> {\n return {\n operationId: input.operationId,\n webId: input.context.webId,\n podRoot: input.context.podRoot,\n summary: input.summary,\n risk: 'normal',\n resources: [\n {\n subject: input.subject,\n schema: input.schema,\n etag: input.etag,\n change: input.change,\n },\n ],\n diff: input.diff ?? [],\n };\n}\n\nasync function resolveDescriptorForMutation(context: CliAuthContext, schema: string | undefined, subject: string): Promise<PodModelDescriptor> {\n return schema ? resolveDescriptor(schema) : inferDescriptorForSubject(context, subject);\n}\n\nasync function executePatchCommand(argv: ObjPatchArgs): Promise<Record<string, unknown>> {\n const context = await requireAuthContext(argv);\n const subject = resolveResourceTarget(context, argv.subject).resourceUrl;\n const descriptor = await resolveDescriptorForMutation(context, argv.schema, subject);\n const set = parseJsonObject(argv.set, 'invalid_set');\n const sparql = buildDescriptorPatchSparql(descriptor, subject, set);\n const plan = mutationPlan({\n operationId: `op_patch_${Date.now()}`,\n context,\n summary: `Patch one descriptor-backed ${descriptor.resourceKind}`,\n subject,\n schema: descriptor.uri,\n etag: argv['if-match'],\n change: 'patch',\n diff: [ redactDescriptorObject(descriptor, set) ],\n });\n if (argv['dry-run']) {\n return { plan };\n }\n const response = await patchSubject({\n context,\n subject,\n sparql,\n ifMatch: argv['if-match'],\n errorCode: 'obj_patch_failed',\n });\n return { ...response, plan };\n}\n\nasync function executeLinkCommand(argv: ObjLinkArgs): Promise<Record<string, unknown>> {\n const context = await requireAuthContext(argv);\n const subject = resolveResourceTarget(context, argv.subject).resourceUrl;\n const descriptor = argv.schema || !/^https?:\\/\\//iu.test(argv.predicate)\n ? await resolveDescriptorForMutation(context, argv.schema, subject)\n : undefined;\n let predicate = argv.predicate;\n if (!/^https?:\\/\\//iu.test(predicate)) {\n if (!descriptor?.fields[predicate]) {\n throw new CliCommandError('predicate_unknown', `Predicate field is not known by descriptor: ${predicate}`, 2);\n }\n const field = descriptor.fields[predicate];\n if (field.type !== 'uri') {\n throw new CliCommandError('relation_field_not_uri', `Relation field is not URI-valued: ${predicate}`, 2);\n }\n predicate = field.predicate;\n }\n const sparql = buildDescriptorLinkSparql(subject, predicate, argv.object);\n const plan = mutationPlan({\n operationId: `op_link_${Date.now()}`,\n context,\n summary: 'Link one descriptor-backed object relation',\n subject,\n schema: descriptor?.uri,\n etag: argv['if-match'],\n change: 'link',\n diff: [{ predicate, object: argv.object }],\n });\n if (argv['dry-run']) {\n return { plan };\n }\n const response = await patchSubject({\n context,\n subject,\n sparql,\n ifMatch: argv['if-match'],\n errorCode: 'obj_link_failed',\n });\n return { ...response, plan };\n}\n\nasync function executeDeleteCommand(argv: ObjDeleteArgs): Promise<Record<string, unknown>> {\n const context = await requireAuthContext(argv);\n const subject = resolveResourceTarget(context, argv.subject).resourceUrl;\n const descriptor = await resolveDescriptorForMutation(context, argv.schema, subject);\n const sparql = buildDescriptorDeleteSparql(subject);\n const plan = mutationPlan({\n operationId: `op_delete_${Date.now()}`,\n context,\n summary: `Delete one descriptor-backed ${descriptor.resourceKind}`,\n subject,\n schema: descriptor.uri,\n etag: argv['if-match'],\n change: 'delete',\n });\n if (argv['dry-run']) {\n return { plan };\n }\n const response = await patchSubject({\n context,\n subject,\n sparql,\n ifMatch: argv['if-match'],\n errorCode: 'obj_delete_failed',\n });\n return { ...response, plan };\n}\n\nasync function executeRawRow(context: CliAuthContext, row: ObjMutationRow, index: number, commit: boolean): Promise<ItemResult> {\n const op = row.op;\n if (!op) {\n throw new CliCommandError('schema_required', 'JSONL row without schema must declare an explicit raw resource op.', 2);\n }\n const targetInput = row.path ?? row.resource ?? row.subject;\n if (!targetInput) {\n throw new CliCommandError('explicit_target_required', 'Raw JSONL rows must declare path, resource, or subject.', 2);\n }\n const target = resolveResourceTarget(context, row.subject ? documentResourceInput(targetInput) : targetInput);\n if (!commit) {\n return {\n index,\n ok: true,\n code: 'plan_ready',\n operation: op,\n resourceUrl: target.resourceUrl,\n webId: context.webId,\n podRoot: context.podRoot,\n };\n }\n if (![ 'put', 'patch', 'delete' ].includes(op)) {\n throw new CliCommandError('unsupported_operation', `Unsupported raw JSONL operation: ${op}`, 2);\n }\n\n const headers: Record<string, string> = {};\n let body: Buffer | string | undefined;\n if (op !== 'delete') {\n if (row.from) {\n const file = readBodyFile(row.from);\n body = file.body;\n headers['Content-Type'] = row.contentType ?? file.contentType;\n } else if (row.body !== undefined) {\n body = row.body;\n headers['Content-Type'] = row.contentType ?? 'text/plain';\n } else {\n throw new CliCommandError('body_required', `Raw ${op} rows require body or from.`, 2);\n }\n }\n if (row.ifMatch) headers['If-Match'] = row.ifMatch;\n\n const response = await fetchResource(context, target, {\n method: op.toUpperCase(),\n headers,\n body,\n });\n ensureOk(response, 'raw_commit_failed', `Failed to commit raw row ${index}`);\n return {\n index,\n ok: true,\n code: 'committed',\n operation: op,\n ...responseData(target, response),\n };\n}\n\nasync function executeDescriptorRow(context: CliAuthContext, row: ObjMutationRow, index: number, commit: boolean): Promise<ItemResult> {\n const descriptor = resolveDescriptor(row.schema!);\n const op = row.op ?? 'upsert';\n if (op !== 'upsert') {\n if (!row.subject) {\n throw new CliCommandError('subject_required', `Object operation ${op} requires subject.`, 2);\n }\n const subject = resolveResourceTarget(context, row.subject).resourceUrl;\n if (op === 'patch') {\n const set = row.set ?? {};\n const sparql = buildDescriptorPatchSparql(descriptor, subject, set);\n if (commit) {\n await patchSubject({ context, subject, sparql, ifMatch: row.ifMatch, errorCode: 'obj_patch_failed' });\n }\n return {\n index,\n ok: true,\n code: commit ? 'committed' : 'plan_ready',\n operation: op,\n schema: descriptor.uri,\n subject,\n set: redactDescriptorObject(descriptor, set),\n };\n }\n if (op === 'link') {\n if (!row.predicate || !row.object) {\n throw new CliCommandError('link_target_required', 'Link rows require predicate and object.', 2);\n }\n const field = descriptor.fields[row.predicate];\n const predicate = field ? field.predicate : row.predicate;\n if (field && field.type !== 'uri') {\n throw new CliCommandError('relation_field_not_uri', `Relation field is not URI-valued: ${row.predicate}`, 2);\n }\n if (!field && !/^https?:\\/\\//iu.test(predicate)) {\n throw new CliCommandError('predicate_unknown', `Predicate field is not known by descriptor: ${row.predicate}`, 2);\n }\n const sparql = buildDescriptorLinkSparql(subject, predicate, row.object);\n if (commit) {\n await patchSubject({ context, subject, sparql, ifMatch: row.ifMatch, errorCode: 'obj_link_failed' });\n }\n return {\n index,\n ok: true,\n code: commit ? 'committed' : 'plan_ready',\n operation: op,\n schema: descriptor.uri,\n subject,\n predicate,\n object: row.object,\n };\n }\n if (op === 'delete') {\n const sparql = buildDescriptorDeleteSparql(subject);\n if (commit) {\n await patchSubject({ context, subject, sparql, ifMatch: row.ifMatch, errorCode: 'obj_delete_failed' });\n }\n return {\n index,\n ok: true,\n code: commit ? 'committed' : 'plan_ready',\n operation: op,\n schema: descriptor.uri,\n subject,\n };\n }\n throw new CliCommandError('unsupported_operation', `Unsupported object operation: ${op}`, 2);\n }\n\n const item = descriptorUpsertPlanItem({\n descriptor,\n index,\n commit,\n podRoot: context.podRoot,\n row,\n });\n const subject = String(item.subject);\n if (commit) {\n const sparql = buildDescriptorUpsertSparql(descriptor, subject, row);\n await patchSubject({ context, subject, sparql, ifMatch: row.ifMatch, errorCode: 'obj_commit_failed' });\n }\n\n return item;\n}\n\nexport function descriptorUpsertPlanItem(input: {\n descriptor: PodModelDescriptor;\n index: number;\n commit: boolean;\n podRoot: string;\n row: ObjMutationRow;\n}): ItemResult {\n const storage = createPodStorage(createPodModelDescriptorRegistry([ input.descriptor ]));\n const validation = storage.validate({\n schemaUri: input.descriptor.uri,\n operation: 'upsert',\n match: input.row.match ?? {},\n set: input.row.set ?? {},\n });\n if (!validation.ok) {\n throw new CliCommandError(validation.error.code, validation.error.message, 2);\n }\n\n const discovery = input.descriptor as DiscoveryDescriptor;\n const subject = resourceUrlFromPlan(input.podRoot, validation.plan);\n return {\n index: input.index,\n ok: true,\n code: input.commit ? 'committed' : 'plan_ready',\n operation: input.row.op ?? 'upsert',\n schema: input.descriptor.uri,\n subject,\n resourceUrl: documentResourceInput(subject),\n planId: validation.plan.id,\n resourceId: validation.plan.resourceId,\n resourceUri: validation.plan.resourceUri,\n documentPathPolicy: discovery.documentPathPolicy ?? null,\n match: redactDescriptorObject(input.descriptor, input.row.match ?? {}),\n set: redactDescriptorObject(input.descriptor, input.row.set ?? {}),\n };\n}\n\nexport async function executeRows(input: {\n argv: ObjArgs;\n rows: ObjMutationRow[];\n defaultSchema?: string;\n commit: boolean;\n}): Promise<ItemResult[]> {\n const context = await resolveObjMutationContext(input.argv, input.commit);\n const items: ItemResult[] = [];\n for (const [ index, originalRow ] of input.rows.entries()) {\n const row = {\n ...originalRow,\n schema: originalRow.schema ?? input.defaultSchema,\n };\n try {\n const shouldCommitToPod = input.commit && !context.pendingOnly;\n const item = row.schema\n ? await executeDescriptorRow(context, row, index, shouldCommitToPod)\n : await executeRawRow(context, row, index, shouldCommitToPod);\n if (context.pendingOnly && input.commit) {\n const outboxPath = context.outboxPath ?? getObjLocalOutboxPath();\n appendObjLocalOutbox({\n kind: 'xpod.obj.mutation',\n version: 1,\n status: 'pending',\n createdAt: new Date().toISOString(),\n webId: context.webId,\n podRoot: context.podRoot,\n row,\n item,\n }, outboxPath);\n items.push({\n ...item,\n code: 'pending_local',\n pendingLocal: true,\n outboxPath,\n warnings: [\n ...((Array.isArray(item.warnings) ? item.warnings : []) as unknown[]),\n context.pendingWarning,\n ],\n });\n continue;\n }\n items.push(context.planningOnly\n ? {\n ...item,\n planningOnly: true,\n warnings: [\n ...((Array.isArray(item.warnings) ? item.warnings : []) as unknown[]),\n context.planningWarning,\n ],\n }\n : item);\n } catch (error) {\n const err = error instanceof CliCommandError\n ? error\n : new CliCommandError('error', error instanceof Error ? error.message : String(error));\n items.push({ index, ok: false, code: err.code, message: err.message });\n }\n }\n return items;\n}\n\nexport function mutationItemsResultCode(items: ItemResult[], commit: boolean): 'plan_ready' | 'committed' | 'pending_local' | 'partial_failure' {\n if (!items.every((item) => item.ok)) return 'partial_failure';\n if (items.some((item) => item.code === 'pending_local')) return 'pending_local';\n return commit ? 'committed' : 'plan_ready';\n}\n\nfunction printItems(items: ItemResult[]): void {\n for (const item of items) {\n console.log(`${item.index}\\t${item.ok ? item.code : `ERROR ${item.code}`}\\t${String(item.subject ?? item.resourceUrl ?? item.message ?? '')}`);\n }\n}\n\nconst schemasCommand: CommandModule<object, ObjSchemasArgs> = {\n command: 'schemas',\n describe: 'List model-backed object schemas available to AI tools',\n builder: (yargs) =>\n objOptions<ObjSchemasArgs>(yargs)\n .option('domain', { type: 'string', description: 'Filter schemas by domain such as capture or symphony' }),\n handler: async (argv) => {\n try {\n const schemas = listSchemaDescriptors({ domain: argv.domain });\n if (argv.json) {\n writeJsonResult({ schemas }, 'schemas');\n return;\n }\n for (const descriptor of schemas) {\n console.log(`${String(descriptor.alias)}\\t${String(descriptor.schema)}\\t${String(descriptor.resourceKind)}`);\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst describeCommand: CommandModule<object, ObjDescribeArgs> = {\n command: 'describe <schema>',\n describe: 'Describe one model-backed object schema by URI or alias',\n builder: (yargs) =>\n objOptions<ObjDescribeArgs>(yargs)\n .positional('schema', { type: 'string', demandOption: true, description: 'Schema URI or descriptor alias' }),\n handler: async (argv) => {\n try {\n const descriptor = describeSchemaDescriptor(argv.schema);\n if (!descriptor) {\n throw new CliCommandError('schema_unknown', `Schema is not known by @undefineds.co/models: ${argv.schema}`, 2);\n }\n if (argv.json) {\n writeJsonResult({ descriptor }, 'schema');\n return;\n }\n console.log(JSON.stringify(descriptor, null, 2));\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst importCommand: CommandModule<object, ObjImportArgs> = {\n command: 'import <file>',\n describe: 'Import descriptor-backed or explicit raw JSONL rows',\n builder: (yargs) =>\n objOptions<ObjImportArgs>(yargs)\n .positional('file', { type: 'string', demandOption: true, description: 'JSONL file to import, or - for stdin' })\n .option('dry-run', { type: 'boolean', description: 'Validate and print a plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the validated mutations' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const items = await executeRows({\n argv,\n rows: await readJsonl(argv.file),\n commit: argv.commit === true,\n });\n const code = mutationItemsResultCode(items, argv.commit === true);\n if (argv.json) {\n writeJsonItems(items, code);\n return;\n }\n printItems(items);\n if (!items.every((item) => item.ok)) process.exit(1);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst upsertCommand: CommandModule<object, ObjUpsertArgs> = {\n command: 'upsert',\n describe: 'Upsert descriptor-backed JSONL rows',\n builder: (yargs) =>\n objOptions<ObjUpsertArgs>(yargs)\n .option('schema', { type: 'string', demandOption: true, description: 'Schema URI or descriptor alias' })\n .option('from', { type: 'string', demandOption: true, description: 'JSONL file to read, or - for stdin' })\n .nargs('from', 1)\n .option('dry-run', { type: 'boolean', description: 'Validate and print a plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the validated mutations' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const items = await executeRows({\n argv,\n rows: await readJsonl(argv.from),\n defaultSchema: resolveDescriptor(argv.schema).uri,\n commit: argv.commit === true,\n });\n const code = mutationItemsResultCode(items, argv.commit === true);\n if (argv.json) {\n writeJsonItems(items, code);\n return;\n }\n printItems(items);\n if (!items.every((item) => item.ok)) process.exit(1);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst listCommand: CommandModule<object, ObjSelectorArgs> = {\n command: 'list',\n describe: 'List descriptor-backed objects',\n builder: (yargs) =>\n selectorOptions<ObjSelectorArgs>(yargs)\n .option('schema', { type: 'string', demandOption: true, description: 'Schema URI or descriptor alias' }),\n handler: async (argv) => {\n try {\n const context = await requireAuthContext(argv);\n const selector = await resolveObjectSelector(context, argv);\n const objects = await queryDescriptorObjects(context, selector);\n if (argv.json) {\n writeJsonResult({\n webId: context.webId,\n podRoot: context.podRoot,\n schema: selector.descriptor.uri,\n objects,\n });\n return;\n }\n for (const object of objects) {\n console.log(object.subject);\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst exportCommand: CommandModule<object, ObjSelectorArgs> = {\n command: 'export <selector>',\n describe: 'Export descriptor-backed objects as JSONL',\n builder: (yargs) =>\n selectorOptions<ObjSelectorArgs>(yargs)\n .positional('selector', { type: 'string', demandOption: true, description: 'Schema URI/alias, subject, resource URL, or Pod-relative path selector' })\n .option('format', { type: 'string', choices: [ 'jsonl' ], default: 'jsonl', description: 'Export format' })\n .option('out', { type: 'string', description: 'Output file path' }),\n handler: async (argv) => {\n try {\n const context = await requireAuthContext(argv);\n const selector = await resolveObjectSelector(context, argv);\n const objects = await queryDescriptorObjects(context, selector);\n const jsonl = jsonlForObjects(objects);\n if (argv.out) {\n writeFileSync(argv.out, jsonl, 'utf-8');\n }\n if (argv.json) {\n writeJsonResult({\n webId: context.webId,\n podRoot: context.podRoot,\n schema: selector.descriptor.uri,\n count: objects.length,\n out: argv.out ?? null,\n ...(argv.out ? {} : { objects }),\n });\n return;\n }\n if (!argv.out) {\n process.stdout.write(jsonl);\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst getCommand: CommandModule<object, ObjGetArgs> = {\n command: 'get',\n describe: 'Read one descriptor-backed object as JSON',\n builder: (yargs) =>\n objOptions<ObjGetArgs>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias' })\n .option('subject', { type: 'string', demandOption: true, description: 'Object subject URI or Pod-relative subject' })\n .option('out', { type: 'string', description: 'Write JSON object to file' })\n .option('include-metadata', { type: 'boolean', default: true, description: 'Include etag/revision metadata when available' }),\n handler: async (argv) => {\n try {\n const context = await requireAuthContext(argv);\n const selector = await resolveObjectSelector(context, {\n ...argv,\n selector: undefined,\n limit: 1,\n format: 'jsonl',\n where: undefined,\n relation: undefined,\n status: undefined,\n });\n const objects = await queryDescriptorObjects(context, selector);\n const object = objects[0];\n if (!object) {\n throw new CliCommandError('object_not_found', `Object not found: ${argv.subject}`, 1);\n }\n const body = `${JSON.stringify(object, null, 2)}\\n`;\n if (argv.out) {\n writeFileSync(argv.out, body, 'utf-8');\n }\n if (argv.json) {\n writeJsonResult({ webId: context.webId, podRoot: context.podRoot, object, out: argv.out ?? null });\n return;\n }\n if (!argv.out) {\n process.stdout.write(body);\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst patchCommand: CommandModule<object, ObjPatchArgs> = {\n command: 'patch',\n describe: 'Patch one descriptor-backed object field set',\n builder: (yargs) =>\n objOptions<ObjPatchArgs>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias. Required if the subject document cannot be inferred.' })\n .option('subject', { type: 'string', demandOption: true, description: 'Object subject URI or Pod-relative subject' })\n .option('set', { type: 'string', demandOption: true, description: 'JSON object of descriptor field values to set' })\n .option('if-match', { type: 'string', description: 'If-Match header for stale-write protection' })\n .option('dry-run', { type: 'boolean', description: 'Print the mutation plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the mutation' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const data = await executePatchCommand(argv);\n if (argv.json) {\n writeJsonResult(data, argv['dry-run'] ? 'plan_ready' : 'committed');\n return;\n }\n console.log(argv['dry-run'] ? JSON.stringify(data.plan, null, 2) : `PATCH ${String(data.resourceUrl)} -> HTTP ${String(data.status)}`);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst linkCommand: CommandModule<object, ObjLinkArgs> = {\n command: 'link',\n describe: 'Link one descriptor-backed object to another URI',\n builder: (yargs) =>\n objOptions<ObjLinkArgs>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias when --predicate is a descriptor field' })\n .option('subject', { type: 'string', demandOption: true, description: 'Object subject URI or Pod-relative subject' })\n .option('predicate', { type: 'string', demandOption: true, description: 'Predicate URI or descriptor field' })\n .option('object', { type: 'string', demandOption: true, description: 'Object URI to link' })\n .option('if-match', { type: 'string', description: 'If-Match header for stale-write protection' })\n .option('dry-run', { type: 'boolean', description: 'Print the mutation plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the mutation' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const data = await executeLinkCommand(argv);\n if (argv.json) {\n writeJsonResult(data, argv['dry-run'] ? 'plan_ready' : 'committed');\n return;\n }\n console.log(argv['dry-run'] ? JSON.stringify(data.plan, null, 2) : `LINK ${String(data.resourceUrl)} -> HTTP ${String(data.status)}`);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst deleteCommand: CommandModule<object, ObjDeleteArgs> = {\n command: 'delete',\n describe: 'Delete triples for one descriptor-backed object subject',\n builder: (yargs) =>\n objOptions<ObjDeleteArgs>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias. Required if the subject document cannot be inferred.' })\n .option('subject', { type: 'string', demandOption: true, description: 'Object subject URI or Pod-relative subject' })\n .option('if-match', { type: 'string', description: 'If-Match header for stale-write protection' })\n .option('dry-run', { type: 'boolean', description: 'Print the mutation plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the mutation' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const data = await executeDeleteCommand(argv);\n if (argv.json) {\n writeJsonResult(data, argv['dry-run'] ? 'plan_ready' : 'committed');\n return;\n }\n console.log(argv['dry-run'] ? JSON.stringify(data.plan, null, 2) : `DELETE ${String(data.resourceUrl)} -> HTTP ${String(data.status)}`);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst watchCommand: CommandModule<object, ObjSelectorArgs> = {\n command: 'watch <selector>',\n describe: 'Stream descriptor-backed object changes as JSONL snapshots',\n builder: (yargs) =>\n selectorOptions<ObjSelectorArgs>(yargs)\n .positional('selector', { type: 'string', demandOption: true, description: 'Schema URI/alias, subject, resource URL, or Pod-relative path selector' })\n .option('format', { type: 'string', choices: [ 'jsonl' ], default: 'jsonl', description: 'Watch stream format' })\n .option('since', { type: 'string', description: 'Opaque cursor from a previous watch stream' }),\n handler: async (argv) => {\n try {\n const context = await requireAuthContext(argv);\n const selector = await resolveObjectSelector(context, argv);\n const objects = await queryDescriptorObjects(context, selector);\n const metadata = {\n cursorDurable: false,\n since: argv.since ?? null,\n cursor: null,\n message: 'Durable object cursors are not available; reconcile with a fresh obj list/export snapshot.',\n };\n if (argv.json) {\n writeJsonResult({ metadata, objects }, 'watch_snapshot');\n return;\n }\n console.log(JSON.stringify({ ok: true, code: 'cursor_unavailable', metadata }));\n for (const [ index, object ] of objects.entries()) {\n console.log(JSON.stringify({\n index,\n ok: true,\n code: 'snapshot',\n change: 'snapshot',\n ...object,\n }));\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nexport const objCommand: CommandModule<object, ObjArgs> = {\n command: 'obj',\n describe: 'Descriptor-backed object transport',\n builder: (yargs) =>\n (yargs\n .command(schemasCommand)\n .command(describeCommand)\n .command(exportCommand)\n .command(importCommand)\n .command(getCommand)\n .command(listCommand)\n .command(upsertCommand)\n .command(patchCommand)\n .command(linkCommand)\n .command(deleteCommand)\n .command(watchCommand)\n .demandCommand(1, 'Please specify an object subcommand') as unknown as Argv<ObjArgs>),\n handler: () => {},\n};\n"]}
|
|
1
|
+
{"version":3,"file":"obj.js","sourceRoot":"","sources":["../../../src/cli/commands/obj.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Argv, CommandModule } from 'yargs';\nimport { appendFileSync, mkdirSync, readFileSync, writeFileSync } from 'fs';\nimport { dirname, join } from 'path';\nimport { Parser } from 'n3';\nimport {\n createPodModelDescriptorRegistry,\n createPodStorage,\n podSchema,\n type PodModelDescriptor,\n type PodModelFieldDescriptor,\n type PodStorageMutationPlan,\n} from '@undefineds.co/models';\nimport { normalizeBaseUrl, requireAuthContext, type CliAuthContext } from '../lib/auth-context';\nimport { getSolidHomeDir } from '../lib/credentials-store';\nimport { CliCommandError, handleCliError, writeJsonItems, writeJsonResult } from '../lib/output';\nimport {\n ensureOk,\n fetchResource,\n readBodyFile,\n resolveResourceTarget,\n responseData,\n} from '../lib/resource';\nimport { documentResourceInput, resolveSparqlEndpoint } from './rdf';\n\ninterface ObjArgs {\n url?: string;\n json: boolean;\n}\n\ninterface ObjImportArgs extends ObjArgs {\n file: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjUpsertArgs extends ObjArgs {\n schema: string;\n from: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjSchemasArgs extends ObjArgs {\n domain?: string;\n}\n\ninterface ObjDescribeArgs extends ObjArgs {\n schema: string;\n}\n\ninterface ObjSelectorArgs extends ObjArgs {\n selector?: string;\n schema?: string;\n subject?: string;\n resource?: string;\n path?: string;\n where?: string;\n status?: string;\n relation?: string[];\n format: string;\n out?: string;\n limit: number;\n since?: string;\n 'include-metadata': boolean;\n}\n\ninterface ObjGetArgs extends ObjArgs {\n schema?: string;\n subject: string;\n out?: string;\n 'include-metadata': boolean;\n}\n\ninterface ObjPatchArgs extends ObjArgs {\n schema?: string;\n subject: string;\n set: string;\n 'if-match'?: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjLinkArgs extends ObjArgs {\n schema?: string;\n subject: string;\n predicate: string;\n object: string;\n 'if-match'?: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjDeleteArgs extends ObjArgs {\n schema?: string;\n subject: string;\n 'if-match'?: string;\n 'dry-run'?: boolean;\n commit?: boolean;\n}\n\ninterface ObjMutationRow {\n op?: string;\n schema?: string;\n match?: Record<string, unknown>;\n set?: Record<string, unknown>;\n subject?: string;\n path?: string;\n resource?: string;\n predicate?: string;\n object?: string;\n ifMatch?: string;\n body?: string;\n from?: string;\n contentType?: string;\n}\n\ninterface ResolvedObjSelector {\n descriptor: PodModelDescriptor;\n subject?: string;\n resourceUrl?: string;\n where: Record<string, unknown>;\n relations: Record<string, string>;\n limit: number;\n includeMetadata: boolean;\n}\n\ninterface DescriptorObject {\n schema: string;\n subject: string;\n resourceUrl: string;\n etag?: string | null;\n revision?: string | null;\n object: Record<string, unknown>;\n}\n\ntype SparqlBinding = {\n type?: string;\n value?: string;\n datatype?: string;\n};\n\ntype ItemResult = {\n index: number;\n ok: boolean;\n code: string;\n message?: string;\n [key: string]: unknown;\n};\ntype ObjMutationContext = CliAuthContext & {\n planningOnly?: boolean;\n planningWarning?: string;\n pendingOnly?: boolean;\n pendingWarning?: string;\n outboxPath?: string;\n};\n\ntype DiscoveryDescriptor = PodModelDescriptor & {\n aliases?: string[];\n domains?: string[];\n idSemantics?: Record<string, unknown>;\n relationFields?: string[];\n documentPathPolicy?: Record<string, unknown>;\n exampleInput?: Record<string, unknown>;\n};\n\nfunction objOptions<T>(yargs: Argv): Argv<T> {\n return yargs\n .option('url', {\n alias: 'u',\n type: 'string',\n description: 'Server base URL override',\n })\n .option('json', {\n type: 'boolean',\n default: false,\n description: 'Output JSON envelope',\n }) as unknown as Argv<T>;\n}\n\nfunction selectorOptions<T extends ObjSelectorArgs>(yargs: Argv): Argv<T> {\n return objOptions<T>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias' })\n .option('subject', { type: 'string', description: 'Exact object subject URI or Pod-relative subject' })\n .option('resource', { type: 'string', description: 'Exact RDF document/resource URI or Pod-relative path' })\n .option('path', { type: 'string', description: 'Pod-relative resource path' })\n .option('where', { type: 'string', description: 'JSON object of descriptor field filters' })\n .option('status', { type: 'string', description: 'Shortcut for --where {\"status\": \"...\"} when the descriptor has a status field' })\n .option('relation', { type: 'array', string: true, description: 'Descriptor URI relation filter, field=uri. Repeatable.' })\n .option('limit', { type: 'number', default: 100, description: 'Maximum number of rows' })\n .option('include-metadata', { type: 'boolean', default: true, description: 'Include etag/revision metadata when available' }) as unknown as Argv<T>;\n}\n\nfunction mutationModeCheck(argv: { 'dry-run'?: boolean; commit?: boolean }): true {\n if (argv['dry-run'] === argv.commit) {\n throw new Error('Specify exactly one of --dry-run or --commit.');\n }\n return true;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction parseJsonObject(value: string, code: string): Record<string, unknown> {\n try {\n const parsed = JSON.parse(value) as unknown;\n if (!isRecord(parsed)) {\n throw new Error('Expected a JSON object.');\n }\n return parsed;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new CliCommandError(code, message, 2);\n }\n}\n\nasync function readStdinText(): Promise<string> {\n const chunks: Buffer[] = [];\n for await (const chunk of process.stdin) {\n chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk)));\n }\n return Buffer.concat(chunks).toString('utf-8');\n}\n\nasync function readTextInput(input: string): Promise<string> {\n return input === '-' ? readStdinText() : readFileSync(input, 'utf-8');\n}\n\nasync function readJsonl(input: string): Promise<ObjMutationRow[]> {\n return (await readTextInput(input))\n .split(/\\r?\\n/u)\n .map((line) => line.trim())\n .filter(Boolean)\n .map((line, index) => {\n try {\n const parsed = JSON.parse(line) as unknown;\n if (!isRecord(parsed)) {\n throw new Error('Expected a JSON object.');\n }\n return parsed as ObjMutationRow;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new CliCommandError('invalid_jsonl', `Invalid JSONL at line ${index + 1}: ${message}`, 2);\n }\n });\n}\n\nfunction descriptorLocalName(value: string): string {\n return value.split(/[\\/#]/u).filter(Boolean).pop() ?? value;\n}\n\nfunction normalizeDescriptorAlias(value: string): string {\n return value.toLowerCase().replace(/[^a-z0-9]+/gu, '');\n}\n\nfunction descriptorAliases(descriptor: PodModelDescriptor): string[] {\n const discovery = descriptor as DiscoveryDescriptor;\n return discovery.aliases?.length ? discovery.aliases : [ descriptorLocalName(descriptor.class) ];\n}\n\nfunction descriptorMatchesRef(descriptor: PodModelDescriptor, ref: string): boolean {\n const normalized = normalizeDescriptorAlias(ref);\n return descriptor.uri === ref ||\n descriptor.class === ref ||\n descriptor.resourceKind.toLowerCase() === ref.trim().toLowerCase() ||\n normalizeDescriptorAlias(descriptorLocalName(descriptor.uri)) === normalized ||\n normalizeDescriptorAlias(descriptorLocalName(descriptor.class)) === normalized ||\n descriptorAliases(descriptor).some((alias) => normalizeDescriptorAlias(alias) === normalized);\n}\n\nfunction resolveDescriptorOrNull(schema: string): PodModelDescriptor | null {\n const exact = podSchema.describe({ schemaUri: schema }) ??\n (podSchema as unknown as { describe(input: { alias: string }): PodModelDescriptor | null }).describe?.({ alias: schema });\n if (exact) return exact;\n\n return podSchema.list().find((descriptor) => descriptorMatchesRef(descriptor, schema)) ?? null;\n}\n\nfunction resolveDescriptor(schema: string): PodModelDescriptor {\n const descriptor = resolveDescriptorOrNull(schema);\n if (!descriptor) {\n throw new CliCommandError('schema_unknown', `Schema is not known by @undefineds.co/models: ${schema}`, 2);\n }\n return descriptor;\n}\n\nfunction resourceUrlFromPlan(podRoot: string, plan: PodStorageMutationPlan): string {\n return new URL(plan.resourceUri.replace(/^\\/+/, ''), podRoot).toString();\n}\n\nexport async function resolveObjMutationContext(argv: ObjArgs, commit: boolean): Promise<ObjMutationContext> {\n try {\n return await requireAuthContext(argv);\n } catch (error) {\n const podRoot = normalizeBaseUrl(argv.url ?? 'https://pod.local/');\n const outboxPath = getObjLocalOutboxPath();\n return {\n baseUrl: podRoot,\n webId: 'urn:xpod:unauthenticated',\n podRoot,\n baseIri: podRoot,\n accessToken: '',\n credentials: {\n url: podRoot,\n webId: 'urn:xpod:unauthenticated',\n authType: 'client_credentials',\n secrets: {\n clientId: '',\n clientSecret: '',\n },\n },\n ...(commit\n ? {\n pendingOnly: true,\n outboxPath,\n pendingWarning: `No Solid credentials found; mutation was written to local xpod outbox at ${outboxPath} and was not saved to a Pod.`,\n }\n : {\n planningOnly: true,\n planningWarning: 'No Solid credentials found; this is an offline dry-run plan and was not saved to a Pod.',\n }),\n };\n }\n}\n\nexport function getObjLocalOutboxPath(): string {\n return join(getSolidHomeDir(), 'apps', 'xpod', 'outbox', 'obj-mutations.jsonl');\n}\n\nfunction appendObjLocalOutbox(entry: Record<string, unknown>, outboxPath = getObjLocalOutboxPath()): void {\n mkdirSync(dirname(outboxPath), { recursive: true });\n appendFileSync(outboxPath, `${JSON.stringify(entry)}\\n`, 'utf-8');\n}\n\nfunction varName(field: string): string {\n return `v_${field.replace(/[^A-Za-z0-9_]/gu, '_')}`;\n}\n\nfunction fieldVar(field: string): string {\n return `?${varName(field)}`;\n}\n\nfunction sparqlIri(value: string): string {\n if (!/^https?:\\/\\//iu.test(value)) {\n throw new CliCommandError('invalid_uri', `Expected an absolute URI: ${value}`, 2);\n }\n return `<${value.replace(/[<>]/gu, '')}>`;\n}\n\nfunction sparqlValue(value: unknown, field?: PodModelFieldDescriptor): string {\n if (field?.type === 'uri') {\n if (typeof value !== 'string') {\n throw new CliCommandError('invalid_uri', `Field expects a URI value: ${String(value)}`, 2);\n }\n return sparqlIri(value);\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return JSON.stringify(value);\n }\n if (field?.type === 'json') {\n return JSON.stringify(JSON.stringify(value));\n }\n return JSON.stringify(String(value));\n}\n\nfunction assertKnownFields(descriptor: PodModelDescriptor, values: Record<string, unknown>, code = 'field_unknown'): void {\n const unknown = Object.keys(values).filter((field) => !descriptor.fields[field]);\n if (unknown.length > 0) {\n throw new CliCommandError(code, `Fields are not known by descriptor ${descriptor.uri}: ${unknown.join(', ')}`, 2);\n }\n}\n\nfunction assertWritableFields(descriptor: PodModelDescriptor, values: Record<string, unknown>): void {\n assertKnownFields(descriptor, values);\n const invalid = Object.keys(values).filter((field) => !descriptor.writableFields.includes(field));\n if (invalid.length > 0) {\n throw new CliCommandError('invalid_set_fields', `Fields are not writable: ${invalid.join(', ')}`, 2);\n }\n}\n\nexport function redactDescriptorObject(descriptor: PodModelDescriptor, value: Record<string, unknown>): Record<string, unknown> {\n const redacted: Record<string, unknown> = {};\n for (const [ key, item ] of Object.entries(value)) {\n redacted[key] = descriptor.fields[key]?.secret ? '[redacted]' : item;\n }\n return redacted;\n}\n\nexport function serializeSchemaDescriptor(descriptor: PodModelDescriptor): Record<string, unknown> {\n const discovery = descriptor as DiscoveryDescriptor;\n return {\n schema: descriptor.uri,\n uri: descriptor.uri,\n alias: descriptorAliases(descriptor)[0] ?? descriptor.resourceKind,\n aliases: descriptorAliases(descriptor),\n domains: discovery.domains ?? [],\n version: descriptor.version,\n source: descriptor.source,\n trustLevel: descriptor.trustLevel,\n namespace: descriptor.namespace,\n class: descriptor.class,\n resourceKind: descriptor.resourceKind,\n description: descriptor.description,\n storage: descriptor.storage,\n idSemantics: discovery.idSemantics ?? null,\n relationFields: discovery.relationFields ?? Object.entries(descriptor.fields)\n .filter(([, field]) => field.type === 'uri')\n .map(([ field ]) => field),\n documentPathPolicy: discovery.documentPathPolicy ?? null,\n fields: descriptor.fields,\n requiredFields: Object.entries(descriptor.fields)\n .filter(([, field]) => field.required)\n .map(([ field ]) => field),\n uniqueBy: descriptor.uniqueBy,\n writableFields: descriptor.writableFields,\n mergePolicy: descriptor.mergePolicy,\n exampleInput: discovery.exampleInput ?? descriptor.examples[0] ?? null,\n examples: descriptor.examples,\n };\n}\n\nexport function listSchemaDescriptors(\n input: { domain?: string } = {},\n descriptors: readonly PodModelDescriptor[] = podSchema.list(),\n): Record<string, unknown>[] {\n return descriptors\n .filter((descriptor) => !input.domain || ((descriptor as DiscoveryDescriptor).domains ?? []).includes(input.domain))\n .map(serializeSchemaDescriptor);\n}\n\nexport function describeSchemaDescriptor(\n schemaOrAlias: string,\n descriptors: readonly PodModelDescriptor[] = podSchema.list(),\n): Record<string, unknown> | null {\n const descriptor = descriptors.find((item) => descriptorMatchesRef(item, schemaOrAlias));\n return descriptor ? serializeSchemaDescriptor(descriptor) : null;\n}\n\nexport function buildDescriptorUpsertSparql(descriptor: PodModelDescriptor, subject: string, row: ObjMutationRow): string {\n const fields = descriptor.fields;\n const match = row.match ?? {};\n const set = row.set ?? {};\n assertKnownFields(descriptor, match);\n assertWritableFields(descriptor, set);\n\n const merged = { ...match, ...set };\n const deleteFields = Object.keys(set).filter((field) => fields[field]);\n const deletes = deleteFields.map((field) =>\n `DELETE WHERE {\\n <${subject}> <${fields[field].predicate}> ?old_${field.replace(/[^A-Za-z0-9_]/gu, '_')} .\\n}`,\n );\n const inserts = [\n `<${subject}> a <${descriptor.class}>`,\n ...Object.entries(merged)\n .filter(([ field, value ]) => fields[field] && value !== undefined && value !== null)\n .map(([ field, value ]) => `<${subject}> <${fields[field].predicate}> ${sparqlValue(value, fields[field])}`),\n ];\n\n return [\n ...deletes,\n `INSERT DATA {\\n ${inserts.join(' .\\n ')} .\\n}`,\n ].join(';\\n');\n}\n\nexport function buildDescriptorPatchSparql(descriptor: PodModelDescriptor, subject: string, set: Record<string, unknown>): string {\n return buildDescriptorUpsertSparql(descriptor, subject, { set });\n}\n\nexport function buildDescriptorLinkSparql(subject: string, predicate: string, object: string): string {\n return `INSERT DATA {\\n <${subject}> <${predicate}> ${sparqlIri(object)} .\\n}`;\n}\n\nexport function buildDescriptorDeleteSparql(subject: string): string {\n return `DELETE {\\n <${subject}> ?p ?o .\\n}\\nWHERE {\\n <${subject}> ?p ?o .\\n}`;\n}\n\nfunction parseWhere(where?: string): Record<string, unknown> {\n return where ? parseJsonObject(where, 'invalid_where') : {};\n}\n\nexport function extractReservedWhereSelectors(where: Record<string, unknown>): {\n where: Record<string, unknown>;\n subject?: string;\n resource?: string;\n path?: string;\n} {\n const filters = { ...where };\n const selectors: { subject?: string; resource?: string; path?: string } = {};\n\n for (const key of [ 'subject', 'resource', 'path' ] as const) {\n const value = filters[key];\n if (value === undefined) continue;\n if (typeof value !== 'string') {\n throw new CliCommandError('invalid_where', `Reserved selector field \"${key}\" must be a string.`, 2);\n }\n selectors[key] = value;\n delete filters[key];\n }\n\n return { where: filters, ...selectors };\n}\n\nfunction applyReservedSelector(\n current: string | undefined,\n reserved: string | undefined,\n key: 'subject' | 'resource' | 'path',\n): string | undefined {\n if (!reserved) return current;\n if (current && current !== reserved) {\n throw new CliCommandError('selector_conflict', `Conflicting ${key} selectors were provided.`, 2);\n }\n return reserved;\n}\n\nfunction parseRelations(input?: string[]): Record<string, string> {\n const relations: Record<string, string> = {};\n for (const item of input ?? []) {\n const trimmed = item.trim();\n if (!trimmed) continue;\n if (trimmed.startsWith('{')) {\n const parsed = parseJsonObject(trimmed, 'invalid_relation');\n for (const [ key, value ] of Object.entries(parsed)) {\n if (typeof value !== 'string') {\n throw new CliCommandError('invalid_relation', `Relation filter ${key} must be a URI string.`, 2);\n }\n relations[key] = value;\n }\n continue;\n }\n const eq = trimmed.indexOf('=');\n if (eq <= 0) {\n throw new CliCommandError('invalid_relation', `Relation filter must be field=uri: ${trimmed}`, 2);\n }\n relations[trimmed.slice(0, eq)] = trimmed.slice(eq + 1);\n }\n return relations;\n}\n\nfunction classifySelector(selector: string): 'schema' | 'subject' | 'resource' | 'path' {\n if (resolveDescriptorOrNull(selector)) return 'schema';\n if (selector.includes('#')) return 'subject';\n if (/^https?:\\/\\//iu.test(selector)) return 'resource';\n if (selector.includes('/')) return 'path';\n return 'schema';\n}\n\nasync function inferDescriptorForSubject(context: CliAuthContext, subject: string): Promise<PodModelDescriptor> {\n const target = resolveResourceTarget(context, documentResourceInput(subject));\n const response = await fetchResource(context, target, {\n method: 'GET',\n headers: { Accept: 'text/turtle' },\n });\n ensureOk(response, response.status === 404 ? 'resource_not_found' : 'schema_infer_failed', `Failed to infer schema from ${subject}`);\n const body = await response.text();\n const matches = podSchema.list().filter((descriptor) => body.includes(`<${descriptor.class}>`));\n if (matches.length === 1) {\n return matches[0];\n }\n if (matches.length > 1) {\n throw new CliCommandError('schema_ambiguous', 'Multiple known descriptor classes were found. Re-run with --schema.', 2, {\n schemas: matches.map((descriptor) => descriptor.uri),\n });\n }\n throw new CliCommandError('schema_required', 'Could not infer a known schema from the subject document. Re-run with --schema.', 2);\n}\n\nasync function resolveObjectSelector(context: CliAuthContext, argv: ObjSelectorArgs): Promise<ResolvedObjSelector> {\n let schema = argv.schema;\n let subject = argv.subject;\n let resource = argv.resource;\n let path = argv.path;\n\n if (argv.selector) {\n const kind = classifySelector(argv.selector);\n if (kind === 'schema' && !schema) schema = argv.selector;\n if (kind === 'subject' && !subject) subject = argv.selector;\n if (kind === 'resource' && !resource) resource = argv.selector;\n if (kind === 'path' && !path) path = argv.selector;\n }\n\n const parsedWhere = parseWhere(argv.where);\n if (argv.status !== undefined) {\n parsedWhere.status = argv.status;\n }\n const {\n where,\n subject: whereSubject,\n resource: whereResource,\n path: wherePath,\n } = extractReservedWhereSelectors(parsedWhere);\n\n subject = applyReservedSelector(subject, whereSubject, 'subject');\n resource = applyReservedSelector(resource, whereResource, 'resource');\n path = applyReservedSelector(path, wherePath, 'path');\n\n const subjectUrl = subject ? resolveResourceTarget(context, subject).resourceUrl : undefined;\n const resourceUrl = resource\n ? resolveResourceTarget(context, documentResourceInput(resource)).resourceUrl\n : path\n ? resolveResourceTarget(context, documentResourceInput(path)).resourceUrl\n : subjectUrl\n ? documentResourceInput(subjectUrl)\n : undefined;\n\n const descriptor = schema\n ? resolveDescriptor(schema)\n : subjectUrl\n ? await inferDescriptorForSubject(context, subjectUrl)\n : undefined;\n\n if (!descriptor) {\n throw new CliCommandError('schema_required', 'Object selectors require --schema, a schema selector, or an exact subject with an inferable RDF type.', 2);\n }\n\n return {\n descriptor,\n subject: subjectUrl,\n resourceUrl,\n where,\n relations: parseRelations(argv.relation),\n limit: Math.max(1, Math.min(argv.limit || 100, 10000)),\n includeMetadata: argv['include-metadata'] !== false,\n };\n}\n\nfunction queryFilterTerm(field: PodModelFieldDescriptor, value: unknown): string {\n if (Array.isArray(value)) {\n return value.map((item) => sparqlValue(item, field)).join(' ');\n }\n return sparqlValue(value, field);\n}\n\nexport function buildDescriptorObjectQuery(selector: ResolvedObjSelector): string {\n const descriptor = selector.descriptor;\n assertKnownFields(descriptor, selector.where);\n\n const triples = [ `?subject a <${descriptor.class}> .` ];\n if (selector.subject) {\n triples.push(`VALUES ?subject { <${selector.subject}> }`);\n }\n if (selector.resourceUrl) {\n triples.push(`FILTER(STR(?subject) = ${JSON.stringify(selector.resourceUrl)} || STRSTARTS(STR(?subject), ${JSON.stringify(`${selector.resourceUrl}#`)}))`);\n }\n\n for (const [ field, fieldDescriptor ] of Object.entries(descriptor.fields)) {\n triples.push(`OPTIONAL { ?subject <${fieldDescriptor.predicate}> ${fieldVar(field)} . }`);\n }\n\n for (const [ field, value ] of Object.entries(selector.where)) {\n const descriptorField = descriptor.fields[field];\n if (!descriptorField) continue;\n if (Array.isArray(value)) {\n triples.push(`VALUES ${fieldVar(`filter_${field}`)} { ${queryFilterTerm(descriptorField, value)} }`);\n triples.push(`?subject <${descriptorField.predicate}> ${fieldVar(`filter_${field}`)} .`);\n } else {\n triples.push(`?subject <${descriptorField.predicate}> ${queryFilterTerm(descriptorField, value)} .`);\n }\n }\n\n for (const [ field, objectUri ] of Object.entries(selector.relations)) {\n const descriptorField = descriptor.fields[field];\n if (!descriptorField) {\n throw new CliCommandError('predicate_unknown', `Relation field is not known by descriptor ${descriptor.uri}: ${field}`, 2);\n }\n if (descriptorField.type !== 'uri') {\n throw new CliCommandError('relation_field_not_uri', `Relation field is not URI-valued: ${field}`, 2);\n }\n triples.push(`?subject <${descriptorField.predicate}> ${sparqlIri(objectUri)} .`);\n }\n\n const fieldVars = Object.keys(descriptor.fields).map(fieldVar).join(' ');\n return `SELECT ?subject ${fieldVars} WHERE {\\n ${triples.join('\\n ')}\\n}\\nLIMIT ${selector.limit}`;\n}\n\nfunction bindingToValue(binding: SparqlBinding | undefined, field: PodModelFieldDescriptor): unknown {\n if (!binding?.value) return undefined;\n if (binding.type === 'uri') return binding.value;\n if (field.type === 'number') {\n const number = Number(binding.value);\n return Number.isNaN(number) ? binding.value : number;\n }\n if (field.type === 'boolean') {\n return binding.value === 'true' || binding.value === '1';\n }\n if (field.type === 'json') {\n try {\n return JSON.parse(binding.value);\n } catch {\n return binding.value;\n }\n }\n return binding.value;\n}\n\nexport function descriptorObjectFromTurtle(\n descriptor: PodModelDescriptor,\n subject: string,\n resourceUrl: string,\n turtle: string,\n): DescriptorObject | null {\n const quads = new Parser({ baseIRI: resourceUrl }).parse(turtle);\n const object: Record<string, unknown> = {};\n let hasDescriptorType = false;\n\n for (const quad of quads) {\n if (quad.subject.value !== subject) continue;\n if (\n quad.predicate.value === 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' &&\n quad.object.value === descriptor.class\n ) {\n hasDescriptorType = true;\n }\n }\n\n for (const [ field, descriptorField ] of Object.entries(descriptor.fields)) {\n const quad = quads.find((item) =>\n item.subject.value === subject &&\n item.predicate.value === descriptorField.predicate);\n if (!quad) continue;\n const value = bindingToValue({\n type: quad.object.termType === 'NamedNode' ? 'uri' : 'literal',\n value: quad.object.value,\n datatype: 'datatype' in quad.object ? quad.object.datatype.value : undefined,\n }, descriptorField);\n if (value !== undefined) {\n object[field] = descriptorField.secret ? '[redacted]' : value;\n }\n }\n\n if (!hasDescriptorType && Object.keys(object).length === 0) {\n return null;\n }\n return {\n schema: descriptor.uri,\n subject,\n resourceUrl,\n object,\n };\n}\n\nasync function applyEtags(context: CliAuthContext, objects: DescriptorObject[]): Promise<void> {\n const cache = new Map<string, string | null>();\n for (const object of objects) {\n if (!cache.has(object.resourceUrl)) {\n try {\n const target = resolveResourceTarget(context, object.resourceUrl);\n const response = await fetchResource(context, target, { method: 'HEAD' });\n cache.set(object.resourceUrl, response.ok ? response.headers.get('etag') : null);\n } catch {\n cache.set(object.resourceUrl, null);\n }\n }\n const etag = cache.get(object.resourceUrl) ?? null;\n object.etag = etag;\n object.revision = etag;\n }\n}\n\nasync function queryDescriptorObjects(context: CliAuthContext, selector: ResolvedObjSelector): Promise<DescriptorObject[]> {\n const endpoint = resolveSparqlEndpoint(context.podRoot);\n const query = buildDescriptorObjectQuery(selector);\n const response = await fetchResource(context, {\n input: endpoint,\n resourceUrl: endpoint,\n webId: context.webId,\n podRoot: context.podRoot,\n baseIri: context.baseIri,\n }, {\n method: 'POST',\n headers: {\n Accept: 'application/sparql-results+json',\n 'Content-Type': 'application/sparql-query',\n },\n body: query,\n });\n if (!response.ok) {\n const fallback = await queryDescriptorObjectFromResource(context, selector);\n if (fallback) {\n return fallback;\n }\n }\n ensureOk(response, 'obj_query_failed', `Failed to list objects for ${selector.descriptor.uri}`);\n const result = (await response.json()) as {\n results?: { bindings?: Array<Record<string, SparqlBinding>> };\n };\n\n const objects = (result.results?.bindings ?? []).flatMap((binding) => {\n const subject = binding.subject?.value;\n if (!subject) return [];\n const object: Record<string, unknown> = {};\n for (const [ field, descriptorField ] of Object.entries(selector.descriptor.fields)) {\n const value = bindingToValue(binding[varName(field)], descriptorField);\n if (value !== undefined) {\n object[field] = descriptorField.secret ? '[redacted]' : value;\n }\n }\n return [{\n schema: selector.descriptor.uri,\n subject,\n resourceUrl: documentResourceInput(subject),\n object,\n }];\n });\n\n if (selector.includeMetadata) {\n await applyEtags(context, objects);\n }\n return objects;\n}\n\nasync function queryDescriptorObjectFromResource(\n context: CliAuthContext,\n selector: ResolvedObjSelector,\n): Promise<DescriptorObject[] | null> {\n if (!selector.subject) return null;\n if (Object.keys(selector.where).length > 0) return null;\n if (Object.keys(selector.relations).length > 0) return null;\n\n const resourceUrl = documentResourceInput(selector.subject);\n const target = resolveResourceTarget(context, resourceUrl);\n const response = await fetchResource(context, target, {\n method: 'GET',\n headers: { Accept: 'text/turtle' },\n });\n if (response.status === 404) return [];\n if (!response.ok) return null;\n const turtle = await response.text();\n const object = descriptorObjectFromTurtle(selector.descriptor, selector.subject, target.resourceUrl, turtle);\n const objects = object ? [ object ] : [];\n if (selector.includeMetadata) {\n await applyEtags(context, objects);\n }\n return objects;\n}\n\nfunction jsonlForObjects(objects: DescriptorObject[]): string {\n return `${objects.map((object, index) => JSON.stringify({\n index,\n ok: true,\n code: 'ok',\n ...object,\n })).join('\\n')}${objects.length > 0 ? '\\n' : ''}`;\n}\n\nasync function patchSubject(input: {\n context: CliAuthContext;\n subject: string;\n sparql: string;\n ifMatch?: string;\n errorCode: string;\n}): Promise<ReturnType<typeof responseData>> {\n const target = resolveResourceTarget(input.context, documentResourceInput(input.subject));\n const headers: Record<string, string> = { 'Content-Type': 'application/sparql-update' };\n if (input.ifMatch) headers['If-Match'] = input.ifMatch;\n const response = await fetchResource(input.context, target, {\n method: 'PATCH',\n headers,\n body: input.sparql,\n });\n ensureOk(response, input.errorCode, `Failed to patch object ${input.subject}`);\n return responseData(target, response);\n}\n\nfunction mutationPlan(input: {\n operationId: string;\n context: CliAuthContext;\n summary: string;\n subject: string;\n schema?: string;\n etag?: string;\n change: string;\n diff?: unknown[];\n}): Record<string, unknown> {\n return {\n operationId: input.operationId,\n webId: input.context.webId,\n podRoot: input.context.podRoot,\n summary: input.summary,\n risk: 'normal',\n resources: [\n {\n subject: input.subject,\n schema: input.schema,\n etag: input.etag,\n change: input.change,\n },\n ],\n diff: input.diff ?? [],\n };\n}\n\nasync function resolveDescriptorForMutation(context: CliAuthContext, schema: string | undefined, subject: string): Promise<PodModelDescriptor> {\n return schema ? resolveDescriptor(schema) : inferDescriptorForSubject(context, subject);\n}\n\nasync function executePatchCommand(argv: ObjPatchArgs): Promise<Record<string, unknown>> {\n const context = await requireAuthContext(argv);\n const subject = resolveResourceTarget(context, argv.subject).resourceUrl;\n const descriptor = await resolveDescriptorForMutation(context, argv.schema, subject);\n const set = parseJsonObject(argv.set, 'invalid_set');\n const sparql = buildDescriptorPatchSparql(descriptor, subject, set);\n const plan = mutationPlan({\n operationId: `op_patch_${Date.now()}`,\n context,\n summary: `Patch one descriptor-backed ${descriptor.resourceKind}`,\n subject,\n schema: descriptor.uri,\n etag: argv['if-match'],\n change: 'patch',\n diff: [ redactDescriptorObject(descriptor, set) ],\n });\n if (argv['dry-run']) {\n return { plan };\n }\n const response = await patchSubject({\n context,\n subject,\n sparql,\n ifMatch: argv['if-match'],\n errorCode: 'obj_patch_failed',\n });\n return { ...response, plan };\n}\n\nasync function executeLinkCommand(argv: ObjLinkArgs): Promise<Record<string, unknown>> {\n const context = await requireAuthContext(argv);\n const subject = resolveResourceTarget(context, argv.subject).resourceUrl;\n const descriptor = argv.schema || !/^https?:\\/\\//iu.test(argv.predicate)\n ? await resolveDescriptorForMutation(context, argv.schema, subject)\n : undefined;\n let predicate = argv.predicate;\n if (!/^https?:\\/\\//iu.test(predicate)) {\n if (!descriptor?.fields[predicate]) {\n throw new CliCommandError('predicate_unknown', `Predicate field is not known by descriptor: ${predicate}`, 2);\n }\n const field = descriptor.fields[predicate];\n if (field.type !== 'uri') {\n throw new CliCommandError('relation_field_not_uri', `Relation field is not URI-valued: ${predicate}`, 2);\n }\n predicate = field.predicate;\n }\n const sparql = buildDescriptorLinkSparql(subject, predicate, argv.object);\n const plan = mutationPlan({\n operationId: `op_link_${Date.now()}`,\n context,\n summary: 'Link one descriptor-backed object relation',\n subject,\n schema: descriptor?.uri,\n etag: argv['if-match'],\n change: 'link',\n diff: [{ predicate, object: argv.object }],\n });\n if (argv['dry-run']) {\n return { plan };\n }\n const response = await patchSubject({\n context,\n subject,\n sparql,\n ifMatch: argv['if-match'],\n errorCode: 'obj_link_failed',\n });\n return { ...response, plan };\n}\n\nasync function executeDeleteCommand(argv: ObjDeleteArgs): Promise<Record<string, unknown>> {\n const context = await requireAuthContext(argv);\n const subject = resolveResourceTarget(context, argv.subject).resourceUrl;\n const descriptor = await resolveDescriptorForMutation(context, argv.schema, subject);\n const sparql = buildDescriptorDeleteSparql(subject);\n const plan = mutationPlan({\n operationId: `op_delete_${Date.now()}`,\n context,\n summary: `Delete one descriptor-backed ${descriptor.resourceKind}`,\n subject,\n schema: descriptor.uri,\n etag: argv['if-match'],\n change: 'delete',\n });\n if (argv['dry-run']) {\n return { plan };\n }\n const response = await patchSubject({\n context,\n subject,\n sparql,\n ifMatch: argv['if-match'],\n errorCode: 'obj_delete_failed',\n });\n return { ...response, plan };\n}\n\nasync function executeRawRow(context: CliAuthContext, row: ObjMutationRow, index: number, commit: boolean): Promise<ItemResult> {\n const op = row.op;\n if (!op) {\n throw new CliCommandError('schema_required', 'JSONL row without schema must declare an explicit raw resource op.', 2);\n }\n const targetInput = row.path ?? row.resource ?? row.subject;\n if (!targetInput) {\n throw new CliCommandError('explicit_target_required', 'Raw JSONL rows must declare path, resource, or subject.', 2);\n }\n const target = resolveResourceTarget(context, row.subject ? documentResourceInput(targetInput) : targetInput);\n if (!commit) {\n return {\n index,\n ok: true,\n code: 'plan_ready',\n operation: op,\n resourceUrl: target.resourceUrl,\n webId: context.webId,\n podRoot: context.podRoot,\n };\n }\n if (![ 'put', 'patch', 'delete' ].includes(op)) {\n throw new CliCommandError('unsupported_operation', `Unsupported raw JSONL operation: ${op}`, 2);\n }\n\n const headers: Record<string, string> = {};\n let body: Buffer | string | undefined;\n if (op !== 'delete') {\n if (row.from) {\n const file = readBodyFile(row.from);\n body = file.body;\n headers['Content-Type'] = row.contentType ?? file.contentType;\n } else if (row.body !== undefined) {\n body = row.body;\n headers['Content-Type'] = row.contentType ?? 'text/plain';\n } else {\n throw new CliCommandError('body_required', `Raw ${op} rows require body or from.`, 2);\n }\n }\n if (row.ifMatch) headers['If-Match'] = row.ifMatch;\n\n const response = await fetchResource(context, target, {\n method: op.toUpperCase(),\n headers,\n body,\n });\n ensureOk(response, 'raw_commit_failed', `Failed to commit raw row ${index}`);\n return {\n index,\n ok: true,\n code: 'committed',\n operation: op,\n ...responseData(target, response),\n };\n}\n\nasync function executeDescriptorRow(context: CliAuthContext, row: ObjMutationRow, index: number, commit: boolean): Promise<ItemResult> {\n const descriptor = resolveDescriptor(row.schema!);\n const op = row.op ?? 'upsert';\n if (op !== 'upsert') {\n if (!row.subject) {\n throw new CliCommandError('subject_required', `Object operation ${op} requires subject.`, 2);\n }\n const subject = resolveResourceTarget(context, row.subject).resourceUrl;\n if (op === 'patch') {\n const set = row.set ?? {};\n const sparql = buildDescriptorPatchSparql(descriptor, subject, set);\n if (commit) {\n await patchSubject({ context, subject, sparql, ifMatch: row.ifMatch, errorCode: 'obj_patch_failed' });\n }\n return {\n index,\n ok: true,\n code: commit ? 'committed' : 'plan_ready',\n operation: op,\n schema: descriptor.uri,\n subject,\n set: redactDescriptorObject(descriptor, set),\n };\n }\n if (op === 'link') {\n if (!row.predicate || !row.object) {\n throw new CliCommandError('link_target_required', 'Link rows require predicate and object.', 2);\n }\n const field = descriptor.fields[row.predicate];\n const predicate = field ? field.predicate : row.predicate;\n if (field && field.type !== 'uri') {\n throw new CliCommandError('relation_field_not_uri', `Relation field is not URI-valued: ${row.predicate}`, 2);\n }\n if (!field && !/^https?:\\/\\//iu.test(predicate)) {\n throw new CliCommandError('predicate_unknown', `Predicate field is not known by descriptor: ${row.predicate}`, 2);\n }\n const sparql = buildDescriptorLinkSparql(subject, predicate, row.object);\n if (commit) {\n await patchSubject({ context, subject, sparql, ifMatch: row.ifMatch, errorCode: 'obj_link_failed' });\n }\n return {\n index,\n ok: true,\n code: commit ? 'committed' : 'plan_ready',\n operation: op,\n schema: descriptor.uri,\n subject,\n predicate,\n object: row.object,\n };\n }\n if (op === 'delete') {\n const sparql = buildDescriptorDeleteSparql(subject);\n if (commit) {\n await patchSubject({ context, subject, sparql, ifMatch: row.ifMatch, errorCode: 'obj_delete_failed' });\n }\n return {\n index,\n ok: true,\n code: commit ? 'committed' : 'plan_ready',\n operation: op,\n schema: descriptor.uri,\n subject,\n };\n }\n throw new CliCommandError('unsupported_operation', `Unsupported object operation: ${op}`, 2);\n }\n\n const item = descriptorUpsertPlanItem({\n descriptor,\n index,\n commit,\n podRoot: context.podRoot,\n row,\n });\n const subject = String(item.subject);\n if (commit) {\n const sparql = buildDescriptorUpsertSparql(descriptor, subject, row);\n await patchSubject({ context, subject, sparql, ifMatch: row.ifMatch, errorCode: 'obj_commit_failed' });\n }\n\n return item;\n}\n\nexport function descriptorUpsertPlanItem(input: {\n descriptor: PodModelDescriptor;\n index: number;\n commit: boolean;\n podRoot: string;\n row: ObjMutationRow;\n}): ItemResult {\n const storage = createPodStorage(createPodModelDescriptorRegistry([ input.descriptor ]));\n const validation = storage.validate({\n schemaUri: input.descriptor.uri,\n operation: 'upsert',\n match: input.row.match ?? {},\n set: input.row.set ?? {},\n });\n if (!validation.ok) {\n throw new CliCommandError(validation.error.code, validation.error.message, 2);\n }\n\n const discovery = input.descriptor as DiscoveryDescriptor;\n const subject = resourceUrlFromPlan(input.podRoot, validation.plan);\n return {\n index: input.index,\n ok: true,\n code: input.commit ? 'committed' : 'plan_ready',\n operation: input.row.op ?? 'upsert',\n schema: input.descriptor.uri,\n subject,\n resourceUrl: documentResourceInput(subject),\n planId: validation.plan.id,\n resourceId: validation.plan.resourceId,\n resourceUri: validation.plan.resourceUri,\n documentPathPolicy: discovery.documentPathPolicy ?? null,\n match: redactDescriptorObject(input.descriptor, input.row.match ?? {}),\n set: redactDescriptorObject(input.descriptor, input.row.set ?? {}),\n };\n}\n\nexport async function executeRows(input: {\n argv: ObjArgs;\n rows: ObjMutationRow[];\n defaultSchema?: string;\n commit: boolean;\n}): Promise<ItemResult[]> {\n const context = await resolveObjMutationContext(input.argv, input.commit);\n const items: ItemResult[] = [];\n for (const [ index, originalRow ] of input.rows.entries()) {\n const row = {\n ...originalRow,\n schema: originalRow.schema ?? input.defaultSchema,\n };\n try {\n const shouldCommitToPod = input.commit && !context.pendingOnly;\n const item = row.schema\n ? await executeDescriptorRow(context, row, index, shouldCommitToPod)\n : await executeRawRow(context, row, index, shouldCommitToPod);\n if (context.pendingOnly && input.commit) {\n const outboxPath = context.outboxPath ?? getObjLocalOutboxPath();\n appendObjLocalOutbox({\n kind: 'xpod.obj.mutation',\n version: 1,\n status: 'pending',\n createdAt: new Date().toISOString(),\n webId: context.webId,\n podRoot: context.podRoot,\n row,\n item,\n }, outboxPath);\n items.push({\n ...item,\n code: 'pending_local',\n pendingLocal: true,\n outboxPath,\n warnings: [\n ...((Array.isArray(item.warnings) ? item.warnings : []) as unknown[]),\n context.pendingWarning,\n ],\n });\n continue;\n }\n items.push(context.planningOnly\n ? {\n ...item,\n planningOnly: true,\n warnings: [\n ...((Array.isArray(item.warnings) ? item.warnings : []) as unknown[]),\n context.planningWarning,\n ],\n }\n : item);\n } catch (error) {\n const err = error instanceof CliCommandError\n ? error\n : new CliCommandError('error', error instanceof Error ? error.message : String(error));\n items.push({ index, ok: false, code: err.code, message: err.message });\n }\n }\n return items;\n}\n\nexport function mutationItemsResultCode(items: ItemResult[], commit: boolean): 'plan_ready' | 'committed' | 'pending_local' | 'partial_failure' {\n if (!items.every((item) => item.ok)) return 'partial_failure';\n if (items.some((item) => item.code === 'pending_local')) return 'pending_local';\n return commit ? 'committed' : 'plan_ready';\n}\n\nfunction printItems(items: ItemResult[]): void {\n for (const item of items) {\n console.log(`${item.index}\\t${item.ok ? item.code : `ERROR ${item.code}`}\\t${String(item.subject ?? item.resourceUrl ?? item.message ?? '')}`);\n }\n}\n\nconst schemasCommand: CommandModule<object, ObjSchemasArgs> = {\n command: 'schemas',\n describe: 'List model-backed object schemas available to AI tools',\n builder: (yargs) =>\n objOptions<ObjSchemasArgs>(yargs)\n .option('domain', { type: 'string', description: 'Filter schemas by domain such as capture or symphony' }),\n handler: async (argv) => {\n try {\n const schemas = listSchemaDescriptors({ domain: argv.domain });\n if (argv.json) {\n writeJsonResult({ schemas }, 'schemas');\n return;\n }\n for (const descriptor of schemas) {\n console.log(`${String(descriptor.alias)}\\t${String(descriptor.schema)}\\t${String(descriptor.resourceKind)}`);\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst describeCommand: CommandModule<object, ObjDescribeArgs> = {\n command: 'describe <schema>',\n describe: 'Describe one model-backed object schema by URI or alias',\n builder: (yargs) =>\n objOptions<ObjDescribeArgs>(yargs)\n .positional('schema', { type: 'string', demandOption: true, description: 'Schema URI or descriptor alias' }),\n handler: async (argv) => {\n try {\n const descriptor = describeSchemaDescriptor(argv.schema);\n if (!descriptor) {\n throw new CliCommandError('schema_unknown', `Schema is not known by @undefineds.co/models: ${argv.schema}`, 2);\n }\n if (argv.json) {\n writeJsonResult({ descriptor }, 'schema');\n return;\n }\n console.log(JSON.stringify(descriptor, null, 2));\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst importCommand: CommandModule<object, ObjImportArgs> = {\n command: 'import <file>',\n describe: 'Import descriptor-backed or explicit raw JSONL rows',\n builder: (yargs) =>\n objOptions<ObjImportArgs>(yargs)\n .positional('file', { type: 'string', demandOption: true, description: 'JSONL file to import, or - for stdin' })\n .option('dry-run', { type: 'boolean', description: 'Validate and print a plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the validated mutations' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const items = await executeRows({\n argv,\n rows: await readJsonl(argv.file),\n commit: argv.commit === true,\n });\n const code = mutationItemsResultCode(items, argv.commit === true);\n if (argv.json) {\n writeJsonItems(items, code);\n return;\n }\n printItems(items);\n if (!items.every((item) => item.ok)) process.exit(1);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst upsertCommand: CommandModule<object, ObjUpsertArgs> = {\n command: 'upsert',\n describe: 'Upsert descriptor-backed JSONL rows',\n builder: (yargs) =>\n objOptions<ObjUpsertArgs>(yargs)\n .option('schema', { type: 'string', demandOption: true, description: 'Schema URI or descriptor alias' })\n .option('from', { type: 'string', demandOption: true, description: 'JSONL file to read, or - for stdin' })\n .nargs('from', 1)\n .option('dry-run', { type: 'boolean', description: 'Validate and print a plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the validated mutations' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const items = await executeRows({\n argv,\n rows: await readJsonl(argv.from),\n defaultSchema: resolveDescriptor(argv.schema).uri,\n commit: argv.commit === true,\n });\n const code = mutationItemsResultCode(items, argv.commit === true);\n if (argv.json) {\n writeJsonItems(items, code);\n return;\n }\n printItems(items);\n if (!items.every((item) => item.ok)) process.exit(1);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst listCommand: CommandModule<object, ObjSelectorArgs> = {\n command: 'list',\n describe: 'List descriptor-backed objects',\n builder: (yargs) =>\n selectorOptions<ObjSelectorArgs>(yargs)\n .option('schema', { type: 'string', demandOption: true, description: 'Schema URI or descriptor alias' }),\n handler: async (argv) => {\n try {\n const context = await requireAuthContext(argv);\n const selector = await resolveObjectSelector(context, argv);\n const objects = await queryDescriptorObjects(context, selector);\n if (argv.json) {\n writeJsonResult({\n webId: context.webId,\n podRoot: context.podRoot,\n schema: selector.descriptor.uri,\n objects,\n });\n return;\n }\n for (const object of objects) {\n console.log(object.subject);\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst exportCommand: CommandModule<object, ObjSelectorArgs> = {\n command: 'export <selector>',\n describe: 'Export descriptor-backed objects as JSONL',\n builder: (yargs) =>\n selectorOptions<ObjSelectorArgs>(yargs)\n .positional('selector', { type: 'string', demandOption: true, description: 'Schema URI/alias, subject, resource URL, or Pod-relative path selector' })\n .option('format', { type: 'string', choices: [ 'jsonl' ], default: 'jsonl', description: 'Export format' })\n .option('out', { type: 'string', description: 'Output file path' }),\n handler: async (argv) => {\n try {\n const context = await requireAuthContext(argv);\n const selector = await resolveObjectSelector(context, argv);\n const objects = await queryDescriptorObjects(context, selector);\n const jsonl = jsonlForObjects(objects);\n if (argv.out) {\n writeFileSync(argv.out, jsonl, 'utf-8');\n }\n if (argv.json) {\n writeJsonResult({\n webId: context.webId,\n podRoot: context.podRoot,\n schema: selector.descriptor.uri,\n count: objects.length,\n out: argv.out ?? null,\n ...(argv.out ? {} : { objects }),\n });\n return;\n }\n if (!argv.out) {\n process.stdout.write(jsonl);\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst getCommand: CommandModule<object, ObjGetArgs> = {\n command: 'get',\n describe: 'Read one descriptor-backed object as JSON',\n builder: (yargs) =>\n objOptions<ObjGetArgs>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias' })\n .option('subject', { type: 'string', demandOption: true, description: 'Object subject URI or Pod-relative subject' })\n .option('out', { type: 'string', description: 'Write JSON object to file' })\n .option('include-metadata', { type: 'boolean', default: true, description: 'Include etag/revision metadata when available' }),\n handler: async (argv) => {\n try {\n const context = await requireAuthContext(argv);\n const selector = await resolveObjectSelector(context, {\n ...argv,\n selector: undefined,\n limit: 1,\n format: 'jsonl',\n where: undefined,\n relation: undefined,\n status: undefined,\n });\n const objects = await queryDescriptorObjects(context, selector);\n const object = objects[0];\n if (!object) {\n throw new CliCommandError('object_not_found', `Object not found: ${argv.subject}`, 1);\n }\n const body = `${JSON.stringify(object, null, 2)}\\n`;\n if (argv.out) {\n writeFileSync(argv.out, body, 'utf-8');\n }\n if (argv.json) {\n writeJsonResult({ webId: context.webId, podRoot: context.podRoot, object, out: argv.out ?? null });\n return;\n }\n if (!argv.out) {\n process.stdout.write(body);\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst patchCommand: CommandModule<object, ObjPatchArgs> = {\n command: 'patch',\n describe: 'Patch one descriptor-backed object field set',\n builder: (yargs) =>\n objOptions<ObjPatchArgs>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias. Required if the subject document cannot be inferred.' })\n .option('subject', { type: 'string', demandOption: true, description: 'Object subject URI or Pod-relative subject' })\n .option('set', { type: 'string', demandOption: true, description: 'JSON object of descriptor field values to set' })\n .option('if-match', { type: 'string', description: 'If-Match header for stale-write protection' })\n .option('dry-run', { type: 'boolean', description: 'Print the mutation plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the mutation' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const data = await executePatchCommand(argv);\n if (argv.json) {\n writeJsonResult(data, argv['dry-run'] ? 'plan_ready' : 'committed');\n return;\n }\n console.log(argv['dry-run'] ? JSON.stringify(data.plan, null, 2) : `PATCH ${String(data.resourceUrl)} -> HTTP ${String(data.status)}`);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst linkCommand: CommandModule<object, ObjLinkArgs> = {\n command: 'link',\n describe: 'Link one descriptor-backed object to another URI',\n builder: (yargs) =>\n objOptions<ObjLinkArgs>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias when --predicate is a descriptor field' })\n .option('subject', { type: 'string', demandOption: true, description: 'Object subject URI or Pod-relative subject' })\n .option('predicate', { type: 'string', demandOption: true, description: 'Predicate URI or descriptor field' })\n .option('object', { type: 'string', demandOption: true, description: 'Object URI to link' })\n .option('if-match', { type: 'string', description: 'If-Match header for stale-write protection' })\n .option('dry-run', { type: 'boolean', description: 'Print the mutation plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the mutation' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const data = await executeLinkCommand(argv);\n if (argv.json) {\n writeJsonResult(data, argv['dry-run'] ? 'plan_ready' : 'committed');\n return;\n }\n console.log(argv['dry-run'] ? JSON.stringify(data.plan, null, 2) : `LINK ${String(data.resourceUrl)} -> HTTP ${String(data.status)}`);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst deleteCommand: CommandModule<object, ObjDeleteArgs> = {\n command: 'delete',\n describe: 'Delete triples for one descriptor-backed object subject',\n builder: (yargs) =>\n objOptions<ObjDeleteArgs>(yargs)\n .option('schema', { type: 'string', description: 'Schema URI or descriptor alias. Required if the subject document cannot be inferred.' })\n .option('subject', { type: 'string', demandOption: true, description: 'Object subject URI or Pod-relative subject' })\n .option('if-match', { type: 'string', description: 'If-Match header for stale-write protection' })\n .option('dry-run', { type: 'boolean', description: 'Print the mutation plan without writing' })\n .option('commit', { type: 'boolean', description: 'Commit the mutation' })\n .check(mutationModeCheck),\n handler: async (argv) => {\n try {\n const data = await executeDeleteCommand(argv);\n if (argv.json) {\n writeJsonResult(data, argv['dry-run'] ? 'plan_ready' : 'committed');\n return;\n }\n console.log(argv['dry-run'] ? JSON.stringify(data.plan, null, 2) : `DELETE ${String(data.resourceUrl)} -> HTTP ${String(data.status)}`);\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nconst watchCommand: CommandModule<object, ObjSelectorArgs> = {\n command: 'watch <selector>',\n describe: 'Stream descriptor-backed object changes as JSONL snapshots',\n builder: (yargs) =>\n selectorOptions<ObjSelectorArgs>(yargs)\n .positional('selector', { type: 'string', demandOption: true, description: 'Schema URI/alias, subject, resource URL, or Pod-relative path selector' })\n .option('format', { type: 'string', choices: [ 'jsonl' ], default: 'jsonl', description: 'Watch stream format' })\n .option('since', { type: 'string', description: 'Opaque cursor from a previous watch stream' }),\n handler: async (argv) => {\n try {\n const context = await requireAuthContext(argv);\n const selector = await resolveObjectSelector(context, argv);\n const objects = await queryDescriptorObjects(context, selector);\n const metadata = {\n cursorDurable: false,\n since: argv.since ?? null,\n cursor: null,\n message: 'Durable object cursors are not available; reconcile with a fresh obj list/export snapshot.',\n };\n if (argv.json) {\n writeJsonResult({ metadata, objects }, 'watch_snapshot');\n return;\n }\n console.log(JSON.stringify({ ok: true, code: 'cursor_unavailable', metadata }));\n for (const [ index, object ] of objects.entries()) {\n console.log(JSON.stringify({\n index,\n ok: true,\n code: 'snapshot',\n change: 'snapshot',\n ...object,\n }));\n }\n } catch (error) {\n handleCliError(error, argv.json);\n }\n },\n};\n\nexport const objCommand: CommandModule<object, ObjArgs> = {\n command: 'obj',\n describe: 'Descriptor-backed object transport',\n builder: (yargs) =>\n (yargs\n .command(schemasCommand)\n .command(describeCommand)\n .command(exportCommand)\n .command(importCommand)\n .command(getCommand)\n .command(listCommand)\n .command(upsertCommand)\n .command(patchCommand)\n .command(linkCommand)\n .command(deleteCommand)\n .command(watchCommand)\n .demandCommand(1, 'Please specify an object subcommand') as unknown as Argv<ObjArgs>),\n handler: () => {},\n};\n"]}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import type { CommandModule } from 'yargs';
|
|
2
|
+
import { type RdfIndexSolidFsRebuildResult } from '../../solidfs';
|
|
2
3
|
interface RdfArgs {
|
|
3
4
|
url?: string;
|
|
4
5
|
json: boolean;
|
|
5
6
|
}
|
|
7
|
+
export interface RdfTextRebuildCommandInput {
|
|
8
|
+
workspace: string;
|
|
9
|
+
sourcePath?: string;
|
|
10
|
+
textIndex: string;
|
|
11
|
+
dryRun?: boolean;
|
|
12
|
+
reset?: boolean;
|
|
13
|
+
}
|
|
6
14
|
export declare function readInlineOrFile(value: string): string;
|
|
7
15
|
export declare function documentResourceInput(input: string): string;
|
|
8
16
|
export declare function buildSparqlPatch(input: {
|
|
@@ -10,5 +18,6 @@ export declare function buildSparqlPatch(input: {
|
|
|
10
18
|
delete?: string;
|
|
11
19
|
}): string;
|
|
12
20
|
export declare function resolveSparqlEndpoint(podRoot: string, scope?: string): string;
|
|
21
|
+
export declare function executeRdfTextRebuildCommand(input: RdfTextRebuildCommandInput): Promise<RdfIndexSolidFsRebuildResult>;
|
|
13
22
|
export declare const rdfCommand: CommandModule<object, RdfArgs>;
|
|
14
23
|
export {};
|