@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,62 @@
|
|
|
1
|
+
import { DurableObject } from 'cloudflare:workers';
|
|
2
|
+
/**
|
|
3
|
+
* Per-workspace pub/sub hub. Addressed by `idFromName(workspaceId)`, so every
|
|
4
|
+
* subscriber and every publish for a workspace converge on one instance.
|
|
5
|
+
*
|
|
6
|
+
* Uses the WebSocket Hibernation API (`ctx.acceptWebSocket` + the
|
|
7
|
+
* `webSocketMessage`/`webSocketClose`/`webSocketError` methods + `getWebSockets`):
|
|
8
|
+
* accepted sockets survive the DO being evicted from memory, so an idle workspace
|
|
9
|
+
* costs nothing. The handlers must be METHODS (not `addEventListener` closures)
|
|
10
|
+
* precisely because hibernation reconstructs the instance to deliver an event.
|
|
11
|
+
*/
|
|
12
|
+
export class WorkspaceEventsHub extends DurableObject {
|
|
13
|
+
constructor(ctx, env) {
|
|
14
|
+
super(ctx, env);
|
|
15
|
+
// Answer client "ping" frames with "pong" at the edge, without waking the DO —
|
|
16
|
+
// so heartbeats keep the connection alive without billing or breaking hibernation.
|
|
17
|
+
ctx.setWebSocketAutoResponse(new WebSocketRequestResponsePair('ping', 'pong'));
|
|
18
|
+
}
|
|
19
|
+
async fetch(request) {
|
|
20
|
+
const url = new URL(request.url);
|
|
21
|
+
// Internal broadcast: fan a pre-serialised JSON event out to every socket.
|
|
22
|
+
if (request.method === 'POST' && url.pathname === '/publish') {
|
|
23
|
+
const body = await request.text();
|
|
24
|
+
for (const ws of this.ctx.getWebSockets()) {
|
|
25
|
+
try {
|
|
26
|
+
ws.send(body);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// Socket is mid-close; the close handler reaps it. Ignore.
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return new Response(null, { status: 204 });
|
|
33
|
+
}
|
|
34
|
+
// WebSocket upgrade: accept the server end into the hibernatable set and hand
|
|
35
|
+
// the client end back as a 101 so it flows out through the Worker.
|
|
36
|
+
if (request.method === 'GET' && request.headers.get('Upgrade')?.toLowerCase() === 'websocket') {
|
|
37
|
+
const pair = new WebSocketPair();
|
|
38
|
+
const client = pair[0];
|
|
39
|
+
const server = pair[1];
|
|
40
|
+
// NOT server.accept() — that pins the DO in memory and disables hibernation.
|
|
41
|
+
this.ctx.acceptWebSocket(server);
|
|
42
|
+
return new Response(null, { status: 101, webSocket: client });
|
|
43
|
+
}
|
|
44
|
+
return new Response('expected a websocket upgrade or POST /publish', { status: 400 });
|
|
45
|
+
}
|
|
46
|
+
// ---- Hibernation handlers (must be class methods) ------------------------
|
|
47
|
+
async webSocketMessage() {
|
|
48
|
+
// Subscribers are receive-only; ignore inbound frames (ping/pong is auto-handled).
|
|
49
|
+
}
|
|
50
|
+
async webSocketClose(ws, code, reason) {
|
|
51
|
+
try {
|
|
52
|
+
ws.close(code, reason);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Already closed.
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async webSocketError() {
|
|
59
|
+
// The socket is dropped from getWebSockets() automatically; nothing to do.
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=WorkspaceEventsHub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceEventsHub.js","sourceRoot":"","sources":["../../../src/infrastructure/durable-objects/WorkspaceEventsHub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD;;;;;;;;;GASG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAkB;IACxD,YAAY,GAAuB,EAAE,GAAQ;QAC3C,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACf,+EAA+E;QAC/E,mFAAmF;QACnF,GAAG,CAAC,wBAAwB,CAAC,IAAI,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAChF,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAC,OAAgB;QACnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEhC,2EAA2E;QAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;YACjC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC;oBACH,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACf,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;gBAC7D,CAAC;YACH,CAAC;YACD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5C,CAAC;QAED,8EAA8E;QAC9E,mEAAmE;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,CAAC;YAC9F,MAAM,IAAI,GAAG,IAAI,aAAa,EAAE,CAAA;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,6EAA6E;YAC7E,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAChC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,+CAA+C,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IACvF,CAAC;IAED,6EAA6E;IAEpE,KAAK,CAAC,gBAAgB;QAC7B,mFAAmF;IACrF,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAC,EAAa,EAAE,IAAY,EAAE,MAAc;QACvE,IAAI,CAAC;YACH,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,cAAc;QAC3B,2EAA2E;IAC7E,CAAC;CACF"}
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
import type { Ai, D1Database, DurableObjectNamespace, Queue, Workflow } from '@cloudflare/workers-types';
|
|
2
|
+
import type { ExecutionContainer } from './containers/ExecutionContainer';
|
|
3
|
+
import type { WorkspaceEventsHub } from './durable-objects/WorkspaceEventsHub';
|
|
4
|
+
/** Message enqueued to bound the rate at which durable runs are started. */
|
|
5
|
+
export interface ExecutionStartMessage {
|
|
6
|
+
workspaceId: string;
|
|
7
|
+
executionId: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Work enqueued on GITHUB_SYNC_QUEUE so the webhook endpoint can ack fast and
|
|
11
|
+
* apply projection updates asynchronously. A discriminated union: verified
|
|
12
|
+
* webhook deliveries, and targeted repo resyncs (from the cron reconciler / the
|
|
13
|
+
* on-demand resync endpoint).
|
|
14
|
+
*/
|
|
15
|
+
export type GitHubSyncMessage = {
|
|
16
|
+
kind: 'webhook';
|
|
17
|
+
eventName: string;
|
|
18
|
+
payload: unknown;
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'resync-repo';
|
|
21
|
+
workspaceId: string;
|
|
22
|
+
repoGithubId: number;
|
|
23
|
+
};
|
|
24
|
+
/** Bindings and vars available to the Worker (declared in wrangler.toml). */
|
|
25
|
+
export interface Env {
|
|
26
|
+
DB: D1Database;
|
|
27
|
+
/** Cloudflare Workers AI binding (optional; used when provider = workers-ai). */
|
|
28
|
+
AI?: Ai;
|
|
29
|
+
/** Workflows binding that durably drives each run (the only execution path). */
|
|
30
|
+
EXECUTION_WORKFLOW?: Workflow;
|
|
31
|
+
/** Optional admission queue; its consumer creates the Workflow instance. */
|
|
32
|
+
EXECUTION_QUEUE?: Queue<ExecutionStartMessage>;
|
|
33
|
+
/**
|
|
34
|
+
* Workflows binding that durably drives each "bootstrap repo" run's poll loop
|
|
35
|
+
* (see BootstrapWorkflow). Without it a bootstrap still dispatches but isn't
|
|
36
|
+
* auto-driven — the cron sweep re-drives any job left running.
|
|
37
|
+
*/
|
|
38
|
+
BOOTSTRAP_WORKFLOW?: Workflow;
|
|
39
|
+
/** How long a run may park on a human decision before expiring, e.g. "24h". */
|
|
40
|
+
DECISION_TIMEOUT?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Durable driver poll cadence for async container jobs (a Workflows sleep
|
|
43
|
+
* duration, e.g. "15 seconds"). Default "15 seconds".
|
|
44
|
+
*/
|
|
45
|
+
JOB_POLL_INTERVAL?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Safety cap on how many times the driver polls one container job before
|
|
48
|
+
* failing the run (the container's own max-duration watchdog should fire
|
|
49
|
+
* first). Default 280 (≈70 min at the default 15s cadence).
|
|
50
|
+
*/
|
|
51
|
+
JOB_MAX_POLLS?: string;
|
|
52
|
+
/**
|
|
53
|
+
* How many consecutive status-read failures the durable driver tolerates before
|
|
54
|
+
* giving up on a job (a busy container can briefly fail to answer a poll without
|
|
55
|
+
* the job itself having failed). Default 6.
|
|
56
|
+
*/
|
|
57
|
+
JOB_POLL_FAILURE_TOLERANCE?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Durable driver poll cadence for a `ci` step's GitHub check runs (a Workflows
|
|
60
|
+
* sleep duration). CI takes minutes, so coarser than the job poll. Default
|
|
61
|
+
* "30 seconds".
|
|
62
|
+
*/
|
|
63
|
+
CI_POLL_INTERVAL?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Safety cap on how many times the driver polls CI in one `checking` wait before
|
|
66
|
+
* giving up the gate. Default 120 (≈60 min at the default 30s cadence). The
|
|
67
|
+
* CI-fixer attempt budget is separate (per-task, on the merge preset).
|
|
68
|
+
*/
|
|
69
|
+
CI_MAX_POLLS?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Per-workspace WebSocket fan-out hub (Durable Object). Pushes execution/board
|
|
72
|
+
* changes to subscribed browsers in real time. When absent, the engine pushes
|
|
73
|
+
* nothing (clients still get state on connect / refresh).
|
|
74
|
+
*/
|
|
75
|
+
WORKSPACE_EVENTS?: DurableObjectNamespace<WorkspaceEventsHub>;
|
|
76
|
+
/**
|
|
77
|
+
* Durable Object namespace backing per-run implementation containers. Each run
|
|
78
|
+
* addresses its own instance; the container runs the Pi coding-agent harness.
|
|
79
|
+
*/
|
|
80
|
+
EXEC_CONTAINER?: DurableObjectNamespace<ExecutionContainer>;
|
|
81
|
+
/**
|
|
82
|
+
* Public origin of this Worker, e.g. https://cat-factory.example.workers.dev.
|
|
83
|
+
* Handed to the container so Pi can reach the LLM proxy at `${url}/v1`.
|
|
84
|
+
*/
|
|
85
|
+
WORKER_PUBLIC_URL?: string;
|
|
86
|
+
/**
|
|
87
|
+
* Age ceiling (minutes) for the instance-level container reaper: the cron sweeper
|
|
88
|
+
* SIGKILLs any per-run container whose first dispatch is older than this. Default
|
|
89
|
+
* 90, hard-clamped to ≥75 so a misconfigured low value can't kill live work (the
|
|
90
|
+
* longest legitimate lifetime is ≈70 min). See config/execution.ts.
|
|
91
|
+
*/
|
|
92
|
+
CONTAINER_MAX_AGE_MINUTES?: string;
|
|
93
|
+
AGENT_DEFAULT_PROVIDER?: string;
|
|
94
|
+
AGENT_DEFAULT_MODEL?: string;
|
|
95
|
+
AGENT_DEFAULT_TEMPERATURE?: string;
|
|
96
|
+
AGENT_MAX_OUTPUT_TOKENS?: string;
|
|
97
|
+
/** JSON: per-kind overrides, e.g. {"architect":{"provider":"openai","model":"gpt-4o"}}. */
|
|
98
|
+
AGENT_MODELS?: string;
|
|
99
|
+
/** Monthly token budget, in SPEND_CURRENCY. Default ~100. */
|
|
100
|
+
SPEND_MONTHLY_LIMIT?: string;
|
|
101
|
+
/** ISO 4217 currency for the budget and prices. Default 'EUR'. */
|
|
102
|
+
SPEND_CURRENCY?: string;
|
|
103
|
+
/**
|
|
104
|
+
* JSON map of `provider:model` (or bare `provider`) → per-1M-token price,
|
|
105
|
+
* e.g. {"openai:gpt-4o":{"inputPerMillion":2.3,"outputPerMillion":9.2}}.
|
|
106
|
+
* Merged over the built-in defaults.
|
|
107
|
+
*/
|
|
108
|
+
SPEND_MODEL_PRICES?: string;
|
|
109
|
+
OPENAI_API_KEY?: string;
|
|
110
|
+
ANTHROPIC_API_KEY?: string;
|
|
111
|
+
/** Alibaba DashScope key (provider `qwen`; OpenAI-compatible endpoint). */
|
|
112
|
+
QWEN_API_KEY?: string;
|
|
113
|
+
/** DeepSeek API key (provider `deepseek`; OpenAI-compatible endpoint). */
|
|
114
|
+
DEEPSEEK_API_KEY?: string;
|
|
115
|
+
/** Moonshot AI key (provider `moonshot`, direct Kimi; OpenAI-compatible). */
|
|
116
|
+
MOONSHOT_API_KEY?: string;
|
|
117
|
+
QWEN_BASE_URL?: string;
|
|
118
|
+
DEEPSEEK_BASE_URL?: string;
|
|
119
|
+
MOONSHOT_BASE_URL?: string;
|
|
120
|
+
OPENAI_BASE_URL?: string;
|
|
121
|
+
OPENROUTER_BASE_URL?: string;
|
|
122
|
+
LITELLM_BASE_URL?: string;
|
|
123
|
+
/** Truthy (`true`/`1`/`yes`) enables provider web search for the inline design/research kinds. */
|
|
124
|
+
INLINE_WEB_SEARCH_ENABLED?: string;
|
|
125
|
+
/**
|
|
126
|
+
* Truthy (`true`/`1`/`yes`) enables the optional consensus-orchestration mechanism:
|
|
127
|
+
* the consensus capability traits are registered (so the pipeline builder offers
|
|
128
|
+
* "Enable Consensus" on eligible steps) and the agent executor is wrapped to run
|
|
129
|
+
* consensus-enabled steps through a multi-model process. Off ⇒ unchanged behaviour.
|
|
130
|
+
*/
|
|
131
|
+
CONSENSUS_ENABLED?: string;
|
|
132
|
+
/** Comma-separated override of the default `architect,researcher` allow-list. */
|
|
133
|
+
INLINE_WEB_SEARCH_KINDS?: string;
|
|
134
|
+
/** Cap on provider web searches per inline run (Anthropic `maxUses`; default 5). */
|
|
135
|
+
INLINE_WEB_SEARCH_MAX_USES?: string;
|
|
136
|
+
/** Brave Search key — enables the container web-search proxy (the recommended path). */
|
|
137
|
+
WEB_SEARCH_BRAVE_API_KEY?: string;
|
|
138
|
+
/** A self-hosted SearXNG base URL the backend reverse-proxies to (alternative to Brave). */
|
|
139
|
+
WEB_SEARCH_SEARXNG_URL?: string;
|
|
140
|
+
/** Optional bearer for a SearXNG instance behind an auth proxy. */
|
|
141
|
+
WEB_SEARCH_SEARXNG_API_KEY?: string;
|
|
142
|
+
/** GitHub App id (numeric). Presence enables the integration. */
|
|
143
|
+
GITHUB_APP_ID?: string;
|
|
144
|
+
/** GitHub App slug, used to build the install URL. */
|
|
145
|
+
GITHUB_APP_SLUG?: string;
|
|
146
|
+
/** GitHub REST API base; defaults to https://api.github.com. */
|
|
147
|
+
GITHUB_API_BASE?: string;
|
|
148
|
+
/** Where to redirect the browser after a successful connect. */
|
|
149
|
+
GITHUB_SETUP_REDIRECT_URL?: string;
|
|
150
|
+
/** App private key in PKCS#8 PEM (secret). */
|
|
151
|
+
GITHUB_APP_PRIVATE_KEY?: string;
|
|
152
|
+
/** Webhook signing secret (secret). */
|
|
153
|
+
GITHUB_WEBHOOK_SECRET?: string;
|
|
154
|
+
/** Queue carrying webhook deliveries / resync jobs to the async consumer. */
|
|
155
|
+
GITHUB_SYNC_QUEUE?: Queue<GitHubSyncMessage>;
|
|
156
|
+
/** Workflow that performs durable full-repo backfills. */
|
|
157
|
+
GITHUB_BACKFILL_WORKFLOW?: Workflow;
|
|
158
|
+
/**
|
|
159
|
+
* Second GitHub App id carrying `Administration: write`. An org opts in by
|
|
160
|
+
* installing this App; workspaces bound to that installation can create repos
|
|
161
|
+
* directly. When unset, every installation runs on the restricted default App
|
|
162
|
+
* and repo creation stays the manual "create on GitHub" flow.
|
|
163
|
+
*/
|
|
164
|
+
GITHUB_PRIVILEGED_APP_ID?: string;
|
|
165
|
+
/** Privileged App private key in PKCS#8 PEM (secret). */
|
|
166
|
+
GITHUB_PRIVILEGED_APP_PRIVATE_KEY?: string;
|
|
167
|
+
/** OAuth client id (a GitHub App's or a classic OAuth App's). Enables login. */
|
|
168
|
+
GITHUB_OAUTH_CLIENT_ID?: string;
|
|
169
|
+
/** OAuth client secret (secret). */
|
|
170
|
+
GITHUB_OAUTH_CLIENT_SECRET?: string;
|
|
171
|
+
/** OAuth host; defaults to https://github.com (override for GitHub Enterprise). */
|
|
172
|
+
GITHUB_OAUTH_BASE?: string;
|
|
173
|
+
/** HMAC secret used to sign session tokens + the OAuth state nonce (secret). */
|
|
174
|
+
AUTH_SESSION_SECRET?: string;
|
|
175
|
+
/** Session lifetime in hours; defaults to 168 (7 days). */
|
|
176
|
+
AUTH_SESSION_TTL_HOURS?: string;
|
|
177
|
+
/** Fixed post-login landing URL (the SPA). Recommended in production. */
|
|
178
|
+
AUTH_SUCCESS_REDIRECT_URL?: string;
|
|
179
|
+
/**
|
|
180
|
+
* Comma-separated allowlist of extra origins the post-login `redirect` query
|
|
181
|
+
* may target (e.g. a separately-hosted SPA). The request's own origin is
|
|
182
|
+
* always allowed; anything else is rejected to stop token-leaking redirects.
|
|
183
|
+
*/
|
|
184
|
+
AUTH_ALLOWED_REDIRECT_ORIGINS?: string;
|
|
185
|
+
/** Override the OAuth redirect_uri when the public URL differs from the origin. */
|
|
186
|
+
AUTH_CALLBACK_URL?: string;
|
|
187
|
+
/**
|
|
188
|
+
* Comma-separated allowlist of GitHub logins permitted to sign in. Combined
|
|
189
|
+
* with AUTH_ALLOWED_ORGS as an OR allowlist. When BOTH are empty, sign-in is
|
|
190
|
+
* denied to everyone (fail closed) — an operator must name who may enter.
|
|
191
|
+
*/
|
|
192
|
+
AUTH_ALLOWED_LOGINS?: string;
|
|
193
|
+
/**
|
|
194
|
+
* Comma-separated allowlist of GitHub organization logins whose members may
|
|
195
|
+
* sign in. A user is admitted when they belong to any listed org (membership
|
|
196
|
+
* is read from GitHub at login via the `read:org` scope, requested only when
|
|
197
|
+
* this is set). Combined with AUTH_ALLOWED_LOGINS as an OR allowlist; when
|
|
198
|
+
* BOTH are empty, sign-in is denied to everyone (fail closed).
|
|
199
|
+
*/
|
|
200
|
+
AUTH_ALLOWED_ORGS?: string;
|
|
201
|
+
/**
|
|
202
|
+
* Local-dev/test ONLY escape hatch: set to 'true' to allow the API to run with
|
|
203
|
+
* auth unconfigured (open). It lives in `.dev.vars` (gitignored) and the test
|
|
204
|
+
* bindings, never in the deployed `wrangler.toml`. In production this is unset,
|
|
205
|
+
* so an unconfigured deployment fails closed instead of serving data openly.
|
|
206
|
+
*/
|
|
207
|
+
AUTH_DEV_OPEN?: string;
|
|
208
|
+
/** Set 'true' to offer email/password signup + login (needs a strong session secret). */
|
|
209
|
+
AUTH_PASSWORD_ENABLED?: string;
|
|
210
|
+
/** Comma-separated email domains allowed to self-signup without an invite. */
|
|
211
|
+
AUTH_ALLOWED_EMAIL_DOMAINS?: string;
|
|
212
|
+
/** Google OAuth credentials (login-with-Google); both required to enable it. */
|
|
213
|
+
GOOGLE_OAUTH_CLIENT_ID?: string;
|
|
214
|
+
GOOGLE_OAUTH_CLIENT_SECRET?: string;
|
|
215
|
+
/** Explicit Google redirect_uri; derived from the request origin when unset. */
|
|
216
|
+
GOOGLE_OAUTH_REDIRECT_URL?: string;
|
|
217
|
+
/** Transactional email (invitations): opt-in flag + master key for the per-account API key. */
|
|
218
|
+
EMAIL_ENABLED?: string;
|
|
219
|
+
EMAIL_ENCRYPTION_KEY?: string;
|
|
220
|
+
/** Public SPA base URL the invite-accept link points at. */
|
|
221
|
+
APP_BASE_URL?: string;
|
|
222
|
+
/**
|
|
223
|
+
* Deployment environment marker (e.g. `production`, `staging`, `development`).
|
|
224
|
+
* When set to a production-like value, the AUTH_DEV_OPEN escape hatch is
|
|
225
|
+
* refused even if present — so a leaked dev flag can't re-open a deployed
|
|
226
|
+
* worker. Set `ENVIRONMENT = "production"` in the deployed wrangler.toml.
|
|
227
|
+
*/
|
|
228
|
+
ENVIRONMENT?: string;
|
|
229
|
+
/**
|
|
230
|
+
* Comma-separated allowlist of browser Origins permitted by CORS (e.g. the
|
|
231
|
+
* SPA's origin, `https://app.example.com`). Each provisioning org sets its own
|
|
232
|
+
* frontend origin(s) here. A single `*` (or leaving this unset) allows any
|
|
233
|
+
* origin — safe because every route is bearer-gated and fails closed, but set
|
|
234
|
+
* it in production to harden. See `config/cors.ts` and `app.ts`.
|
|
235
|
+
*/
|
|
236
|
+
CORS_ALLOWED_ORIGINS?: string;
|
|
237
|
+
/**
|
|
238
|
+
* Shared master key (base64, ≥32 bytes decoded; a secret) for encrypting every
|
|
239
|
+
* integration's per-workspace credentials at rest. ONE key backs them all: the
|
|
240
|
+
* cipher domain-separates per integration via its HKDF `info` tag, so document,
|
|
241
|
+
* task, environment and runner credentials never share a derived key. The always-on
|
|
242
|
+
* document/task integrations require it and FAIL config load without it; the opt-in
|
|
243
|
+
* environment/runner integrations need it (plus their enable flag) to assemble.
|
|
244
|
+
*/
|
|
245
|
+
ENCRYPTION_KEY?: string;
|
|
246
|
+
/**
|
|
247
|
+
* Comma-separated allow-list of sources to register (e.g. `confluence,notion`).
|
|
248
|
+
* Defaults to all known sources when unset.
|
|
249
|
+
*/
|
|
250
|
+
DOCUMENT_SOURCES?: string;
|
|
251
|
+
/**
|
|
252
|
+
* Doc → board planner: 'llm' (default) uses the configured agent model to
|
|
253
|
+
* extract structure; 'headings' forces the deterministic heading parser.
|
|
254
|
+
*/
|
|
255
|
+
DOCUMENT_PLANNER?: string;
|
|
256
|
+
/**
|
|
257
|
+
* Comma-separated allow-list of sources to register (e.g. `jira`). Defaults to
|
|
258
|
+
* all known sources when unset.
|
|
259
|
+
*/
|
|
260
|
+
TASK_SOURCES?: string;
|
|
261
|
+
/**
|
|
262
|
+
* Enables the environment provider integration ('true'). Per-workspace provider
|
|
263
|
+
* manifests and their (encrypted) secret bundles live in D1, not here. Secrets are
|
|
264
|
+
* sealed with the shared `ENCRYPTION_KEY`.
|
|
265
|
+
*/
|
|
266
|
+
ENVIRONMENTS_ENABLED?: string;
|
|
267
|
+
/**
|
|
268
|
+
* Comma-separated hostnames exempt from the strict public-https URL guard, for a
|
|
269
|
+
* TRUSTED in-house adapter pointing at an internal env platform (a private/VPN host).
|
|
270
|
+
* Each entry matches exactly, or as a dot suffix when it starts with `.` (`.internal`).
|
|
271
|
+
*/
|
|
272
|
+
ENVIRONMENTS_ALLOW_URL_HOSTS?: string;
|
|
273
|
+
/** `true` to permit `http` (not just `https`) for trusted env/provider URLs. */
|
|
274
|
+
ENVIRONMENTS_ALLOW_HTTP_URLS?: string;
|
|
275
|
+
/**
|
|
276
|
+
* Enables routing repo-operating coding jobs (`coder`, `mocker`, `playwright`)
|
|
277
|
+
* to a workspace's own container runner pool instead of Cloudflare Containers
|
|
278
|
+
* ('true'). Per-workspace pool manifests and their (encrypted) scheduler-API
|
|
279
|
+
* secret bundles live in D1, not here. A workspace with a registered pool uses
|
|
280
|
+
* it; workspaces without one fall back to the Cloudflare `EXEC_CONTAINER`
|
|
281
|
+
* binding. Container-based implementation is always on, so when no
|
|
282
|
+
* `EXEC_CONTAINER` binding is present a registered pool is the mandatory runner
|
|
283
|
+
* backend. Requires a configured GitHub App, WORKER_PUBLIC_URL and the session
|
|
284
|
+
* secret, exactly like the Cloudflare container path. Scheduler secrets are sealed
|
|
285
|
+
* with the shared `ENCRYPTION_KEY`.
|
|
286
|
+
*/
|
|
287
|
+
RUNNERS_ENABLED?: string;
|
|
288
|
+
/** Comma-separated hostnames exempt from the strict public-https guard (see ENVIRONMENTS_ALLOW_URL_HOSTS). */
|
|
289
|
+
RUNNERS_ALLOW_URL_HOSTS?: string;
|
|
290
|
+
/** `true` to permit `http` for a trusted internal pool scheduler URL. */
|
|
291
|
+
RUNNERS_ALLOW_HTTP_URLS?: string;
|
|
292
|
+
/**
|
|
293
|
+
* Enables the Slack notification transport ('true'). The per-account bot token is
|
|
294
|
+
* sealed with the shared `ENCRYPTION_KEY`. The three `SLACK_*` OAuth vars are
|
|
295
|
+
* optional: when all present they enable the "Add to Slack" flow; otherwise an
|
|
296
|
+
* org connects by pasting a bot token.
|
|
297
|
+
*/
|
|
298
|
+
SLACK_ENABLED?: string;
|
|
299
|
+
SLACK_CLIENT_ID?: string;
|
|
300
|
+
SLACK_CLIENT_SECRET?: string;
|
|
301
|
+
SLACK_REDIRECT_URL?: string;
|
|
302
|
+
/**
|
|
303
|
+
* Enables the Datadog post-release-health gate ('true'). The per-workspace API/app
|
|
304
|
+
* keys are sealed with the shared `ENCRYPTION_KEY` (datadog-scoped HKDF info). Off →
|
|
305
|
+
* the `post-release-health` gate is a pass-through.
|
|
306
|
+
*/
|
|
307
|
+
DATADOG_ENABLED?: string;
|
|
308
|
+
/**
|
|
309
|
+
* Optional incident-enrichment credentials (deployment-level): on a regression the
|
|
310
|
+
* on-call investigation is posted onto an incident PagerDuty / incident.io ALREADY
|
|
311
|
+
* opened from the same monitors/SLOs (annotate, never re-alert).
|
|
312
|
+
*/
|
|
313
|
+
PAGERDUTY_API_TOKEN?: string;
|
|
314
|
+
PAGERDUTY_FROM_EMAIL?: string;
|
|
315
|
+
INCIDENTIO_API_KEY?: string;
|
|
316
|
+
/**
|
|
317
|
+
* Enables the tenant-scoped prompt-fragment library ('true'). Fragments and
|
|
318
|
+
* repo-source linkages live in D1; no encryption key is needed (guidelines are
|
|
319
|
+
* not secrets and repo reads reuse the account's GitHub installation).
|
|
320
|
+
*/
|
|
321
|
+
PROMPT_LIBRARY_ENABLED?: string;
|
|
322
|
+
/**
|
|
323
|
+
* Relevance selector mode: 'llm' asks the agent model to pick relevant
|
|
324
|
+
* fragments per run; 'deterministic' (default) matches on appliesTo + tags.
|
|
325
|
+
*/
|
|
326
|
+
PROMPT_LIBRARY_SELECTOR?: string;
|
|
327
|
+
/**
|
|
328
|
+
* Whether the LLM observability sink records the complete prompts sent to the model
|
|
329
|
+
* ('false' to disable). Default true. When disabled the numeric telemetry (tokens,
|
|
330
|
+
* timing, finish reason, counts) is still captured, but the prompt body is stored
|
|
331
|
+
* empty — for deployments that must not retain (potentially sensitive) prompt text.
|
|
332
|
+
*/
|
|
333
|
+
LLM_RECORD_PROMPTS?: string;
|
|
334
|
+
/**
|
|
335
|
+
* Opt-in flag for streaming LLM generations (and container tool spans) to Langfuse.
|
|
336
|
+
* Enabled only when 'true' AND both keys below are set. The sink uses Langfuse's
|
|
337
|
+
* fetch-based ingestion API, so it runs unchanged on the Worker runtime.
|
|
338
|
+
*/
|
|
339
|
+
LANGFUSE_ENABLED?: string;
|
|
340
|
+
/** Langfuse public key (`pk-lf-…`). */
|
|
341
|
+
LANGFUSE_PUBLIC_KEY?: string;
|
|
342
|
+
/** Langfuse secret key (`sk-lf-…`); a Worker secret. */
|
|
343
|
+
LANGFUSE_SECRET_KEY?: string;
|
|
344
|
+
/** Langfuse host; defaults to Langfuse Cloud when unset. */
|
|
345
|
+
LANGFUSE_BASE_URL?: string;
|
|
346
|
+
/**
|
|
347
|
+
* Days of `token_usage` ledger history to keep. The spend budget only reads the
|
|
348
|
+
* current period, so this is generous by default for reporting. Default ~395
|
|
349
|
+
* (13 months, for year-over-year). 0 disables pruning.
|
|
350
|
+
*/
|
|
351
|
+
TOKEN_USAGE_RETENTION_DAYS?: string;
|
|
352
|
+
/**
|
|
353
|
+
* Days of `github_rate_limits` telemetry to keep. Only recent headroom matters,
|
|
354
|
+
* so this is aggressive. Default 7. 0 disables pruning.
|
|
355
|
+
*/
|
|
356
|
+
GITHUB_RATE_LIMIT_RETENTION_DAYS?: string;
|
|
357
|
+
/**
|
|
358
|
+
* Days of `github_commits` projection history to keep. Also bounds the initial
|
|
359
|
+
* backfill window so a large/monorepo connect can't insert full history in one
|
|
360
|
+
* step. Default 90. 0 disables pruning and backfills the full history.
|
|
361
|
+
*/
|
|
362
|
+
GITHUB_COMMIT_RETENTION_DAYS?: string;
|
|
363
|
+
/**
|
|
364
|
+
* Days of `llm_call_metrics` (LLM observability) history to keep. Heavy — full
|
|
365
|
+
* per-call prompt/response — and only useful for recent debugging, so pruned
|
|
366
|
+
* aggressively. Default 3. 0 disables pruning.
|
|
367
|
+
*/
|
|
368
|
+
LLM_CALL_METRICS_RETENTION_DAYS?: string;
|
|
369
|
+
}
|
|
370
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/infrastructure/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/infrastructure/env.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type EnvironmentProvider, type EnvironmentStatusRequest, type EnvironmentTeardownRequest, type EnvironmentStatus, type ProvisionEnvironmentRequest, type ProvisionedEnvironment } from '@cat-factory/kernel';
|
|
2
|
+
/** Carries the HTTP status so the API can surface a meaningful (redacted) error. */
|
|
3
|
+
export declare class EnvironmentApiError extends Error {
|
|
4
|
+
readonly status: number;
|
|
5
|
+
constructor(status: number, message: string);
|
|
6
|
+
}
|
|
7
|
+
export interface HttpEnvironmentProviderOptions {
|
|
8
|
+
defaultTimeoutMs?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class HttpEnvironmentProvider implements EnvironmentProvider {
|
|
11
|
+
private readonly defaultTimeoutMs;
|
|
12
|
+
/** Per-isolate OAuth token cache, keyed by token URL + client id. */
|
|
13
|
+
private readonly oauthCache;
|
|
14
|
+
constructor(options?: HttpEnvironmentProviderOptions);
|
|
15
|
+
provision(req: ProvisionEnvironmentRequest): Promise<ProvisionedEnvironment>;
|
|
16
|
+
status(req: EnvironmentStatusRequest): Promise<ProvisionedEnvironment>;
|
|
17
|
+
teardown(req: EnvironmentTeardownRequest): Promise<{
|
|
18
|
+
status: EnvironmentStatus;
|
|
19
|
+
}>;
|
|
20
|
+
private execute;
|
|
21
|
+
private buildUrl;
|
|
22
|
+
private authHeaders;
|
|
23
|
+
private oauthToken;
|
|
24
|
+
private mapResponse;
|
|
25
|
+
private mapAccess;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=HttpEnvironmentProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpEnvironmentProvider.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/environments/HttpEnvironmentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,mBAAmB,EAExB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAEhC,KAAK,sBAAsB,EAE5B,MAAM,qBAAqB,CAAA;AAqB5B,oFAAoF;AACpF,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,QAAQ,CAAC,MAAM,EAAE,MAAM;IADzB,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAIhB;CACF;AAqFD,MAAM,WAAW,8BAA8B;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,qBAAa,uBAAwB,YAAW,mBAAmB;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0D;IAErF,YAAY,OAAO,GAAE,8BAAmC,EAEvD;IAEK,SAAS,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAajF;IAEK,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwB3E;IAEK,QAAQ,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAatF;YAIa,OAAO;IAmDrB,OAAO,CAAC,QAAQ;YAoBF,WAAW;YAgCX,UAAU;IAsDxB,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,SAAS;CAiBlB"}
|