@cat-factory/orchestration 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/container.d.ts +460 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +657 -0
- package/dist/container.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/board/BoardService.d.ts +125 -0
- package/dist/modules/board/BoardService.d.ts.map +1 -0
- package/dist/modules/board/BoardService.js +496 -0
- package/dist/modules/board/BoardService.js.map +1 -0
- package/dist/modules/board/board.logic.d.ts +17 -0
- package/dist/modules/board/board.logic.d.ts.map +1 -0
- package/dist/modules/board/board.logic.js +51 -0
- package/dist/modules/board/board.logic.js.map +1 -0
- package/dist/modules/boardScan/BoardScanService.d.ts +35 -0
- package/dist/modules/boardScan/BoardScanService.d.ts.map +1 -0
- package/dist/modules/boardScan/BoardScanService.js +91 -0
- package/dist/modules/boardScan/BoardScanService.js.map +1 -0
- package/dist/modules/boardScan/board-scan.logic.d.ts +10 -0
- package/dist/modules/boardScan/board-scan.logic.d.ts.map +1 -0
- package/dist/modules/boardScan/board-scan.logic.js +26 -0
- package/dist/modules/boardScan/board-scan.logic.js.map +1 -0
- package/dist/modules/bootstrap/BootstrapService.d.ts +114 -0
- package/dist/modules/bootstrap/BootstrapService.d.ts.map +1 -0
- package/dist/modules/bootstrap/BootstrapService.js +516 -0
- package/dist/modules/bootstrap/BootstrapService.js.map +1 -0
- package/dist/modules/clarity/ClarityReviewService.d.ts +48 -0
- package/dist/modules/clarity/ClarityReviewService.d.ts.map +1 -0
- package/dist/modules/clarity/ClarityReviewService.js +63 -0
- package/dist/modules/clarity/ClarityReviewService.js.map +1 -0
- package/dist/modules/clarity/clarity.logic.d.ts +36 -0
- package/dist/modules/clarity/clarity.logic.d.ts.map +1 -0
- package/dist/modules/clarity/clarity.logic.js +98 -0
- package/dist/modules/clarity/clarity.logic.js.map +1 -0
- package/dist/modules/estimation/estimate.logic.d.ts +11 -0
- package/dist/modules/estimation/estimate.logic.d.ts.map +1 -0
- package/dist/modules/estimation/estimate.logic.js +37 -0
- package/dist/modules/estimation/estimate.logic.js.map +1 -0
- package/dist/modules/execution/AgentContextBuilder.d.ts +114 -0
- package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -0
- package/dist/modules/execution/AgentContextBuilder.js +316 -0
- package/dist/modules/execution/AgentContextBuilder.js.map +1 -0
- package/dist/modules/execution/CompanionController.d.ts +60 -0
- package/dist/modules/execution/CompanionController.d.ts.map +1 -0
- package/dist/modules/execution/CompanionController.js +216 -0
- package/dist/modules/execution/CompanionController.js.map +1 -0
- package/dist/modules/execution/ExecutionService.d.ts +874 -0
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -0
- package/dist/modules/execution/ExecutionService.js +2921 -0
- package/dist/modules/execution/ExecutionService.js.map +1 -0
- package/dist/modules/execution/MergeResolver.d.ts +34 -0
- package/dist/modules/execution/MergeResolver.d.ts.map +1 -0
- package/dist/modules/execution/MergeResolver.js +81 -0
- package/dist/modules/execution/MergeResolver.js.map +1 -0
- package/dist/modules/execution/ReviewGateController.d.ts +163 -0
- package/dist/modules/execution/ReviewGateController.d.ts.map +1 -0
- package/dist/modules/execution/ReviewGateController.js +251 -0
- package/dist/modules/execution/ReviewGateController.js.map +1 -0
- package/dist/modules/execution/TesterController.d.ts +61 -0
- package/dist/modules/execution/TesterController.d.ts.map +1 -0
- package/dist/modules/execution/TesterController.js +215 -0
- package/dist/modules/execution/TesterController.js.map +1 -0
- package/dist/modules/execution/advance.d.ts +84 -0
- package/dist/modules/execution/advance.d.ts.map +1 -0
- package/dist/modules/execution/advance.js +2 -0
- package/dist/modules/execution/advance.js.map +1 -0
- package/dist/modules/execution/artifact-review.logic.d.ts +25 -0
- package/dist/modules/execution/artifact-review.logic.d.ts.map +1 -0
- package/dist/modules/execution/artifact-review.logic.js +39 -0
- package/dist/modules/execution/artifact-review.logic.js.map +1 -0
- package/dist/modules/execution/ci.logic.d.ts +101 -0
- package/dist/modules/execution/ci.logic.d.ts.map +1 -0
- package/dist/modules/execution/ci.logic.js +117 -0
- package/dist/modules/execution/ci.logic.js.map +1 -0
- package/dist/modules/execution/drive.d.ts +47 -0
- package/dist/modules/execution/drive.d.ts.map +1 -0
- package/dist/modules/execution/drive.js +112 -0
- package/dist/modules/execution/drive.js.map +1 -0
- package/dist/modules/execution/gates.d.ts +97 -0
- package/dist/modules/execution/gates.d.ts.map +1 -0
- package/dist/modules/execution/gates.js +2 -0
- package/dist/modules/execution/gates.js.map +1 -0
- package/dist/modules/execution/individualVendors.logic.d.ts +22 -0
- package/dist/modules/execution/individualVendors.logic.d.ts.map +1 -0
- package/dist/modules/execution/individualVendors.logic.js +33 -0
- package/dist/modules/execution/individualVendors.logic.js.map +1 -0
- package/dist/modules/execution/job.logic.d.ts +52 -0
- package/dist/modules/execution/job.logic.d.ts.map +1 -0
- package/dist/modules/execution/job.logic.js +56 -0
- package/dist/modules/execution/job.logic.js.map +1 -0
- package/dist/modules/execution/release.logic.d.ts +43 -0
- package/dist/modules/execution/release.logic.d.ts.map +1 -0
- package/dist/modules/execution/release.logic.js +49 -0
- package/dist/modules/execution/release.logic.js.map +1 -0
- package/dist/modules/execution/retry.logic.d.ts +40 -0
- package/dist/modules/execution/retry.logic.d.ts.map +1 -0
- package/dist/modules/execution/retry.logic.js +83 -0
- package/dist/modules/execution/retry.logic.js.map +1 -0
- package/dist/modules/execution/stepGating.logic.d.ts +15 -0
- package/dist/modules/execution/stepGating.logic.d.ts.map +1 -0
- package/dist/modules/execution/stepGating.logic.js +29 -0
- package/dist/modules/execution/stepGating.logic.js.map +1 -0
- package/dist/modules/execution/stepResolvers.d.ts +41 -0
- package/dist/modules/execution/stepResolvers.d.ts.map +1 -0
- package/dist/modules/execution/stepResolvers.js +2 -0
- package/dist/modules/execution/stepResolvers.js.map +1 -0
- package/dist/modules/execution/tester-infra.logic.d.ts +42 -0
- package/dist/modules/execution/tester-infra.logic.d.ts.map +1 -0
- package/dist/modules/execution/tester-infra.logic.js +46 -0
- package/dist/modules/execution/tester-infra.logic.js.map +1 -0
- package/dist/modules/merge/MergePresetService.d.ts +32 -0
- package/dist/modules/merge/MergePresetService.d.ts.map +1 -0
- package/dist/modules/merge/MergePresetService.js +109 -0
- package/dist/modules/merge/MergePresetService.js.map +1 -0
- package/dist/modules/modelDefaults/ModelDefaultsService.d.ts +22 -0
- package/dist/modules/modelDefaults/ModelDefaultsService.d.ts.map +1 -0
- package/dist/modules/modelDefaults/ModelDefaultsService.js +28 -0
- package/dist/modules/modelDefaults/ModelDefaultsService.js.map +1 -0
- package/dist/modules/notifications/NotificationService.d.ts +74 -0
- package/dist/modules/notifications/NotificationService.d.ts.map +1 -0
- package/dist/modules/notifications/NotificationService.js +131 -0
- package/dist/modules/notifications/NotificationService.js.map +1 -0
- package/dist/modules/observability/LlmObservabilityService.d.ts +121 -0
- package/dist/modules/observability/LlmObservabilityService.d.ts.map +1 -0
- package/dist/modules/observability/LlmObservabilityService.js +140 -0
- package/dist/modules/observability/LlmObservabilityService.js.map +1 -0
- package/dist/modules/observability/observability.logic.d.ts +57 -0
- package/dist/modules/observability/observability.logic.d.ts.map +1 -0
- package/dist/modules/observability/observability.logic.js +186 -0
- package/dist/modules/observability/observability.logic.js.map +1 -0
- package/dist/modules/pipelines/PipelineService.d.ts +54 -0
- package/dist/modules/pipelines/PipelineService.d.ts.map +1 -0
- package/dist/modules/pipelines/PipelineService.js +226 -0
- package/dist/modules/pipelines/PipelineService.js.map +1 -0
- package/dist/modules/pipelines/pipelineShape.d.ts +53 -0
- package/dist/modules/pipelines/pipelineShape.d.ts.map +1 -0
- package/dist/modules/pipelines/pipelineShape.js +74 -0
- package/dist/modules/pipelines/pipelineShape.js.map +1 -0
- package/dist/modules/recurring/RecurringPipelineService.d.ts +76 -0
- package/dist/modules/recurring/RecurringPipelineService.d.ts.map +1 -0
- package/dist/modules/recurring/RecurringPipelineService.js +295 -0
- package/dist/modules/recurring/RecurringPipelineService.js.map +1 -0
- package/dist/modules/recurring/TrackerSettingsService.d.ts +16 -0
- package/dist/modules/recurring/TrackerSettingsService.d.ts.map +1 -0
- package/dist/modules/recurring/TrackerSettingsService.js +30 -0
- package/dist/modules/recurring/TrackerSettingsService.js.map +1 -0
- package/dist/modules/recurring/schedule.logic.d.ts +14 -0
- package/dist/modules/recurring/schedule.logic.d.ts.map +1 -0
- package/dist/modules/recurring/schedule.logic.js +85 -0
- package/dist/modules/recurring/schedule.logic.js.map +1 -0
- package/dist/modules/releaseHealth/ReleaseHealthService.d.ts +38 -0
- package/dist/modules/releaseHealth/ReleaseHealthService.d.ts.map +1 -0
- package/dist/modules/releaseHealth/ReleaseHealthService.js +96 -0
- package/dist/modules/releaseHealth/ReleaseHealthService.js.map +1 -0
- package/dist/modules/requirements/RequirementReviewService.d.ts +48 -0
- package/dist/modules/requirements/RequirementReviewService.d.ts.map +1 -0
- package/dist/modules/requirements/RequirementReviewService.js +83 -0
- package/dist/modules/requirements/RequirementReviewService.js.map +1 -0
- package/dist/modules/requirements/requirements.logic.d.ts +93 -0
- package/dist/modules/requirements/requirements.logic.d.ts.map +1 -0
- package/dist/modules/requirements/requirements.logic.js +203 -0
- package/dist/modules/requirements/requirements.logic.js.map +1 -0
- package/dist/modules/review/IterativeReviewService.d.ts +175 -0
- package/dist/modules/review/IterativeReviewService.d.ts.map +1 -0
- package/dist/modules/review/IterativeReviewService.js +327 -0
- package/dist/modules/review/IterativeReviewService.js.map +1 -0
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsService.d.ts +20 -0
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsService.d.ts.map +1 -0
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsService.js +26 -0
- package/dist/modules/serviceFragmentDefaults/ServiceFragmentDefaultsService.js.map +1 -0
- package/dist/modules/services/ServiceMountService.d.ts +48 -0
- package/dist/modules/services/ServiceMountService.d.ts.map +1 -0
- package/dist/modules/services/ServiceMountService.js +90 -0
- package/dist/modules/services/ServiceMountService.js.map +1 -0
- package/dist/modules/settings/WorkspaceSettingsService.d.ts +22 -0
- package/dist/modules/settings/WorkspaceSettingsService.d.ts.map +1 -0
- package/dist/modules/settings/WorkspaceSettingsService.js +50 -0
- package/dist/modules/settings/WorkspaceSettingsService.js.map +1 -0
- package/package.json +41 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Igor Savin
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
import type { BlockRepository, ExecutionRepository, PipelineRepository, WorkspaceRepository } from '@cat-factory/kernel';
|
|
2
|
+
import type { AccountRepository, MembershipRepository } from '@cat-factory/kernel';
|
|
3
|
+
import type { AccountInvitationRepository, EmailConnectionRepository, PasswordHasher, UserRepository } from '@cat-factory/kernel';
|
|
4
|
+
import type { ServiceRepository, WorkspaceMountRepository } from '@cat-factory/kernel';
|
|
5
|
+
import { ServiceMountService } from './modules/services/ServiceMountService.js';
|
|
6
|
+
import type { Clock, IdGenerator } from '@cat-factory/kernel';
|
|
7
|
+
import type { AgentExecutor } from '@cat-factory/kernel';
|
|
8
|
+
import type { TokenUsageRepository } from '@cat-factory/kernel';
|
|
9
|
+
import type { LlmCallMetricRepository } from '@cat-factory/kernel';
|
|
10
|
+
import type { LlmTraceSink } from '@cat-factory/kernel';
|
|
11
|
+
import { type WorkRunner } from '@cat-factory/kernel';
|
|
12
|
+
import { type ExecutionEventPublisher } from '@cat-factory/kernel';
|
|
13
|
+
import type { GitHubClient } from '@cat-factory/kernel';
|
|
14
|
+
import type { GitHubProvisioningClient } from '@cat-factory/kernel';
|
|
15
|
+
import type { WebhookVerifier } from '@cat-factory/kernel';
|
|
16
|
+
import type { ModelProvider, ModelProviderResolver, ModelRef, ProviderCapabilities } from '@cat-factory/kernel';
|
|
17
|
+
import type { DocumentSourceProvider } from '@cat-factory/kernel';
|
|
18
|
+
import type { DocumentConnectionRepository, DocumentRepository } from '@cat-factory/kernel';
|
|
19
|
+
import type { TaskSourceProvider } from '@cat-factory/kernel';
|
|
20
|
+
import type { TaskConnectionRepository, TaskRepository } from '@cat-factory/kernel';
|
|
21
|
+
import type { EnvironmentProvider, UrlSafetyPolicy } from '@cat-factory/kernel';
|
|
22
|
+
import type { EnvironmentConnectionRepository, EnvironmentRegistryRepository } from '@cat-factory/kernel';
|
|
23
|
+
import type { RunnerPoolConnectionRepository } from '@cat-factory/kernel';
|
|
24
|
+
import type { BootstrapJobRepository, ReferenceArchitectureRepository } from '@cat-factory/kernel';
|
|
25
|
+
import type { RepoBootstrapper } from '@cat-factory/kernel';
|
|
26
|
+
import type { BootstrapRunner } from '@cat-factory/kernel';
|
|
27
|
+
import type { RequirementReviewRepository } from '@cat-factory/kernel';
|
|
28
|
+
import type { ClarityReviewRepository } from '@cat-factory/kernel';
|
|
29
|
+
import type { SubscriptionActivationRepository } from '@cat-factory/kernel';
|
|
30
|
+
import type { CiStatusProvider, MergePresetRepository, WorkspaceSettingsRepository, ModelDefaultsRepository, ServiceFragmentDefaultsRepository, NotificationChannel, NotificationRepository, PipelineScheduleRepository, PullRequestMerger, PullRequestMergeabilityProvider, ReleaseHealthProvider, IncidentEnrichmentProvider, DatadogConnectionRepository, ReleaseHealthConfigRepository, TicketTrackerProvider, TrackerSettingsRepository } from '@cat-factory/kernel';
|
|
31
|
+
import type { SlackConnectionRepository, SlackMemberMappingRepository, SlackSettingsRepository } from '@cat-factory/kernel';
|
|
32
|
+
import type { SecretCipher } from '@cat-factory/kernel';
|
|
33
|
+
import type { FragmentSourceRepository, PromptFragmentRepository } from '@cat-factory/kernel';
|
|
34
|
+
import type { FragmentSelector } from '@cat-factory/kernel';
|
|
35
|
+
import type { BranchProjectionRepository, CheckRunProjectionRepository, CommitProjectionRepository, GitHubInstallation, GitHubInstallationRepository, IssueProjectionRepository, PullRequestProjectionRepository, RepoProjectionRepository } from '@cat-factory/kernel';
|
|
36
|
+
import { BoardService } from './modules/board/BoardService.js';
|
|
37
|
+
import { ExecutionService } from './modules/execution/ExecutionService.js';
|
|
38
|
+
import { PipelineService } from './modules/pipelines/PipelineService.js';
|
|
39
|
+
import { WorkspaceService } from '@cat-factory/workspaces';
|
|
40
|
+
import { AccountService } from '@cat-factory/workspaces';
|
|
41
|
+
import { UserService } from '@cat-factory/workspaces';
|
|
42
|
+
import { InvitationService } from '@cat-factory/workspaces';
|
|
43
|
+
import { EmailConnectionService } from '@cat-factory/integrations';
|
|
44
|
+
import { SpendService, type SpendPricing } from '@cat-factory/spend';
|
|
45
|
+
import { LlmObservabilityService } from './modules/observability/LlmObservabilityService.js';
|
|
46
|
+
import { GitHubInstallationService, RepoProvisioningService, GitHubService, GitHubSyncService, WebhookService, DocumentConnectionService, DocumentImportService, DocumentPlannerService, DocumentLinkService, TaskConnectionService, TaskImportService, TaskLinkService, EnvironmentConnectionService, EnvironmentProvisioningService, EnvironmentTeardownService, RunnerPoolConnectionService, SlackConnectionService, SlackSettingsService, SlackMemberMappingService } from '@cat-factory/integrations';
|
|
47
|
+
import { BootstrapService } from './modules/bootstrap/BootstrapService.js';
|
|
48
|
+
import { RequirementReviewService } from './modules/requirements/RequirementReviewService.js';
|
|
49
|
+
import { ClarityReviewService } from './modules/clarity/ClarityReviewService.js';
|
|
50
|
+
import { NotificationService } from './modules/notifications/NotificationService.js';
|
|
51
|
+
import { MergePresetService } from './modules/merge/MergePresetService.js';
|
|
52
|
+
import { WorkspaceSettingsService } from './modules/settings/WorkspaceSettingsService.js';
|
|
53
|
+
import { ReleaseHealthService } from './modules/releaseHealth/ReleaseHealthService.js';
|
|
54
|
+
import { ModelDefaultsService } from './modules/modelDefaults/ModelDefaultsService.js';
|
|
55
|
+
import { ServiceFragmentDefaultsService } from './modules/serviceFragmentDefaults/ServiceFragmentDefaultsService.js';
|
|
56
|
+
import { RecurringPipelineService } from './modules/recurring/RecurringPipelineService.js';
|
|
57
|
+
import { TrackerSettingsService } from './modules/recurring/TrackerSettingsService.js';
|
|
58
|
+
import { FragmentLibraryService, FragmentSourceService, type ResolveFragmentInstallationId } from '@cat-factory/agents';
|
|
59
|
+
export interface CoreDependencies {
|
|
60
|
+
workspaceRepository: WorkspaceRepository;
|
|
61
|
+
/** Account tenancy: accounts own workspaces; memberships grant access (0017). */
|
|
62
|
+
accountRepository: AccountRepository;
|
|
63
|
+
membershipRepository: MembershipRepository;
|
|
64
|
+
/** Canonical user identity (`users` + `user_identities`); keyed off by everything. */
|
|
65
|
+
userRepository: UserRepository;
|
|
66
|
+
/** Hashes/verifies email-password credentials (WebCrypto PBKDF2). */
|
|
67
|
+
passwordHasher: PasswordHasher;
|
|
68
|
+
/** Account invitations (email-based org onboarding). Optional: opt-in feature. */
|
|
69
|
+
invitationRepository?: AccountInvitationRepository;
|
|
70
|
+
/** Per-account email-sender connections (UI-onboarded, DB-stored). Optional. */
|
|
71
|
+
emailConnectionRepository?: EmailConnectionRepository;
|
|
72
|
+
/** Master-key cipher sealing the per-account email API key at rest. */
|
|
73
|
+
emailSecretCipher?: SecretCipher;
|
|
74
|
+
/** Base URL the invite-accept link points at (SPA origin). */
|
|
75
|
+
appBaseUrl?: string;
|
|
76
|
+
blockRepository: BlockRepository;
|
|
77
|
+
pipelineRepository: PipelineRepository;
|
|
78
|
+
executionRepository: ExecutionRepository;
|
|
79
|
+
/**
|
|
80
|
+
* In-org shared services (account-owned services + per-workspace mounts, 0030).
|
|
81
|
+
* Optional so facades/tests without them wired keep the feature cleanly opt-in.
|
|
82
|
+
*/
|
|
83
|
+
serviceRepository?: ServiceRepository;
|
|
84
|
+
workspaceMountRepository?: WorkspaceMountRepository;
|
|
85
|
+
idGenerator: IdGenerator;
|
|
86
|
+
clock: Clock;
|
|
87
|
+
/**
|
|
88
|
+
* Performs each pipeline step. Wire AiAgentExecutor (optionally composed with
|
|
89
|
+
* the container executor for repo-operating steps) for real work, or a fake in
|
|
90
|
+
* tests.
|
|
91
|
+
*/
|
|
92
|
+
agentExecutor: AgentExecutor;
|
|
93
|
+
/** Ledger backing the spend safeguard (per-call token usage). */
|
|
94
|
+
tokenUsageRepository: TokenUsageRepository;
|
|
95
|
+
/**
|
|
96
|
+
* Sink backing LLM observability (full per-call prompt/response, output-limit
|
|
97
|
+
* headroom, transport-vs-execution latency). Optional and default-off: when
|
|
98
|
+
* present the proxy records every container-agent call and the engine rolls the
|
|
99
|
+
* aggregates onto pipeline steps; absent → no observability is collected and
|
|
100
|
+
* tests/unconfigured facades are unaffected.
|
|
101
|
+
*/
|
|
102
|
+
llmCallMetricRepository?: LlmCallMetricRepository;
|
|
103
|
+
/**
|
|
104
|
+
* Whether the LLM observability sink persists the full prompt body with each metric.
|
|
105
|
+
* Defaults to true; set false (via `LLM_RECORD_PROMPTS=false`) to keep the numeric
|
|
106
|
+
* telemetry while storing the complete prompts empty. Only meaningful when
|
|
107
|
+
* `llmCallMetricRepository` is wired.
|
|
108
|
+
*/
|
|
109
|
+
recordLlmPrompts?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Optional external LLM trace sink (e.g. Langfuse). When wired, the observability
|
|
112
|
+
* service fans every recorded call out to it as a generation. Opt-in and default-off;
|
|
113
|
+
* a facade wires it only when configured (`selectLangfuseSink`).
|
|
114
|
+
*/
|
|
115
|
+
llmTraceSink?: LlmTraceSink;
|
|
116
|
+
/**
|
|
117
|
+
* Drives runs durably outside the starting request. Defaults to a no-op (tests);
|
|
118
|
+
* the worker wires WorkflowsWorkRunner when the Workflows binding is present.
|
|
119
|
+
*/
|
|
120
|
+
workRunner?: WorkRunner;
|
|
121
|
+
/**
|
|
122
|
+
* Pushes execution/board changes to connected clients in real time, replacing
|
|
123
|
+
* the browser's `tick` polling. Defaults to a no-op (tests, or any deployment
|
|
124
|
+
* without the WORKSPACE_EVENTS binding); the worker wires
|
|
125
|
+
* DurableObjectEventPublisher when that binding is present.
|
|
126
|
+
*/
|
|
127
|
+
executionEventPublisher?: ExecutionEventPublisher;
|
|
128
|
+
/**
|
|
129
|
+
* Pricing and budget for the spend safeguard. Defaults to the built-in
|
|
130
|
+
* approximate EUR prices and a ~100 EUR/month limit; the worker overrides
|
|
131
|
+
* this from env, and tests can inject a tiny limit to exercise pausing.
|
|
132
|
+
*/
|
|
133
|
+
spendPricing?: SpendPricing;
|
|
134
|
+
githubClient?: GitHubClient;
|
|
135
|
+
githubInstallationRepository?: GitHubInstallationRepository;
|
|
136
|
+
repoProjectionRepository?: RepoProjectionRepository;
|
|
137
|
+
branchProjectionRepository?: BranchProjectionRepository;
|
|
138
|
+
pullRequestProjectionRepository?: PullRequestProjectionRepository;
|
|
139
|
+
issueProjectionRepository?: IssueProjectionRepository;
|
|
140
|
+
commitProjectionRepository?: CommitProjectionRepository;
|
|
141
|
+
checkRunProjectionRepository?: CheckRunProjectionRepository;
|
|
142
|
+
webhookVerifier?: WebhookVerifier;
|
|
143
|
+
/**
|
|
144
|
+
* Bounds the initial commit backfill window (see GitHubSyncService). The worker
|
|
145
|
+
* sets this from the commit retention horizon so backfill and retention agree;
|
|
146
|
+
* undefined backfills the full history.
|
|
147
|
+
*/
|
|
148
|
+
commitBackfillHorizonMs?: number;
|
|
149
|
+
/**
|
|
150
|
+
* The privileged App's provisioning client (ADR 0005). Present only when a
|
|
151
|
+
* privileged App is configured; backs the create-repo endpoint. Absent → the
|
|
152
|
+
* `github` module exposes no `provisioningService` and creation stays manual.
|
|
153
|
+
*/
|
|
154
|
+
repoProvisioningClient?: GitHubProvisioningClient;
|
|
155
|
+
/**
|
|
156
|
+
* Whether the privileged App tier can create repos for an installation (ADR
|
|
157
|
+
* 0005) — true when its owning App is the privileged one. Surfaced on the
|
|
158
|
+
* connection so the UI drops the manual create step; absent → always false.
|
|
159
|
+
*/
|
|
160
|
+
canCreateRepos?: (installation: GitHubInstallation) => boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Whether an installation actually granted `workflows: write`. Surfaced on the
|
|
163
|
+
* connection so the UI can warn that agent pushes touching `.github/workflows/*`
|
|
164
|
+
* would be rejected; absent → always false.
|
|
165
|
+
*/
|
|
166
|
+
workflowsGranted?: (installation: GitHubInstallation) => Promise<boolean>;
|
|
167
|
+
modelProvider?: ModelProvider;
|
|
168
|
+
/**
|
|
169
|
+
* Resolve a {@link ModelProvider} for a run's credential scope (the DB-backed API-key
|
|
170
|
+
* pool, account/workspace/user). Preferred over the static `modelProvider` by the
|
|
171
|
+
* inline consumers (document planner, requirements reviewer); the facade supplies it
|
|
172
|
+
* so inline calls use the same per-scope pool the container LLM proxy does.
|
|
173
|
+
*/
|
|
174
|
+
modelProviderResolver?: ModelProviderResolver;
|
|
175
|
+
/** Model the document planner uses (the agents' default model ref). */
|
|
176
|
+
documentPlannerModel?: ModelRef;
|
|
177
|
+
documentSourceProviders?: DocumentSourceProvider[];
|
|
178
|
+
documentConnectionRepository?: DocumentConnectionRepository;
|
|
179
|
+
documentRepository?: DocumentRepository;
|
|
180
|
+
taskSourceProviders?: TaskSourceProvider[];
|
|
181
|
+
taskConnectionRepository?: TaskConnectionRepository;
|
|
182
|
+
taskRepository?: TaskRepository;
|
|
183
|
+
environmentProvider?: EnvironmentProvider;
|
|
184
|
+
environmentConnectionRepository?: EnvironmentConnectionRepository;
|
|
185
|
+
environmentRegistryRepository?: EnvironmentRegistryRepository;
|
|
186
|
+
secretCipher?: SecretCipher;
|
|
187
|
+
environmentUrlSafetyPolicy?: UrlSafetyPolicy;
|
|
188
|
+
runnerPoolConnectionRepository?: RunnerPoolConnectionRepository;
|
|
189
|
+
runnerSecretCipher?: SecretCipher;
|
|
190
|
+
runnerUrlSafetyPolicy?: UrlSafetyPolicy;
|
|
191
|
+
referenceArchitectureRepository?: ReferenceArchitectureRepository;
|
|
192
|
+
bootstrapJobRepository?: BootstrapJobRepository;
|
|
193
|
+
repoBootstrapper?: RepoBootstrapper;
|
|
194
|
+
/** Durably drives a bootstrap run's poll loop; without it, runs aren't auto-driven. */
|
|
195
|
+
bootstrapRunner?: BootstrapRunner;
|
|
196
|
+
requirementReviewRepository?: RequirementReviewRepository;
|
|
197
|
+
/**
|
|
198
|
+
* Persistence for the clarity-review (bug-report triage) feature. Mirrors
|
|
199
|
+
* `requirementReviewRepository`: both runtime facades wire it unconditionally. The
|
|
200
|
+
* clarity service reuses the requirements reviewer's model config below.
|
|
201
|
+
*/
|
|
202
|
+
clarityReviewRepository?: ClarityReviewRepository;
|
|
203
|
+
/**
|
|
204
|
+
* Optional: per-run personal-credential activations (individual-usage subscriptions).
|
|
205
|
+
* Passed through to the ExecutionService so a finished run's activation is cleared
|
|
206
|
+
* promptly. Both runtime facades wire it when ENCRYPTION_KEY is present.
|
|
207
|
+
*/
|
|
208
|
+
subscriptionActivationRepository?: SubscriptionActivationRepository;
|
|
209
|
+
/**
|
|
210
|
+
* Default model the requirements reviewer uses when a block pins none.
|
|
211
|
+
* Independent of the documents config so the reviewer works whenever a model
|
|
212
|
+
* provider is wired; the worker sets it to the agents' routing default (which
|
|
213
|
+
* resolves to Cloudflare Workers AI unless a direct key is set). Falls back to
|
|
214
|
+
* `documentPlannerModel` when absent.
|
|
215
|
+
*/
|
|
216
|
+
requirementReviewModel?: ModelRef;
|
|
217
|
+
/**
|
|
218
|
+
* Resolve a block's pinned model id to a ref for the reviewer, honouring the
|
|
219
|
+
* direct/Cloudflare fallback — the same resolver the agent executor uses. The
|
|
220
|
+
* worker wires `config.agents.resolveBlockModel`; absent → the reviewer always
|
|
221
|
+
* uses the default ref above.
|
|
222
|
+
*/
|
|
223
|
+
requirementReviewResolveModel?: (modelId: string | undefined) => ModelRef | undefined;
|
|
224
|
+
promptFragmentRepository?: PromptFragmentRepository;
|
|
225
|
+
fragmentSourceRepository?: FragmentSourceRepository;
|
|
226
|
+
fragmentSelector?: FragmentSelector;
|
|
227
|
+
resolveFragmentInstallationId?: ResolveFragmentInstallationId;
|
|
228
|
+
notificationRepository?: NotificationRepository;
|
|
229
|
+
notificationChannel?: NotificationChannel;
|
|
230
|
+
slackConnectionRepository?: SlackConnectionRepository;
|
|
231
|
+
slackSettingsRepository?: SlackSettingsRepository;
|
|
232
|
+
slackMemberMappingRepository?: SlackMemberMappingRepository;
|
|
233
|
+
slackSecretCipher?: SecretCipher;
|
|
234
|
+
slackOAuth?: {
|
|
235
|
+
clientId: string;
|
|
236
|
+
clientSecret: string;
|
|
237
|
+
redirectUrl: string;
|
|
238
|
+
};
|
|
239
|
+
/** Reads a block's PR CI checks so the `ci` step can gate on green CI. */
|
|
240
|
+
ciStatusProvider?: CiStatusProvider;
|
|
241
|
+
/** Reads a block's PR mergeability so the `conflicts` step can gate on it. */
|
|
242
|
+
mergeabilityProvider?: PullRequestMergeabilityProvider;
|
|
243
|
+
/** Performs the real GitHub merge so a task's `done` means "PR merged". */
|
|
244
|
+
pullRequestMerger?: PullRequestMerger;
|
|
245
|
+
/** Reads a release's Datadog monitors/SLOs so the `post-release-health` gate can watch. */
|
|
246
|
+
releaseHealthProvider?: ReleaseHealthProvider;
|
|
247
|
+
/** Annotates an open PagerDuty/incident.io incident with the on-call investigation. */
|
|
248
|
+
incidentEnrichment?: IncidentEnrichmentProvider;
|
|
249
|
+
/** Stores a workspace's Datadog connection (sealed keys) for the post-release-health gate. */
|
|
250
|
+
datadogConnectionRepository?: DatadogConnectionRepository;
|
|
251
|
+
/** Stores per-block monitor/SLO mappings the post-release-health gate reads. */
|
|
252
|
+
releaseHealthConfigRepository?: ReleaseHealthConfigRepository;
|
|
253
|
+
/** Seals Datadog credentials at rest (domain tag 'cat-factory:datadog'). */
|
|
254
|
+
datadogSecretCipher?: SecretCipher;
|
|
255
|
+
/** Resolves a task's merge threshold preset (auto-merge ceilings + CI attempt budget). */
|
|
256
|
+
mergePresetRepository?: MergePresetRepository;
|
|
257
|
+
/**
|
|
258
|
+
* Stores a workspace's runtime settings (the human-wait escalation threshold + the
|
|
259
|
+
* per-service running-task limit policy). Optional and default-off: absent → the
|
|
260
|
+
* `settings` module isn't assembled, the limit is never enforced, and the escalation
|
|
261
|
+
* sweep falls back to the built-in default threshold.
|
|
262
|
+
*/
|
|
263
|
+
workspaceSettingsRepository?: WorkspaceSettingsRepository;
|
|
264
|
+
/**
|
|
265
|
+
* Stores a workspace's per-agent-kind default models (the model each agent kind
|
|
266
|
+
* defaults to, overriding the env routing for that workspace). Optional and
|
|
267
|
+
* default-off: absent → the `modelDefaults` module isn't assembled and the env
|
|
268
|
+
* routing is used everywhere.
|
|
269
|
+
*/
|
|
270
|
+
modelDefaultsRepository?: ModelDefaultsRepository;
|
|
271
|
+
/**
|
|
272
|
+
* Resolve the provider capabilities (configured direct API keys + subscription
|
|
273
|
+
* vendors + whether Cloudflare AI is enabled) for a workspace and the run initiator.
|
|
274
|
+
* The pipeline-start guard uses it to block a run whose steps' canonical models have
|
|
275
|
+
* no usable provider. Wired by each facade from its API-key + subscription services;
|
|
276
|
+
* absent → the guard is skipped.
|
|
277
|
+
*/
|
|
278
|
+
resolveProviderCapabilities?: (workspaceId: string, initiatedBy?: string | null) => Promise<ProviderCapabilities>;
|
|
279
|
+
/**
|
|
280
|
+
* Stores a workspace's default service-fragment selection (the best-practice
|
|
281
|
+
* fragment ids new services inherit). Optional and default-off: absent → the
|
|
282
|
+
* `serviceFragmentDefaults` module isn't assembled, new services start with no
|
|
283
|
+
* service-level fragments, and `code-aware` agents only see the block's own pins.
|
|
284
|
+
*/
|
|
285
|
+
serviceFragmentDefaultsRepository?: ServiceFragmentDefaultsRepository;
|
|
286
|
+
pipelineScheduleRepository?: PipelineScheduleRepository;
|
|
287
|
+
trackerSettingsRepository?: TrackerSettingsRepository;
|
|
288
|
+
ticketTrackerProvider?: TicketTrackerProvider;
|
|
289
|
+
/**
|
|
290
|
+
* Whether the deployment's container runtime can run the Tester's LOCAL
|
|
291
|
+
* docker-compose infra via Docker-in-Docker. Defaults to `true` (Cloudflare, Node,
|
|
292
|
+
* tests). The local facade sets it from the selected runtime — `false` for Apple
|
|
293
|
+
* `container` (one VM per container, no nesting) — so the engine refuses a
|
|
294
|
+
* local-infra Tester run there ("limited mode") instead of dispatching a job that
|
|
295
|
+
* can't stand its dependencies up.
|
|
296
|
+
*/
|
|
297
|
+
localTestInfraSupported?: boolean;
|
|
298
|
+
}
|
|
299
|
+
/** The GitHub integration's services, present only when the app is configured. */
|
|
300
|
+
export interface GitHubModule {
|
|
301
|
+
installationService: GitHubInstallationService;
|
|
302
|
+
syncService: GitHubSyncService;
|
|
303
|
+
webhookService: WebhookService;
|
|
304
|
+
service: GitHubService;
|
|
305
|
+
webhookVerifier: WebhookVerifier;
|
|
306
|
+
/**
|
|
307
|
+
* Direct repo creation (privileged App tier, ADR 0005). Present only when a
|
|
308
|
+
* privileged provisioning client is wired; absent → creation stays manual.
|
|
309
|
+
*/
|
|
310
|
+
provisioningService?: RepoProvisioningService;
|
|
311
|
+
}
|
|
312
|
+
/** The document-source integration's services, present only when configured. */
|
|
313
|
+
export interface DocumentsModule {
|
|
314
|
+
connectionService: DocumentConnectionService;
|
|
315
|
+
importService: DocumentImportService;
|
|
316
|
+
plannerService: DocumentPlannerService;
|
|
317
|
+
linkService: DocumentLinkService;
|
|
318
|
+
}
|
|
319
|
+
/** The task-source integration's services, present only when configured. */
|
|
320
|
+
export interface TasksModule {
|
|
321
|
+
connectionService: TaskConnectionService;
|
|
322
|
+
importService: TaskImportService;
|
|
323
|
+
linkService: TaskLinkService;
|
|
324
|
+
}
|
|
325
|
+
/** The environment integration's services, present only when configured. */
|
|
326
|
+
export interface EnvironmentsModule {
|
|
327
|
+
connectionService: EnvironmentConnectionService;
|
|
328
|
+
provisioningService: EnvironmentProvisioningService;
|
|
329
|
+
teardownService: EnvironmentTeardownService;
|
|
330
|
+
}
|
|
331
|
+
/** The self-hosted runner-pool integration's services, present only when configured. */
|
|
332
|
+
export interface RunnersModule {
|
|
333
|
+
connectionService: RunnerPoolConnectionService;
|
|
334
|
+
}
|
|
335
|
+
/** The repo-bootstrap feature's service, present only when its repositories exist. */
|
|
336
|
+
export interface BootstrapModule {
|
|
337
|
+
service: BootstrapService;
|
|
338
|
+
}
|
|
339
|
+
/** The requirements-review feature's service, present only when its repository is wired. */
|
|
340
|
+
export interface RequirementsModule {
|
|
341
|
+
service: RequirementReviewService;
|
|
342
|
+
}
|
|
343
|
+
/** The clarity-review feature's service, present only when its repository is wired. */
|
|
344
|
+
export interface ClarityModule {
|
|
345
|
+
service: ClarityReviewService;
|
|
346
|
+
}
|
|
347
|
+
/** The notifications feature's service, present only when its repository is wired. */
|
|
348
|
+
export interface NotificationsModule {
|
|
349
|
+
service: NotificationService;
|
|
350
|
+
}
|
|
351
|
+
/** The post-release-health (Datadog) settings service, present only when wired. */
|
|
352
|
+
export interface ReleaseHealthModule {
|
|
353
|
+
service: ReleaseHealthService;
|
|
354
|
+
}
|
|
355
|
+
/** The Slack integration's services, present only when its repositories are wired. */
|
|
356
|
+
export interface SlackModule {
|
|
357
|
+
connectionService: SlackConnectionService;
|
|
358
|
+
settingsService: SlackSettingsService;
|
|
359
|
+
memberMappingService: SlackMemberMappingService;
|
|
360
|
+
}
|
|
361
|
+
/** The merge-preset feature's service, present only when its repository is wired. */
|
|
362
|
+
export interface MergePresetsModule {
|
|
363
|
+
service: MergePresetService;
|
|
364
|
+
}
|
|
365
|
+
/** The workspace-settings feature's service, present only when its repository is wired. */
|
|
366
|
+
export interface WorkspaceSettingsModule {
|
|
367
|
+
service: WorkspaceSettingsService;
|
|
368
|
+
}
|
|
369
|
+
/** The per-kind default-model feature's service, present only when its repository is wired. */
|
|
370
|
+
export interface ModelDefaultsModule {
|
|
371
|
+
service: ModelDefaultsService;
|
|
372
|
+
}
|
|
373
|
+
/** The default service-fragment feature's service, present only when its repository is wired. */
|
|
374
|
+
export interface ServiceFragmentDefaultsModule {
|
|
375
|
+
service: ServiceFragmentDefaultsService;
|
|
376
|
+
}
|
|
377
|
+
/** The recurring-pipeline feature's service, present only when its repository is wired. */
|
|
378
|
+
export interface RecurringModule {
|
|
379
|
+
service: RecurringPipelineService;
|
|
380
|
+
}
|
|
381
|
+
/** The issue-tracker-settings feature's service, present only when its repository is wired. */
|
|
382
|
+
export interface TrackerModule {
|
|
383
|
+
service: TrackerSettingsService;
|
|
384
|
+
}
|
|
385
|
+
/** The prompt-fragment library's services, present only when configured (ADR 0006). */
|
|
386
|
+
export interface FragmentLibraryModule {
|
|
387
|
+
/**
|
|
388
|
+
* Per-tier CRUD + the merged-catalog resolver. A management surface only: the run
|
|
389
|
+
* path no longer consumes it (service-scoped `serviceFragmentIds` folded into
|
|
390
|
+
* `code-aware` agents replaced the automatic per-run relevance selector).
|
|
391
|
+
*/
|
|
392
|
+
libraryService: FragmentLibraryService;
|
|
393
|
+
/** Repo-sourced fragments; present only when the GitHub client + source repo are wired. */
|
|
394
|
+
sourceService?: FragmentSourceService;
|
|
395
|
+
}
|
|
396
|
+
export interface Core {
|
|
397
|
+
workspaceService: WorkspaceService;
|
|
398
|
+
accountService: AccountService;
|
|
399
|
+
userService: UserService;
|
|
400
|
+
/** Present only when the invitation repository is wired (see CoreDependencies). */
|
|
401
|
+
invitations?: InvitationService;
|
|
402
|
+
/** Present only when the email-connection repository + cipher are wired. */
|
|
403
|
+
email?: EmailConnectionService;
|
|
404
|
+
boardService: BoardService;
|
|
405
|
+
pipelineService: PipelineService;
|
|
406
|
+
executionService: ExecutionService;
|
|
407
|
+
spendService: SpendService;
|
|
408
|
+
/**
|
|
409
|
+
* The real-time event publisher the engine pushes transitions through. Exposed so
|
|
410
|
+
* the runtime-neutral LLM proxy can push a compact `llmCall` activity event per
|
|
411
|
+
* model call (live "Model activity", independent of the durable driver). Defaults
|
|
412
|
+
* to {@link NoopEventPublisher}; a facade with a real-time transport injects its own.
|
|
413
|
+
*/
|
|
414
|
+
executionEventPublisher: ExecutionEventPublisher;
|
|
415
|
+
/** Present only when the LLM-metric repository is wired (see CoreDependencies). */
|
|
416
|
+
llmObservability?: LlmObservabilityService;
|
|
417
|
+
/** Present only when the GitHub integration is configured (see CoreDependencies). */
|
|
418
|
+
github?: GitHubModule;
|
|
419
|
+
/** Present only when the document-source integration is configured (see CoreDependencies). */
|
|
420
|
+
documents?: DocumentsModule;
|
|
421
|
+
/** Present only when the task-source integration is configured (see CoreDependencies). */
|
|
422
|
+
tasks?: TasksModule;
|
|
423
|
+
/** Present only when the environment integration is configured (see CoreDependencies). */
|
|
424
|
+
environments?: EnvironmentsModule;
|
|
425
|
+
/** Present only when the self-hosted runner-pool integration is configured. */
|
|
426
|
+
runners?: RunnersModule;
|
|
427
|
+
/** Present only when the repo-bootstrap repositories are wired (see CoreDependencies). */
|
|
428
|
+
bootstrap?: BootstrapModule;
|
|
429
|
+
/** Present only when the requirements-review repository is wired (see CoreDependencies). */
|
|
430
|
+
requirements?: RequirementsModule;
|
|
431
|
+
/** Present only when the clarity-review repository is wired (see CoreDependencies). */
|
|
432
|
+
clarity?: ClarityModule;
|
|
433
|
+
/** Present only when the notifications repository is wired (see CoreDependencies). */
|
|
434
|
+
notifications?: NotificationsModule;
|
|
435
|
+
/** Present only when the Datadog connection + release-health config repos + cipher are wired. */
|
|
436
|
+
releaseHealth?: ReleaseHealthModule;
|
|
437
|
+
/** Present only when the Slack repositories + cipher are wired (see CoreDependencies). */
|
|
438
|
+
slack?: SlackModule;
|
|
439
|
+
/** Present only when the merge-preset repository is wired (see CoreDependencies). */
|
|
440
|
+
mergePresets?: MergePresetsModule;
|
|
441
|
+
/** Present only when the workspace-settings repository is wired (see CoreDependencies). */
|
|
442
|
+
settings?: WorkspaceSettingsModule;
|
|
443
|
+
/** Present only when the model-defaults repository is wired (see CoreDependencies). */
|
|
444
|
+
modelDefaults?: ModelDefaultsModule;
|
|
445
|
+
/** Present only when the service-fragment-defaults repository is wired (see CoreDependencies). */
|
|
446
|
+
serviceFragmentDefaults?: ServiceFragmentDefaultsModule;
|
|
447
|
+
/** Present only when the prompt-fragment library is configured (see CoreDependencies). */
|
|
448
|
+
fragmentLibrary?: FragmentLibraryModule;
|
|
449
|
+
/** Present only when the recurring-pipeline repository is wired (see CoreDependencies). */
|
|
450
|
+
recurring?: RecurringModule;
|
|
451
|
+
/** Present only when the tracker-settings repository is wired (see CoreDependencies). */
|
|
452
|
+
tracker?: TrackerModule;
|
|
453
|
+
/** Present only when the service + mount repositories are wired (in-org sharing). */
|
|
454
|
+
services?: ServicesModule;
|
|
455
|
+
}
|
|
456
|
+
export interface ServicesModule {
|
|
457
|
+
service: ServiceMountService;
|
|
458
|
+
}
|
|
459
|
+
export declare function createCore(dependencies: CoreDependencies): Core;
|
|
460
|
+
//# sourceMappingURL=container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|