@cat-factory/worker 0.6.0
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 +21 -0
- package/dist/app.d.ts +22 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +49 -0
- package/dist/app.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +234 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/ai/CloudflareModelProvider.d.ts +23 -0
- package/dist/infrastructure/ai/CloudflareModelProvider.d.ts.map +1 -0
- package/dist/infrastructure/ai/CloudflareModelProvider.js +62 -0
- package/dist/infrastructure/ai/CloudflareModelProvider.js.map +1 -0
- package/dist/infrastructure/ai/CompositeAgentExecutor.d.ts +2 -0
- package/dist/infrastructure/ai/CompositeAgentExecutor.d.ts.map +1 -0
- package/dist/infrastructure/ai/CompositeAgentExecutor.js +5 -0
- package/dist/infrastructure/ai/CompositeAgentExecutor.js.map +1 -0
- package/dist/infrastructure/ai/ContainerAgentExecutor.d.ts +2 -0
- package/dist/infrastructure/ai/ContainerAgentExecutor.d.ts.map +1 -0
- package/dist/infrastructure/ai/ContainerAgentExecutor.js +5 -0
- package/dist/infrastructure/ai/ContainerAgentExecutor.js.map +1 -0
- package/dist/infrastructure/ai/ContainerRepoBootstrapper.d.ts +2 -0
- package/dist/infrastructure/ai/ContainerRepoBootstrapper.d.ts.map +1 -0
- package/dist/infrastructure/ai/ContainerRepoBootstrapper.js +5 -0
- package/dist/infrastructure/ai/ContainerRepoBootstrapper.js.map +1 -0
- package/dist/infrastructure/ai/ContainerRepoScanner.d.ts +39 -0
- package/dist/infrastructure/ai/ContainerRepoScanner.d.ts.map +1 -0
- package/dist/infrastructure/ai/ContainerRepoScanner.js +115 -0
- package/dist/infrastructure/ai/ContainerRepoScanner.js.map +1 -0
- package/dist/infrastructure/ai/LlmFragmentSelector.d.ts +2 -0
- package/dist/infrastructure/ai/LlmFragmentSelector.d.ts.map +1 -0
- package/dist/infrastructure/ai/LlmFragmentSelector.js +4 -0
- package/dist/infrastructure/ai/LlmFragmentSelector.js.map +1 -0
- package/dist/infrastructure/ai/RunnerJobClient.d.ts +2 -0
- package/dist/infrastructure/ai/RunnerJobClient.d.ts.map +1 -0
- package/dist/infrastructure/ai/RunnerJobClient.js +5 -0
- package/dist/infrastructure/ai/RunnerJobClient.js.map +1 -0
- package/dist/infrastructure/ai/WorkersAiLlmUpstream.d.ts +28 -0
- package/dist/infrastructure/ai/WorkersAiLlmUpstream.d.ts.map +1 -0
- package/dist/infrastructure/ai/WorkersAiLlmUpstream.js +486 -0
- package/dist/infrastructure/ai/WorkersAiLlmUpstream.js.map +1 -0
- package/dist/infrastructure/ai/providerEndpoints.d.ts +17 -0
- package/dist/infrastructure/ai/providerEndpoints.d.ts.map +1 -0
- package/dist/infrastructure/ai/providerEndpoints.js +42 -0
- package/dist/infrastructure/ai/providerEndpoints.js.map +1 -0
- package/dist/infrastructure/ai/registries.d.ts +11 -0
- package/dist/infrastructure/ai/registries.d.ts.map +1 -0
- package/dist/infrastructure/ai/registries.js +14 -0
- package/dist/infrastructure/ai/registries.js.map +1 -0
- package/dist/infrastructure/auth/GitHubOAuth.d.ts +2 -0
- package/dist/infrastructure/auth/GitHubOAuth.d.ts.map +1 -0
- package/dist/infrastructure/auth/GitHubOAuth.js +3 -0
- package/dist/infrastructure/auth/GitHubOAuth.js.map +1 -0
- package/dist/infrastructure/auth/middleware.d.ts +2 -0
- package/dist/infrastructure/auth/middleware.d.ts.map +1 -0
- package/dist/infrastructure/auth/middleware.js +3 -0
- package/dist/infrastructure/auth/middleware.js.map +1 -0
- package/dist/infrastructure/auth/signing.d.ts +3 -0
- package/dist/infrastructure/auth/signing.d.ts.map +1 -0
- package/dist/infrastructure/auth/signing.js +3 -0
- package/dist/infrastructure/auth/signing.js.map +1 -0
- package/dist/infrastructure/config/agents.d.ts +6 -0
- package/dist/infrastructure/config/agents.d.ts.map +1 -0
- package/dist/infrastructure/config/agents.js +100 -0
- package/dist/infrastructure/config/agents.js.map +1 -0
- package/dist/infrastructure/config/auth.d.ts +13 -0
- package/dist/infrastructure/config/auth.d.ts.map +1 -0
- package/dist/infrastructure/config/auth.js +80 -0
- package/dist/infrastructure/config/auth.js.map +1 -0
- package/dist/infrastructure/config/cors.d.ts +2 -0
- package/dist/infrastructure/config/cors.d.ts.map +1 -0
- package/dist/infrastructure/config/cors.js +3 -0
- package/dist/infrastructure/config/cors.js.map +1 -0
- package/dist/infrastructure/config/datadog.d.ts +6 -0
- package/dist/infrastructure/config/datadog.d.ts.map +1 -0
- package/dist/infrastructure/config/datadog.js +22 -0
- package/dist/infrastructure/config/datadog.js.map +1 -0
- package/dist/infrastructure/config/documents.d.ts +5 -0
- package/dist/infrastructure/config/documents.d.ts.map +1 -0
- package/dist/infrastructure/config/documents.js +36 -0
- package/dist/infrastructure/config/documents.js.map +1 -0
- package/dist/infrastructure/config/email.d.ts +5 -0
- package/dist/infrastructure/config/email.d.ts.map +1 -0
- package/dist/infrastructure/config/email.js +12 -0
- package/dist/infrastructure/config/email.js.map +1 -0
- package/dist/infrastructure/config/environments.d.ts +5 -0
- package/dist/infrastructure/config/environments.d.ts.map +1 -0
- package/dist/infrastructure/config/environments.js +15 -0
- package/dist/infrastructure/config/environments.js.map +1 -0
- package/dist/infrastructure/config/execution.d.ts +5 -0
- package/dist/infrastructure/config/execution.d.ts.map +1 -0
- package/dist/infrastructure/config/execution.js +21 -0
- package/dist/infrastructure/config/execution.js.map +1 -0
- package/dist/infrastructure/config/fragmentLibrary.d.ts +5 -0
- package/dist/infrastructure/config/fragmentLibrary.d.ts.map +1 -0
- package/dist/infrastructure/config/fragmentLibrary.js +7 -0
- package/dist/infrastructure/config/fragmentLibrary.js.map +1 -0
- package/dist/infrastructure/config/github.d.ts +5 -0
- package/dist/infrastructure/config/github.d.ts.map +1 -0
- package/dist/infrastructure/config/github.js +25 -0
- package/dist/infrastructure/config/github.js.map +1 -0
- package/dist/infrastructure/config/index.d.ts +20 -0
- package/dist/infrastructure/config/index.d.ts.map +1 -0
- package/dist/infrastructure/config/index.js +52 -0
- package/dist/infrastructure/config/index.js.map +1 -0
- package/dist/infrastructure/config/langfuse.d.ts +10 -0
- package/dist/infrastructure/config/langfuse.d.ts.map +1 -0
- package/dist/infrastructure/config/langfuse.js +17 -0
- package/dist/infrastructure/config/langfuse.js.map +1 -0
- package/dist/infrastructure/config/observability.d.ts +10 -0
- package/dist/infrastructure/config/observability.d.ts.map +1 -0
- package/dist/infrastructure/config/observability.js +11 -0
- package/dist/infrastructure/config/observability.js.map +1 -0
- package/dist/infrastructure/config/retention.d.ts +5 -0
- package/dist/infrastructure/config/retention.d.ts.map +1 -0
- package/dist/infrastructure/config/retention.js +15 -0
- package/dist/infrastructure/config/retention.js.map +1 -0
- package/dist/infrastructure/config/runners.d.ts +5 -0
- package/dist/infrastructure/config/runners.d.ts.map +1 -0
- package/dist/infrastructure/config/runners.js +13 -0
- package/dist/infrastructure/config/runners.js.map +1 -0
- package/dist/infrastructure/config/slack.d.ts +5 -0
- package/dist/infrastructure/config/slack.d.ts.map +1 -0
- package/dist/infrastructure/config/slack.js +17 -0
- package/dist/infrastructure/config/slack.js.map +1 -0
- package/dist/infrastructure/config/spending.d.ts +4 -0
- package/dist/infrastructure/config/spending.d.ts.map +1 -0
- package/dist/infrastructure/config/spending.js +36 -0
- package/dist/infrastructure/config/spending.js.map +1 -0
- package/dist/infrastructure/config/tasks.d.ts +5 -0
- package/dist/infrastructure/config/tasks.d.ts.map +1 -0
- package/dist/infrastructure/config/tasks.js +31 -0
- package/dist/infrastructure/config/tasks.js.map +1 -0
- package/dist/infrastructure/config/utils.d.ts +6 -0
- package/dist/infrastructure/config/utils.d.ts.map +1 -0
- package/dist/infrastructure/config/utils.js +24 -0
- package/dist/infrastructure/config/utils.js.map +1 -0
- package/dist/infrastructure/container.d.ts +8 -0
- package/dist/infrastructure/container.d.ts.map +1 -0
- package/dist/infrastructure/container.js +1157 -0
- package/dist/infrastructure/container.js.map +1 -0
- package/dist/infrastructure/containers/CloudflareContainerTransport.d.ts +22 -0
- package/dist/infrastructure/containers/CloudflareContainerTransport.d.ts.map +1 -0
- package/dist/infrastructure/containers/CloudflareContainerTransport.js +129 -0
- package/dist/infrastructure/containers/CloudflareContainerTransport.js.map +1 -0
- package/dist/infrastructure/containers/ContainerInstanceRegistry.d.ts +62 -0
- package/dist/infrastructure/containers/ContainerInstanceRegistry.d.ts.map +1 -0
- package/dist/infrastructure/containers/ContainerInstanceRegistry.js +74 -0
- package/dist/infrastructure/containers/ContainerInstanceRegistry.js.map +1 -0
- package/dist/infrastructure/containers/ContainerSessionService.d.ts +2 -0
- package/dist/infrastructure/containers/ContainerSessionService.d.ts.map +1 -0
- package/dist/infrastructure/containers/ContainerSessionService.js +3 -0
- package/dist/infrastructure/containers/ContainerSessionService.js.map +1 -0
- package/dist/infrastructure/containers/ExecutionContainer.d.ts +48 -0
- package/dist/infrastructure/containers/ExecutionContainer.d.ts.map +1 -0
- package/dist/infrastructure/containers/ExecutionContainer.js +88 -0
- package/dist/infrastructure/containers/ExecutionContainer.js.map +1 -0
- package/dist/infrastructure/documents/ConfluenceProvider.d.ts +29 -0
- package/dist/infrastructure/documents/ConfluenceProvider.d.ts.map +1 -0
- package/dist/infrastructure/documents/ConfluenceProvider.js +179 -0
- package/dist/infrastructure/documents/ConfluenceProvider.js.map +1 -0
- package/dist/infrastructure/documents/GitHubDocsProvider.d.ts +42 -0
- package/dist/infrastructure/documents/GitHubDocsProvider.d.ts.map +1 -0
- package/dist/infrastructure/documents/GitHubDocsProvider.js +85 -0
- package/dist/infrastructure/documents/GitHubDocsProvider.js.map +1 -0
- package/dist/infrastructure/documents/NotionProvider.d.ts +32 -0
- package/dist/infrastructure/documents/NotionProvider.d.ts.map +1 -0
- package/dist/infrastructure/documents/NotionProvider.js +220 -0
- package/dist/infrastructure/documents/NotionProvider.js.map +1 -0
- package/dist/infrastructure/durable-objects/WorkspaceEventsHub.d.ts +20 -0
- package/dist/infrastructure/durable-objects/WorkspaceEventsHub.d.ts.map +1 -0
- package/dist/infrastructure/durable-objects/WorkspaceEventsHub.js +62 -0
- package/dist/infrastructure/durable-objects/WorkspaceEventsHub.js.map +1 -0
- package/dist/infrastructure/env.d.ts +370 -0
- package/dist/infrastructure/env.d.ts.map +1 -0
- package/dist/infrastructure/env.js +2 -0
- package/dist/infrastructure/env.js.map +1 -0
- package/dist/infrastructure/environments/HttpEnvironmentProvider.d.ts +27 -0
- package/dist/infrastructure/environments/HttpEnvironmentProvider.d.ts.map +1 -0
- package/dist/infrastructure/environments/HttpEnvironmentProvider.js +314 -0
- package/dist/infrastructure/environments/HttpEnvironmentProvider.js.map +1 -0
- package/dist/infrastructure/environments/WebCryptoSecretCipher.d.ts +2 -0
- package/dist/infrastructure/environments/WebCryptoSecretCipher.d.ts.map +1 -0
- package/dist/infrastructure/environments/WebCryptoSecretCipher.js +5 -0
- package/dist/infrastructure/environments/WebCryptoSecretCipher.js.map +1 -0
- package/dist/infrastructure/environments/sweep.d.ts +5 -0
- package/dist/infrastructure/environments/sweep.d.ts.map +1 -0
- package/dist/infrastructure/environments/sweep.js +16 -0
- package/dist/infrastructure/environments/sweep.js.map +1 -0
- package/dist/infrastructure/events/DurableObjectEventPublisher.d.ts +25 -0
- package/dist/infrastructure/events/DurableObjectEventPublisher.d.ts.map +1 -0
- package/dist/infrastructure/events/DurableObjectEventPublisher.js +64 -0
- package/dist/infrastructure/events/DurableObjectEventPublisher.js.map +1 -0
- package/dist/infrastructure/events/InAppNotificationChannel.d.ts +19 -0
- package/dist/infrastructure/events/InAppNotificationChannel.d.ts.map +1 -0
- package/dist/infrastructure/events/InAppNotificationChannel.js +22 -0
- package/dist/infrastructure/events/InAppNotificationChannel.js.map +1 -0
- package/dist/infrastructure/gateways/DoRealtimeGateway.d.ts +15 -0
- package/dist/infrastructure/gateways/DoRealtimeGateway.d.ts.map +1 -0
- package/dist/infrastructure/gateways/DoRealtimeGateway.js +20 -0
- package/dist/infrastructure/gateways/DoRealtimeGateway.js.map +1 -0
- package/dist/infrastructure/gateways/GitHubGateways.d.ts +27 -0
- package/dist/infrastructure/gateways/GitHubGateways.d.ts.map +1 -0
- package/dist/infrastructure/gateways/GitHubGateways.js +48 -0
- package/dist/infrastructure/gateways/GitHubGateways.js.map +1 -0
- package/dist/infrastructure/github/FetchGitHubClient.d.ts +2 -0
- package/dist/infrastructure/github/FetchGitHubClient.d.ts.map +1 -0
- package/dist/infrastructure/github/FetchGitHubClient.js +4 -0
- package/dist/infrastructure/github/FetchGitHubClient.js.map +1 -0
- package/dist/infrastructure/github/FetchGitHubProvisioningClient.d.ts +2 -0
- package/dist/infrastructure/github/FetchGitHubProvisioningClient.d.ts.map +1 -0
- package/dist/infrastructure/github/FetchGitHubProvisioningClient.js +5 -0
- package/dist/infrastructure/github/FetchGitHubProvisioningClient.js.map +1 -0
- package/dist/infrastructure/github/GitHubAppAuth.d.ts +2 -0
- package/dist/infrastructure/github/GitHubAppAuth.d.ts.map +1 -0
- package/dist/infrastructure/github/GitHubAppAuth.js +5 -0
- package/dist/infrastructure/github/GitHubAppAuth.js.map +1 -0
- package/dist/infrastructure/github/GitHubAppRegistry.d.ts +2 -0
- package/dist/infrastructure/github/GitHubAppRegistry.d.ts.map +1 -0
- package/dist/infrastructure/github/GitHubAppRegistry.js +4 -0
- package/dist/infrastructure/github/GitHubAppRegistry.js.map +1 -0
- package/dist/infrastructure/github/GitHubCiStatusProvider.d.ts +2 -0
- package/dist/infrastructure/github/GitHubCiStatusProvider.d.ts.map +1 -0
- package/dist/infrastructure/github/GitHubCiStatusProvider.js +4 -0
- package/dist/infrastructure/github/GitHubCiStatusProvider.js.map +1 -0
- package/dist/infrastructure/github/GitHubMergeabilityProvider.d.ts +2 -0
- package/dist/infrastructure/github/GitHubMergeabilityProvider.d.ts.map +1 -0
- package/dist/infrastructure/github/GitHubMergeabilityProvider.js +4 -0
- package/dist/infrastructure/github/GitHubMergeabilityProvider.js.map +1 -0
- package/dist/infrastructure/github/GitHubPullRequestMerger.d.ts +2 -0
- package/dist/infrastructure/github/GitHubPullRequestMerger.d.ts.map +1 -0
- package/dist/infrastructure/github/GitHubPullRequestMerger.js +4 -0
- package/dist/infrastructure/github/GitHubPullRequestMerger.js.map +1 -0
- package/dist/infrastructure/github/WebCryptoWebhookVerifier.d.ts +2 -0
- package/dist/infrastructure/github/WebCryptoWebhookVerifier.d.ts.map +1 -0
- package/dist/infrastructure/github/WebCryptoWebhookVerifier.js +5 -0
- package/dist/infrastructure/github/WebCryptoWebhookVerifier.js.map +1 -0
- package/dist/infrastructure/github/encoding.d.ts +2 -0
- package/dist/infrastructure/github/encoding.d.ts.map +1 -0
- package/dist/infrastructure/github/encoding.js +3 -0
- package/dist/infrastructure/github/encoding.js.map +1 -0
- package/dist/infrastructure/github/state.d.ts +2 -0
- package/dist/infrastructure/github/state.d.ts.map +1 -0
- package/dist/infrastructure/github/state.js +3 -0
- package/dist/infrastructure/github/state.js.map +1 -0
- package/dist/infrastructure/github/sync-consumer.d.ts +16 -0
- package/dist/infrastructure/github/sync-consumer.d.ts.map +1 -0
- package/dist/infrastructure/github/sync-consumer.js +130 -0
- package/dist/infrastructure/github/sync-consumer.js.map +1 -0
- package/dist/infrastructure/http/errorHandler.d.ts +2 -0
- package/dist/infrastructure/http/errorHandler.d.ts.map +1 -0
- package/dist/infrastructure/http/errorHandler.js +3 -0
- package/dist/infrastructure/http/errorHandler.js.map +1 -0
- package/dist/infrastructure/http/params.d.ts +2 -0
- package/dist/infrastructure/http/params.d.ts.map +1 -0
- package/dist/infrastructure/http/params.js +3 -0
- package/dist/infrastructure/http/params.js.map +1 -0
- package/dist/infrastructure/http/types.d.ts +12 -0
- package/dist/infrastructure/http/types.d.ts.map +1 -0
- package/dist/infrastructure/http/types.js +2 -0
- package/dist/infrastructure/http/types.js.map +1 -0
- package/dist/infrastructure/http/validation.d.ts +2 -0
- package/dist/infrastructure/http/validation.d.ts.map +1 -0
- package/dist/infrastructure/http/validation.js +3 -0
- package/dist/infrastructure/http/validation.js.map +1 -0
- package/dist/infrastructure/observability/logger.d.ts +3 -0
- package/dist/infrastructure/observability/logger.d.ts.map +1 -0
- package/dist/infrastructure/observability/logger.js +4 -0
- package/dist/infrastructure/observability/logger.js.map +1 -0
- package/dist/infrastructure/repositories/D1AccountInvitationRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1AccountInvitationRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1AccountInvitationRepository.js +63 -0
- package/dist/infrastructure/repositories/D1AccountInvitationRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1AccountRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1AccountRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1AccountRepository.js +52 -0
- package/dist/infrastructure/repositories/D1AccountRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1AgentRunRepository.d.ts +18 -0
- package/dist/infrastructure/repositories/D1AgentRunRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1AgentRunRepository.js +34 -0
- package/dist/infrastructure/repositories/D1AgentRunRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1BlockRepository.d.ts +23 -0
- package/dist/infrastructure/repositories/D1BlockRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1BlockRepository.js +101 -0
- package/dist/infrastructure/repositories/D1BlockRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1BootstrapJobRepository.d.ts +16 -0
- package/dist/infrastructure/repositories/D1BootstrapJobRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1BootstrapJobRepository.js +209 -0
- package/dist/infrastructure/repositories/D1BootstrapJobRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1BranchProjectionRepository.d.ts +12 -0
- package/dist/infrastructure/repositories/D1BranchProjectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1BranchProjectionRepository.js +29 -0
- package/dist/infrastructure/repositories/D1BranchProjectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1CheckRunProjectionRepository.d.ts +12 -0
- package/dist/infrastructure/repositories/D1CheckRunProjectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1CheckRunProjectionRepository.js +29 -0
- package/dist/infrastructure/repositories/D1CheckRunProjectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ClarityReviewRepository.d.ts +19 -0
- package/dist/infrastructure/repositories/D1ClarityReviewRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ClarityReviewRepository.js +75 -0
- package/dist/infrastructure/repositories/D1ClarityReviewRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1CommitProjectionRepository.d.ts +13 -0
- package/dist/infrastructure/repositories/D1CommitProjectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1CommitProjectionRepository.js +48 -0
- package/dist/infrastructure/repositories/D1CommitProjectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ConsensusSessionRepository.d.ts +19 -0
- package/dist/infrastructure/repositories/D1ConsensusSessionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ConsensusSessionRepository.js +88 -0
- package/dist/infrastructure/repositories/D1ConsensusSessionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1DatadogConnectionRepository.d.ts +17 -0
- package/dist/infrastructure/repositories/D1DatadogConnectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1DatadogConnectionRepository.js +47 -0
- package/dist/infrastructure/repositories/D1DatadogConnectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1DocumentConnectionRepository.d.ts +27 -0
- package/dist/infrastructure/repositories/D1DocumentConnectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1DocumentConnectionRepository.js +89 -0
- package/dist/infrastructure/repositories/D1DocumentConnectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1DocumentRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1DocumentRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1DocumentRepository.js +66 -0
- package/dist/infrastructure/repositories/D1DocumentRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1EmailConnectionRepository.d.ts +13 -0
- package/dist/infrastructure/repositories/D1EmailConnectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1EmailConnectionRepository.js +46 -0
- package/dist/infrastructure/repositories/D1EmailConnectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1EnvironmentConnectionRepository.d.ts +13 -0
- package/dist/infrastructure/repositories/D1EnvironmentConnectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1EnvironmentConnectionRepository.js +48 -0
- package/dist/infrastructure/repositories/D1EnvironmentConnectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.d.ts +17 -0
- package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.js +95 -0
- package/dist/infrastructure/repositories/D1EnvironmentRegistryRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ExecutionRepository.d.ts +28 -0
- package/dist/infrastructure/repositories/D1ExecutionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ExecutionRepository.js +113 -0
- package/dist/infrastructure/repositories/D1ExecutionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1FragmentSourceRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1FragmentSourceRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1FragmentSourceRepository.js +66 -0
- package/dist/infrastructure/repositories/D1FragmentSourceRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1GitHubInstallationRepository.d.ts +17 -0
- package/dist/infrastructure/repositories/D1GitHubInstallationRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1GitHubInstallationRepository.js +79 -0
- package/dist/infrastructure/repositories/D1GitHubInstallationRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1IssueProjectionRepository.d.ts +13 -0
- package/dist/infrastructure/repositories/D1IssueProjectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1IssueProjectionRepository.js +36 -0
- package/dist/infrastructure/repositories/D1IssueProjectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1LiveContainerRepository.d.ts +17 -0
- package/dist/infrastructure/repositories/D1LiveContainerRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1LiveContainerRepository.js +40 -0
- package/dist/infrastructure/repositories/D1LiveContainerRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1LlmCallMetricRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js +123 -0
- package/dist/infrastructure/repositories/D1LlmCallMetricRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1LocalModelEndpointRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1LocalModelEndpointRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1LocalModelEndpointRepository.js +63 -0
- package/dist/infrastructure/repositories/D1LocalModelEndpointRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1MembershipRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1MembershipRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1MembershipRepository.js +58 -0
- package/dist/infrastructure/repositories/D1MembershipRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1MergePresetRepository.d.ts +21 -0
- package/dist/infrastructure/repositories/D1MergePresetRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1MergePresetRepository.js +88 -0
- package/dist/infrastructure/repositories/D1MergePresetRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ModelDefaultsRepository.d.ts +18 -0
- package/dist/infrastructure/repositories/D1ModelDefaultsRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ModelDefaultsRepository.js +47 -0
- package/dist/infrastructure/repositories/D1ModelDefaultsRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1NotificationRepository.d.ts +20 -0
- package/dist/infrastructure/repositories/D1NotificationRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1NotificationRepository.js +81 -0
- package/dist/infrastructure/repositories/D1NotificationRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1PersonalSubscriptionRepository.d.ts +28 -0
- package/dist/infrastructure/repositories/D1PersonalSubscriptionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1PersonalSubscriptionRepository.js +142 -0
- package/dist/infrastructure/repositories/D1PersonalSubscriptionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1PipelineRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1PipelineRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1PipelineRepository.js +46 -0
- package/dist/infrastructure/repositories/D1PipelineRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1PipelineScheduleRepository.d.ts +26 -0
- package/dist/infrastructure/repositories/D1PipelineScheduleRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1PipelineScheduleRepository.js +192 -0
- package/dist/infrastructure/repositories/D1PipelineScheduleRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1PromptFragmentRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1PromptFragmentRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1PromptFragmentRepository.js +90 -0
- package/dist/infrastructure/repositories/D1PromptFragmentRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ProviderApiKeyRepository.d.ts +21 -0
- package/dist/infrastructure/repositories/D1ProviderApiKeyRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ProviderApiKeyRepository.js +108 -0
- package/dist/infrastructure/repositories/D1ProviderApiKeyRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ProviderSubscriptionTokenRepository.d.ts +19 -0
- package/dist/infrastructure/repositories/D1ProviderSubscriptionTokenRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ProviderSubscriptionTokenRepository.js +78 -0
- package/dist/infrastructure/repositories/D1ProviderSubscriptionTokenRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1PullRequestProjectionRepository.d.ts +13 -0
- package/dist/infrastructure/repositories/D1PullRequestProjectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1PullRequestProjectionRepository.js +32 -0
- package/dist/infrastructure/repositories/D1PullRequestProjectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1RateLimitRepository.d.ts +18 -0
- package/dist/infrastructure/repositories/D1RateLimitRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1RateLimitRepository.js +30 -0
- package/dist/infrastructure/repositories/D1RateLimitRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ReferenceArchitectureRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1ReferenceArchitectureRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ReferenceArchitectureRepository.js +77 -0
- package/dist/infrastructure/repositories/D1ReferenceArchitectureRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ReleaseHealthConfigRepository.d.ts +17 -0
- package/dist/infrastructure/repositories/D1ReleaseHealthConfigRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ReleaseHealthConfigRepository.js +64 -0
- package/dist/infrastructure/repositories/D1ReleaseHealthConfigRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1RepoBlueprintRepository.d.ts +20 -0
- package/dist/infrastructure/repositories/D1RepoBlueprintRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1RepoBlueprintRepository.js +64 -0
- package/dist/infrastructure/repositories/D1RepoBlueprintRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1RepoProjectionRepository.d.ts +20 -0
- package/dist/infrastructure/repositories/D1RepoProjectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1RepoProjectionRepository.js +121 -0
- package/dist/infrastructure/repositories/D1RepoProjectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1RequirementReviewRepository.d.ts +20 -0
- package/dist/infrastructure/repositories/D1RequirementReviewRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1RequirementReviewRepository.js +76 -0
- package/dist/infrastructure/repositories/D1RequirementReviewRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1RunnerPoolConnectionRepository.d.ts +13 -0
- package/dist/infrastructure/repositories/D1RunnerPoolConnectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1RunnerPoolConnectionRepository.js +48 -0
- package/dist/infrastructure/repositories/D1RunnerPoolConnectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ServiceFragmentDefaultsRepository.d.ts +16 -0
- package/dist/infrastructure/repositories/D1ServiceFragmentDefaultsRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ServiceFragmentDefaultsRepository.js +27 -0
- package/dist/infrastructure/repositories/D1ServiceFragmentDefaultsRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1ServiceRepository.d.ts +19 -0
- package/dist/infrastructure/repositories/D1ServiceRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1ServiceRepository.js +114 -0
- package/dist/infrastructure/repositories/D1ServiceRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1SlackRepositories.d.ts +29 -0
- package/dist/infrastructure/repositories/D1SlackRepositories.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1SlackRepositories.js +119 -0
- package/dist/infrastructure/repositories/D1SlackRepositories.js.map +1 -0
- package/dist/infrastructure/repositories/D1TaskConnectionRepository.d.ts +27 -0
- package/dist/infrastructure/repositories/D1TaskConnectionRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1TaskConnectionRepository.js +89 -0
- package/dist/infrastructure/repositories/D1TaskConnectionRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1TaskRepository.d.ts +15 -0
- package/dist/infrastructure/repositories/D1TaskRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1TaskRepository.js +90 -0
- package/dist/infrastructure/repositories/D1TaskRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1TokenUsageRepository.d.ts +13 -0
- package/dist/infrastructure/repositories/D1TokenUsageRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1TokenUsageRepository.js +41 -0
- package/dist/infrastructure/repositories/D1TokenUsageRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1TrackerSettingsRepository.d.ts +12 -0
- package/dist/infrastructure/repositories/D1TrackerSettingsRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1TrackerSettingsRepository.js +32 -0
- package/dist/infrastructure/repositories/D1TrackerSettingsRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1UserRepository.d.ts +19 -0
- package/dist/infrastructure/repositories/D1UserRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1UserRepository.js +108 -0
- package/dist/infrastructure/repositories/D1UserRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1WorkspaceMountRepository.d.ts +19 -0
- package/dist/infrastructure/repositories/D1WorkspaceMountRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1WorkspaceMountRepository.js +115 -0
- package/dist/infrastructure/repositories/D1WorkspaceMountRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1WorkspaceRepository.d.ts +18 -0
- package/dist/infrastructure/repositories/D1WorkspaceRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1WorkspaceRepository.js +77 -0
- package/dist/infrastructure/repositories/D1WorkspaceRepository.js.map +1 -0
- package/dist/infrastructure/repositories/D1WorkspaceSettingsRepository.d.ts +17 -0
- package/dist/infrastructure/repositories/D1WorkspaceSettingsRepository.d.ts.map +1 -0
- package/dist/infrastructure/repositories/D1WorkspaceSettingsRepository.js +50 -0
- package/dist/infrastructure/repositories/D1WorkspaceSettingsRepository.js.map +1 -0
- package/dist/infrastructure/repositories/chunk.d.ts +11 -0
- package/dist/infrastructure/repositories/chunk.d.ts.map +1 -0
- package/dist/infrastructure/repositories/chunk.js +17 -0
- package/dist/infrastructure/repositories/chunk.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/branch.d.ts +11 -0
- package/dist/infrastructure/repositories/github-mappers/branch.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/branch.js +22 -0
- package/dist/infrastructure/repositories/github-mappers/branch.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/check-run.d.ts +13 -0
- package/dist/infrastructure/repositories/github-mappers/check-run.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/check-run.js +24 -0
- package/dist/infrastructure/repositories/github-mappers/check-run.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/commit.d.ts +12 -0
- package/dist/infrastructure/repositories/github-mappers/commit.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/commit.js +22 -0
- package/dist/infrastructure/repositories/github-mappers/commit.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/index.d.ts +11 -0
- package/dist/infrastructure/repositories/github-mappers/index.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/index.js +14 -0
- package/dist/infrastructure/repositories/github-mappers/index.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/installation.d.ts +16 -0
- package/dist/infrastructure/repositories/github-mappers/installation.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/installation.js +29 -0
- package/dist/infrastructure/repositories/github-mappers/installation.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/issue.d.ts +15 -0
- package/dist/infrastructure/repositories/github-mappers/issue.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/issue.js +29 -0
- package/dist/infrastructure/repositories/github-mappers/issue.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/pull-request.d.ts +18 -0
- package/dist/infrastructure/repositories/github-mappers/pull-request.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/pull-request.js +36 -0
- package/dist/infrastructure/repositories/github-mappers/pull-request.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/repo.d.ts +15 -0
- package/dist/infrastructure/repositories/github-mappers/repo.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/repo.js +31 -0
- package/dist/infrastructure/repositories/github-mappers/repo.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/serialize.d.ts +3 -0
- package/dist/infrastructure/repositories/github-mappers/serialize.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/serialize.js +4 -0
- package/dist/infrastructure/repositories/github-mappers/serialize.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/sync-cursor.d.ts +8 -0
- package/dist/infrastructure/repositories/github-mappers/sync-cursor.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/sync-cursor.js +4 -0
- package/dist/infrastructure/repositories/github-mappers/sync-cursor.js.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/upsert.d.ts +11 -0
- package/dist/infrastructure/repositories/github-mappers/upsert.d.ts.map +1 -0
- package/dist/infrastructure/repositories/github-mappers/upsert.js +18 -0
- package/dist/infrastructure/repositories/github-mappers/upsert.js.map +1 -0
- package/dist/infrastructure/repositories/mappers.d.ts +2 -0
- package/dist/infrastructure/repositories/mappers.d.ts.map +1 -0
- package/dist/infrastructure/repositories/mappers.js +4 -0
- package/dist/infrastructure/repositories/mappers.js.map +1 -0
- package/dist/infrastructure/runners/HttpRunnerPoolProvider.d.ts +2 -0
- package/dist/infrastructure/runners/HttpRunnerPoolProvider.d.ts.map +1 -0
- package/dist/infrastructure/runners/HttpRunnerPoolProvider.js +5 -0
- package/dist/infrastructure/runners/HttpRunnerPoolProvider.js.map +1 -0
- package/dist/infrastructure/runners/RunnerPoolTransport.d.ts +2 -0
- package/dist/infrastructure/runners/RunnerPoolTransport.d.ts.map +1 -0
- package/dist/infrastructure/runners/RunnerPoolTransport.js +5 -0
- package/dist/infrastructure/runners/RunnerPoolTransport.js.map +1 -0
- package/dist/infrastructure/runtime.d.ts +8 -0
- package/dist/infrastructure/runtime.d.ts.map +1 -0
- package/dist/infrastructure/runtime.js +13 -0
- package/dist/infrastructure/runtime.js.map +1 -0
- package/dist/infrastructure/tasks/GitHubIssuesProvider.d.ts +50 -0
- package/dist/infrastructure/tasks/GitHubIssuesProvider.d.ts.map +1 -0
- package/dist/infrastructure/tasks/GitHubIssuesProvider.js +91 -0
- package/dist/infrastructure/tasks/GitHubIssuesProvider.js.map +1 -0
- package/dist/infrastructure/tasks/JiraProvider.d.ts +29 -0
- package/dist/infrastructure/tasks/JiraProvider.d.ts.map +1 -0
- package/dist/infrastructure/tasks/JiraProvider.js +109 -0
- package/dist/infrastructure/tasks/JiraProvider.js.map +1 -0
- package/dist/infrastructure/workflows/BootstrapWorkflow.d.ts +21 -0
- package/dist/infrastructure/workflows/BootstrapWorkflow.d.ts.map +1 -0
- package/dist/infrastructure/workflows/BootstrapWorkflow.js +72 -0
- package/dist/infrastructure/workflows/BootstrapWorkflow.js.map +1 -0
- package/dist/infrastructure/workflows/ExecutionWorkflow.d.ts +15 -0
- package/dist/infrastructure/workflows/ExecutionWorkflow.d.ts.map +1 -0
- package/dist/infrastructure/workflows/ExecutionWorkflow.js +169 -0
- package/dist/infrastructure/workflows/ExecutionWorkflow.js.map +1 -0
- package/dist/infrastructure/workflows/GitHubBackfillWorkflow.d.ts +17 -0
- package/dist/infrastructure/workflows/GitHubBackfillWorkflow.d.ts.map +1 -0
- package/dist/infrastructure/workflows/GitHubBackfillWorkflow.js +24 -0
- package/dist/infrastructure/workflows/GitHubBackfillWorkflow.js.map +1 -0
- package/dist/infrastructure/workflows/WorkflowsBootstrapRunner.d.ts +15 -0
- package/dist/infrastructure/workflows/WorkflowsBootstrapRunner.d.ts.map +1 -0
- package/dist/infrastructure/workflows/WorkflowsBootstrapRunner.js +34 -0
- package/dist/infrastructure/workflows/WorkflowsBootstrapRunner.js.map +1 -0
- package/dist/infrastructure/workflows/WorkflowsWorkRunner.d.ts +31 -0
- package/dist/infrastructure/workflows/WorkflowsWorkRunner.d.ts.map +1 -0
- package/dist/infrastructure/workflows/WorkflowsWorkRunner.js +55 -0
- package/dist/infrastructure/workflows/WorkflowsWorkRunner.js.map +1 -0
- package/dist/infrastructure/workflows/retention.d.ts +35 -0
- package/dist/infrastructure/workflows/retention.d.ts.map +1 -0
- package/dist/infrastructure/workflows/retention.js +26 -0
- package/dist/infrastructure/workflows/retention.js.map +1 -0
- package/dist/infrastructure/workflows/sweeper.d.ts +57 -0
- package/dist/infrastructure/workflows/sweeper.d.ts.map +1 -0
- package/dist/infrastructure/workflows/sweeper.js +62 -0
- package/dist/infrastructure/workflows/sweeper.js.map +1 -0
- package/migrations/0001_init.sql +677 -0
- package/migrations/0002_clarity_reviews.sql +19 -0
- package/migrations/0002_consensus.sql +38 -0
- package/migrations/0002_llm_reasoning_text.sql +6 -0
- package/migrations/0002_local_model_endpoints.sql +16 -0
- package/migrations/0003_pipeline_labels_archive.sql +13 -0
- package/migrations/0003_release_health.sql +34 -0
- package/migrations/0004_run_timing_task_types.sql +24 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/infrastructure/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,4BAA4B,EAC5B,mCAAmC,EAQnC,cAAc,GAGf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAyB,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EACL,sBAAsB,IAAI,4BAA4B,EACtD,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,MAAM,EACN,iCAAiC,EACjC,sBAAsB,EACtB,4BAA4B,GAE7B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAkB,UAAU,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EACL,sBAAsB,GAGvB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAA;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAA;AAClG,OAAO,EAAE,qCAAqC,EAAE,MAAM,sDAAsD,CAAA;AAC5G,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EACL,gCAAgC,EAChC,kCAAkC,GACnC,MAAM,iDAAiD,CAAA;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAA;AACxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC1F,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAA;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAA;AAChG,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC1F,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAA;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAC1F,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAA;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,mCAAmC,EAAE,MAAM,oDAAoD,CAAA;AACxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAa1D;;;;;;;GAOG;AACH,gFAAgF;AAChF,sFAAsF;AACtF,kFAAkF;AAClF,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAA8B,CAAA;AAEpE,SAAS,0BAA0B,CAAC,GAAQ,EAAE,EAAc;IAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IACzB,mFAAmF;IACnF,iFAAiF;IACjF,+DAA+D;IAC/D,MAAM,eAAe,GAAG;QACtB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,sBAAsB,CAAC,GAAG,CAAC;KAC/B,CAAA;IACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACxC,MAAM,UAAU,GACd,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;QAC1D,CAAC,CAAC;YACE,SAAS,EAAE,kBAAkB,CAAC;gBAC5B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM;aACP,CAAC;YACF,aAAa,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,aAAa;SAC1D;QACH,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC9F,MAAM,QAAQ,GAAG,iCAAiC,CAAC;QACjD,OAAO,EAAE,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC/D,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS;QAChE,eAAe;QACf,iBAAiB,EAAE,mBAAmB;YACpC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC;YACtD,CAAC,CAAC,SAAS;QACb,UAAU;KACX,CAAC,CAAA;IACF,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACrC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,iCAAiC,CACxC,EAAc;IAEd,MAAM,IAAI,GAAG,IAAI,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAChC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC,CAAA;AACvE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,mBAAmB,CAC1B,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY,EACZ,gBAA+C,EAC/C,aAA2C,EAC3C,qBAAmD;IAEnD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,qBAAqB,EAAE,0BAA0B,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1D,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;QACnC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;QAClD,8EAA8E;QAC9E,6EAA6E;QAC7E,mBAAmB;QACnB,4BAA4B,EAAE,iCAAiC,CAAC,EAAE,CAAC;QACnE,gFAAgF;QAChF,4DAA4D;QAC5D,SAAS,EAAE,6BAA6B,CAAC,GAAG,CAAC;KAC9C,CAAC,CAAA;IAEF,gFAAgF;IAChF,wEAAwE;IACxE,+EAA+E;IAC/E,2EAA2E;IAC3E,sDAAsD;IACtD,MAAM,SAAS,GAAG,sBAAsB,CACtC,GAAG,EACH,MAAM,EACN,EAAE,EACF,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,qBAAqB,CACtB,CAAA;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gFAAgF;YAC9E,iFAAiF;YACjF,6EAA6E;YAC7E,gFAAgF;YAChF,+DAA+D,CAClE,CAAA;IACH,CAAC;IAED,+EAA+E;IAC/E,aAAa;IACb,OAAO,IAAI,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACtD,CAAC;AAED,0CAA0C;AAC1C,SAAS,QAAQ,CAAC,KAAyB;IACzC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,CAAA;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,QAAuB,EACvB,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,cAAmD;IAEnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAAE,OAAO,QAAQ,CAAA;IACrD,uBAAuB,EAAE,CAAA;IACzB,OAAO,IAAI,sBAAsB,CAAC;QAChC,QAAQ;QACR,qBAAqB,EAAE,0BAA0B,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1D,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;QACnC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;QAClD,4BAA4B,EAAE,iCAAiC,CAAC,EAAE,CAAC;QACnE,iBAAiB,EAAE,IAAI,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC;QAC3D,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY;IAEZ,+EAA+E;IAC/E,mFAAmF;IACnF,iFAAiF;IACjF,8EAA8E;IAC9E,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc;QACnC,CAAC,CAAC,IAAI,4BAA4B,CAC9B,GAAG,CAAC,cAAc,EAClB,IAAI,yBAAyB,CAC3B,GAAG,CAAC,cAAc,EAClB,IAAI,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC,EACrC,KAAK,CACN,CACF;QACH,CAAC,CAAC,IAAI,CAAA;IAER,iFAAiF;IACjF,kFAAkF;IAClF,IAAI,aAAsD,CAAA;IAC1D,IAAI,YAAgD,CAAA;IACpD,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,aAAa,GAAG,IAAI,2BAA2B,CAAC;YAC9C,8BAA8B,EAAE,IAAI,gCAAgC,CAAC,EAAE,EAAE,EAAE,CAAC;YAC5E,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;YACtD,YAAY,EAAE,IAAI,qBAAqB,CAAC;gBACtC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,aAAc;gBAC9C,IAAI,EAAE,qBAAqB;aAC5B,CAAC;YACF,KAAK;SACN,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxD,YAAY,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,EAAE;QAC3B,IAAI,aAAa,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YACzD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,IAAI,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;YACzF,CAAC;QACH,CAAC;QACD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,IAAI,KAAK,CACb,8CAA8C,WAAW,IAAI,WAAW,KAAK;YAC3E,wDAAwD,CAC3D,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY;IAEZ,MAAM,sBAAsB,GAAG,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,aAAqB,EAAE,EAAE,CACxD,IAAI,aAAa,CAAC;QAChB,KAAK;QACL,aAAa;QACb,sBAAsB;QACtB,KAAK;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;KAC/B,CAAC,CAAA;IACJ,MAAM,UAAU,GACd,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,iCAAiC;QAClE,CAAC,CAAC;YACE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK;YACxC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,iCAAiC,CAAC;SACzF;QACH,CAAC,CAAC,SAAS,CAAA;IACf,OAAO,IAAI,iBAAiB,CAAC;QAC3B,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;YAC1B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,sBAAuB,CAAC;SACjE;QACD,UAAU;QACV,sBAAsB;KACvB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,EAAc;IAC5C,OAAO,4BAA4B,CAAC;QAClC,sBAAsB,EAAE,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;QAClE,wBAAwB,EAAE,IAAI,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC;QAChE,eAAe,EAAE,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9C,iBAAiB,EAAE,IAAI,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC;KACnD,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAC/B,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY,EACZ,WAAwB;IAExB,MAAM,IAAI,GAA8B;QACtC,sBAAsB,EAAE,IAAI,wBAAwB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5D,qBAAqB,EAAE,IAAI,uBAAuB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC1D,2BAA2B,EAAE,IAAI,6BAA6B,CAAC,EAAE,EAAE,EAAE,CAAC;QACtE,uBAAuB,EAAE,IAAI,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9D,iCAAiC,EAAE,IAAI,mCAAmC,CAAC,EAAE,EAAE,EAAE,CAAC;KACnF,CAAA;IACD,kFAAkF;IAClF,qFAAqF;IACrF,oFAAoF;IACpF,oFAAoF;IACpF,MAAM,QAAQ,GAA0B,EAAE,CAAA;IAC1C,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC/C,IAAI,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAA;IACrE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAClD,IAAI,YAAY;QAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;SAC5D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,4BAA4B,CAAC,QAAQ,CAAC,CAAA;IAEvE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;QACzD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;YACzC,QAAQ;YACR,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;YACnE,WAAW;YACX,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;SAC/B,CAAC,CAAA;QACF,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAA;QACpD,MAAM,eAAe,GAAG,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,sBAAsB,CAAC;YACjD,YAAY;YACZ,iBAAiB;YACjB,eAAe;SAChB,CAAC,CAAA;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,0BAA0B,CAAC;YACzD,YAAY;YACZ,iBAAiB;YACjB,eAAe;SAChB,CAAC,CAAA;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,CAAC;YACnD,YAAY;YACZ,iBAAiB;YACjB,eAAe;SAChB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,GAAQ,EACR,MAAiB,EACjB,EAAc;IAEd,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa;QAAE,OAAO,EAAE,CAAA;IACvE,MAAM,2BAA2B,GAAG,IAAI,6BAA6B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7E,MAAM,6BAA6B,GAAG,IAAI,+BAA+B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACjF,MAAM,mBAAmB,GAAG,IAAI,qBAAqB,CAAC;QACpD,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;QAC7C,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAA;IACF,MAAM,IAAI,GAA8B;QACtC,2BAA2B;QAC3B,6BAA6B;QAC7B,mBAAmB;QACnB,qBAAqB,EAAE,IAAI,4BAA4B,CAAC;YACtD,2BAA2B;YAC3B,6BAA6B;YAC7B,eAAe,EAAE,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC;YAC9C,YAAY,EAAE,mBAAmB;SAClC,CAAC;KACH,CAAA;IACD,MAAM,SAAS,GAAiC,EAAE,CAAA;IAClD,IAAI,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;IACtF,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;QACzC,SAAS,CAAC,IAAI,CAAC,IAAI,4BAA4B,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,mCAAmC,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAiB,EAAE,EAAc;IACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IACrE,OAAO;QACL,oBAAoB,EAAE,IAAI,2BAA2B,CAAC,EAAE,EAAE,EAAE,CAAC;QAC7D,kBAAkB,EAAE,IAAI,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC;QACzD,uBAAuB,EAAE,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;QACnE,MAAM,EAAE,IAAI,qBAAqB,CAAC;YAChC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;YAC3C,IAAI,EAAE,iBAAiB;SACxB,CAAC;KACH,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,MAAiB,EAAE,EAAc;IAC1D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO,IAAI,wBAAwB,CAAC;QAClC,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;QACtD,yBAAyB,EAAE,KAAK,CAAC,oBAAoB;QACrD,uBAAuB,EAAE,KAAK,CAAC,kBAAkB;QACjD,4BAA4B,EAAE,KAAK,CAAC,uBAAuB;QAC3D,eAAe,EAAE,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9C,YAAY,EAAE,KAAK,CAAC,MAAM;QAC1B,+EAA+E;QAC/E,0EAA0E;QAC1E,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,EACvE,oCAAoC,CACrC;KACJ,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,MAAiB,EAAE,EAAc;IACxD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,OAAO;QACL,yBAAyB,EAAE,KAAK,CAAC,oBAAoB;QACrD,uBAAuB,EAAE,KAAK,CAAC,kBAAkB;QACjD,4BAA4B,EAAE,KAAK,CAAC,uBAAuB;QAC3D,iBAAiB,EAAE,KAAK,CAAC,MAAM;QAC/B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,MAAiB,EAAE,EAAc;IAClE,MAAM,IAAI,GAA8B;QACtC,oBAAoB,EAAE,IAAI,6BAA6B,CAAC,EAAE,EAAE,EAAE,CAAC;QAC/D,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS;KACjD,CAAA;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACvD,IAAI,CAAC,yBAAyB,GAAG,IAAI,2BAA2B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,iBAAiB,GAAG,IAAI,qBAAqB,CAAC;YACjD,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;YAC3C,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,MAAiB;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzF,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,kBAAkB,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;QACpC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;QACpC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;QAChC,MAAM;KACP,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAiB;IAC3C,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACtC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAC1B,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY,EACZ,WAAwB;IAExB,MAAM,WAAW,GAA0D;QACzE,yBAAyB,EAAE,IAAI,2BAA2B,CAAC,EAAE,EAAE,EAAE,CAAC;QAClE,gEAAgE;QAChE,SAAS,EAAE,KAAK;KACjB,CAAA;IACD,iFAAiF;IACjF,4FAA4F;IAC5F,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;QACzD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;YACzC,QAAQ;YACR,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;YACnE,WAAW;YACX,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;SAC/B,CAAC,CAAA;QACF,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAA;QACpD,WAAW,CAAC,eAAe,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1E,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YACtB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,CAC1C,IAAI,CAAC,cAAc,EACnB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACtC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAC7C,CAAA;YACD,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;QACrF,CAAC,CAAA;IACH,CAAC;IACD,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/B,MAAM,wBAAwB,GAAG,IAAI,0BAA0B,CAAC;YAC9D,EAAE;YACF,MAAM,EAAE,IAAI,qBAAqB,CAAC;gBAChC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;gBAC3C,IAAI,EAAE,mBAAmB;aAC1B,CAAC;SACH,CAAC,CAAA;QACF,WAAW,CAAC,qBAAqB,GAAG,KAAK,EAAE,WAAW,EAAE,EAAE;YACxD,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YACrF,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,WAAW,IAAI,EAAE,CAAA;YACzE,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAA;YACvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAA;QAC5C,CAAC,CAAA;IACH,CAAC;IACD,OAAO;QACL,0BAA0B,EAAE,IAAI,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC;QACpE,yBAAyB,EAAE,IAAI,2BAA2B,CAAC,EAAE,EAAE,EAAE,CAAC;QAClE,qBAAqB,EAAE,IAAI,oBAAoB,CAAC,WAAW,CAAC;KAC7D,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAC/B,GAAQ,EACR,EAAc,EACd,KAAY;IAEZ,MAAM,eAAe,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAA;IAClD,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAA;IACtC,OAAO,IAAI,2BAA2B,CAAC;QACrC,mCAAmC,EAAE,IAAI,qCAAqC,CAAC,EAAE,EAAE,EAAE,CAAC;QACtF,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;QACtD,YAAY,EAAE,IAAI,qBAAqB,CAAC;YACtC,eAAe;YACf,IAAI,EAAE,oCAAoC;SAC3C,CAAC;QACF,WAAW,EAAE,IAAI,iBAAiB,EAAE;QACpC,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,GAAQ,EAAE,EAAc,EAAE,KAAY;IAChE,MAAM,eAAe,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAA;IAClD,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAA;IACtC,OAAO,IAAI,aAAa,CAAC;QACvB,wBAAwB,EAAE,IAAI,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC;QAChE,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;QACtD,YAAY,EAAE,IAAI,qBAAqB,CAAC;YACtC,eAAe;YACf,IAAI,EAAE,+BAA+B;SACtC,CAAC;QACF,WAAW,EAAE,IAAI,iBAAiB,EAAE;QACpC,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gCAAgC,CACvC,GAAQ,EACR,EAAc,EACd,KAAY;IAEZ,MAAM,eAAe,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAA;IAClD,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAA;IACtC,OAAO,IAAI,2BAA2B,CAAC;QACrC,8BAA8B,EAAE,IAAI,gCAAgC,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5E,gCAAgC,EAAE,IAAI,kCAAkC,CAAC,EAAE,EAAE,EAAE,CAAC;QAChF,YAAY,EAAE,IAAI,qBAAqB,CAAC;YACtC,eAAe;YACf,IAAI,EAAE,oCAAoC;SAC3C,CAAC;QACF,cAAc,EAAE,IAAI,6BAA6B,EAAE;QACnD,WAAW,EAAE,IAAI,iBAAiB,EAAE;QACpC,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,8BAA8B,CACrC,GAAQ,EACR,EAAc,EACd,KAAY;IAEZ,MAAM,eAAe,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAA;IAClD,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAA;IACtC,OAAO,IAAI,yBAAyB,CAAC;QACnC,4BAA4B,EAAE,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;QACxE,YAAY,EAAE,IAAI,qBAAqB,CAAC;YACtC,eAAe;YACf,IAAI,EAAE,mCAAmC;SAC1C,CAAC;QACF,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY,EACZ,gBAA+C,EAC/C,aAA2C,EAC3C,qBAAmD;IAEnD,IACE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;QACtB,CAAC,GAAG,CAAC,sBAAsB;QAC3B,CAAC,GAAG,CAAC,iBAAiB;QACtB,CAAC,GAAG,CAAC,mBAAmB,EACxB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAA;IAElC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IACzD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAA;IAEpD,OAAO,IAAI,sBAAsB,CAAC;QAChC,gBAAgB;QAChB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;QACnC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;QAClD,iFAAiF;QACjF,2EAA2E;QAC3E,4BAA4B,EAAE,iCAAiC,CAAC,EAAE,CAAC;QACnE,iBAAiB;QACjB,qFAAqF;QACrF,gBAAgB,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;QAC3F,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7D,gFAAgF;QAChF,sFAAsF;QACtF,uEAAuE;QACvE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAChD,uBAAuB,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,KAAK,EAAE,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC;YAC5D,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACJ,cAAc,EAAE,IAAI,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAChF,4EAA4E;QAC5E,8EAA8E;QAC9E,sEAAsE;QACtE,GAAG,CAAC,aAAa;YACf,CAAC,CAAC;gBACE,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAC9C,aAAa,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC;gBAC/C,uBAAuB,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CACvD,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC;gBAC7D,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAC5C,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;aAC9C;YACH,CAAC,CAAC,EAAE,CAAC;QACP,8EAA8E;QAC9E,qEAAqE;QACrE,GAAG,CAAC,qBAAqB;YACvB,CAAC,CAAC;gBACE,8BAA8B,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAC9D,qBAAqB,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;gBAChE,+EAA+E;gBAC/E,0EAA0E;gBAC1E,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;aACvF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,YAAY,EAAE,GAAG,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK;QAC/D,kFAAkF;QAClF,0EAA0E;QAC1E,qBAAqB,EAAE,OAAO,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;QACnE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;QACpC,kFAAkF;QAClF,uEAAuE;QACvE,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;KACxC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,GAAQ;IAChC,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,OAAO,IAAI,mBAAmB,CAAC;YAC7B,QAAQ,EAAE,GAAG,CAAC,kBAAkB;YAChC,KAAK,EAAE,GAAG,CAAC,eAAe;SAC3B,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,IAAI,cAAc,EAAE,CAAA;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,GAAQ,EAAE,EAAc;IACpD,IAAI,CAAC,GAAG,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAA;IAC3C,yFAAyF;IACzF,uDAAuD;IACvD,OAAO,IAAI,oBAAoB,CAAC,IAAI,2BAA2B,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;QACrF,wBAAwB,EAAE,IAAI,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC;KACjE,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY,EACZ,WAAwB;IAExB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAErC,MAAM,4BAA4B,GAAG,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC/E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;QACzC,QAAQ;QACR,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;QACnE,WAAW;QACX,KAAK;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;KAC/B,CAAC,CAAA;IACF,wEAAwE;IACxE,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa;QACxD,CAAC,CAAC,IAAI,6BAA6B,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjF,CAAC,CAAC,SAAS,CAAA;IACb,OAAO;QACL,YAAY;QACZ,4BAA4B;QAC5B,wBAAwB,EAAE,IAAI,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC;QAChE,0BAA0B,EAAE,IAAI,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC;QACpE,+BAA+B,EAAE,IAAI,iCAAiC,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9E,yBAAyB,EAAE,IAAI,2BAA2B,CAAC,EAAE,EAAE,EAAE,CAAC;QAClE,0BAA0B,EAAE,IAAI,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC;QACpE,4BAA4B,EAAE,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;QACxE,eAAe,EAAE,IAAI,wBAAwB,CAAC,GAAG,CAAC,qBAAsB,CAAC;QACzE,yEAAyE;QACzE,uBAAuB,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS;QAC/D,sBAAsB;QACtB,cAAc,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QACvE,8EAA8E;QAC9E,8EAA8E;QAC9E,sEAAsE;QACtE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;YACjF,OAAO,KAAK,CAAC,SAAS,KAAK,OAAO,CAAA;QACpC,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAC1B,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY,EACZ,WAAwB;IAExB,MAAM,SAAS,GAA6B,EAAE,CAAA;IAC9C,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAA;IAC7F,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC,CAAA;IACrF,gFAAgF;IAChF,2EAA2E;IAC3E,6EAA6E;IAC7E,8BAA8B;IAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;QACzD,SAAS,CAAC,IAAI,CACZ,IAAI,kBAAkB,CAAC;YACrB,YAAY,EAAE,IAAI,iBAAiB,CAAC;gBAClC,QAAQ;gBACR,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;gBACnE,WAAW;gBACX,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;aAC/B,CAAC;YACF,aAAa,EAAE,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;SAC1D,CAAC,CACH,CAAA;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACrC,OAAO;QACL,uBAAuB,EAAE,SAAS;QAClC,4BAA4B,EAAE,IAAI,8BAA8B,CAAC;YAC/D,EAAE;YACF,qEAAqE;YACrE,wEAAwE;YACxE,MAAM,EAAE,IAAI,qBAAqB,CAAC;gBAChC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,aAAc;gBAChD,IAAI,EAAE,uBAAuB;aAC9B,CAAC;SACH,CAAC;QACF,kBAAkB,EAAE,IAAI,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC;QACpD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,KAAK;YACpC,CAAC,CAAC;gBACE,qBAAqB,EAAE,0BAA0B,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC1D,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;aACxD;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY,EACZ,WAAwB;IAExB,MAAM,SAAS,GAAyB,EAAE,CAAA;IAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC,CAAA;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,kEAAkE;IAClE,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;QACzD,SAAS,CAAC,IAAI,CACZ,IAAI,oBAAoB,CAAC;YACvB,YAAY,EAAE,IAAI,iBAAiB,CAAC;gBAClC,QAAQ;gBACR,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;gBACnE,WAAW;gBACX,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;aAC/B,CAAC;YACF,aAAa,EAAE,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;SAC1D,CAAC,CACH,CAAA;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACrC,OAAO;QACL,mBAAmB,EAAE,SAAS;QAC9B,wBAAwB,EAAE,IAAI,0BAA0B,CAAC;YACvD,EAAE;YACF,qEAAqE;YACrE,oEAAoE;YACpE,MAAM,EAAE,IAAI,qBAAqB,CAAC;gBAChC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,aAAc;gBAC5C,IAAI,EAAE,mBAAmB;aAC1B,CAAC;SACH,CAAC;QACF,cAAc,EAAE,IAAI,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC;KAC7C,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAC7B,GAAQ,EACR,MAAiB,EACjB,EAAc;IAEd,OAAO;QACL,2BAA2B,EAAE,IAAI,6BAA6B,CAAC,EAAE,EAAE,EAAE,CAAC;QACtE,uBAAuB,EAAE,IAAI,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9D,qBAAqB,EAAE,0BAA0B,CAAC,GAAG,EAAE,EAAE,CAAC;QAC1D,yEAAyE;QACzE,6EAA6E;QAC7E,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;QACzD,6EAA6E;QAC7E,kDAAkD;QAClD,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB;KAC/D,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC7B,GAAQ,EACR,MAAiB,EACjB,EAAc;IAEd,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAC3C,qFAAqF;IACrF,mFAAmF;IACnF,mFAAmF;IACnF,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC7D,OAAO;QACL,mBAAmB,EAAE,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,+BAA+B,EAAE,IAAI,iCAAiC,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9E,6BAA6B,EAAE,IAAI,+BAA+B,CAAC,EAAE,EAAE,EAAE,CAAC;QAC1E,YAAY,EAAE,IAAI,qBAAqB,CAAC;YACtC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,aAAc;SACpD,CAAC;QACF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,GAAQ,EAAE,MAAiB,EAAE,EAAc;IACpE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxD,OAAO;QACL,8BAA8B,EAAE,IAAI,gCAAgC,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5E,kBAAkB,EAAE,IAAI,qBAAqB,CAAC;YAC5C,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,aAAc;YAC9C,IAAI,EAAE,qBAAqB;SAC5B,CAAC;QACF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC7B,GAAQ,EACR,MAAiB,EACjB,EAAc,EACd,KAAY,EACZ,WAAwB,EACxB,gBAA+C;IAE/C,IACE,CAAC,gBAAgB;QACjB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;QACtB,CAAC,GAAG,CAAC,sBAAsB;QAC3B,CAAC,GAAG,CAAC,iBAAiB;QACtB,CAAC,GAAG,CAAC,mBAAmB,EACxB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;QACzC,QAAQ;QACR,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;QACnE,WAAW;QACX,KAAK;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;KAC/B,CAAC,CAAA;IAEF,OAAO,IAAI,yBAAyB,CAAC;QACnC,gBAAgB;QAChB,sBAAsB;QACtB,sBAAsB,EAAE,IAAI,wBAAwB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5D,cAAc,EAAE,IAAI,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC;QACtD,YAAY;QACZ,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7D,cAAc,EAAE,IAAI,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAChF,0EAA0E;QAC1E,uDAAuD;QACvD,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG;QACjE,YAAY,EAAE,GAAG,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK;QAC/D,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;KACrC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAChC,GAAQ,EACR,MAAiB,EACjB,EAAc;IAEd,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAC9C,MAAM,sBAAsB,GAAG,IAAI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzE,MAAM,6BAA6B,GAAG,KAAK,EACzC,SAA4B,EAC5B,OAAe,EACS,EAAE;QAC1B,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,sBAAsB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,IAAI,IAAI,CAAA;QACvF,CAAC;QACD,0EAA0E;QAC1E,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,CAAA;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,cAAc,IAAI,IAAI,CAAA;IAC5E,CAAC,CAAA;IACD,OAAO;QACL,wBAAwB,EAAE,IAAI,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC;QAChE,wBAAwB,EAAE,IAAI,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC;QAChE,6BAA6B;QAC7B,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,KAAK,KAAK;YAC3C,CAAC,CAAC;gBACE,gBAAgB,EAAE,IAAI,mBAAmB,CAAC;oBACxC,qBAAqB,EAAE,0BAA0B,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC1D,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;iBAC5C,CAAC;aACH;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,GAAQ,EACR,SAAS,GAA8B,EAAE,EACzC,IAAI,GAA0C,EAAE;IAEhD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;IACjB,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAA;IAC/B,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAA;IAE3C,2EAA2E;IAC3E,mFAAmF;IACnF,kFAAkF;IAClF,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IAEtE,iFAAiF;IACjF,oEAAoE;IACpE,4DAA4D;IAC5D,MAAM,aAAa,GAAG,wBAAwB,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IAE9D,4EAA4E;IAC5E,gFAAgF;IAChF,MAAM,qBAAqB,GAAG,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IAE9E,4EAA4E;IAC5E,gFAAgF;IAChF,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IAElD,sFAAsF;IACtF,8EAA8E;IAC9E,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IAE1E,sFAAsF;IACtF,8EAA8E;IAC9E,gEAAgE;IAChE,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;IAExE,qFAAqF;IACrF,sEAAsE;IACtE,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAEpD,MAAM,YAAY,GAAqB;QACrC,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC;QACtD,iBAAiB,EAAE,IAAI,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC;QAClD,oBAAoB,EAAE,IAAI,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC;QACxD,cAAc,EAAE,IAAI,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5C,cAAc,EAAE,IAAI,uBAAuB,EAAE;QAC7C,eAAe,EAAE,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9C,kBAAkB,EAAE,IAAI,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC;QACpD,mBAAmB,EAAE,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC7D,8FAA8F;QAC9F,gCAAgC,EAAE,IAAI,kCAAkC,CAAC,EAAE,EAAE,EAAE,CAAC;QAChF,iBAAiB,EAAE,IAAI,mBAAmB,CAAC,EAAE,EAAE,EAAE,CAAC;QAClD,wBAAwB,EAAE,IAAI,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC;QAChE,oBAAoB,EAAE,IAAI,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC;QACxD,uBAAuB,EAAE,IAAI,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9D,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,aAAa;QACpD,WAAW;QACX,KAAK;QACL,+EAA+E;QAC/E,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,aAAa,EACX,SAAS,CAAC,aAAa;YACvB,kBAAkB,CAChB,mBAAmB,CACjB,GAAG,EACH,MAAM,EACN,EAAE,EACF,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,qBAAqB,CACtB,EACD,GAAG,EACH,MAAM,EACN,EAAE,EACF,cAAc,CACf;QACH,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC;QACjC,uBAAuB,EAAE,cAAc;QACvC,YAAY,EAAE,MAAM,CAAC,KAAK;QAC1B,gFAAgF;QAChF,+EAA+E;QAC/E,+BAA+B,EAAE,IAAI,iCAAiC,CAAC,EAAE,EAAE,EAAE,CAAC;QAC9E,sBAAsB,EAAE,IAAI,wBAAwB,CAAC,EAAE,EAAE,EAAE,CAAC;QAC5D,gBAAgB,EAAE,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,CAAC;QAC/F,6EAA6E;QAC7E,6EAA6E;QAC7E,eAAe,EAAE,GAAG,CAAC,kBAAkB;YACrC,CAAC,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACtD,CAAC,CAAC,SAAS;QACb,GAAG,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC;QACxD,GAAG,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC;QAChE,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;QAC3C,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9B,GAAG,yBAAyB,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAC7B,GAAG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC;QAC3D,GAAG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC;QAC3D,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC;QACvD,GAAG,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;QAC1C,GAAG,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;QAC1C,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;QACrC,GAAG,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;QAC7C,mFAAmF;QACnF,2BAA2B,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CACxD,4BAA4B,CAC1B;YACE,OAAO;YACP,aAAa;YACb,qBAAqB;YACrB,uBAAuB;YACvB,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;YACnD,mBAAmB;SACpB,EACD,WAAW,EACX,WAAW,CACZ;QACH,GAAG,SAAS;KACb,CAAA;IAED,OAAO;QACL,GAAG,UAAU,CAAC,YAAY,CAAC;QAC3B,MAAM;QACN,kBAAkB,EAAE,IAAI,oBAAoB,CAAC,EAAE,EAAE,EAAE,CAAC;QACpD,kFAAkF;QAClF,mFAAmF;QACnF,0BAA0B,EAAE,IAAI,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC;QACpE,gFAAgF;QAChF,+DAA+D;QAC/D,aAAa;QACb,8EAA8E;QAC9E,uCAAuC;QACvC,qBAAqB;QACrB,8EAA8E;QAC9E,uCAAuC;QACvC,OAAO;QACP,8EAA8E;QAC9E,uBAAuB;QACvB,oFAAoF;QACpF,uFAAuF;QACvF,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;QACnD,sFAAsF;QACtF,mBAAmB;QACnB,QAAQ,EAAE;YACR,6EAA6E;YAC7E,4EAA4E;YAC5E,QAAQ,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACrD,gFAAgF;YAChF,+EAA+E;YAC/E,cAAc,EAAE,IAAI,0BAA0B,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAC5E,aAAa,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC/D,iFAAiF;YACjF,uDAAuD;YACvD,WAAW,EAAE,IAAI,oBAAoB,CAAC,GAAG,CAAC;YAC1C,gFAAgF;YAChF,wEAAwE;YACxE,SAAS,EAAE,8BAA8B,CAAC,GAAG,CAAC;SAC/C;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RunnerDispatchKind, RunnerJobRef, RunnerJobView, RunnerTransport } from '@cat-factory/kernel';
|
|
2
|
+
import type { DurableObjectNamespace } from '@cloudflare/workers-types';
|
|
3
|
+
import { type ExecutionContainer } from './ExecutionContainer';
|
|
4
|
+
import type { ContainerInstanceRegistry } from './ContainerInstanceRegistry';
|
|
5
|
+
export declare class CloudflareContainerTransport implements RunnerTransport {
|
|
6
|
+
private readonly namespace;
|
|
7
|
+
/** Live-container inventory + reaper kill path; absent in tests (reaping off). */
|
|
8
|
+
private readonly registry?;
|
|
9
|
+
constructor(namespace: DurableObjectNamespace<ExecutionContainer>,
|
|
10
|
+
/** Live-container inventory + reaper kill path; absent in tests (reaping off). */
|
|
11
|
+
registry?: ContainerInstanceRegistry | undefined);
|
|
12
|
+
dispatch(ref: RunnerJobRef, spec: Record<string, unknown>, kind?: RunnerDispatchKind): Promise<void>;
|
|
13
|
+
poll(ref: RunnerJobRef): Promise<RunnerJobView>;
|
|
14
|
+
/**
|
|
15
|
+
* Reclaim the per-run container now (SIGKILL via the DO's `shutdown` RPC) instead
|
|
16
|
+
* of waiting for its idle `sleepAfter`, and drop its live-inventory row. Called
|
|
17
|
+
* when a run is stopped/cancelled, succeeds/fails, or its block is deleted.
|
|
18
|
+
* Best-effort and idempotent: shutting down an already-gone container is a no-op.
|
|
19
|
+
*/
|
|
20
|
+
release(ref: RunnerJobRef): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=CloudflareContainerTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudflareContainerTransport.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/containers/CloudflareContainerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAmC5E,qBAAa,4BAA6B,YAAW,eAAe;IAEhE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAH5B,YACmB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB,CAAC;IACtE,kFAAkF;IACjE,QAAQ,CAAC,EAAE,yBAAyB,YAAA,EACnD;IAQE,QAAQ,CACZ,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,GAAE,kBAA0B,GAC/B,OAAO,CAAC,IAAI,CAAC,CAqBf;IAEK,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BpD;IAED;;;;;OAKG;IACG,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9C;CACF"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { TRANSIENT_EVICTION_MARKER } from '@cat-factory/orchestration';
|
|
2
|
+
import { isRolloutSignal } from './ExecutionContainer';
|
|
3
|
+
// The failed-poll error string the engine classifies as a container eviction. The
|
|
4
|
+
// "(container evicted or crashed)" suffix is matched by job.logic
|
|
5
|
+
// `isContainerEvictionError` (and the bootstrap flow). When THIS facade knows the
|
|
6
|
+
// eviction was a transient new-version rollout (not a crash), it appends the
|
|
7
|
+
// engine's neutral TRANSIENT_EVICTION_MARKER so `isTransientEviction` recovers it on
|
|
8
|
+
// the larger budget. The Cloudflare-specific "rollout ⇒ transient" mapping lives
|
|
9
|
+
// here, in the facade; the engine stays runtime-neutral.
|
|
10
|
+
const EVICTION_ERROR = 'Job not found (container evicted or crashed)';
|
|
11
|
+
const ROLLOUT_EVICTION_ERROR = `${EVICTION_ERROR} (${TRANSIENT_EVICTION_MARKER})`;
|
|
12
|
+
// The default runner transport: a per-RUN Cloudflare Container. One Durable Object
|
|
13
|
+
// instance per run id (`ref.runId`) hosts that run's whole sequence of step jobs; the
|
|
14
|
+
// base Container.fetch proxies to the Pi harness inside it, which keys each job by the
|
|
15
|
+
// per-step `ref.jobId`. This is the behaviour the ContainerAgentExecutor had inline
|
|
16
|
+
// before the transport seam was introduced — preserved here, including the idempotent
|
|
17
|
+
// re-attach (a replayed dispatch for the same ref re-attaches to the running job) and
|
|
18
|
+
// the eviction→failed mapping on a 404 poll. Every dispatch kind (`run` | `blueprint`
|
|
19
|
+
// | `bootstrap` | …) hits the same harness endpoint (`POST /jobs`, with the kind in
|
|
20
|
+
// the body) identically; the bootstrapper rides this transport rather than
|
|
21
|
+
// hand-rolling its own EXEC_CONTAINER plumbing.
|
|
22
|
+
//
|
|
23
|
+
// It also folds in instance-level reaping: when a ContainerInstanceRegistry is
|
|
24
|
+
// wired, dispatch records the container in the live inventory and release clears it
|
|
25
|
+
// (through the registry's single kill path), so a cron reaper can backstop anything
|
|
26
|
+
// that outlived its lifetime — covering run/blueprint/bootstrap with no per-flow
|
|
27
|
+
// wiring.
|
|
28
|
+
// The harness `POST /jobs` and `GET /jobs/{id}` calls are quick (start a background
|
|
29
|
+
// job / read its state), so they get a short timeout. The long work is bounded
|
|
30
|
+
// container-side by the job's inactivity + max-duration watchdogs.
|
|
31
|
+
const DISPATCH_TIMEOUT_MS = 30_000;
|
|
32
|
+
const POLL_TIMEOUT_MS = 30_000;
|
|
33
|
+
export class CloudflareContainerTransport {
|
|
34
|
+
namespace;
|
|
35
|
+
registry;
|
|
36
|
+
constructor(namespace,
|
|
37
|
+
/** Live-container inventory + reaper kill path; absent in tests (reaping off). */
|
|
38
|
+
registry) {
|
|
39
|
+
this.namespace = namespace;
|
|
40
|
+
this.registry = registry;
|
|
41
|
+
}
|
|
42
|
+
// NB: the `RunnerDispatchOptions` (provisioning hints) the port allows are
|
|
43
|
+
// intentionally ignored here. A Cloudflare Container's instance type is fixed per
|
|
44
|
+
// container class by the wrangler `[[containers]] instance_type` — there is no
|
|
45
|
+
// per-DO/per-request sizing API — so a resolved instance-type id is meaningless on
|
|
46
|
+
// this backend. Per-service sizing applies only to the backends that can honour it
|
|
47
|
+
// (the self-hosted pool and the local Docker transport).
|
|
48
|
+
async dispatch(ref, spec, kind = 'run') {
|
|
49
|
+
// The container is per-RUN (one Durable Object per run id), so every step of a run
|
|
50
|
+
// dispatches to the same instance; the harness keys the job by `ref.jobId` (in the
|
|
51
|
+
// spec body), unique per step, so siblings never collide in its registries.
|
|
52
|
+
const stub = this.namespace.get(this.namespace.idFromName(ref.runId));
|
|
53
|
+
// One harness endpoint for every kind: POST /jobs with the kind in the body. The
|
|
54
|
+
// harness reads `kind` to pick the validator + registry; the rest is the job spec.
|
|
55
|
+
const res = await stub.fetch('http://container/jobs', {
|
|
56
|
+
method: 'POST',
|
|
57
|
+
headers: { 'content-type': 'application/json' },
|
|
58
|
+
body: JSON.stringify({ ...spec, kind }),
|
|
59
|
+
signal: AbortSignal.timeout(DISPATCH_TIMEOUT_MS),
|
|
60
|
+
});
|
|
61
|
+
if (!res.ok) {
|
|
62
|
+
throw new Error(`Container dispatch failed (HTTP ${res.status}): ${await safeText(res)}`);
|
|
63
|
+
}
|
|
64
|
+
// Record the now-live container (keyed by the run id, the idFromName argument) so
|
|
65
|
+
// the reaper can find it if its run record ever diverges from reality. Idempotent
|
|
66
|
+
// across a run's steps — the store preserves the earliest startedAt for a key.
|
|
67
|
+
// Best-effort — the registry swallows store errors.
|
|
68
|
+
await this.registry?.register(ref.runId, kind);
|
|
69
|
+
}
|
|
70
|
+
async poll(ref) {
|
|
71
|
+
const stub = this.namespace.get(this.namespace.idFromName(ref.runId));
|
|
72
|
+
let res;
|
|
73
|
+
try {
|
|
74
|
+
res = await stub.fetch(`http://container/jobs/${encodeURIComponent(ref.jobId)}`, {
|
|
75
|
+
method: 'GET',
|
|
76
|
+
signal: AbortSignal.timeout(POLL_TIMEOUT_MS),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
// A rollout in flight can make the container fetch itself throw the runtime's
|
|
81
|
+
// "new version rollout" signal (exit 143) rather than returning a 404. Report it
|
|
82
|
+
// as a transient rollout eviction so the engine recovers it on the larger
|
|
83
|
+
// rollout budget instead of failing the run.
|
|
84
|
+
if (isRolloutSignal(err))
|
|
85
|
+
return { state: 'failed', error: ROLLOUT_EVICTION_ERROR };
|
|
86
|
+
throw err;
|
|
87
|
+
}
|
|
88
|
+
if (res.status === 404) {
|
|
89
|
+
// The job/container vanished (eviction or crash): report failed so the run
|
|
90
|
+
// stops (the run-sweeper may then re-drive it from durable state). The trailing
|
|
91
|
+
// "(container evicted or crashed)" is matched by the bootstrap flow to classify
|
|
92
|
+
// the fault as `evicted`. Ask the DO whether it was just drained by a
|
|
93
|
+
// new-version rollout (a deploy) — if so, tag it so the engine treats it as
|
|
94
|
+
// transient infra churn rather than a crash/OOM.
|
|
95
|
+
const rolledOut = await stub.recentlyRolledOut().catch(() => false);
|
|
96
|
+
return { state: 'failed', error: rolledOut ? ROLLOUT_EVICTION_ERROR : EVICTION_ERROR };
|
|
97
|
+
}
|
|
98
|
+
if (!res.ok) {
|
|
99
|
+
throw new Error(`Container job poll failed (HTTP ${res.status}): ${await safeText(res)}`);
|
|
100
|
+
}
|
|
101
|
+
return (await res.json());
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Reclaim the per-run container now (SIGKILL via the DO's `shutdown` RPC) instead
|
|
105
|
+
* of waiting for its idle `sleepAfter`, and drop its live-inventory row. Called
|
|
106
|
+
* when a run is stopped/cancelled, succeeds/fails, or its block is deleted.
|
|
107
|
+
* Best-effort and idempotent: shutting down an already-gone container is a no-op.
|
|
108
|
+
*/
|
|
109
|
+
async release(ref) {
|
|
110
|
+
// Reclaim the per-RUN container (the shutdown is run-scoped — `ref.jobId` is a
|
|
111
|
+
// single step within it, so the whole run's container goes regardless).
|
|
112
|
+
if (this.registry) {
|
|
113
|
+
// The registry owns the single kill path (shutdown + inventory removal).
|
|
114
|
+
await this.registry.release(ref.runId);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const stub = this.namespace.get(this.namespace.idFromName(ref.runId));
|
|
118
|
+
await stub.shutdown();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async function safeText(res) {
|
|
122
|
+
try {
|
|
123
|
+
return (await res.text()).slice(0, 500);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return '(no body)';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=CloudflareContainerTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloudflareContainerTransport.js","sourceRoot":"","sources":["../../../src/infrastructure/containers/CloudflareContainerTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Clock } from '@cat-factory/kernel';
|
|
2
|
+
import type { DurableObjectNamespace } from '@cloudflare/workers-types';
|
|
3
|
+
import type { ExecutionContainer } from './ExecutionContainer';
|
|
4
|
+
/** One live per-run container, as the registry records it. */
|
|
5
|
+
export interface LiveContainerRecord {
|
|
6
|
+
/** The idFromName() argument: the execution/bootstrap job id (also the run id). */
|
|
7
|
+
containerKey: string;
|
|
8
|
+
/** The dispatch kind ('run' | 'blueprint' | 'bootstrap'); diagnostic only. */
|
|
9
|
+
kind: string;
|
|
10
|
+
/** Owning workspace, when known (the transport seam carries only the job id). */
|
|
11
|
+
workspaceId?: string;
|
|
12
|
+
/** Epoch ms of the FIRST dispatch = the container's true age. */
|
|
13
|
+
startedAt: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Persistence for the live-container inventory (the `live_containers` table). `add`
|
|
17
|
+
* MUST preserve the earliest `startedAt` for a key (a replayed dispatch is a no-op)
|
|
18
|
+
* so the recorded age is the container's true age.
|
|
19
|
+
*/
|
|
20
|
+
export interface LiveContainerStore {
|
|
21
|
+
add(record: LiveContainerRecord): Promise<void>;
|
|
22
|
+
remove(containerKey: string): Promise<void>;
|
|
23
|
+
listStartedBefore(epochMs: number): Promise<LiveContainerRecord[]>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Owns the per-run container namespace + the live-container inventory. It is the
|
|
27
|
+
* single kill path for a container — `release` both SIGKILLs the instance (via the
|
|
28
|
+
* Durable Object's `shutdown` RPC) and clears its inventory row — used by the
|
|
29
|
+
* normal terminal-reclaim path (through the Cloudflare transport) and by the cron
|
|
30
|
+
* reaper alike, so the two can never diverge.
|
|
31
|
+
*/
|
|
32
|
+
export declare class ContainerInstanceRegistry {
|
|
33
|
+
private readonly namespace;
|
|
34
|
+
private readonly store;
|
|
35
|
+
private readonly clock;
|
|
36
|
+
constructor(namespace: DurableObjectNamespace<ExecutionContainer>, store: LiveContainerStore, clock: Clock);
|
|
37
|
+
/**
|
|
38
|
+
* Record a freshly-dispatched container in the inventory. Best-effort: a write
|
|
39
|
+
* failure must never break the dispatch it is bookkeeping for, and the earliest
|
|
40
|
+
* `startedAt` is preserved across replayed dispatches (so age stays truthful).
|
|
41
|
+
*/
|
|
42
|
+
register(containerKey: string, kind: string, workspaceId?: string): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Reclaim a container now and drop its inventory row — the single kill path.
|
|
45
|
+
* Idempotent: `ExecutionContainer.shutdown` swallows "already gone", so this is a
|
|
46
|
+
* no-op on a container that is already stopped. The row is removed only after the
|
|
47
|
+
* SIGKILL resolves, so a (rare) transport-level failure leaves the row for the
|
|
48
|
+
* reaper to retry rather than silently dropping a still-live container.
|
|
49
|
+
*/
|
|
50
|
+
release(containerKey: string): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* The load-bearing backstop: kill every container whose first dispatch is older
|
|
53
|
+
* than `epochMs` (its legitimate maximum lifetime has elapsed). With normal runs
|
|
54
|
+
* self-reclaiming on their terminal path, a reaped container is a genuine LEAK, so
|
|
55
|
+
* each kill is logged loudly. One wedged container never aborts the sweep — each
|
|
56
|
+
* release is isolated. Returns how many were actually reaped.
|
|
57
|
+
*/
|
|
58
|
+
reapStaleBefore(epochMs: number): Promise<{
|
|
59
|
+
reaped: number;
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=ContainerInstanceRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContainerInstanceRegistry.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/containers/ContainerInstanceRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAW9D,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,YAAY,EAAE,MAAM,CAAA;IACpB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;CACnE;AAED;;;;;;GAMG;AACH,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHxB,YACmB,SAAS,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,EACrD,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,KAAK,EAC3B;IAEJ;;;;OAIG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAStF;IAED;;;;;;OAMG;IACG,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjD;IAED;;;;;;OAMG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAyBlE;CACF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { logger } from '../observability/logger';
|
|
2
|
+
/**
|
|
3
|
+
* Owns the per-run container namespace + the live-container inventory. It is the
|
|
4
|
+
* single kill path for a container — `release` both SIGKILLs the instance (via the
|
|
5
|
+
* Durable Object's `shutdown` RPC) and clears its inventory row — used by the
|
|
6
|
+
* normal terminal-reclaim path (through the Cloudflare transport) and by the cron
|
|
7
|
+
* reaper alike, so the two can never diverge.
|
|
8
|
+
*/
|
|
9
|
+
export class ContainerInstanceRegistry {
|
|
10
|
+
namespace;
|
|
11
|
+
store;
|
|
12
|
+
clock;
|
|
13
|
+
constructor(namespace, store, clock) {
|
|
14
|
+
this.namespace = namespace;
|
|
15
|
+
this.store = store;
|
|
16
|
+
this.clock = clock;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Record a freshly-dispatched container in the inventory. Best-effort: a write
|
|
20
|
+
* failure must never break the dispatch it is bookkeeping for, and the earliest
|
|
21
|
+
* `startedAt` is preserved across replayed dispatches (so age stays truthful).
|
|
22
|
+
*/
|
|
23
|
+
async register(containerKey, kind, workspaceId) {
|
|
24
|
+
try {
|
|
25
|
+
await this.store.add({ containerKey, kind, workspaceId, startedAt: this.clock.now() });
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
logger.warn({ containerKey, kind, err: errMessage(error) }, 'container-registry: failed to record live container (continuing)');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Reclaim a container now and drop its inventory row — the single kill path.
|
|
33
|
+
* Idempotent: `ExecutionContainer.shutdown` swallows "already gone", so this is a
|
|
34
|
+
* no-op on a container that is already stopped. The row is removed only after the
|
|
35
|
+
* SIGKILL resolves, so a (rare) transport-level failure leaves the row for the
|
|
36
|
+
* reaper to retry rather than silently dropping a still-live container.
|
|
37
|
+
*/
|
|
38
|
+
async release(containerKey) {
|
|
39
|
+
await this.namespace.get(this.namespace.idFromName(containerKey)).shutdown();
|
|
40
|
+
await this.store.remove(containerKey);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The load-bearing backstop: kill every container whose first dispatch is older
|
|
44
|
+
* than `epochMs` (its legitimate maximum lifetime has elapsed). With normal runs
|
|
45
|
+
* self-reclaiming on their terminal path, a reaped container is a genuine LEAK, so
|
|
46
|
+
* each kill is logged loudly. One wedged container never aborts the sweep — each
|
|
47
|
+
* release is isolated. Returns how many were actually reaped.
|
|
48
|
+
*/
|
|
49
|
+
async reapStaleBefore(epochMs) {
|
|
50
|
+
const stale = await this.store.listStartedBefore(epochMs);
|
|
51
|
+
let reaped = 0;
|
|
52
|
+
for (const record of stale) {
|
|
53
|
+
logger.warn({
|
|
54
|
+
containerKey: record.containerKey,
|
|
55
|
+
kind: record.kind,
|
|
56
|
+
workspaceId: record.workspaceId,
|
|
57
|
+
ageMs: this.clock.now() - record.startedAt,
|
|
58
|
+
}, 'container-reaper: killing leaked container past its max lifetime');
|
|
59
|
+
try {
|
|
60
|
+
await this.release(record.containerKey);
|
|
61
|
+
reaped++;
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
// Leave the row in place so the next pass retries this one.
|
|
65
|
+
logger.error({ containerKey: record.containerKey, err: errMessage(error) }, 'container-reaper: failed to kill leaked container (will retry next pass)');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return { reaped };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function errMessage(error) {
|
|
72
|
+
return error instanceof Error ? error.message : String(error);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=ContainerInstanceRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContainerInstanceRegistry.js","sourceRoot":"","sources":["../../../src/infrastructure/containers/ContainerInstanceRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAiChD;;;;;;GAMG;AACH,MAAM,OAAO,yBAAyB;IAEjB,SAAS;IACT,KAAK;IACL,KAAK;IAHxB,YACmB,SAAqD,EACrD,KAAyB,EACzB,KAAY;yBAFZ,SAAS;qBACT,KAAK;qBACL,KAAK;IACrB,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,YAAoB,EAAE,IAAY,EAAE,WAAoB;QACrE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,EAC9C,kEAAkE,CACnE,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC5E,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CACT;gBACE,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS;aAC3C,EACD,kEAAkE,CACnE,CAAA;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACvC,MAAM,EAAE,CAAA;YACV,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4DAA4D;gBAC5D,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,EAC7D,0EAA0E,CAC3E,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;CACF;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContainerSessionService.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/containers/ContainerSessionService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContainerSessionService.js","sourceRoot":"","sources":["../../../src/infrastructure/containers/ContainerSessionService.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GAGvB,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Container } from '@cloudflare/containers';
|
|
2
|
+
import type { StopParams } from '@cloudflare/containers';
|
|
3
|
+
import type { Env } from '../env';
|
|
4
|
+
/**
|
|
5
|
+
* Whether a container error/stop is the runtime's *new-version rollout* signal — a
|
|
6
|
+
* deploy draining the old container (exit 143) — rather than a crash/OOM. The
|
|
7
|
+
* @cloudflare/containers base class surfaces this through `onError` with the wording
|
|
8
|
+
* "...new version rollout: 143" (which its own exit-code parser, keyed on the plain
|
|
9
|
+
* "runtime signalled the container to exit:" form, does not recognise).
|
|
10
|
+
*/
|
|
11
|
+
export declare function isRolloutSignal(error: unknown): boolean;
|
|
12
|
+
export declare class ExecutionContainer extends Container<Env> {
|
|
13
|
+
defaultPort: number;
|
|
14
|
+
sleepAfter: string;
|
|
15
|
+
/**
|
|
16
|
+
* Record that THIS run's container was drained by a new-version rollout (a deploy,
|
|
17
|
+
* exit 143) rather than crashing. The transport's next job poll — which 404s once
|
|
18
|
+
* the container restarts empty — reads this via {@link recentlyRolledOut} to
|
|
19
|
+
* classify the eviction as a transient rollout, so the engine recovers it on the
|
|
20
|
+
* larger rollout budget instead of failing the run as a crash. Persisted to DO
|
|
21
|
+
* storage (not in-memory) so it survives a DO isolate reset that a combined
|
|
22
|
+
* worker+container deploy would cause.
|
|
23
|
+
*/
|
|
24
|
+
onError(error: unknown): Promise<unknown>;
|
|
25
|
+
/**
|
|
26
|
+
* Belt-and-braces: depending on the runtime version, a rollout drain can surface
|
|
27
|
+
* as a `runtime_signal` stop with SIGTERM (143) through `onStop` instead of (or as
|
|
28
|
+
* well as) `onError`. Record it the same way.
|
|
29
|
+
*/
|
|
30
|
+
onStop(params: StopParams): void;
|
|
31
|
+
/**
|
|
32
|
+
* Whether this run's container was drained by a new-version rollout within the
|
|
33
|
+
* last {@link ROLLOUT_ATTRIBUTION_WINDOW_MS}. Called over RPC by the transport
|
|
34
|
+
* after a job poll 404s, to tell a transient rollout eviction apart from a
|
|
35
|
+
* crash/OOM. Time-bounded so a stale flag from an earlier rollout in this run
|
|
36
|
+
* can't misclassify a later genuine crash.
|
|
37
|
+
*/
|
|
38
|
+
recentlyRolledOut(): Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* Reclaim this container now (SIGKILL via the base class), rather than waiting
|
|
41
|
+
* for the `sleepAfter` idle timer. Called over RPC when a run faults so a leaked
|
|
42
|
+
* instance isn't billed while idle. Best-effort and idempotent: destroying an
|
|
43
|
+
* already-stopped container is a no-op, and we swallow any error so the caller's
|
|
44
|
+
* failure handling is never derailed by cleanup.
|
|
45
|
+
*/
|
|
46
|
+
shutdown(): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=ExecutionContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/containers/ExecutionContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAOjC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIvD;AAWD,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,GAAG,CAAC;IAE3C,WAAW,SAAO;IAMlB,UAAU,SAAQ;IAE3B;;;;;;;;OAQG;IACY,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAMvD;IAED;;;;OAIG;IACM,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAIxC;IAED;;;;;;OAMG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG1C;IAED;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9B;CACF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Container } from '@cloudflare/containers';
|
|
2
|
+
/** DO-storage key recording when a new-version rollout last drained this container. */
|
|
3
|
+
const ROLLED_OUT_AT_KEY = 'rolledOutAt';
|
|
4
|
+
/** How long after a rollout a 404 poll is still attributed to it (ms). */
|
|
5
|
+
const ROLLOUT_ATTRIBUTION_WINDOW_MS = 120_000;
|
|
6
|
+
/**
|
|
7
|
+
* Whether a container error/stop is the runtime's *new-version rollout* signal — a
|
|
8
|
+
* deploy draining the old container (exit 143) — rather than a crash/OOM. The
|
|
9
|
+
* @cloudflare/containers base class surfaces this through `onError` with the wording
|
|
10
|
+
* "...new version rollout: 143" (which its own exit-code parser, keyed on the plain
|
|
11
|
+
* "runtime signalled the container to exit:" form, does not recognise).
|
|
12
|
+
*/
|
|
13
|
+
export function isRolloutSignal(error) {
|
|
14
|
+
const message = error instanceof Error ? error.message : typeof error === 'string' ? error : String(error);
|
|
15
|
+
return /new version rollout|runtime signalled the container to exit/i.test(message);
|
|
16
|
+
}
|
|
17
|
+
// One container instance per run: Cloudflare Containers map a Durable Object id
|
|
18
|
+
// to a dedicated container, so addressing `env.EXEC_CONTAINER.get(<executionId>)`
|
|
19
|
+
// gives each execution its own ephemeral sandbox. The container runs the Pi
|
|
20
|
+
// coding-agent harness (see @cat-factory/executor-harness) listening on 8080;
|
|
21
|
+
// the base `Container.fetch` proxies inbound requests there once it has booted.
|
|
22
|
+
//
|
|
23
|
+
// No secrets are configured here: the image carries none, and the per-job GitHub
|
|
24
|
+
// token + LLM session token are passed in the `/run` request body at dispatch
|
|
25
|
+
// time, never via image build args or class-level env vars.
|
|
26
|
+
export class ExecutionContainer extends Container {
|
|
27
|
+
// The harness HTTP server port (matches the Dockerfile ENTRYPOINT).
|
|
28
|
+
defaultPort = 8080;
|
|
29
|
+
// A run is dispatched, then polled every ~15s while its background job runs, so
|
|
30
|
+
// the instance stays warm for the job's duration without holding a single
|
|
31
|
+
// request open. This idle window only elapses once polling stops (the job has
|
|
32
|
+
// finished); the headroom tolerates a transient gap between polls without the
|
|
33
|
+
// instance being reclaimed mid-job.
|
|
34
|
+
sleepAfter = '10m';
|
|
35
|
+
/**
|
|
36
|
+
* Record that THIS run's container was drained by a new-version rollout (a deploy,
|
|
37
|
+
* exit 143) rather than crashing. The transport's next job poll — which 404s once
|
|
38
|
+
* the container restarts empty — reads this via {@link recentlyRolledOut} to
|
|
39
|
+
* classify the eviction as a transient rollout, so the engine recovers it on the
|
|
40
|
+
* larger rollout budget instead of failing the run as a crash. Persisted to DO
|
|
41
|
+
* storage (not in-memory) so it survives a DO isolate reset that a combined
|
|
42
|
+
* worker+container deploy would cause.
|
|
43
|
+
*/
|
|
44
|
+
async onError(error) {
|
|
45
|
+
if (isRolloutSignal(error)) {
|
|
46
|
+
await this.ctx.storage.put(ROLLED_OUT_AT_KEY, Date.now());
|
|
47
|
+
}
|
|
48
|
+
// Preserve the base behaviour (log + rethrow) so nothing else changes.
|
|
49
|
+
return super.onError(error);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Belt-and-braces: depending on the runtime version, a rollout drain can surface
|
|
53
|
+
* as a `runtime_signal` stop with SIGTERM (143) through `onStop` instead of (or as
|
|
54
|
+
* well as) `onError`. Record it the same way.
|
|
55
|
+
*/
|
|
56
|
+
onStop(params) {
|
|
57
|
+
if (params.reason === 'runtime_signal' && params.exitCode === 143) {
|
|
58
|
+
void this.ctx.storage.put(ROLLED_OUT_AT_KEY, Date.now());
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Whether this run's container was drained by a new-version rollout within the
|
|
63
|
+
* last {@link ROLLOUT_ATTRIBUTION_WINDOW_MS}. Called over RPC by the transport
|
|
64
|
+
* after a job poll 404s, to tell a transient rollout eviction apart from a
|
|
65
|
+
* crash/OOM. Time-bounded so a stale flag from an earlier rollout in this run
|
|
66
|
+
* can't misclassify a later genuine crash.
|
|
67
|
+
*/
|
|
68
|
+
async recentlyRolledOut() {
|
|
69
|
+
const at = await this.ctx.storage.get(ROLLED_OUT_AT_KEY);
|
|
70
|
+
return typeof at === 'number' && Date.now() - at <= ROLLOUT_ATTRIBUTION_WINDOW_MS;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Reclaim this container now (SIGKILL via the base class), rather than waiting
|
|
74
|
+
* for the `sleepAfter` idle timer. Called over RPC when a run faults so a leaked
|
|
75
|
+
* instance isn't billed while idle. Best-effort and idempotent: destroying an
|
|
76
|
+
* already-stopped container is a no-op, and we swallow any error so the caller's
|
|
77
|
+
* failure handling is never derailed by cleanup.
|
|
78
|
+
*/
|
|
79
|
+
async shutdown() {
|
|
80
|
+
try {
|
|
81
|
+
await this.destroy();
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// Already gone / not running — nothing to reclaim.
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=ExecutionContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionContainer.js","sourceRoot":"","sources":["../../../src/infrastructure/containers/ExecutionContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,uFAAuF;AACvF,MAAM,iBAAiB,GAAG,aAAa,CAAA;AACvC,0EAA0E;AAC1E,MAAM,6BAA6B,GAAG,OAAO,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5F,OAAO,8DAA8D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACrF,CAAC;AAED,gFAAgF;AAChF,kFAAkF;AAClF,4EAA4E;AAC5E,8EAA8E;AAC9E,gFAAgF;AAChF,EAAE;AACF,iFAAiF;AACjF,8EAA8E;AAC9E,4DAA4D;AAC5D,MAAM,OAAO,kBAAmB,SAAQ,SAAc;IACpD,oEAAoE;IAC3D,WAAW,GAAG,IAAI,CAAA;IAC3B,gFAAgF;IAChF,0EAA0E;IAC1E,8EAA8E;IAC9E,8EAA8E;IAC9E,oCAAoC;IAC3B,UAAU,GAAG,KAAK,CAAA;IAE3B;;;;;;;;OAQG;IACM,KAAK,CAAC,OAAO,CAAC,KAAc;QACnC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,uEAAuE;QACvE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED;;;;OAIG;IACM,MAAM,CAAC,MAAkB;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YAClE,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAS,iBAAiB,CAAC,CAAA;QAChE,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,6BAA6B,CAAA;IACnF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type DocumentContent, type DocumentCredentials, type DocumentSearchResult, type DocumentSourceProvider, type NormalizedConnection } from '@cat-factory/kernel';
|
|
2
|
+
/** Carries the HTTP status so callers can surface a meaningful error. */
|
|
3
|
+
export declare class ConfluenceApiError extends Error {
|
|
4
|
+
readonly status: number;
|
|
5
|
+
constructor(status: number, message: string);
|
|
6
|
+
}
|
|
7
|
+
export declare class ConfluenceProvider implements DocumentSourceProvider {
|
|
8
|
+
readonly kind: 'confluence';
|
|
9
|
+
readonly descriptor: {
|
|
10
|
+
source: "confluence" | "github" | "notion";
|
|
11
|
+
label: string;
|
|
12
|
+
icon: string;
|
|
13
|
+
credentialFields: {
|
|
14
|
+
key: string;
|
|
15
|
+
label: string;
|
|
16
|
+
help?: string | undefined;
|
|
17
|
+
placeholder?: string | undefined;
|
|
18
|
+
secret?: boolean | undefined;
|
|
19
|
+
}[];
|
|
20
|
+
refLabel: string;
|
|
21
|
+
refPlaceholder: string;
|
|
22
|
+
searchable?: boolean | undefined;
|
|
23
|
+
};
|
|
24
|
+
normalizeConnection(input: DocumentCredentials): NormalizedConnection;
|
|
25
|
+
parseRef(input: string): string | null;
|
|
26
|
+
fetchDocument(credentials: DocumentCredentials, externalId: string): Promise<DocumentContent>;
|
|
27
|
+
search(credentials: DocumentCredentials, query: string): Promise<DocumentSearchResult[]>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ConfluenceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfluenceProvider.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/documents/ConfluenceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAA;AAgB5B,yEAAyE;AACzE,qBAAa,kBAAmB,SAAQ,KAAK;IAEzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IADzB,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAIhB;CACF;AA+ED,qBAAa,kBAAmB,YAAW,sBAAsB;IAC/D,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAS;IACrC,QAAQ,CAAC,UAAU;;;;;;;;;;;;;;MAAwB;IAE3C,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAepE;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErC;IAEK,aAAa,CACjB,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAiD1B;IAEK,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAkC7F;CACF"}
|