@undefineds.co/xpod 0.1.0-local.202602081751
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +146 -0
- package/components/components.jsonld +72 -0
- package/components/context.jsonld +1635 -0
- package/config/bun.json +90 -0
- package/config/cli.json +260 -0
- package/config/cloud.json +469 -0
- package/config/extensions.local.initializer.json +23 -0
- package/config/local.json +261 -0
- package/config/logging/configurable.json +18 -0
- package/config/main.json +200 -0
- package/config/main.vanilla.json +6 -0
- package/config/resolver.json +347 -0
- package/config/search.json +66 -0
- package/config/seed.dev.json +29 -0
- package/config/seeds/admin.example.json +11 -0
- package/config/seeds/test.json +11 -0
- package/config/terminal.json +22 -0
- package/config/vector.json +35 -0
- package/config/xpod.base.json +155 -0
- package/config/xpod.cluster.json +419 -0
- package/config/xpod.json +233 -0
- package/dist/agents/AgentExecutorFactory.d.ts +67 -0
- package/dist/agents/AgentExecutorFactory.js +193 -0
- package/dist/agents/AgentExecutorFactory.js.map +1 -0
- package/dist/agents/AgentManager.d.ts +114 -0
- package/dist/agents/AgentManager.js +289 -0
- package/dist/agents/AgentManager.js.map +1 -0
- package/dist/agents/BaseAgentExecutor.d.ts +67 -0
- package/dist/agents/BaseAgentExecutor.js +101 -0
- package/dist/agents/BaseAgentExecutor.js.map +1 -0
- package/dist/agents/ClaudeExecutor.d.ts +63 -0
- package/dist/agents/ClaudeExecutor.js +335 -0
- package/dist/agents/ClaudeExecutor.js.map +1 -0
- package/dist/agents/CodeBuddyExecutor.d.ts +54 -0
- package/dist/agents/CodeBuddyExecutor.js +273 -0
- package/dist/agents/CodeBuddyExecutor.js.map +1 -0
- package/dist/agents/IndexAgent.d.ts +70 -0
- package/dist/agents/IndexAgent.js +417 -0
- package/dist/agents/IndexAgent.js.map +1 -0
- package/dist/agents/index.d.ts +22 -0
- package/dist/agents/index.js +48 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/schema/agent-config.d.ts +58 -0
- package/dist/agents/schema/agent-config.js +74 -0
- package/dist/agents/schema/agent-config.js.map +1 -0
- package/dist/agents/schema/tables.d.ts +46 -0
- package/dist/agents/schema/tables.js +64 -0
- package/dist/agents/schema/tables.js.map +1 -0
- package/dist/agents/types.d.ts +266 -0
- package/dist/agents/types.js +9 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.js +22 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/schema/config.d.ts +27 -0
- package/dist/ai/schema/config.js +36 -0
- package/dist/ai/schema/config.js.map +1 -0
- package/dist/ai/schema/index.d.ts +8 -0
- package/dist/ai/schema/index.js +27 -0
- package/dist/ai/schema/index.js.map +1 -0
- package/dist/ai/schema/model.d.ts +40 -0
- package/dist/ai/schema/model.js +60 -0
- package/dist/ai/schema/model.js.map +1 -0
- package/dist/ai/schema/provider.d.ts +21 -0
- package/dist/ai/schema/provider.js +30 -0
- package/dist/ai/schema/provider.js.map +1 -0
- package/dist/ai/schema/types.d.ts +52 -0
- package/dist/ai/schema/types.js +62 -0
- package/dist/ai/schema/types.js.map +1 -0
- package/dist/ai/schema/vector-store.d.ts +53 -0
- package/dist/ai/schema/vector-store.js +65 -0
- package/dist/ai/schema/vector-store.js.map +1 -0
- package/dist/ai/service/CredentialReader.d.ts +7 -0
- package/dist/ai/service/CredentialReader.js +10 -0
- package/dist/ai/service/CredentialReader.js.map +1 -0
- package/dist/ai/service/CredentialReaderImpl.d.ts +6 -0
- package/dist/ai/service/CredentialReaderImpl.js +55 -0
- package/dist/ai/service/CredentialReaderImpl.js.map +1 -0
- package/dist/ai/service/EmbeddingService.d.ts +8 -0
- package/dist/ai/service/EmbeddingService.js +10 -0
- package/dist/ai/service/EmbeddingService.js.map +1 -0
- package/dist/ai/service/EmbeddingServiceImpl.d.ts +11 -0
- package/dist/ai/service/EmbeddingServiceImpl.js +73 -0
- package/dist/ai/service/EmbeddingServiceImpl.js.map +1 -0
- package/dist/ai/service/ProviderRegistry.d.ts +26 -0
- package/dist/ai/service/ProviderRegistry.js +10 -0
- package/dist/ai/service/ProviderRegistry.js.map +1 -0
- package/dist/ai/service/ProviderRegistryImpl.d.ts +14 -0
- package/dist/ai/service/ProviderRegistryImpl.js +112 -0
- package/dist/ai/service/ProviderRegistryImpl.js.map +1 -0
- package/dist/ai/service/index.d.ts +10 -0
- package/dist/ai/service/index.js +29 -0
- package/dist/ai/service/index.js.map +1 -0
- package/dist/ai/service/types.d.ts +12 -0
- package/dist/ai/service/types.js +6 -0
- package/dist/ai/service/types.js.map +1 -0
- package/dist/api/ApiServer.d.ts +77 -0
- package/dist/api/ApiServer.js +191 -0
- package/dist/api/ApiServer.js.map +1 -0
- package/dist/api/auth/AuthContext.d.ts +41 -0
- package/dist/api/auth/AuthContext.js +44 -0
- package/dist/api/auth/AuthContext.js.map +1 -0
- package/dist/api/auth/Authenticator.d.ts +23 -0
- package/dist/api/auth/Authenticator.js +3 -0
- package/dist/api/auth/Authenticator.js.map +1 -0
- package/dist/api/auth/ClientCredentialsAuthenticator.d.ts +56 -0
- package/dist/api/auth/ClientCredentialsAuthenticator.js +191 -0
- package/dist/api/auth/ClientCredentialsAuthenticator.js.map +1 -0
- package/dist/api/auth/MultiAuthenticator.d.ts +15 -0
- package/dist/api/auth/MultiAuthenticator.js +36 -0
- package/dist/api/auth/MultiAuthenticator.js.map +1 -0
- package/dist/api/auth/NodeTokenAuthenticator.d.ts +21 -0
- package/dist/api/auth/NodeTokenAuthenticator.js +124 -0
- package/dist/api/auth/NodeTokenAuthenticator.js.map +1 -0
- package/dist/api/auth/SolidTokenAuthenticator.d.ts +27 -0
- package/dist/api/auth/SolidTokenAuthenticator.js +144 -0
- package/dist/api/auth/SolidTokenAuthenticator.js.map +1 -0
- package/dist/api/auth/index.d.ts +5 -0
- package/dist/api/auth/index.js +23 -0
- package/dist/api/auth/index.js.map +1 -0
- package/dist/api/chatkit/ai-provider.d.ts +44 -0
- package/dist/api/chatkit/ai-provider.js +157 -0
- package/dist/api/chatkit/ai-provider.js.map +1 -0
- package/dist/api/chatkit/index.d.ts +11 -0
- package/dist/api/chatkit/index.js +44 -0
- package/dist/api/chatkit/index.js.map +1 -0
- package/dist/api/chatkit/pod-store.d.ts +154 -0
- package/dist/api/chatkit/pod-store.js +794 -0
- package/dist/api/chatkit/pod-store.js.map +1 -0
- package/dist/api/chatkit/schema.d.ts +139 -0
- package/dist/api/chatkit/schema.js +168 -0
- package/dist/api/chatkit/schema.js.map +1 -0
- package/dist/api/chatkit/service.d.ts +143 -0
- package/dist/api/chatkit/service.js +442 -0
- package/dist/api/chatkit/service.js.map +1 -0
- package/dist/api/chatkit/store.d.ts +63 -0
- package/dist/api/chatkit/store.js +178 -0
- package/dist/api/chatkit/store.js.map +1 -0
- package/dist/api/chatkit/types.d.ts +461 -0
- package/dist/api/chatkit/types.js +50 -0
- package/dist/api/chatkit/types.js.map +1 -0
- package/dist/api/container/cloud.d.ts +12 -0
- package/dist/api/container/cloud.js +97 -0
- package/dist/api/container/cloud.js.map +1 -0
- package/dist/api/container/common.d.ts +11 -0
- package/dist/api/container/common.js +82 -0
- package/dist/api/container/common.js.map +1 -0
- package/dist/api/container/index.d.ts +16 -0
- package/dist/api/container/index.js +90 -0
- package/dist/api/container/index.js.map +1 -0
- package/dist/api/container/local.d.ts +13 -0
- package/dist/api/container/local.js +197 -0
- package/dist/api/container/local.js.map +1 -0
- package/dist/api/container/routes.d.ts +11 -0
- package/dist/api/container/routes.js +129 -0
- package/dist/api/container/routes.js.map +1 -0
- package/dist/api/container/types.d.ts +92 -0
- package/dist/api/container/types.js +8 -0
- package/dist/api/container/types.js.map +1 -0
- package/dist/api/handlers/AdminHandler.d.ts +6 -0
- package/dist/api/handlers/AdminHandler.js +330 -0
- package/dist/api/handlers/AdminHandler.js.map +1 -0
- package/dist/api/handlers/ApiKeyHandler.d.ts +15 -0
- package/dist/api/handlers/ApiKeyHandler.js +159 -0
- package/dist/api/handlers/ApiKeyHandler.js.map +1 -0
- package/dist/api/handlers/ChatHandler.d.ts +60 -0
- package/dist/api/handlers/ChatHandler.js +230 -0
- package/dist/api/handlers/ChatHandler.js.map +1 -0
- package/dist/api/handlers/ChatKitHandler.d.ts +18 -0
- package/dist/api/handlers/ChatKitHandler.js +151 -0
- package/dist/api/handlers/ChatKitHandler.js.map +1 -0
- package/dist/api/handlers/DashboardHandler.d.ts +14 -0
- package/dist/api/handlers/DashboardHandler.js +117 -0
- package/dist/api/handlers/DashboardHandler.js.map +1 -0
- package/dist/api/handlers/DdnsHandler.d.ts +19 -0
- package/dist/api/handlers/DdnsHandler.js +306 -0
- package/dist/api/handlers/DdnsHandler.js.map +1 -0
- package/dist/api/handlers/DevHandler.d.ts +18 -0
- package/dist/api/handlers/DevHandler.js +276 -0
- package/dist/api/handlers/DevHandler.js.map +1 -0
- package/dist/api/handlers/NodeHandler.d.ts +16 -0
- package/dist/api/handlers/NodeHandler.js +190 -0
- package/dist/api/handlers/NodeHandler.js.map +1 -0
- package/dist/api/handlers/PodManagementHandler.d.ts +39 -0
- package/dist/api/handlers/PodManagementHandler.js +294 -0
- package/dist/api/handlers/PodManagementHandler.js.map +1 -0
- package/dist/api/handlers/QuotaHandler.d.ts +21 -0
- package/dist/api/handlers/QuotaHandler.js +209 -0
- package/dist/api/handlers/QuotaHandler.js.map +1 -0
- package/dist/api/handlers/SignalHandler.d.ts +13 -0
- package/dist/api/handlers/SignalHandler.js +122 -0
- package/dist/api/handlers/SignalHandler.js.map +1 -0
- package/dist/api/handlers/SubdomainClientHandler.d.ts +24 -0
- package/dist/api/handlers/SubdomainClientHandler.js +169 -0
- package/dist/api/handlers/SubdomainClientHandler.js.map +1 -0
- package/dist/api/handlers/SubdomainHandler.d.ts +17 -0
- package/dist/api/handlers/SubdomainHandler.js +312 -0
- package/dist/api/handlers/SubdomainHandler.js.map +1 -0
- package/dist/api/handlers/VectorHandler.d.ts +15 -0
- package/dist/api/handlers/VectorHandler.js +293 -0
- package/dist/api/handlers/VectorHandler.js.map +1 -0
- package/dist/api/handlers/VectorStoreHandler.d.ts +20 -0
- package/dist/api/handlers/VectorStoreHandler.js +348 -0
- package/dist/api/handlers/VectorStoreHandler.js.map +1 -0
- package/dist/api/handlers/VectorStoreWebhookHandler.d.ts +74 -0
- package/dist/api/handlers/VectorStoreWebhookHandler.js +121 -0
- package/dist/api/handlers/VectorStoreWebhookHandler.js.map +1 -0
- package/dist/api/handlers/WebIdProfileHandler.d.ts +14 -0
- package/dist/api/handlers/WebIdProfileHandler.js +204 -0
- package/dist/api/handlers/WebIdProfileHandler.js.map +1 -0
- package/dist/api/handlers/index.d.ts +11 -0
- package/dist/api/handlers/index.js +28 -0
- package/dist/api/handlers/index.js.map +1 -0
- package/dist/api/index.d.ts +12 -0
- package/dist/api/index.js +29 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/main.d.ts +14 -0
- package/dist/api/main.js +106 -0
- package/dist/api/main.js.map +1 -0
- package/dist/api/middleware/AuthMiddleware.d.ts +35 -0
- package/dist/api/middleware/AuthMiddleware.js +51 -0
- package/dist/api/middleware/AuthMiddleware.js.map +1 -0
- package/dist/api/middleware/index.d.ts +1 -0
- package/dist/api/middleware/index.js +18 -0
- package/dist/api/middleware/index.js.map +1 -0
- package/dist/api/models/model-provider.schema.d.ts +12 -0
- package/dist/api/models/model-provider.schema.js +21 -0
- package/dist/api/models/model-provider.schema.js.map +1 -0
- package/dist/api/models/namespaces.d.ts +9 -0
- package/dist/api/models/namespaces.js +34 -0
- package/dist/api/models/namespaces.js.map +1 -0
- package/dist/api/service/InternalPodService.d.ts +19 -0
- package/dist/api/service/InternalPodService.js +82 -0
- package/dist/api/service/InternalPodService.js.map +1 -0
- package/dist/api/service/VectorService.d.ts +156 -0
- package/dist/api/service/VectorService.js +202 -0
- package/dist/api/service/VectorService.js.map +1 -0
- package/dist/api/service/VectorStoreService.d.ts +262 -0
- package/dist/api/service/VectorStoreService.js +985 -0
- package/dist/api/service/VectorStoreService.js.map +1 -0
- package/dist/api/service/VercelChatService.d.ts +28 -0
- package/dist/api/service/VercelChatService.js +289 -0
- package/dist/api/service/VercelChatService.js.map +1 -0
- package/dist/api/store/DrizzleClientCredentialsStore.d.ts +56 -0
- package/dist/api/store/DrizzleClientCredentialsStore.js +145 -0
- package/dist/api/store/DrizzleClientCredentialsStore.js.map +1 -0
- package/dist/api/store/index.d.ts +1 -0
- package/dist/api/store/index.js +18 -0
- package/dist/api/store/index.js.map +1 -0
- package/dist/components/components.jsonld +88 -0
- package/dist/components/context.jsonld +1962 -0
- package/dist/credential/index.d.ts +1 -0
- package/dist/credential/index.js +18 -0
- package/dist/credential/index.js.map +1 -0
- package/dist/credential/schema/index.d.ts +2 -0
- package/dist/credential/schema/index.js +19 -0
- package/dist/credential/schema/index.js.map +1 -0
- package/dist/credential/schema/tables.d.ts +31 -0
- package/dist/credential/schema/tables.js +42 -0
- package/dist/credential/schema/tables.js.map +1 -0
- package/dist/credential/schema/types.d.ts +20 -0
- package/dist/credential/schema/types.js +26 -0
- package/dist/credential/schema/types.js.map +1 -0
- package/dist/dns/DnsProvider.d.ts +46 -0
- package/dist/dns/DnsProvider.js +3 -0
- package/dist/dns/DnsProvider.js.map +1 -0
- package/dist/dns/DnsProvider.jsonld +161 -0
- package/dist/dns/cloudflare/CloudflareDnsProvider.d.ts +51 -0
- package/dist/dns/cloudflare/CloudflareDnsProvider.js +227 -0
- package/dist/dns/cloudflare/CloudflareDnsProvider.js.map +1 -0
- package/dist/dns/cloudflare/index.d.ts +1 -0
- package/dist/dns/cloudflare/index.js +18 -0
- package/dist/dns/cloudflare/index.js.map +1 -0
- package/dist/dns/tencent/TencentDnsProvider.d.ts +42 -0
- package/dist/dns/tencent/TencentDnsProvider.js +221 -0
- package/dist/dns/tencent/TencentDnsProvider.js.map +1 -0
- package/dist/dns/tencent/TencentDnsProvider.jsonld +239 -0
- package/dist/document/Chunker.d.ts +64 -0
- package/dist/document/Chunker.js +8 -0
- package/dist/document/Chunker.js.map +1 -0
- package/dist/document/DocumentParser.d.ts +58 -0
- package/dist/document/DocumentParser.js +8 -0
- package/dist/document/DocumentParser.js.map +1 -0
- package/dist/document/HeadingChunker.d.ts +34 -0
- package/dist/document/HeadingChunker.js +182 -0
- package/dist/document/HeadingChunker.js.map +1 -0
- package/dist/document/JinaDocumentParser.d.ts +40 -0
- package/dist/document/JinaDocumentParser.js +129 -0
- package/dist/document/JinaDocumentParser.js.map +1 -0
- package/dist/document/index.d.ts +7 -0
- package/dist/document/index.js +26 -0
- package/dist/document/index.js.map +1 -0
- package/dist/edge/DdnsManager.d.ts +53 -0
- package/dist/edge/DdnsManager.js +153 -0
- package/dist/edge/DdnsManager.js.map +1 -0
- package/dist/edge/Dns01CertificateProvisioner.d.ts +27 -0
- package/dist/edge/Dns01CertificateProvisioner.js +160 -0
- package/dist/edge/Dns01CertificateProvisioner.js.map +1 -0
- package/dist/edge/Dns01CertificateProvisioner.jsonld +148 -0
- package/dist/edge/EdgeNodeAgent.d.ts +56 -0
- package/dist/edge/EdgeNodeAgent.js +230 -0
- package/dist/edge/EdgeNodeAgent.js.map +1 -0
- package/dist/edge/EdgeNodeAgent.jsonld +89 -0
- package/dist/edge/EdgeNodeAgentInitializer.d.ts +25 -0
- package/dist/edge/EdgeNodeAgentInitializer.js +64 -0
- package/dist/edge/EdgeNodeAgentInitializer.js.map +1 -0
- package/dist/edge/EdgeNodeCapabilityDetector.d.ts +98 -0
- package/dist/edge/EdgeNodeCapabilityDetector.js +425 -0
- package/dist/edge/EdgeNodeCapabilityDetector.js.map +1 -0
- package/dist/edge/EdgeNodeCertificateProvisioner.d.ts +3 -0
- package/dist/edge/EdgeNodeCertificateProvisioner.js +3 -0
- package/dist/edge/EdgeNodeCertificateProvisioner.js.map +1 -0
- package/dist/edge/EdgeNodeCertificateProvisioner.jsonld +21 -0
- package/dist/edge/EdgeNodeDnsCoordinator.d.ts +38 -0
- package/dist/edge/EdgeNodeDnsCoordinator.js +201 -0
- package/dist/edge/EdgeNodeDnsCoordinator.js.map +1 -0
- package/dist/edge/EdgeNodeDnsCoordinator.jsonld +212 -0
- package/dist/edge/EdgeNodeHealthProbeService.d.ts +25 -0
- package/dist/edge/EdgeNodeHealthProbeService.js +208 -0
- package/dist/edge/EdgeNodeHealthProbeService.js.map +1 -0
- package/dist/edge/EdgeNodeHealthProbeService.jsonld +176 -0
- package/dist/edge/EdgeNodeModeDetector.d.ts +50 -0
- package/dist/edge/EdgeNodeModeDetector.js +194 -0
- package/dist/edge/EdgeNodeModeDetector.js.map +1 -0
- package/dist/edge/EdgeNodeModeDetector.jsonld +114 -0
- package/dist/edge/EdgeNodeTunnelManager.d.ts +23 -0
- package/dist/edge/EdgeNodeTunnelManager.js +99 -0
- package/dist/edge/EdgeNodeTunnelManager.js.map +1 -0
- package/dist/edge/EdgeNodeTunnelManager.jsonld +128 -0
- package/dist/edge/FrpTunnelManager.d.ts +30 -0
- package/dist/edge/FrpTunnelManager.js +151 -0
- package/dist/edge/FrpTunnelManager.js.map +1 -0
- package/dist/edge/FrpTunnelManager.jsonld +192 -0
- package/dist/edge/LocalNetworkManager.d.ts +41 -0
- package/dist/edge/LocalNetworkManager.js +115 -0
- package/dist/edge/LocalNetworkManager.js.map +1 -0
- package/dist/edge/acme/AcmeCertificateManager.d.ts +65 -0
- package/dist/edge/acme/AcmeCertificateManager.js +233 -0
- package/dist/edge/acme/AcmeCertificateManager.js.map +1 -0
- package/dist/edge/acme/AcmeCertificateManager.jsonld +373 -0
- package/dist/edge/acme/ClusterCertificateManager.d.ts +40 -0
- package/dist/edge/acme/ClusterCertificateManager.js +184 -0
- package/dist/edge/acme/ClusterCertificateManager.js.map +1 -0
- package/dist/edge/acme/DnsChallengeClient.d.ts +15 -0
- package/dist/edge/acme/DnsChallengeClient.js +40 -0
- package/dist/edge/acme/DnsChallengeClient.js.map +1 -0
- package/dist/edge/acme/utils.d.ts +4 -0
- package/dist/edge/acme/utils.js +17 -0
- package/dist/edge/acme/utils.js.map +1 -0
- package/dist/edge/frp/FrpRelay.d.ts +11 -0
- package/dist/edge/frp/FrpRelay.js +29 -0
- package/dist/edge/frp/FrpRelay.js.map +1 -0
- package/dist/edge/frp/FrpcProcessManager.d.ts +51 -0
- package/dist/edge/frp/FrpcProcessManager.js +174 -0
- package/dist/edge/frp/FrpcProcessManager.js.map +1 -0
- package/dist/edge/interfaces/EdgeNodeTunnelManager.d.ts +6 -0
- package/dist/edge/interfaces/EdgeNodeTunnelManager.js +3 -0
- package/dist/edge/interfaces/EdgeNodeTunnelManager.js.map +1 -0
- package/dist/edge/interfaces/EdgeNodeTunnelManager.jsonld +21 -0
- package/dist/embedding/CredentialReader.d.ts +7 -0
- package/dist/embedding/CredentialReader.js +10 -0
- package/dist/embedding/CredentialReader.js.map +1 -0
- package/dist/embedding/CredentialReader.jsonld +22 -0
- package/dist/embedding/CredentialReaderImpl.d.ts +6 -0
- package/dist/embedding/CredentialReaderImpl.js +55 -0
- package/dist/embedding/CredentialReaderImpl.js.map +1 -0
- package/dist/embedding/CredentialReaderImpl.jsonld +31 -0
- package/dist/embedding/EmbeddingService.d.ts +8 -0
- package/dist/embedding/EmbeddingService.js +10 -0
- package/dist/embedding/EmbeddingService.js.map +1 -0
- package/dist/embedding/EmbeddingService.jsonld +26 -0
- package/dist/embedding/EmbeddingServiceImpl.d.ts +11 -0
- package/dist/embedding/EmbeddingServiceImpl.js +73 -0
- package/dist/embedding/EmbeddingServiceImpl.js.map +1 -0
- package/dist/embedding/EmbeddingServiceImpl.jsonld +53 -0
- package/dist/embedding/ProviderRegistry.d.ts +26 -0
- package/dist/embedding/ProviderRegistry.js +10 -0
- package/dist/embedding/ProviderRegistry.js.map +1 -0
- package/dist/embedding/ProviderRegistry.jsonld +30 -0
- package/dist/embedding/ProviderRegistryImpl.d.ts +14 -0
- package/dist/embedding/ProviderRegistryImpl.js +112 -0
- package/dist/embedding/ProviderRegistryImpl.js.map +1 -0
- package/dist/embedding/ProviderRegistryImpl.jsonld +40 -0
- package/dist/embedding/index.d.ts +5 -0
- package/dist/embedding/index.js +22 -0
- package/dist/embedding/index.js.map +1 -0
- package/dist/embedding/schema/index.d.ts +1 -0
- package/dist/embedding/schema/index.js +18 -0
- package/dist/embedding/schema/index.js.map +1 -0
- package/dist/embedding/schema/tables.d.ts +70 -0
- package/dist/embedding/schema/tables.js +102 -0
- package/dist/embedding/schema/tables.js.map +1 -0
- package/dist/embedding/types.d.ts +12 -0
- package/dist/embedding/types.js +6 -0
- package/dist/embedding/types.js.map +1 -0
- package/dist/gateway/port-finder.d.ts +4 -0
- package/dist/gateway/port-finder.js +15 -0
- package/dist/gateway/port-finder.js.map +1 -0
- package/dist/gateway/proxy.d.ts +22 -0
- package/dist/gateway/proxy.js +149 -0
- package/dist/gateway/proxy.js.map +1 -0
- package/dist/gateway/supervisor.d.ts +2 -0
- package/dist/gateway/supervisor.js +7 -0
- package/dist/gateway/supervisor.js.map +1 -0
- package/dist/gateway/types.d.ts +1 -0
- package/dist/gateway/types.js +3 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/http/AppStaticAssetHandler.d.ts +8 -0
- package/dist/http/AppStaticAssetHandler.js +27 -0
- package/dist/http/AppStaticAssetHandler.js.map +1 -0
- package/dist/http/AppStaticAssetHandler.jsonld +26 -0
- package/dist/http/ClusterIngressRouter.d.ts +93 -0
- package/dist/http/ClusterIngressRouter.js +355 -0
- package/dist/http/ClusterIngressRouter.js.map +1 -0
- package/dist/http/ClusterIngressRouter.jsonld +227 -0
- package/dist/http/ClusterWebSocketConfigurator.d.ts +59 -0
- package/dist/http/ClusterWebSocketConfigurator.js +226 -0
- package/dist/http/ClusterWebSocketConfigurator.js.map +1 -0
- package/dist/http/ClusterWebSocketConfigurator.jsonld +145 -0
- package/dist/http/EdgeNodeDirectDebugHttpHandler.d.ts +25 -0
- package/dist/http/EdgeNodeDirectDebugHttpHandler.js +126 -0
- package/dist/http/EdgeNodeDirectDebugHttpHandler.js.map +1 -0
- package/dist/http/EdgeNodeDirectDebugHttpHandler.jsonld +151 -0
- package/dist/http/EdgeNodeProxyHttpHandler.d.ts +28 -0
- package/dist/http/EdgeNodeProxyHttpHandler.js +190 -0
- package/dist/http/EdgeNodeProxyHttpHandler.js.map +1 -0
- package/dist/http/EdgeNodeProxyHttpHandler.jsonld +162 -0
- package/dist/http/PodRoutingHttpHandler.d.ts +64 -0
- package/dist/http/PodRoutingHttpHandler.js +233 -0
- package/dist/http/PodRoutingHttpHandler.js.map +1 -0
- package/dist/http/PodRoutingHttpHandler.jsonld +171 -0
- package/dist/http/RequestIdHttpHandler.d.ts +15 -0
- package/dist/http/RequestIdHttpHandler.js +59 -0
- package/dist/http/RequestIdHttpHandler.js.map +1 -0
- package/dist/http/RouterHttpHandler.d.ts +21 -0
- package/dist/http/RouterHttpHandler.js +49 -0
- package/dist/http/RouterHttpHandler.js.map +1 -0
- package/dist/http/RouterHttpHandler.jsonld +80 -0
- package/dist/http/RouterHttpRoute.d.ts +6 -0
- package/dist/http/RouterHttpRoute.js +11 -0
- package/dist/http/RouterHttpRoute.js.map +1 -0
- package/dist/http/RouterHttpRoute.jsonld +48 -0
- package/dist/http/SignalInterceptHttpHandler.d.ts +24 -0
- package/dist/http/SignalInterceptHttpHandler.js +47 -0
- package/dist/http/SignalInterceptHttpHandler.js.map +1 -0
- package/dist/http/SignalInterceptHttpHandler.jsonld +103 -0
- package/dist/http/SubgraphSparqlHttpHandler.d.ts +70 -0
- package/dist/http/SubgraphSparqlHttpHandler.js +640 -0
- package/dist/http/SubgraphSparqlHttpHandler.js.map +1 -0
- package/dist/http/SubgraphSparqlHttpHandler.jsonld +363 -0
- package/dist/http/TracingHandler.d.ts +19 -0
- package/dist/http/TracingHandler.js +60 -0
- package/dist/http/TracingHandler.js.map +1 -0
- package/dist/http/TracingHandler.jsonld +37 -0
- package/dist/http/admin/EdgeNodeAdminHttpHandler.d.ts +45 -0
- package/dist/http/admin/EdgeNodeAdminHttpHandler.js +292 -0
- package/dist/http/admin/EdgeNodeAdminHttpHandler.js.map +1 -0
- package/dist/http/admin/EdgeNodeCertificateHttpHandler.d.ts +33 -0
- package/dist/http/admin/EdgeNodeCertificateHttpHandler.js +172 -0
- package/dist/http/admin/EdgeNodeCertificateHttpHandler.js.map +1 -0
- package/dist/http/admin/EdgeNodeCertificateHttpHandler.jsonld +182 -0
- package/dist/http/admin/EdgeNodeSignalHttpHandler.d.ts +71 -0
- package/dist/http/admin/EdgeNodeSignalHttpHandler.js +674 -0
- package/dist/http/admin/EdgeNodeSignalHttpHandler.js.map +1 -0
- package/dist/http/admin/EdgeNodeSignalHttpHandler.jsonld +406 -0
- package/dist/http/cluster/PodMigrationHttpHandler.d.ts +52 -0
- package/dist/http/cluster/PodMigrationHttpHandler.js +208 -0
- package/dist/http/cluster/PodMigrationHttpHandler.js.map +1 -0
- package/dist/http/cluster/PodMigrationHttpHandler.jsonld +169 -0
- package/dist/http/quota/QuotaAdminHttpHandler.d.ts +34 -0
- package/dist/http/quota/QuotaAdminHttpHandler.js +241 -0
- package/dist/http/quota/QuotaAdminHttpHandler.js.map +1 -0
- package/dist/http/quota/QuotaAdminHttpHandler.jsonld +171 -0
- package/dist/http/search/SearchHttpHandler.d.ts +59 -0
- package/dist/http/search/SearchHttpHandler.js +312 -0
- package/dist/http/search/SearchHttpHandler.js.map +1 -0
- package/dist/http/search/index.d.ts +1 -0
- package/dist/http/search/index.js +18 -0
- package/dist/http/search/index.js.map +1 -0
- package/dist/http/terminal/TerminalHttpHandler.d.ts +45 -0
- package/dist/http/terminal/TerminalHttpHandler.js +306 -0
- package/dist/http/terminal/TerminalHttpHandler.js.map +1 -0
- package/dist/http/terminal/TerminalHttpHandler.jsonld +232 -0
- package/dist/http/terminal/index.d.ts +1 -0
- package/dist/http/terminal/index.js +18 -0
- package/dist/http/terminal/index.js.map +1 -0
- package/dist/http/vector/VectorHttpHandler.d.ts +42 -0
- package/dist/http/vector/VectorHttpHandler.js +301 -0
- package/dist/http/vector/VectorHttpHandler.js.map +1 -0
- package/dist/http/vector/VectorHttpHandler.jsonld +157 -0
- package/dist/http/vector/index.d.ts +1 -0
- package/dist/http/vector/index.js +18 -0
- package/dist/http/vector/index.js.map +1 -0
- package/dist/ice/IceServerProvider.d.ts +85 -0
- package/dist/ice/IceServerProvider.js +122 -0
- package/dist/ice/IceServerProvider.js.map +1 -0
- package/dist/ice/index.d.ts +8 -0
- package/dist/ice/index.js +25 -0
- package/dist/ice/index.js.map +1 -0
- package/dist/identity/CenterNodeRegistrationService.d.ts +102 -0
- package/dist/identity/CenterNodeRegistrationService.js +266 -0
- package/dist/identity/CenterNodeRegistrationService.js.map +1 -0
- package/dist/identity/CenterNodeRegistrationService.jsonld +251 -0
- package/dist/identity/ReactAppViewHandler.d.ts +31 -0
- package/dist/identity/ReactAppViewHandler.js +79 -0
- package/dist/identity/ReactAppViewHandler.js.map +1 -0
- package/dist/identity/ReactAppViewHandler.jsonld +99 -0
- package/dist/identity/drizzle/AccountRepository.d.ts +31 -0
- package/dist/identity/drizzle/AccountRepository.js +130 -0
- package/dist/identity/drizzle/AccountRepository.js.map +1 -0
- package/dist/identity/drizzle/AccountRoleRepository.d.ts +23 -0
- package/dist/identity/drizzle/AccountRoleRepository.js +233 -0
- package/dist/identity/drizzle/AccountRoleRepository.js.map +1 -0
- package/dist/identity/drizzle/DdnsRepository.d.ts +87 -0
- package/dist/identity/drizzle/DdnsRepository.js +284 -0
- package/dist/identity/drizzle/DdnsRepository.js.map +1 -0
- package/dist/identity/drizzle/DrizzleIndexedStorage.d.ts +26 -0
- package/dist/identity/drizzle/DrizzleIndexedStorage.js +159 -0
- package/dist/identity/drizzle/DrizzleIndexedStorage.js.map +1 -0
- package/dist/identity/drizzle/DrizzleIndexedStorage.jsonld +130 -0
- package/dist/identity/drizzle/EdgeNodeRepository.d.ts +155 -0
- package/dist/identity/drizzle/EdgeNodeRepository.js +555 -0
- package/dist/identity/drizzle/EdgeNodeRepository.js.map +1 -0
- package/dist/identity/drizzle/PodLookupRepository.d.ts +59 -0
- package/dist/identity/drizzle/PodLookupRepository.js +153 -0
- package/dist/identity/drizzle/PodLookupRepository.js.map +1 -0
- package/dist/identity/drizzle/WebIdProfileRepository.d.ts +58 -0
- package/dist/identity/drizzle/WebIdProfileRepository.js +157 -0
- package/dist/identity/drizzle/WebIdProfileRepository.js.map +1 -0
- package/dist/identity/drizzle/db.d.ts +60 -0
- package/dist/identity/drizzle/db.js +269 -0
- package/dist/identity/drizzle/db.js.map +1 -0
- package/dist/identity/drizzle/schema.d.ts +1 -0
- package/dist/identity/drizzle/schema.js +20 -0
- package/dist/identity/drizzle/schema.js.map +1 -0
- package/dist/identity/drizzle/schema.pg.d.ts +20 -0
- package/dist/identity/drizzle/schema.pg.js +103 -0
- package/dist/identity/drizzle/schema.pg.js.map +1 -0
- package/dist/identity/drizzle/schema.sqlite.d.ts +872 -0
- package/dist/identity/drizzle/schema.sqlite.js +100 -0
- package/dist/identity/drizzle/schema.sqlite.js.map +1 -0
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.d.ts +43 -0
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js +92 -0
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.js.map +1 -0
- package/dist/identity/oidc/AutoDetectIdentityProviderHandler.jsonld +122 -0
- package/dist/identity/oidc/AutoDetectOidcHandler.d.ts +55 -0
- package/dist/identity/oidc/AutoDetectOidcHandler.js +137 -0
- package/dist/identity/oidc/AutoDetectOidcHandler.js.map +1 -0
- package/dist/identity/oidc/AutoDetectOidcHandler.jsonld +138 -0
- package/dist/identity/oidc/DisabledIdentityProviderHandler.d.ts +51 -0
- package/dist/identity/oidc/DisabledIdentityProviderHandler.js +104 -0
- package/dist/identity/oidc/DisabledIdentityProviderHandler.js.map +1 -0
- package/dist/identity/oidc/DisabledIdentityProviderHandler.jsonld +111 -0
- package/dist/identity/oidc/DisabledOidcHandler.d.ts +55 -0
- package/dist/identity/oidc/DisabledOidcHandler.js +132 -0
- package/dist/identity/oidc/DisabledOidcHandler.js.map +1 -0
- package/dist/identity/oidc/DisabledOidcHandler.jsonld +157 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -0
- package/dist/legacy/DrizzleClientCredentialsStore.d.ts +51 -0
- package/dist/legacy/DrizzleClientCredentialsStore.js +142 -0
- package/dist/legacy/DrizzleClientCredentialsStore.js.map +1 -0
- package/dist/legacy/DrizzleIndexedStorage.d.ts +26 -0
- package/dist/legacy/DrizzleIndexedStorage.js +159 -0
- package/dist/legacy/DrizzleIndexedStorage.js.map +1 -0
- package/dist/legacy/DrizzleQuotaService.d.ts +16 -0
- package/dist/legacy/DrizzleQuotaService.js +37 -0
- package/dist/legacy/DrizzleQuotaService.js.map +1 -0
- package/dist/libs/backends/index.d.ts +6 -0
- package/dist/libs/backends/index.js +31 -0
- package/dist/libs/backends/index.js.map +1 -0
- package/dist/libs/backends/sqlup.d.ts +44 -0
- package/dist/libs/backends/sqlup.js +437 -0
- package/dist/libs/backends/sqlup.js.map +1 -0
- package/dist/logging/ConfigurableLoggerFactory.d.ts +24 -0
- package/dist/logging/ConfigurableLoggerFactory.js +77 -0
- package/dist/logging/ConfigurableLoggerFactory.js.map +1 -0
- package/dist/logging/ConfigurableLoggerFactory.jsonld +169 -0
- package/dist/logging/LogContext.d.ts +5 -0
- package/dist/logging/LogContext.js +6 -0
- package/dist/logging/LogContext.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +148 -0
- package/dist/main.js.map +1 -0
- package/dist/network/LocalNetworkDetector.d.ts +65 -0
- package/dist/network/LocalNetworkDetector.js +185 -0
- package/dist/network/LocalNetworkDetector.js.map +1 -0
- package/dist/network/index.d.ts +4 -0
- package/dist/network/index.js +21 -0
- package/dist/network/index.js.map +1 -0
- package/dist/pods/ReservedSuffixIdentifierGenerator.d.ts +13 -0
- package/dist/pods/ReservedSuffixIdentifierGenerator.js +26 -0
- package/dist/pods/ReservedSuffixIdentifierGenerator.js.map +1 -0
- package/dist/pods/ReservedSuffixIdentifierGenerator.jsonld +75 -0
- package/dist/quota/DefaultQuotaService.d.ts +16 -0
- package/dist/quota/DefaultQuotaService.js +37 -0
- package/dist/quota/DefaultQuotaService.js.map +1 -0
- package/dist/quota/DefaultQuotaService.jsonld +85 -0
- package/dist/quota/DrizzleQuotaService.d.ts +16 -0
- package/dist/quota/DrizzleQuotaService.js +37 -0
- package/dist/quota/DrizzleQuotaService.js.map +1 -0
- package/dist/quota/DrizzleQuotaService.jsonld +87 -0
- package/dist/quota/NoopQuotaService.d.ts +7 -0
- package/dist/quota/NoopQuotaService.js +15 -0
- package/dist/quota/NoopQuotaService.js.map +1 -0
- package/dist/quota/NoopQuotaService.jsonld +36 -0
- package/dist/quota/QuotaService.d.ts +6 -0
- package/dist/quota/QuotaService.js +3 -0
- package/dist/quota/QuotaService.js.map +1 -0
- package/dist/quota/QuotaService.jsonld +33 -0
- package/dist/sdk/SignalingClientAdapter.d.ts +38 -0
- package/dist/sdk/SignalingClientAdapter.js +99 -0
- package/dist/sdk/SignalingClientAdapter.js.map +1 -0
- package/dist/sdk/createFetch.d.ts +23 -0
- package/dist/sdk/createFetch.js +258 -0
- package/dist/sdk/createFetch.js.map +1 -0
- package/dist/sdk/index.d.ts +29 -0
- package/dist/sdk/index.js +34 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/xpodFetch.d.ts +112 -0
- package/dist/sdk/xpodFetch.js +251 -0
- package/dist/sdk/xpodFetch.js.map +1 -0
- package/dist/service/EdgeNodeCertificateService.d.ts +45 -0
- package/dist/service/EdgeNodeCertificateService.js +164 -0
- package/dist/service/EdgeNodeCertificateService.js.map +1 -0
- package/dist/service/EdgeNodeCertificateService.jsonld +216 -0
- package/dist/service/EdgeNodeHeartbeatService.d.ts +68 -0
- package/dist/service/EdgeNodeHeartbeatService.js +262 -0
- package/dist/service/EdgeNodeHeartbeatService.js.map +1 -0
- package/dist/service/PodMigrationService.d.ts +43 -0
- package/dist/service/PodMigrationService.js +72 -0
- package/dist/service/PodMigrationService.js.map +1 -0
- package/dist/service/PodMigrationService.jsonld +76 -0
- package/dist/signaling/SignalingClient.d.ts +142 -0
- package/dist/signaling/SignalingClient.js +305 -0
- package/dist/signaling/SignalingClient.js.map +1 -0
- package/dist/signaling/SignalingService.d.ts +104 -0
- package/dist/signaling/SignalingService.js +440 -0
- package/dist/signaling/SignalingService.js.map +1 -0
- package/dist/signaling/index.d.ts +11 -0
- package/dist/signaling/index.js +28 -0
- package/dist/signaling/index.js.map +1 -0
- package/dist/signaling/types.d.ts +237 -0
- package/dist/signaling/types.js +18 -0
- package/dist/signaling/types.js.map +1 -0
- package/dist/storage/DrizzleCompat.d.ts +15 -0
- package/dist/storage/DrizzleCompat.js +60 -0
- package/dist/storage/DrizzleCompat.js.map +1 -0
- package/dist/storage/LockingResourceStore.d.ts +8 -0
- package/dist/storage/LockingResourceStore.js +68 -0
- package/dist/storage/LockingResourceStore.js.map +1 -0
- package/dist/storage/MigratableDataAccessor.d.ts +63 -0
- package/dist/storage/MigratableDataAccessor.js +11 -0
- package/dist/storage/MigratableDataAccessor.js.map +1 -0
- package/dist/storage/MigratableDataAccessor.jsonld +60 -0
- package/dist/storage/ObservableResourceStore.d.ts +89 -0
- package/dist/storage/ObservableResourceStore.js +125 -0
- package/dist/storage/ObservableResourceStore.js.map +1 -0
- package/dist/storage/RepresentationPartialConvertingStore.d.ts +22 -0
- package/dist/storage/RepresentationPartialConvertingStore.js +94 -0
- package/dist/storage/RepresentationPartialConvertingStore.js.map +1 -0
- package/dist/storage/RepresentationPartialConvertingStore.jsonld +332 -0
- package/dist/storage/SparqlUpdateResourceStore.d.ts +30 -0
- package/dist/storage/SparqlUpdateResourceStore.js +292 -0
- package/dist/storage/SparqlUpdateResourceStore.js.map +1 -0
- package/dist/storage/SparqlUpdateResourceStore.jsonld +112 -0
- package/dist/storage/SqliteCompat.d.ts +60 -0
- package/dist/storage/SqliteCompat.js +158 -0
- package/dist/storage/SqliteCompat.js.map +1 -0
- package/dist/storage/accessors/MinioDataAccessor.d.ts +127 -0
- package/dist/storage/accessors/MinioDataAccessor.js +249 -0
- package/dist/storage/accessors/MinioDataAccessor.js.map +1 -0
- package/dist/storage/accessors/MinioDataAccessor.jsonld +138 -0
- package/dist/storage/accessors/MixDataAccessor.d.ts +43 -0
- package/dist/storage/accessors/MixDataAccessor.js +130 -0
- package/dist/storage/accessors/MixDataAccessor.js.map +1 -0
- package/dist/storage/accessors/MixDataAccessor.jsonld +101 -0
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.d.ts +146 -0
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +415 -0
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js.map +1 -0
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.jsonld +180 -0
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.d.ts +95 -0
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +376 -0
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js.map +1 -0
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.jsonld +168 -0
- package/dist/storage/accessors/TieredMinioDataAccessor.d.ts +150 -0
- package/dist/storage/accessors/TieredMinioDataAccessor.js +582 -0
- package/dist/storage/accessors/TieredMinioDataAccessor.js.map +1 -0
- package/dist/storage/accessors/TieredMinioDataAccessor.jsonld +333 -0
- package/dist/storage/database/PostgresPoolManager.d.ts +56 -0
- package/dist/storage/database/PostgresPoolManager.js +117 -0
- package/dist/storage/database/PostgresPoolManager.js.map +1 -0
- package/dist/storage/keyvalue/PostgresKeyValueStorage.d.ts +34 -0
- package/dist/storage/keyvalue/PostgresKeyValueStorage.js +146 -0
- package/dist/storage/keyvalue/PostgresKeyValueStorage.js.map +1 -0
- package/dist/storage/keyvalue/PostgresKeyValueStorage.jsonld +192 -0
- package/dist/storage/keyvalue/RedisKeyValueStorage.d.ts +30 -0
- package/dist/storage/keyvalue/RedisKeyValueStorage.js +133 -0
- package/dist/storage/keyvalue/RedisKeyValueStorage.js.map +1 -0
- package/dist/storage/keyvalue/RedisKeyValueStorage.jsonld +237 -0
- package/dist/storage/keyvalue/SqliteKeyValueStorage.d.ts +30 -0
- package/dist/storage/keyvalue/SqliteKeyValueStorage.js +164 -0
- package/dist/storage/keyvalue/SqliteKeyValueStorage.js.map +1 -0
- package/dist/storage/keyvalue/SqliteKeyValueStorage.jsonld +167 -0
- package/dist/storage/quint/BaseQuintStore.d.ts +80 -0
- package/dist/storage/quint/BaseQuintStore.js +535 -0
- package/dist/storage/quint/BaseQuintStore.js.map +1 -0
- package/dist/storage/quint/BaseQuintStore.jsonld +175 -0
- package/dist/storage/quint/PgQuintStore.d.ts +61 -0
- package/dist/storage/quint/PgQuintStore.drizzle.d.ts +45 -0
- package/dist/storage/quint/PgQuintStore.drizzle.js +327 -0
- package/dist/storage/quint/PgQuintStore.drizzle.js.map +1 -0
- package/dist/storage/quint/PgQuintStore.js +275 -0
- package/dist/storage/quint/PgQuintStore.js.map +1 -0
- package/dist/storage/quint/PgQuintStore.jsonld +258 -0
- package/dist/storage/quint/SqliteQuintStore.d.ts +55 -0
- package/dist/storage/quint/SqliteQuintStore.js +630 -0
- package/dist/storage/quint/SqliteQuintStore.js.map +1 -0
- package/dist/storage/quint/SqliteQuintStore.jsonld +157 -0
- package/dist/storage/quint/index.d.ts +11 -0
- package/dist/storage/quint/index.js +30 -0
- package/dist/storage/quint/index.js.map +1 -0
- package/dist/storage/quint/schema.d.ts +82 -0
- package/dist/storage/quint/schema.js +33 -0
- package/dist/storage/quint/schema.js.map +1 -0
- package/dist/storage/quint/serialization.d.ts +56 -0
- package/dist/storage/quint/serialization.js +198 -0
- package/dist/storage/quint/serialization.js.map +1 -0
- package/dist/storage/quint/types.d.ts +152 -0
- package/dist/storage/quint/types.js +27 -0
- package/dist/storage/quint/types.js.map +1 -0
- package/dist/storage/quint/types.jsonld +78 -0
- package/dist/storage/quota/PerAccountQuotaStrategy.d.ts +19 -0
- package/dist/storage/quota/PerAccountQuotaStrategy.js +63 -0
- package/dist/storage/quota/PerAccountQuotaStrategy.js.map +1 -0
- package/dist/storage/quota/PerAccountQuotaStrategy.jsonld +113 -0
- package/dist/storage/quota/UsageRepository.d.ts +46 -0
- package/dist/storage/quota/UsageRepository.js +278 -0
- package/dist/storage/quota/UsageRepository.js.map +1 -0
- package/dist/storage/quota/UsageTrackingStore.d.ts +37 -0
- package/dist/storage/quota/UsageTrackingStore.js +355 -0
- package/dist/storage/quota/UsageTrackingStore.js.map +1 -0
- package/dist/storage/quota/UsageTrackingStore.jsonld +193 -0
- package/dist/storage/sparql/AlgebraUtils.d.ts +48 -0
- package/dist/storage/sparql/AlgebraUtils.js +118 -0
- package/dist/storage/sparql/AlgebraUtils.js.map +1 -0
- package/dist/storage/sparql/ComunicaOptimizedEngine.d.ts +59 -0
- package/dist/storage/sparql/ComunicaOptimizedEngine.js +254 -0
- package/dist/storage/sparql/ComunicaOptimizedEngine.js.map +1 -0
- package/dist/storage/sparql/ComunicaQuintEngine.d.ts +134 -0
- package/dist/storage/sparql/ComunicaQuintEngine.js +727 -0
- package/dist/storage/sparql/ComunicaQuintEngine.js.map +1 -0
- package/dist/storage/sparql/ExpressionEvaluator.d.ts +54 -0
- package/dist/storage/sparql/ExpressionEvaluator.js +340 -0
- package/dist/storage/sparql/ExpressionEvaluator.js.map +1 -0
- package/dist/storage/sparql/FilterPushdownExtractor.d.ts +74 -0
- package/dist/storage/sparql/FilterPushdownExtractor.js +409 -0
- package/dist/storage/sparql/FilterPushdownExtractor.js.map +1 -0
- package/dist/storage/sparql/OptimizedQuadstoreEngine.d.ts +65 -0
- package/dist/storage/sparql/OptimizedQuadstoreEngine.js +327 -0
- package/dist/storage/sparql/OptimizedQuadstoreEngine.js.map +1 -0
- package/dist/storage/sparql/OptimizedQuadstoreSource.d.ts +46 -0
- package/dist/storage/sparql/OptimizedQuadstoreSource.js +118 -0
- package/dist/storage/sparql/OptimizedQuadstoreSource.js.map +1 -0
- package/dist/storage/sparql/PatternBuilder.d.ts +41 -0
- package/dist/storage/sparql/PatternBuilder.js +118 -0
- package/dist/storage/sparql/PatternBuilder.js.map +1 -0
- package/dist/storage/sparql/QueryOptimizer.d.ts +125 -0
- package/dist/storage/sparql/QueryOptimizer.js +363 -0
- package/dist/storage/sparql/QueryOptimizer.js.map +1 -0
- package/dist/storage/sparql/QuintEngine.d.ts +92 -0
- package/dist/storage/sparql/QuintEngine.js +150 -0
- package/dist/storage/sparql/QuintEngine.js.map +1 -0
- package/dist/storage/sparql/QuintQuerySource.d.ts +227 -0
- package/dist/storage/sparql/QuintQuerySource.js +918 -0
- package/dist/storage/sparql/QuintQuerySource.js.map +1 -0
- package/dist/storage/sparql/SimpleSparqlExecutor.d.ts +40 -0
- package/dist/storage/sparql/SimpleSparqlExecutor.js +131 -0
- package/dist/storage/sparql/SimpleSparqlExecutor.js.map +1 -0
- package/dist/storage/sparql/SubgraphQueryEngine.d.ts +74 -0
- package/dist/storage/sparql/SubgraphQueryEngine.js +248 -0
- package/dist/storage/sparql/SubgraphQueryEngine.js.map +1 -0
- package/dist/storage/sparql/SubgraphQueryEngine.jsonld +250 -0
- package/dist/storage/vector/PostgresVectorStore.d.ts +46 -0
- package/dist/storage/vector/PostgresVectorStore.js +291 -0
- package/dist/storage/vector/PostgresVectorStore.js.map +1 -0
- package/dist/storage/vector/PostgresVectorStore.jsonld +142 -0
- package/dist/storage/vector/SqliteVectorStore.d.ts +44 -0
- package/dist/storage/vector/SqliteVectorStore.js +282 -0
- package/dist/storage/vector/SqliteVectorStore.js.map +1 -0
- package/dist/storage/vector/SqliteVectorStore.jsonld +137 -0
- package/dist/storage/vector/VectorIndexingListener.d.ts +114 -0
- package/dist/storage/vector/VectorIndexingListener.js +351 -0
- package/dist/storage/vector/VectorIndexingListener.js.map +1 -0
- package/dist/storage/vector/VectorStore.d.ts +42 -0
- package/dist/storage/vector/VectorStore.js +50 -0
- package/dist/storage/vector/VectorStore.js.map +1 -0
- package/dist/storage/vector/VectorStore.jsonld +87 -0
- package/dist/storage/vector/VectorStoreInit.d.ts +28 -0
- package/dist/storage/vector/VectorStoreInit.js +104 -0
- package/dist/storage/vector/VectorStoreInit.js.map +1 -0
- package/dist/storage/vector/index.d.ts +5 -0
- package/dist/storage/vector/index.js +22 -0
- package/dist/storage/vector/index.js.map +1 -0
- package/dist/storage/vector/types.d.ts +39 -0
- package/dist/storage/vector/types.js +8 -0
- package/dist/storage/vector/types.js.map +1 -0
- package/dist/subdomain/SubdomainClient.d.ts +156 -0
- package/dist/subdomain/SubdomainClient.js +220 -0
- package/dist/subdomain/SubdomainClient.js.map +1 -0
- package/dist/subdomain/SubdomainService.d.ts +114 -0
- package/dist/subdomain/SubdomainService.js +212 -0
- package/dist/subdomain/SubdomainService.js.map +1 -0
- package/dist/subdomain/SubdomainService.jsonld +261 -0
- package/dist/subdomain/index.d.ts +2 -0
- package/dist/subdomain/index.js +9 -0
- package/dist/subdomain/index.js.map +1 -0
- package/dist/supervisor/Supervisor.d.ts +20 -0
- package/dist/supervisor/Supervisor.js +174 -0
- package/dist/supervisor/Supervisor.js.map +1 -0
- package/dist/supervisor/index.d.ts +2 -0
- package/dist/supervisor/index.js +6 -0
- package/dist/supervisor/index.js.map +1 -0
- package/dist/supervisor/types.d.ts +19 -0
- package/dist/supervisor/types.js +3 -0
- package/dist/supervisor/types.js.map +1 -0
- package/dist/task/DrizzleTaskQueue.d.ts +60 -0
- package/dist/task/DrizzleTaskQueue.js +171 -0
- package/dist/task/DrizzleTaskQueue.js.map +1 -0
- package/dist/task/TaskExecutor.d.ts +82 -0
- package/dist/task/TaskExecutor.js +198 -0
- package/dist/task/TaskExecutor.js.map +1 -0
- package/dist/task/index.d.ts +10 -0
- package/dist/task/index.js +20 -0
- package/dist/task/index.js.map +1 -0
- package/dist/task/schema.d.ts +53 -0
- package/dist/task/schema.js +71 -0
- package/dist/task/schema.js.map +1 -0
- package/dist/task/types.d.ts +186 -0
- package/dist/task/types.js +12 -0
- package/dist/task/types.js.map +1 -0
- package/dist/terminal/AclPermissionService.d.ts +28 -0
- package/dist/terminal/AclPermissionService.js +141 -0
- package/dist/terminal/AclPermissionService.js.map +1 -0
- package/dist/terminal/BubblewrapSandbox.d.ts +51 -0
- package/dist/terminal/BubblewrapSandbox.js +147 -0
- package/dist/terminal/BubblewrapSandbox.js.map +1 -0
- package/dist/terminal/TerminalSession.d.ts +33 -0
- package/dist/terminal/TerminalSession.js +164 -0
- package/dist/terminal/TerminalSession.js.map +1 -0
- package/dist/terminal/TerminalSessionManager.d.ts +69 -0
- package/dist/terminal/TerminalSessionManager.js +196 -0
- package/dist/terminal/TerminalSessionManager.js.map +1 -0
- package/dist/terminal/index.d.ts +5 -0
- package/dist/terminal/index.js +22 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/terminal/sandbox/BubblewrapSandbox.d.ts +8 -0
- package/dist/terminal/sandbox/BubblewrapSandbox.js +105 -0
- package/dist/terminal/sandbox/BubblewrapSandbox.js.map +1 -0
- package/dist/terminal/sandbox/MacOSSandbox.d.ts +19 -0
- package/dist/terminal/sandbox/MacOSSandbox.js +120 -0
- package/dist/terminal/sandbox/MacOSSandbox.js.map +1 -0
- package/dist/terminal/sandbox/index.d.ts +29 -0
- package/dist/terminal/sandbox/index.js +113 -0
- package/dist/terminal/sandbox/index.js.map +1 -0
- package/dist/terminal/sandbox/types.d.ts +38 -0
- package/dist/terminal/sandbox/types.js +3 -0
- package/dist/terminal/sandbox/types.js.map +1 -0
- package/dist/terminal/types.d.ts +80 -0
- package/dist/terminal/types.js +16 -0
- package/dist/terminal/types.js.map +1 -0
- package/dist/tunnel/CloudflareTunnelProvider.d.ts +120 -0
- package/dist/tunnel/CloudflareTunnelProvider.js +376 -0
- package/dist/tunnel/CloudflareTunnelProvider.js.map +1 -0
- package/dist/tunnel/CloudflareTunnelProvider.jsonld +204 -0
- package/dist/tunnel/LocalTunnelProvider.d.ts +85 -0
- package/dist/tunnel/LocalTunnelProvider.js +295 -0
- package/dist/tunnel/LocalTunnelProvider.js.map +1 -0
- package/dist/tunnel/LocalTunnelProvider.jsonld +142 -0
- package/dist/tunnel/SakuraFrpTunnelProvider.d.ts +59 -0
- package/dist/tunnel/SakuraFrpTunnelProvider.js +207 -0
- package/dist/tunnel/SakuraFrpTunnelProvider.js.map +1 -0
- package/dist/tunnel/TunnelProvider.d.ts +91 -0
- package/dist/tunnel/TunnelProvider.js +10 -0
- package/dist/tunnel/TunnelProvider.js.map +1 -0
- package/dist/tunnel/TunnelProvider.jsonld +144 -0
- package/dist/tunnel/index.d.ts +3 -0
- package/dist/tunnel/index.js +8 -0
- package/dist/tunnel/index.js.map +1 -0
- package/dist/util/LockContext.d.ts +3 -0
- package/dist/util/LockContext.js +6 -0
- package/dist/util/LockContext.js.map +1 -0
- package/dist/util/ResourceStoreFetch.d.ts +11 -0
- package/dist/util/ResourceStoreFetch.js +147 -0
- package/dist/util/ResourceStoreFetch.js.map +1 -0
- package/dist/util/database/DatabaseMaintenance.d.ts +23 -0
- package/dist/util/database/DatabaseMaintenance.js +82 -0
- package/dist/util/database/DatabaseMaintenance.js.map +1 -0
- package/dist/util/identifiers/ClusterIdentifierStrategy.d.ts +23 -0
- package/dist/util/identifiers/ClusterIdentifierStrategy.js +73 -0
- package/dist/util/identifiers/ClusterIdentifierStrategy.js.map +1 -0
- package/dist/util/identifiers/ClusterIdentifierStrategy.jsonld +90 -0
- package/dist/util/identifiers/MultiDomainIdentifierStrategy.d.ts +40 -0
- package/dist/util/identifiers/MultiDomainIdentifierStrategy.js +73 -0
- package/dist/util/identifiers/MultiDomainIdentifierStrategy.js.map +1 -0
- package/dist/util/identifiers/MultiDomainIdentifierStrategy.jsonld +90 -0
- package/dist/util/identifiers/PathBasedPodIdentifierStrategy.d.ts +78 -0
- package/dist/util/identifiers/PathBasedPodIdentifierStrategy.js +182 -0
- package/dist/util/identifiers/PathBasedPodIdentifierStrategy.js.map +1 -0
- package/dist/util/identifiers/PathBasedPodIdentifierStrategy.jsonld +88 -0
- package/dist/util/identifiers/SubdomainPodIdentifierStrategy.d.ts +68 -0
- package/dist/util/identifiers/SubdomainPodIdentifierStrategy.js +149 -0
- package/dist/util/identifiers/SubdomainPodIdentifierStrategy.js.map +1 -0
- package/dist/util/identifiers/SubdomainPodIdentifierStrategy.jsonld +84 -0
- package/dist/util/locking/DebugRedisLocker.d.ts +8 -0
- package/dist/util/locking/DebugRedisLocker.js +33 -0
- package/dist/util/locking/DebugRedisLocker.js.map +1 -0
- package/dist/util/logger.d.ts +13 -0
- package/dist/util/logger.js +36 -0
- package/dist/util/logger.js.map +1 -0
- package/dist/util/stream/BandwidthThrottleTransform.d.ts +8 -0
- package/dist/util/stream/BandwidthThrottleTransform.js +55 -0
- package/dist/util/stream/BandwidthThrottleTransform.js.map +1 -0
- package/dist/vocab/external.d.ts +216 -0
- package/dist/vocab/external.js +276 -0
- package/dist/vocab/external.js.map +1 -0
- package/dist/vocab/index.d.ts +26 -0
- package/dist/vocab/index.js +46 -0
- package/dist/vocab/index.js.map +1 -0
- package/dist/vocab/udfs.d.ts +184 -0
- package/dist/vocab/udfs.js +217 -0
- package/dist/vocab/udfs.js.map +1 -0
- package/dist/webrtc/WebRTCClient.d.ts +109 -0
- package/dist/webrtc/WebRTCClient.js +344 -0
- package/dist/webrtc/WebRTCClient.js.map +1 -0
- package/dist/webrtc/WebRTCPeerManager.d.ts +112 -0
- package/dist/webrtc/WebRTCPeerManager.js +289 -0
- package/dist/webrtc/WebRTCPeerManager.js.map +1 -0
- package/dist/webrtc/WeriftPeerConnectionFactory.d.ts +13 -0
- package/dist/webrtc/WeriftPeerConnectionFactory.js +255 -0
- package/dist/webrtc/WeriftPeerConnectionFactory.js.map +1 -0
- package/dist/webrtc/index.d.ts +13 -0
- package/dist/webrtc/index.js +30 -0
- package/dist/webrtc/index.js.map +1 -0
- package/dist/webrtc/types.d.ts +169 -0
- package/dist/webrtc/types.js +6 -0
- package/dist/webrtc/types.js.map +1 -0
- package/dist/xpod.single.cjs +826 -0
- package/dist/xpod.single.cjs.map +7 -0
- package/package.json +173 -0
- package/static/app/assets/index.css +1 -0
- package/static/app/assets/main.js +11 -0
- package/static/app/auth.html +21 -0
- package/static/app/index.html +14 -0
- package/static/app/vite.svg +1 -0
- package/static/dashboard/assets/dashboard-G96F8267.js +52 -0
- package/static/dashboard/assets/dashboard-PJyGDppf.css +1 -0
- package/static/dashboard/auth.html +21 -0
- package/static/dashboard/index.html +13 -0
- package/static/dashboard/vite.svg +1 -0
- package/static/landing/index.html +165 -0
- package/templates/identity/index.html.ejs +12 -0
- package/templates/identity/login.html.ejs +49 -0
- package/templates/identity/oidc/consent.html.ejs +103 -0
- package/templates/identity/password/forgot.html.ejs +49 -0
- package/templates/identity/password/login.html.ejs +58 -0
- package/templates/identity/password/register.html.ejs +65 -0
- package/templates/main.html.ejs +1 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ChatKit Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for OpenAI ChatKit protocol.
|
|
6
|
+
* Based on https://github.com/openai/chatkit-python
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.isStreamingReq = isStreamingReq;
|
|
10
|
+
exports.isNonStreamingReq = isNonStreamingReq;
|
|
11
|
+
exports.generateId = generateId;
|
|
12
|
+
exports.nowTimestamp = nowTimestamp;
|
|
13
|
+
exports.extractUserMessageText = extractUserMessageText;
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Helper Functions
|
|
16
|
+
// ============================================================================
|
|
17
|
+
function isStreamingReq(req) {
|
|
18
|
+
return (req.type === 'threads.create' ||
|
|
19
|
+
req.type === 'threads.add_user_message' ||
|
|
20
|
+
req.type === 'threads.add_client_tool_output' ||
|
|
21
|
+
req.type === 'threads.retry_after_item' ||
|
|
22
|
+
req.type === 'threads.custom_action');
|
|
23
|
+
}
|
|
24
|
+
function isNonStreamingReq(req) {
|
|
25
|
+
return !isStreamingReq(req);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generate a unique ID with prefix
|
|
29
|
+
*/
|
|
30
|
+
function generateId(prefix) {
|
|
31
|
+
const timestamp = Date.now().toString(36);
|
|
32
|
+
const random = Math.random().toString(36).substring(2, 10);
|
|
33
|
+
return `${prefix}_${timestamp}${random}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get current timestamp in seconds
|
|
37
|
+
*/
|
|
38
|
+
function nowTimestamp() {
|
|
39
|
+
return Math.floor(Date.now() / 1000);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Extract text content from user message
|
|
43
|
+
*/
|
|
44
|
+
function extractUserMessageText(content) {
|
|
45
|
+
return content
|
|
46
|
+
.filter((c) => c.type === 'input_text')
|
|
47
|
+
.map((c) => c.text)
|
|
48
|
+
.join('\n');
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/chatkit/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAqoBH,wCAQC;AAED,8CAEC;AAKD,gCAIC;AAKD,oCAEC;AAKD,wDAKC;AA1CD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,SAAgB,cAAc,CAAC,GAAe;IAC5C,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,gBAAgB;QAC7B,GAAG,CAAC,IAAI,KAAK,0BAA0B;QACvC,GAAG,CAAC,IAAI,KAAK,gCAAgC;QAC7C,GAAG,CAAC,IAAI,KAAK,0BAA0B;QACvC,GAAG,CAAC,IAAI,KAAK,uBAAuB,CACrC,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAe;IAC/C,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,MAAc;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,GAAG,MAAM,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,OAA6B;IAClE,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAA+B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;SACnE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC","sourcesContent":["/**\n * ChatKit Types\n * \n * Type definitions for OpenAI ChatKit protocol.\n * Based on https://github.com/openai/chatkit-python\n */\n\n// ============================================================================\n// Generic Types\n// ============================================================================\n\nexport interface Page<T> {\n data: T[];\n has_more: boolean;\n after?: string;\n}\n\n// ============================================================================\n// Thread Types\n// ============================================================================\n\nexport type ThreadStatusType = 'active' | 'locked' | 'closed';\n\nexport interface ActiveStatus {\n type: 'active';\n}\n\nexport interface LockedStatus {\n type: 'locked';\n reason?: string;\n}\n\nexport interface ClosedStatus {\n type: 'closed';\n}\n\nexport type ThreadStatus = ActiveStatus | LockedStatus | ClosedStatus;\n\nexport interface ThreadMetadata {\n id: string;\n title?: string;\n status: ThreadStatus;\n created_at: number;\n updated_at: number;\n metadata?: Record<string, unknown>;\n}\n\nexport interface Thread extends ThreadMetadata {\n items: Page<ThreadItem>;\n}\n\n// ============================================================================\n// Thread Item Types\n// ============================================================================\n\nexport interface ThreadItemBase {\n id: string;\n thread_id: string;\n created_at: number;\n}\n\n// User Message\nexport interface UserMessageTextContent {\n type: 'input_text';\n text: string;\n}\n\nexport interface UserMessageTagContent {\n type: 'input_tag';\n tag: string;\n label?: string;\n}\n\nexport type UserMessageContent = UserMessageTextContent | UserMessageTagContent;\n\nexport interface InferenceOptions {\n model?: string;\n temperature?: number;\n max_tokens?: number;\n tools?: unknown[];\n tool_choice?: ToolChoice;\n}\n\nexport interface ToolChoice {\n type: 'function';\n function: {\n name: string;\n };\n}\n\nexport interface UserMessageItem extends ThreadItemBase {\n type: 'user_message';\n content: UserMessageContent[];\n inference_options?: InferenceOptions;\n}\n\n// Assistant Message\nexport interface Annotation {\n type: string;\n text: string;\n start_index?: number;\n end_index?: number;\n file_citation?: {\n file_id: string;\n quote?: string;\n };\n file_path?: {\n file_id: string;\n };\n url_citation?: {\n url: string;\n title?: string;\n };\n}\n\nexport interface AssistantMessageContent {\n type: 'output_text';\n text: string;\n annotations?: Annotation[];\n}\n\nexport interface AssistantMessageItem extends ThreadItemBase {\n type: 'assistant_message';\n content: AssistantMessageContent[];\n status?: 'in_progress' | 'completed' | 'incomplete';\n}\n\n// Client Tool Call\nexport interface ClientToolCallItem extends ThreadItemBase {\n type: 'client_tool_call';\n name: string;\n arguments: string;\n call_id: string;\n status?: 'pending' | 'completed';\n output?: string;\n}\n\n// Widget\nexport interface WidgetItem extends ThreadItemBase {\n type: 'widget';\n widget_type: string;\n data: unknown;\n}\n\n// Generated Image\nexport interface GeneratedImage {\n id: string;\n url?: string;\n b64_json?: string;\n}\n\nexport interface GeneratedImageItem extends ThreadItemBase {\n type: 'generated_image';\n image: GeneratedImage;\n prompt?: string;\n status?: 'in_progress' | 'completed' | 'failed';\n}\n\n// Task\nexport interface BaseTask {\n id: string;\n status: 'pending' | 'in_progress' | 'completed' | 'failed';\n}\n\nexport interface CustomTask extends BaseTask {\n type: 'custom';\n title: string;\n description?: string;\n}\n\nexport interface SearchTask extends BaseTask {\n type: 'web_search';\n query: string;\n}\n\nexport interface ThoughtTask extends BaseTask {\n type: 'thought';\n content: string;\n}\n\nexport interface FileTask extends BaseTask {\n type: 'file';\n file_id: string;\n filename?: string;\n}\n\nexport interface ImageTask extends BaseTask {\n type: 'image';\n image_id: string;\n}\n\nexport type Task = CustomTask | SearchTask | ThoughtTask | FileTask | ImageTask;\n\nexport interface TaskItem extends ThreadItemBase {\n type: 'task';\n task: Task;\n}\n\n// Workflow\nexport interface CustomSummary {\n type: 'custom';\n title: string;\n icon?: string;\n}\n\nexport interface DurationSummary {\n type: 'duration';\n duration_ms: number;\n}\n\nexport type WorkflowSummary = CustomSummary | DurationSummary;\n\nexport interface Workflow {\n tasks: Task[];\n summary?: WorkflowSummary;\n}\n\nexport interface WorkflowItem extends ThreadItemBase {\n type: 'workflow';\n workflow: Workflow;\n}\n\n// End of Turn\nexport interface EndOfTurnItem extends ThreadItemBase {\n type: 'end_of_turn';\n}\n\n// Hidden Context\nexport interface HiddenContextItem extends ThreadItemBase {\n type: 'hidden_context_item';\n context: unknown;\n}\n\nexport interface SDKHiddenContextItem extends ThreadItemBase {\n type: 'sdk_hidden_context';\n data: unknown;\n}\n\n// Union of all thread items\nexport type ThreadItem =\n | UserMessageItem\n | AssistantMessageItem\n | ClientToolCallItem\n | WidgetItem\n | GeneratedImageItem\n | TaskItem\n | WorkflowItem\n | EndOfTurnItem\n | HiddenContextItem\n | SDKHiddenContextItem;\n\nexport type StoreItemType = ThreadItem['type'];\n\n// ============================================================================\n// Attachment Types\n// ============================================================================\n\nexport interface AttachmentBase {\n id: string;\n name: string;\n size: number;\n mime_type: string;\n created_at: number;\n}\n\nexport interface FileAttachment extends AttachmentBase {\n type: 'file';\n url?: string;\n}\n\nexport interface ImageAttachment extends AttachmentBase {\n type: 'image';\n url?: string;\n width?: number;\n height?: number;\n}\n\nexport type Attachment = FileAttachment | ImageAttachment;\n\nexport interface AttachmentUploadDescriptor {\n attachment_id: string;\n upload_url: string;\n upload_headers?: Record<string, string>;\n}\n\n// ============================================================================\n// Request Types\n// ============================================================================\n\nexport interface BaseReq {\n metadata?: Record<string, unknown>;\n}\n\n// Thread Requests\nexport interface ThreadGetByIdParams {\n thread_id: string;\n}\n\nexport interface ThreadsGetByIdReq extends BaseReq {\n type: 'threads.get_by_id';\n params: ThreadGetByIdParams;\n}\n\nexport interface ThreadCreateParams {\n input?: UserMessageInput;\n}\n\nexport interface UserMessageInput {\n content: UserMessageContent[];\n inference_options?: InferenceOptions;\n attachments?: string[];\n}\n\nexport interface ThreadsCreateReq extends BaseReq {\n type: 'threads.create';\n params: ThreadCreateParams;\n}\n\nexport interface ThreadListParams {\n limit?: number;\n order?: 'asc' | 'desc';\n after?: string;\n}\n\nexport interface ThreadsListReq extends BaseReq {\n type: 'threads.list';\n params: ThreadListParams;\n}\n\nexport interface ThreadAddUserMessageParams {\n thread_id: string;\n input: UserMessageInput;\n}\n\nexport interface ThreadsAddUserMessageReq extends BaseReq {\n type: 'threads.add_user_message';\n params: ThreadAddUserMessageParams;\n}\n\nexport interface ThreadAddClientToolOutputParams {\n thread_id: string;\n item_id: string;\n output: string;\n}\n\nexport interface ThreadsAddClientToolOutputReq extends BaseReq {\n type: 'threads.add_client_tool_output';\n params: ThreadAddClientToolOutputParams;\n}\n\nexport interface ThreadCustomActionParams {\n thread_id: string;\n item_id: string;\n action: string;\n data?: unknown;\n}\n\nexport interface ThreadsCustomActionReq extends BaseReq {\n type: 'threads.custom_action';\n params: ThreadCustomActionParams;\n}\n\nexport interface ThreadRetryAfterItemParams {\n thread_id: string;\n item_id: string;\n}\n\nexport interface ThreadsRetryAfterItemReq extends BaseReq {\n type: 'threads.retry_after_item';\n params: ThreadRetryAfterItemParams;\n}\n\nexport interface ThreadUpdateParams {\n thread_id: string;\n title?: string;\n}\n\nexport interface ThreadsUpdateReq extends BaseReq {\n type: 'threads.update';\n params: ThreadUpdateParams;\n}\n\nexport interface ThreadDeleteParams {\n thread_id: string;\n}\n\nexport interface ThreadsDeleteReq extends BaseReq {\n type: 'threads.delete';\n params: ThreadDeleteParams;\n}\n\n// Items Requests\nexport interface ItemsListParams {\n thread_id: string;\n limit?: number;\n order?: 'asc' | 'desc';\n after?: string;\n}\n\nexport interface ItemsListReq extends BaseReq {\n type: 'items.list';\n params: ItemsListParams;\n}\n\nexport interface ItemFeedbackParams {\n thread_id: string;\n item_ids: string[];\n feedback: FeedbackKind;\n}\n\nexport type FeedbackKind = 'positive' | 'negative';\n\nexport interface ItemsFeedbackReq extends BaseReq {\n type: 'items.feedback';\n params: ItemFeedbackParams;\n}\n\n// Attachment Requests\nexport interface AttachmentCreateParams {\n name: string;\n size: number;\n mime_type: string;\n}\n\nexport interface AttachmentsCreateReq extends BaseReq {\n type: 'attachments.create';\n params: AttachmentCreateParams;\n}\n\nexport interface AttachmentDeleteParams {\n attachment_id: string;\n}\n\nexport interface AttachmentsDeleteReq extends BaseReq {\n type: 'attachments.delete';\n params: AttachmentDeleteParams;\n}\n\n// Request Union Types\nexport type StreamingReq =\n | ThreadsCreateReq\n | ThreadsAddUserMessageReq\n | ThreadsAddClientToolOutputReq\n | ThreadsRetryAfterItemReq\n | ThreadsCustomActionReq;\n\nexport type NonStreamingReq =\n | ThreadsGetByIdReq\n | ThreadsListReq\n | ItemsListReq\n | ItemsFeedbackReq\n | AttachmentsCreateReq\n | AttachmentsDeleteReq\n | ThreadsUpdateReq\n | ThreadsDeleteReq;\n\nexport type ChatKitReq = StreamingReq | NonStreamingReq;\n\n// ============================================================================\n// Stream Event Types\n// ============================================================================\n\nexport interface ThreadCreatedEvent {\n type: 'thread.created';\n thread: ThreadMetadata;\n}\n\nexport interface ThreadUpdatedEvent {\n type: 'thread.updated';\n thread: ThreadMetadata;\n}\n\nexport interface ThreadItemAddedEvent {\n type: 'thread.item.added';\n item: ThreadItem;\n}\n\nexport interface ThreadItemUpdatedEvent {\n type: 'thread.item.updated';\n item_id: string;\n update: ThreadItemUpdate;\n}\n\nexport interface ThreadItemDoneEvent {\n type: 'thread.item.done';\n item: ThreadItem;\n}\n\nexport interface ThreadItemRemovedEvent {\n type: 'thread.item.removed';\n item_id: string;\n}\n\nexport interface ThreadItemReplacedEvent {\n type: 'thread.item.replaced';\n item: ThreadItem;\n}\n\nexport interface StreamOptions {\n allow_cancel?: boolean;\n}\n\nexport interface StreamOptionsEvent {\n type: 'stream_options';\n options: StreamOptions;\n}\n\nexport interface ProgressUpdate {\n progress: number;\n message?: string;\n}\n\nexport interface ProgressUpdateEvent {\n type: 'progress_update';\n update: ProgressUpdate;\n}\n\nexport interface ClientEffect {\n effect_type: string;\n data?: unknown;\n}\n\nexport interface ClientEffectEvent {\n type: 'client_effect';\n effect: ClientEffect;\n}\n\nexport interface ErrorEvent {\n type: 'error';\n error: {\n code: string;\n message: string;\n details?: unknown;\n };\n}\n\nexport interface NoticeEvent {\n type: 'notice';\n notice: {\n level: 'info' | 'warning' | 'error';\n message: string;\n };\n}\n\nexport type ThreadStreamEvent =\n | ThreadCreatedEvent\n | ThreadUpdatedEvent\n | ThreadItemAddedEvent\n | ThreadItemUpdatedEvent\n | ThreadItemDoneEvent\n | ThreadItemRemovedEvent\n | ThreadItemReplacedEvent\n | StreamOptionsEvent\n | ProgressUpdateEvent\n | ClientEffectEvent\n | ErrorEvent\n | NoticeEvent;\n\n// ============================================================================\n// Thread Item Update Types (for streaming)\n// ============================================================================\n\nexport interface AssistantMessageContentPartAdded {\n type: 'assistant_message.content_part.added';\n part_index: number;\n part: AssistantMessageContent;\n}\n\nexport interface AssistantMessageContentPartTextDelta {\n type: 'assistant_message.content_part.text_delta';\n part_index: number;\n delta: string;\n}\n\nexport interface AssistantMessageContentPartAnnotationAdded {\n type: 'assistant_message.content_part.annotation_added';\n part_index: number;\n annotation: Annotation;\n}\n\nexport interface AssistantMessageContentPartDone {\n type: 'assistant_message.content_part.done';\n part_index: number;\n}\n\nexport interface WidgetStreamingTextValueDelta {\n type: 'widget.streaming_text.value_delta';\n path: string;\n delta: string;\n}\n\nexport interface WidgetRootUpdated {\n type: 'widget.root.updated';\n data: unknown;\n}\n\nexport interface WidgetComponentUpdated {\n type: 'widget.component.updated';\n component_id: string;\n data: unknown;\n}\n\nexport interface WorkflowTaskAdded {\n type: 'workflow.task.added';\n task: Task;\n}\n\nexport interface WorkflowTaskUpdated {\n type: 'workflow.task.updated';\n task_id: string;\n task: Partial<Task>;\n}\n\nexport interface GeneratedImageUpdated {\n type: 'generated_image.updated';\n image: GeneratedImage;\n}\n\nexport type ThreadItemUpdate =\n | AssistantMessageContentPartAdded\n | AssistantMessageContentPartTextDelta\n | AssistantMessageContentPartAnnotationAdded\n | AssistantMessageContentPartDone\n | WidgetStreamingTextValueDelta\n | WidgetRootUpdated\n | WidgetComponentUpdated\n | WorkflowTaskAdded\n | WorkflowTaskUpdated\n | GeneratedImageUpdated;\n\n// ============================================================================\n// Response Types\n// ============================================================================\n\nexport interface StreamingResult {\n type: 'streaming';\n stream: AsyncIterable<ThreadStreamEvent>;\n}\n\nexport interface NonStreamingResult {\n type: 'non_streaming';\n data: unknown;\n}\n\nexport type ChatKitResult = StreamingResult | NonStreamingResult;\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\nexport function isStreamingReq(req: ChatKitReq): req is StreamingReq {\n return (\n req.type === 'threads.create' ||\n req.type === 'threads.add_user_message' ||\n req.type === 'threads.add_client_tool_output' ||\n req.type === 'threads.retry_after_item' ||\n req.type === 'threads.custom_action'\n );\n}\n\nexport function isNonStreamingReq(req: ChatKitReq): req is NonStreamingReq {\n return !isStreamingReq(req);\n}\n\n/**\n * Generate a unique ID with prefix\n */\nexport function generateId(prefix: string): string {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 10);\n return `${prefix}_${timestamp}${random}`;\n}\n\n/**\n * Get current timestamp in seconds\n */\nexport function nowTimestamp(): number {\n return Math.floor(Date.now() / 1000);\n}\n\n/**\n * Extract text content from user message\n */\nexport function extractUserMessageText(content: UserMessageContent[]): string {\n return content\n .filter((c): c is UserMessageTextContent => c.type === 'input_text')\n .map((c) => c.text)\n .join('\\n');\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud 模式服务注册
|
|
3
|
+
*
|
|
4
|
+
* Cloud 模式持有 DNS/Tunnel 密钥,直接操作子域名
|
|
5
|
+
* 提供身份服务 (IdP) 和可选的托管存储 (SP)
|
|
6
|
+
*/
|
|
7
|
+
import { type AwilixContainer } from 'awilix';
|
|
8
|
+
import type { ApiContainerCradle } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* 注册 Cloud 模式专属服务
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerCloudServices(container: AwilixContainer<ApiContainerCradle>): void;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cloud 模式服务注册
|
|
4
|
+
*
|
|
5
|
+
* Cloud 模式持有 DNS/Tunnel 密钥,直接操作子域名
|
|
6
|
+
* 提供身份服务 (IdP) 和可选的托管存储 (SP)
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.registerCloudServices = registerCloudServices;
|
|
10
|
+
const awilix_1 = require("awilix");
|
|
11
|
+
const TencentDnsProvider_1 = require("../../dns/tencent/TencentDnsProvider");
|
|
12
|
+
const CloudflareTunnelProvider_1 = require("../../tunnel/CloudflareTunnelProvider");
|
|
13
|
+
const SubdomainService_1 = require("../../subdomain/SubdomainService");
|
|
14
|
+
const WebIdProfileRepository_1 = require("../../identity/drizzle/WebIdProfileRepository");
|
|
15
|
+
const DdnsRepository_1 = require("../../identity/drizzle/DdnsRepository");
|
|
16
|
+
const global_logger_factory_1 = require("global-logger-factory");
|
|
17
|
+
const logger = (0, global_logger_factory_1.getLoggerFor)('CloudServices');
|
|
18
|
+
/**
|
|
19
|
+
* 注册 Cloud 模式专属服务
|
|
20
|
+
*/
|
|
21
|
+
function registerCloudServices(container) {
|
|
22
|
+
const config = container.resolve('config');
|
|
23
|
+
const db = container.resolve('db');
|
|
24
|
+
// 获取 baseUrl 用于 WebID Profile
|
|
25
|
+
const baseUrl = process.env.CSS_BASE_URL || `http://localhost:${process.env.CSS_PORT || 3000}`;
|
|
26
|
+
// 注册 WebID Profile Repository (始终注册,用于身份服务)
|
|
27
|
+
container.register({
|
|
28
|
+
webIdProfileRepo: (0, awilix_1.asFunction)(() => {
|
|
29
|
+
return new WebIdProfileRepository_1.WebIdProfileRepository(db, { baseUrl });
|
|
30
|
+
}).singleton(),
|
|
31
|
+
});
|
|
32
|
+
logger.info('WebID Profile repository registered');
|
|
33
|
+
// 注册 DDNS Repository (始终注册,用于 DDNS 服务)
|
|
34
|
+
container.register({
|
|
35
|
+
ddnsRepo: (0, awilix_1.asFunction)(() => {
|
|
36
|
+
return new DdnsRepository_1.DdnsRepository(db);
|
|
37
|
+
}).singleton(),
|
|
38
|
+
});
|
|
39
|
+
logger.info('DDNS repository registered');
|
|
40
|
+
// 只有配置了子域名功能才注册 DNS/Tunnel 服务
|
|
41
|
+
if (!config.subdomain?.enabled) {
|
|
42
|
+
logger.info('Subdomain service disabled');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const { baseDomain, tencentDnsSecretId, tencentDnsSecretKey, cloudflareAccountId, cloudflareApiToken, } = config.subdomain;
|
|
46
|
+
// 检查必要配置
|
|
47
|
+
if (!baseDomain) {
|
|
48
|
+
logger.warn('Subdomain enabled but missing baseDomain, skipping DNS/Tunnel services');
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// DNS Provider (腾讯云或 Cloudflare)
|
|
52
|
+
if (tencentDnsSecretId && tencentDnsSecretKey) {
|
|
53
|
+
container.register({
|
|
54
|
+
dnsProvider: (0, awilix_1.asFunction)(() => {
|
|
55
|
+
return new TencentDnsProvider_1.TencentDnsProvider({
|
|
56
|
+
tokenId: tencentDnsSecretId,
|
|
57
|
+
token: tencentDnsSecretKey,
|
|
58
|
+
});
|
|
59
|
+
}).singleton(),
|
|
60
|
+
});
|
|
61
|
+
logger.info('Tencent DNS provider registered');
|
|
62
|
+
}
|
|
63
|
+
// Tunnel Provider (Cloudflare)
|
|
64
|
+
if (cloudflareAccountId && cloudflareApiToken) {
|
|
65
|
+
container.register({
|
|
66
|
+
tunnelProvider: (0, awilix_1.asFunction)(() => {
|
|
67
|
+
return new CloudflareTunnelProvider_1.CloudflareTunnelProvider({
|
|
68
|
+
accountId: cloudflareAccountId,
|
|
69
|
+
apiToken: cloudflareApiToken,
|
|
70
|
+
baseDomain: baseDomain,
|
|
71
|
+
});
|
|
72
|
+
}).singleton(),
|
|
73
|
+
});
|
|
74
|
+
logger.info('Cloudflare Tunnel provider registered');
|
|
75
|
+
}
|
|
76
|
+
// Subdomain Service (需要 DNS 和 Tunnel Provider)
|
|
77
|
+
try {
|
|
78
|
+
const dnsProvider = container.resolve('dnsProvider', { allowUnregistered: true });
|
|
79
|
+
const tunnelProvider = container.resolve('tunnelProvider', { allowUnregistered: true });
|
|
80
|
+
if (dnsProvider && tunnelProvider) {
|
|
81
|
+
container.register({
|
|
82
|
+
subdomainService: (0, awilix_1.asFunction)(() => {
|
|
83
|
+
return new SubdomainService_1.SubdomainService({
|
|
84
|
+
baseDomain: baseDomain,
|
|
85
|
+
dnsProvider: dnsProvider,
|
|
86
|
+
tunnelProvider: tunnelProvider,
|
|
87
|
+
});
|
|
88
|
+
}).singleton(),
|
|
89
|
+
});
|
|
90
|
+
logger.info(`Subdomain service registered for domain: ${baseDomain}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
logger.warn('Subdomain service not registered (missing DNS or Tunnel provider)');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=cloud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../src/api/container/cloud.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Cloud 模式服务注册\n *\n * Cloud 模式持有 DNS/Tunnel 密钥,直接操作子域名\n * 提供身份服务 (IdP) 和可选的托管存储 (SP)\n */\n\nimport { asFunction, type AwilixContainer } from 'awilix';\nimport type { ApiContainerCradle, ApiContainerConfig } from './types';\n\nimport { TencentDnsProvider } from '../../dns/tencent/TencentDnsProvider';\nimport { CloudflareTunnelProvider } from '../../tunnel/CloudflareTunnelProvider';\nimport { SubdomainService } from '../../subdomain/SubdomainService';\nimport { WebIdProfileRepository } from '../../identity/drizzle/WebIdProfileRepository';\nimport { DdnsRepository } from '../../identity/drizzle/DdnsRepository';\nimport { getLoggerFor } from 'global-logger-factory';\n\nconst logger = getLoggerFor('CloudServices');\n\n/**\n * 注册 Cloud 模式专属服务\n */\nexport function registerCloudServices(\n container: AwilixContainer<ApiContainerCradle>,\n): void {\n const config = container.resolve('config') as ApiContainerConfig;\n const db = container.resolve('db');\n\n // 获取 baseUrl 用于 WebID Profile\n const baseUrl = process.env.CSS_BASE_URL || `http://localhost:${process.env.CSS_PORT || 3000}`;\n\n // 注册 WebID Profile Repository (始终注册,用于身份服务)\n container.register({\n webIdProfileRepo: asFunction(() => {\n return new WebIdProfileRepository(db, { baseUrl });\n }).singleton(),\n });\n logger.info('WebID Profile repository registered');\n\n // 注册 DDNS Repository (始终注册,用于 DDNS 服务)\n container.register({\n ddnsRepo: asFunction(() => {\n return new DdnsRepository(db);\n }).singleton(),\n });\n logger.info('DDNS repository registered');\n\n // 只有配置了子域名功能才注册 DNS/Tunnel 服务\n if (!config.subdomain?.enabled) {\n logger.info('Subdomain service disabled');\n return;\n }\n\n const {\n baseDomain,\n tencentDnsSecretId,\n tencentDnsSecretKey,\n cloudflareAccountId,\n cloudflareApiToken,\n } = config.subdomain;\n\n // 检查必要配置\n if (!baseDomain) {\n logger.warn('Subdomain enabled but missing baseDomain, skipping DNS/Tunnel services');\n return;\n }\n\n // DNS Provider (腾讯云或 Cloudflare)\n if (tencentDnsSecretId && tencentDnsSecretKey) {\n container.register({\n dnsProvider: asFunction(() => {\n return new TencentDnsProvider({\n tokenId: tencentDnsSecretId,\n token: tencentDnsSecretKey,\n });\n }).singleton(),\n });\n logger.info('Tencent DNS provider registered');\n }\n\n // Tunnel Provider (Cloudflare)\n if (cloudflareAccountId && cloudflareApiToken) {\n container.register({\n tunnelProvider: asFunction(() => {\n return new CloudflareTunnelProvider({\n accountId: cloudflareAccountId,\n apiToken: cloudflareApiToken,\n baseDomain: baseDomain!,\n });\n }).singleton(),\n });\n logger.info('Cloudflare Tunnel provider registered');\n }\n\n // Subdomain Service (需要 DNS 和 Tunnel Provider)\n try {\n const dnsProvider = container.resolve('dnsProvider', { allowUnregistered: true });\n const tunnelProvider = container.resolve('tunnelProvider', { allowUnregistered: true });\n\n if (dnsProvider && tunnelProvider) {\n container.register({\n subdomainService: asFunction(() => {\n return new SubdomainService({\n baseDomain: baseDomain!,\n dnsProvider: dnsProvider as any,\n tunnelProvider: tunnelProvider as any,\n });\n }).singleton(),\n });\n logger.info(`Subdomain service registered for domain: ${baseDomain}`);\n }\n } catch {\n logger.warn('Subdomain service not registered (missing DNS or Tunnel provider)');\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 共享服务注册
|
|
3
|
+
*
|
|
4
|
+
* cloud 和 local 模式都需要的服务
|
|
5
|
+
*/
|
|
6
|
+
import { type AwilixContainer } from 'awilix';
|
|
7
|
+
import type { ApiContainerCradle } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* 注册共享服务到容器
|
|
10
|
+
*/
|
|
11
|
+
export declare function registerCommonServices(container: AwilixContainer<ApiContainerCradle>): void;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 共享服务注册
|
|
4
|
+
*
|
|
5
|
+
* cloud 和 local 模式都需要的服务
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.registerCommonServices = registerCommonServices;
|
|
9
|
+
const awilix_1 = require("awilix");
|
|
10
|
+
const db_1 = require("../../identity/drizzle/db");
|
|
11
|
+
const EdgeNodeRepository_1 = require("../../identity/drizzle/EdgeNodeRepository");
|
|
12
|
+
const DrizzleClientCredentialsStore_1 = require("../store/DrizzleClientCredentialsStore");
|
|
13
|
+
const SolidTokenAuthenticator_1 = require("../auth/SolidTokenAuthenticator");
|
|
14
|
+
const ClientCredentialsAuthenticator_1 = require("../auth/ClientCredentialsAuthenticator");
|
|
15
|
+
const NodeTokenAuthenticator_1 = require("../auth/NodeTokenAuthenticator");
|
|
16
|
+
const MultiAuthenticator_1 = require("../auth/MultiAuthenticator");
|
|
17
|
+
const AuthMiddleware_1 = require("../middleware/AuthMiddleware");
|
|
18
|
+
const InternalPodService_1 = require("../service/InternalPodService");
|
|
19
|
+
const VercelChatService_1 = require("../service/VercelChatService");
|
|
20
|
+
const ApiServer_1 = require("../ApiServer");
|
|
21
|
+
/**
|
|
22
|
+
* 注册共享服务到容器
|
|
23
|
+
*/
|
|
24
|
+
function registerCommonServices(container) {
|
|
25
|
+
container.register({
|
|
26
|
+
// 数据库
|
|
27
|
+
db: (0, awilix_1.asFunction)(({ config }) => {
|
|
28
|
+
return (0, db_1.getIdentityDatabase)(config.databaseUrl);
|
|
29
|
+
}).singleton(),
|
|
30
|
+
// 仓库
|
|
31
|
+
nodeRepo: (0, awilix_1.asFunction)(({ db }) => {
|
|
32
|
+
return new EdgeNodeRepository_1.EdgeNodeRepository(db);
|
|
33
|
+
}).singleton(),
|
|
34
|
+
apiKeyStore: (0, awilix_1.asFunction)(({ db, config }) => {
|
|
35
|
+
return new DrizzleClientCredentialsStore_1.DrizzleClientCredentialsStore({
|
|
36
|
+
db,
|
|
37
|
+
encryptionKey: config.encryptionKey,
|
|
38
|
+
});
|
|
39
|
+
}).singleton(),
|
|
40
|
+
// 认证
|
|
41
|
+
authenticator: (0, awilix_1.asFunction)(({ apiKeyStore, nodeRepo, config }) => {
|
|
42
|
+
const solidAuthenticator = new SolidTokenAuthenticator_1.SolidTokenAuthenticator({
|
|
43
|
+
resolveAccountId: async (webId) => webId,
|
|
44
|
+
});
|
|
45
|
+
const clientCredAuthenticator = new ClientCredentialsAuthenticator_1.ClientCredentialsAuthenticator({
|
|
46
|
+
store: apiKeyStore,
|
|
47
|
+
tokenEndpoint: config.cssTokenEndpoint,
|
|
48
|
+
});
|
|
49
|
+
const nodeTokenAuthenticator = new NodeTokenAuthenticator_1.NodeTokenAuthenticator({
|
|
50
|
+
repository: nodeRepo,
|
|
51
|
+
});
|
|
52
|
+
return new MultiAuthenticator_1.MultiAuthenticator({
|
|
53
|
+
// NodeTokenAuthenticator 必须在 ClientCredentialsAuthenticator 之前
|
|
54
|
+
// 因为两者都处理 Bearer token,但 Node Token 有 X-Node-Id 头
|
|
55
|
+
authenticators: [solidAuthenticator, nodeTokenAuthenticator, clientCredAuthenticator],
|
|
56
|
+
});
|
|
57
|
+
}).singleton(),
|
|
58
|
+
authMiddleware: (0, awilix_1.asFunction)(({ authenticator }) => {
|
|
59
|
+
return new AuthMiddleware_1.AuthMiddleware({ authenticator });
|
|
60
|
+
}).singleton(),
|
|
61
|
+
// 业务服务
|
|
62
|
+
podService: (0, awilix_1.asFunction)(({ apiKeyStore, config }) => {
|
|
63
|
+
return new InternalPodService_1.InternalPodService({
|
|
64
|
+
tokenEndpoint: config.cssTokenEndpoint,
|
|
65
|
+
apiKeyStore,
|
|
66
|
+
});
|
|
67
|
+
}).singleton(),
|
|
68
|
+
chatService: (0, awilix_1.asFunction)(({ podService }) => {
|
|
69
|
+
return new VercelChatService_1.VercelChatService(podService);
|
|
70
|
+
}).singleton(),
|
|
71
|
+
// API Server
|
|
72
|
+
apiServer: (0, awilix_1.asFunction)(({ config, authMiddleware }) => {
|
|
73
|
+
return new ApiServer_1.ApiServer({
|
|
74
|
+
port: config.port,
|
|
75
|
+
host: config.host,
|
|
76
|
+
authMiddleware,
|
|
77
|
+
corsOrigins: config.corsOrigins,
|
|
78
|
+
});
|
|
79
|
+
}).singleton(),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/api/container/common.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,wDAqEC;AAvFD,mCAA4E;AAG5E,kDAAgE;AAChE,kFAA+E;AAC/E,0FAAuF;AACvF,6EAA0E;AAC1E,2FAAwF;AACxF,2EAAwE;AACxE,mEAAgE;AAChE,iEAA8D;AAC9D,sEAAmE;AACnE,oEAAiE;AACjE,4CAAyC;AAEzC;;GAEG;AACH,SAAgB,sBAAsB,CACpC,SAA8C;IAE9C,SAAS,CAAC,QAAQ,CAAC;QACjB,MAAM;QACN,EAAE,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,MAAM,EAAsB,EAAE,EAAE;YAChD,OAAO,IAAA,wBAAmB,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,SAAS,EAAE;QAEd,KAAK;QACL,QAAQ,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,EAAE,EAAsB,EAAE,EAAE;YAClD,OAAO,IAAI,uCAAkB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,SAAS,EAAE;QAEd,WAAW,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;YAC7D,OAAO,IAAI,6DAA6B,CAAC;gBACvC,EAAE;gBACF,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,SAAS,EAAE;QAEd,KAAK;QACL,aAAa,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAsB,EAAE,EAAE;YAClF,MAAM,kBAAkB,GAAG,IAAI,iDAAuB,CAAC;gBACrD,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK;aACzC,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,IAAI,+DAA8B,CAAC;gBACjE,KAAK,EAAE,WAAW;gBAClB,aAAa,EAAE,MAAM,CAAC,gBAAgB;aACvC,CAAC,CAAC;YAEH,MAAM,sBAAsB,GAAG,IAAI,+CAAsB,CAAC;gBACxD,UAAU,EAAE,QAAQ;aACrB,CAAC,CAAC;YAEH,OAAO,IAAI,uCAAkB,CAAC;gBAC5B,+DAA+D;gBAC/D,kDAAkD;gBAClD,cAAc,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,uBAAuB,CAAC;aACtF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,SAAS,EAAE;QAEd,cAAc,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,aAAa,EAAsB,EAAE,EAAE;YACnE,OAAO,IAAI,+BAAc,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,SAAS,EAAE;QAEd,OAAO;QACP,UAAU,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAsB,EAAE,EAAE;YACrE,OAAO,IAAI,uCAAkB,CAAC;gBAC5B,aAAa,EAAE,MAAM,CAAC,gBAAgB;gBACtC,WAAW;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,SAAS,EAAE;QAEd,WAAW,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,UAAU,EAAsB,EAAE,EAAE;YAC7D,OAAO,IAAI,qCAAiB,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC,SAAS,EAAE;QAEd,aAAa;QACb,SAAS,EAAE,IAAA,mBAAU,EAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAsB,EAAE,EAAE;YACvE,OAAO,IAAI,qBAAS,CAAC;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,cAAc;gBACd,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,SAAS,EAAE;KACf,CAAC,CAAC;AACL,CAAC","sourcesContent":["/**\n * 共享服务注册\n * \n * cloud 和 local 模式都需要的服务\n */\n\nimport { asClass, asFunction, asValue, type AwilixContainer } from 'awilix';\nimport type { ApiContainerCradle, ApiContainerConfig } from './types';\n\nimport { getIdentityDatabase } from '../../identity/drizzle/db';\nimport { EdgeNodeRepository } from '../../identity/drizzle/EdgeNodeRepository';\nimport { DrizzleClientCredentialsStore } from '../store/DrizzleClientCredentialsStore';\nimport { SolidTokenAuthenticator } from '../auth/SolidTokenAuthenticator';\nimport { ClientCredentialsAuthenticator } from '../auth/ClientCredentialsAuthenticator';\nimport { NodeTokenAuthenticator } from '../auth/NodeTokenAuthenticator';\nimport { MultiAuthenticator } from '../auth/MultiAuthenticator';\nimport { AuthMiddleware } from '../middleware/AuthMiddleware';\nimport { InternalPodService } from '../service/InternalPodService';\nimport { VercelChatService } from '../service/VercelChatService';\nimport { ApiServer } from '../ApiServer';\n\n/**\n * 注册共享服务到容器\n */\nexport function registerCommonServices(\n container: AwilixContainer<ApiContainerCradle>,\n): void {\n container.register({\n // 数据库\n db: asFunction(({ config }: ApiContainerCradle) => {\n return getIdentityDatabase(config.databaseUrl);\n }).singleton(),\n\n // 仓库\n nodeRepo: asFunction(({ db }: ApiContainerCradle) => {\n return new EdgeNodeRepository(db);\n }).singleton(),\n\n apiKeyStore: asFunction(({ db, config }: ApiContainerCradle) => {\n return new DrizzleClientCredentialsStore({\n db,\n encryptionKey: config.encryptionKey,\n });\n }).singleton(),\n\n // 认证\n authenticator: asFunction(({ apiKeyStore, nodeRepo, config }: ApiContainerCradle) => {\n const solidAuthenticator = new SolidTokenAuthenticator({\n resolveAccountId: async (webId) => webId,\n });\n\n const clientCredAuthenticator = new ClientCredentialsAuthenticator({\n store: apiKeyStore,\n tokenEndpoint: config.cssTokenEndpoint,\n });\n\n const nodeTokenAuthenticator = new NodeTokenAuthenticator({\n repository: nodeRepo,\n });\n\n return new MultiAuthenticator({\n // NodeTokenAuthenticator 必须在 ClientCredentialsAuthenticator 之前\n // 因为两者都处理 Bearer token,但 Node Token 有 X-Node-Id 头\n authenticators: [solidAuthenticator, nodeTokenAuthenticator, clientCredAuthenticator],\n });\n }).singleton(),\n\n authMiddleware: asFunction(({ authenticator }: ApiContainerCradle) => {\n return new AuthMiddleware({ authenticator });\n }).singleton(),\n\n // 业务服务\n podService: asFunction(({ apiKeyStore, config }: ApiContainerCradle) => {\n return new InternalPodService({\n tokenEndpoint: config.cssTokenEndpoint,\n apiKeyStore,\n });\n }).singleton(),\n\n chatService: asFunction(({ podService }: ApiContainerCradle) => {\n return new VercelChatService(podService);\n }).singleton(),\n\n // API Server\n apiServer: asFunction(({ config, authMiddleware }: ApiContainerCradle) => {\n return new ApiServer({\n port: config.port,\n host: config.host,\n authMiddleware,\n corsOrigins: config.corsOrigins,\n });\n }).singleton(),\n });\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Container 入口
|
|
3
|
+
*
|
|
4
|
+
* 使用 Awilix 进行依赖注入,根据 edition 注册不同服务
|
|
5
|
+
*/
|
|
6
|
+
import { type AwilixContainer } from 'awilix';
|
|
7
|
+
import type { ApiContainerCradle, ApiContainerConfig } from './types';
|
|
8
|
+
export type { ApiContainerCradle, ApiContainerConfig } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* 创建 API 容器
|
|
11
|
+
*/
|
|
12
|
+
export declare function createApiContainer(config: ApiContainerConfig): AwilixContainer<ApiContainerCradle>;
|
|
13
|
+
/**
|
|
14
|
+
* 从环境变量读取配置
|
|
15
|
+
*/
|
|
16
|
+
export declare function loadConfigFromEnv(): ApiContainerConfig;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API Container 入口
|
|
4
|
+
*
|
|
5
|
+
* 使用 Awilix 进行依赖注入,根据 edition 注册不同服务
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.createApiContainer = createApiContainer;
|
|
9
|
+
exports.loadConfigFromEnv = loadConfigFromEnv;
|
|
10
|
+
const awilix_1 = require("awilix");
|
|
11
|
+
const common_1 = require("./common");
|
|
12
|
+
const cloud_1 = require("./cloud");
|
|
13
|
+
const local_1 = require("./local");
|
|
14
|
+
/**
|
|
15
|
+
* 创建 API 容器
|
|
16
|
+
*/
|
|
17
|
+
function createApiContainer(config) {
|
|
18
|
+
const container = (0, awilix_1.createContainer)({
|
|
19
|
+
injectionMode: awilix_1.InjectionMode.PROXY,
|
|
20
|
+
strict: true,
|
|
21
|
+
});
|
|
22
|
+
// 注册配置
|
|
23
|
+
container.register({
|
|
24
|
+
config: (0, awilix_1.asValue)(config),
|
|
25
|
+
});
|
|
26
|
+
// 注册共享服务
|
|
27
|
+
(0, common_1.registerCommonServices)(container);
|
|
28
|
+
// 根据 edition 注册专属服务
|
|
29
|
+
if (config.edition === 'cloud') {
|
|
30
|
+
(0, cloud_1.registerCloudServices)(container);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
(0, local_1.registerLocalServices)(container);
|
|
34
|
+
}
|
|
35
|
+
return container;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 从环境变量读取配置
|
|
39
|
+
*/
|
|
40
|
+
function loadConfigFromEnv() {
|
|
41
|
+
const edition = (process.env.XPOD_EDITION ?? 'local');
|
|
42
|
+
// Port auto-increment: API_PORT = CSS_PORT + 1 if not explicitly set
|
|
43
|
+
const cssPort = parseInt(process.env.CSS_PORT ?? '3000', 10);
|
|
44
|
+
const apiPort = process.env.API_PORT
|
|
45
|
+
? parseInt(process.env.API_PORT, 10)
|
|
46
|
+
: cssPort + 1;
|
|
47
|
+
return {
|
|
48
|
+
edition,
|
|
49
|
+
port: apiPort,
|
|
50
|
+
host: process.env.API_HOST ?? '0.0.0.0',
|
|
51
|
+
databaseUrl: process.env.CSS_IDENTITY_DB_URL ?? process.env.DATABASE_URL ?? '',
|
|
52
|
+
corsOrigins: process.env.CORS_ORIGINS?.split(',').map(s => s.trim()) ?? ['*'],
|
|
53
|
+
encryptionKey: process.env.XPOD_ENCRYPTION_KEY ?? 'default-dev-key-change-me',
|
|
54
|
+
cssTokenEndpoint: process.env.CSS_TOKEN_ENDPOINT ?? 'http://localhost:3000/.oidc/token',
|
|
55
|
+
// 子域名配置 (cloud 模式)
|
|
56
|
+
subdomain: {
|
|
57
|
+
enabled: process.env.XPOD_SUBDOMAIN_ENABLED === 'true',
|
|
58
|
+
baseDomain: (() => {
|
|
59
|
+
if (!process.env.CSS_BASE_URL)
|
|
60
|
+
return undefined;
|
|
61
|
+
try {
|
|
62
|
+
return new URL(process.env.CSS_BASE_URL).hostname;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
})(),
|
|
68
|
+
ddnsDomain: process.env.XPOD_DDNS_DOMAIN || 'undefineds.xyz',
|
|
69
|
+
cloudflareAccountId: process.env.CLOUDFLARE_ACCOUNT_ID,
|
|
70
|
+
cloudflareApiToken: process.env.CLOUDFLARE_API_TOKEN,
|
|
71
|
+
tencentDnsSecretId: process.env.TENCENT_DNS_SECRET_ID,
|
|
72
|
+
tencentDnsSecretKey: process.env.TENCENT_DNS_SECRET_KEY,
|
|
73
|
+
},
|
|
74
|
+
// Local 托管式:连接 Cloud
|
|
75
|
+
cloudApiEndpoint: process.env.XPOD_CLOUD_API_ENDPOINT,
|
|
76
|
+
nodeId: process.env.XPOD_NODE_ID,
|
|
77
|
+
nodeToken: process.env.XPOD_NODE_TOKEN,
|
|
78
|
+
// OIDC Issuer (Local 托管式使用 Cloud IdP)
|
|
79
|
+
// 如果配置了 XPOD_NODE_TOKEN,默认使用 Cloud IdP
|
|
80
|
+
oidcIssuer: process.env.XPOD_OIDC_ISSUER ?? process.env.CSS_OIDC_ISSUER ?? (process.env.XPOD_NODE_TOKEN
|
|
81
|
+
? (process.env.XPOD_CLOUD_API_ENDPOINT ?? 'https://id.undefineds.co')
|
|
82
|
+
: undefined),
|
|
83
|
+
// 隧道配置
|
|
84
|
+
cloudflareTunnelToken: process.env.CLOUDFLARE_TUNNEL_TOKEN,
|
|
85
|
+
sakuraToken: process.env.SAKURA_TOKEN,
|
|
86
|
+
// Edge 节点管理 (cloud 模式)
|
|
87
|
+
edgeNodesEnabled: process.env.XPOD_EDGE_NODES_ENABLED === 'true',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/container/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * API Container 入口\n *\n * 使用 Awilix 进行依赖注入,根据 edition 注册不同服务\n */\n\nimport { createContainer, asValue, InjectionMode, type AwilixContainer } from 'awilix';\nimport type { ApiContainerCradle, ApiContainerConfig } from './types';\nimport { registerCommonServices } from './common';\nimport { registerCloudServices } from './cloud';\nimport { registerLocalServices } from './local';\n\nexport type { ApiContainerCradle, ApiContainerConfig } from './types';\n\n/**\n * 创建 API 容器\n */\nexport function createApiContainer(config: ApiContainerConfig): AwilixContainer<ApiContainerCradle> {\n const container = createContainer<ApiContainerCradle>({\n injectionMode: InjectionMode.PROXY,\n strict: true,\n });\n\n // 注册配置\n container.register({\n config: asValue(config),\n });\n\n // 注册共享服务\n registerCommonServices(container);\n\n // 根据 edition 注册专属服务\n if (config.edition === 'cloud') {\n registerCloudServices(container);\n } else {\n registerLocalServices(container);\n }\n\n return container;\n}\n\n/**\n * 从环境变量读取配置\n */\nexport function loadConfigFromEnv(): ApiContainerConfig {\n const edition = (process.env.XPOD_EDITION ?? 'local') as 'cloud' | 'local';\n\n // Port auto-increment: API_PORT = CSS_PORT + 1 if not explicitly set\n const cssPort = parseInt(process.env.CSS_PORT ?? '3000', 10);\n const apiPort = process.env.API_PORT\n ? parseInt(process.env.API_PORT, 10)\n : cssPort + 1;\n\n return {\n edition,\n port: apiPort,\n host: process.env.API_HOST ?? '0.0.0.0',\n databaseUrl: process.env.CSS_IDENTITY_DB_URL ?? process.env.DATABASE_URL ?? '',\n corsOrigins: process.env.CORS_ORIGINS?.split(',').map(s => s.trim()) ?? ['*'],\n encryptionKey: process.env.XPOD_ENCRYPTION_KEY ?? 'default-dev-key-change-me',\n cssTokenEndpoint: process.env.CSS_TOKEN_ENDPOINT ?? 'http://localhost:3000/.oidc/token',\n\n // 子域名配置 (cloud 模式)\n subdomain: {\n enabled: process.env.XPOD_SUBDOMAIN_ENABLED === 'true',\n baseDomain: ((): string | undefined => {\n if (!process.env.CSS_BASE_URL) return undefined;\n try {\n return new URL(process.env.CSS_BASE_URL).hostname;\n } catch {\n return undefined;\n }\n })(),\n ddnsDomain: process.env.XPOD_DDNS_DOMAIN || 'undefineds.xyz',\n cloudflareAccountId: process.env.CLOUDFLARE_ACCOUNT_ID,\n cloudflareApiToken: process.env.CLOUDFLARE_API_TOKEN,\n tencentDnsSecretId: process.env.TENCENT_DNS_SECRET_ID,\n tencentDnsSecretKey: process.env.TENCENT_DNS_SECRET_KEY,\n },\n\n // Local 托管式:连接 Cloud\n cloudApiEndpoint: process.env.XPOD_CLOUD_API_ENDPOINT,\n nodeId: process.env.XPOD_NODE_ID,\n nodeToken: process.env.XPOD_NODE_TOKEN,\n\n // OIDC Issuer (Local 托管式使用 Cloud IdP)\n // 如果配置了 XPOD_NODE_TOKEN,默认使用 Cloud IdP\n oidcIssuer: process.env.XPOD_OIDC_ISSUER ?? process.env.CSS_OIDC_ISSUER ?? (\n process.env.XPOD_NODE_TOKEN\n ? (process.env.XPOD_CLOUD_API_ENDPOINT ?? 'https://id.undefineds.co')\n : undefined\n ),\n\n // 隧道配置\n cloudflareTunnelToken: process.env.CLOUDFLARE_TUNNEL_TOKEN,\n sakuraToken: process.env.SAKURA_TOKEN,\n\n // Edge 节点管理 (cloud 模式)\n edgeNodesEnabled: process.env.XPOD_EDGE_NODES_ENABLED === 'true',\n };\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local 模式服务注册
|
|
3
|
+
*
|
|
4
|
+
* Local 模式有两种配置:
|
|
5
|
+
* - 托管式 (managed): 配置 XPOD_NODE_TOKEN,自动连接 Cloud 获取身份服务和 DDNS
|
|
6
|
+
* - 独立式 (standalone): 不配置 XPOD_NODE_TOKEN,用户自己配置 CSS_BASE_URL 和 IdP
|
|
7
|
+
*/
|
|
8
|
+
import { type AwilixContainer } from 'awilix';
|
|
9
|
+
import type { ApiContainerCradle } from './types';
|
|
10
|
+
/**
|
|
11
|
+
* 注册 Local 模式专属服务
|
|
12
|
+
*/
|
|
13
|
+
export declare function registerLocalServices(container: AwilixContainer<ApiContainerCradle>): void;
|