@cat-factory/orchestration 0.136.1 → 0.138.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/dist/container.d.ts +21 -3
- package/dist/container.d.ts.map +1 -1
- package/dist/container.js.map +1 -1
- package/dist/modules/environments/EnvironmentTestService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentTestService.js +7 -1
- package/dist/modules/environments/EnvironmentTestService.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts +7 -371
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +32 -35
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts +381 -0
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -0
- package/dist/modules/execution/ExecutionServiceDependencies.js +2 -0
- package/dist/modules/execution/ExecutionServiceDependencies.js.map +1 -0
- package/dist/modules/execution/PrVerificationReportController.d.ts +106 -0
- package/dist/modules/execution/PrVerificationReportController.d.ts.map +1 -0
- package/dist/modules/execution/PrVerificationReportController.js +134 -0
- package/dist/modules/execution/PrVerificationReportController.js.map +1 -0
- package/dist/modules/execution/RunDispatcher.d.ts +4 -0
- package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
- package/dist/modules/execution/RunDispatcher.js +13 -0
- package/dist/modules/execution/RunDispatcher.js.map +1 -1
- package/dist/modules/execution/prReport.logic.d.ts +25 -0
- package/dist/modules/execution/prReport.logic.d.ts.map +1 -0
- package/dist/modules/execution/prReport.logic.js +436 -0
- package/dist/modules/execution/prReport.logic.js.map +1 -0
- package/dist/modules/execution/prReportText.logic.d.ts +46 -0
- package/dist/modules/execution/prReportText.logic.d.ts.map +1 -0
- package/dist/modules/execution/prReportText.logic.js +188 -0
- package/dist/modules/execution/prReportText.logic.js.map +1 -0
- package/dist/modules/execution/retry.logic.d.ts +28 -1
- package/dist/modules/execution/retry.logic.d.ts.map +1 -1
- package/dist/modules/execution/retry.logic.js +36 -0
- package/dist/modules/execution/retry.logic.js.map +1 -1
- package/dist/modules/execution/runStartOptions.d.ts +12 -0
- package/dist/modules/execution/runStartOptions.d.ts.map +1 -1
- package/dist/modules/settings/WorkspaceSettingsService.d.ts.map +1 -1
- package/dist/modules/settings/WorkspaceSettingsService.js +1 -0
- package/dist/modules/settings/WorkspaceSettingsService.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,379 +1,15 @@
|
|
|
1
|
-
import type { AgentFailureKind,
|
|
2
|
-
import type { AgentKindRegistry } from '@cat-factory/agents';
|
|
3
|
-
import type { GateRegistry, InitiativePresetRegistry, ProviderRegistry, RunInitiatorScope, StepResolverRegistry } from '@cat-factory/kernel';
|
|
1
|
+
import type { AgentFailureKind, Block, ExecutionInstance, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, ForkChatRequestInput, PrReviewStepState, ResolvePrReviewInput, ChallengePrReviewFindingInput, StepReviewComment } from '@cat-factory/kernel';
|
|
4
2
|
import type { RunStartOptions } from './runStartOptions.js';
|
|
5
3
|
import { type HasPersonalSubscription } from './individualVendors.logic.js';
|
|
6
|
-
import { type
|
|
7
|
-
import { type DocumentUrlResolver, type FragmentBodyResolver, type SkillResolver } from './AgentContextBuilder.js';
|
|
8
|
-
import { type KaizenScheduler } from './RunStateMachine.js';
|
|
4
|
+
import { type SubscriptionVendor } from '@cat-factory/kernel';
|
|
9
5
|
import { BrainstormActions, ClarityReviewActions, type HumanTestActions, RequirementReviewActions, type VisualConfirmActions } from './gate-window-facades.js';
|
|
10
|
-
import type { TesterQualityReviewer } from './TesterQualityReviewService.js';
|
|
11
|
-
import type { NotificationService } from '../notifications/NotificationService.js';
|
|
12
|
-
import type { InitiativeService } from '../initiative/InitiativeService.js';
|
|
13
|
-
import type { InitiativeInterviewService } from '../initiative/InitiativeInterviewService.js';
|
|
14
6
|
import { InitiativeInterviewController } from './InitiativeInterviewController.js';
|
|
15
|
-
import type { DocInterviewService } from '../docInterview/DocInterviewService.js';
|
|
16
7
|
import { DocInterviewController } from './DocInterviewController.js';
|
|
17
|
-
import type {
|
|
18
|
-
import type {
|
|
19
|
-
import type { WorkspaceSettingsService } from '../settings/WorkspaceSettingsService.js';
|
|
20
|
-
import type { RequirementReviewService } from '../requirements/RequirementReviewService.js';
|
|
21
|
-
import type { ClarityReviewService } from '../clarity/ClarityReviewService.js';
|
|
22
|
-
import type { BrainstormService } from '../brainstorm/BrainstormService.js';
|
|
23
|
-
import type { IterationCapChoice, RequirementConcernLevel, StepGating, BrainstormStage } from '@cat-factory/kernel';
|
|
24
|
-
import type { LlmObservabilityService } from '../observability/LlmObservabilityService.js';
|
|
25
|
-
import type { AccountRepository, BlockRepository, ExecutionRepository, PipelineRepository, WorkspaceRepository } from '@cat-factory/kernel';
|
|
26
|
-
import type { Clock, IdGenerator, PreloadedBlocks } from '@cat-factory/kernel';
|
|
27
|
-
import type { GroupCacheHandle, RiskPolicyCacheValue } from '@cat-factory/kernel';
|
|
28
|
-
import type { AgentExecutor, ResolveRunRepoContext, TestSecretRef } from '@cat-factory/kernel';
|
|
29
|
-
import type { WorkRunner } from '@cat-factory/kernel';
|
|
30
|
-
import type { ExecutionEventPublisher } from '@cat-factory/kernel';
|
|
31
|
-
import type { DocumentRepository } from '@cat-factory/kernel';
|
|
32
|
-
import type { TaskRepository } from '@cat-factory/kernel';
|
|
33
|
-
import type { DocInterviewRepository, InitiativeRepository, RequirementReviewRepository } from '@cat-factory/kernel';
|
|
34
|
-
import type { ClarityReviewRepository } from '@cat-factory/kernel';
|
|
35
|
-
import type { BrainstormSessionRepository } from '@cat-factory/kernel';
|
|
36
|
-
import type { BugIntakeService, EnvironmentProvisioningService, EnvironmentTeardownService } from '@cat-factory/integrations';
|
|
37
|
-
import type { BranchUpdater } from '@cat-factory/kernel';
|
|
38
|
-
import type { BoardService } from '../board/BoardService.js';
|
|
39
|
-
import type { SpendService } from '@cat-factory/spend';
|
|
8
|
+
import type { IterationCapChoice, RequirementConcernLevel, StepGating } from '@cat-factory/kernel';
|
|
9
|
+
import type { PreloadedBlocks } from '@cat-factory/kernel';
|
|
40
10
|
import type { AdvanceOptions, AdvanceResult } from './advance.js';
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
blockRepository: BlockRepository;
|
|
44
|
-
pipelineRepository: PipelineRepository;
|
|
45
|
-
executionRepository: ExecutionRepository;
|
|
46
|
-
/**
|
|
47
|
-
* Resolves the owning account of a workspace so a service that pins no cloud
|
|
48
|
-
* provider falls back to the account's `defaultCloudProvider` at dispatch.
|
|
49
|
-
*/
|
|
50
|
-
accountRepository: AccountRepository;
|
|
51
|
-
idGenerator: IdGenerator;
|
|
52
|
-
clock: Clock;
|
|
53
|
-
agentExecutor: AgentExecutor;
|
|
54
|
-
/**
|
|
55
|
-
* The app-owned agent-kind registry, threaded through to the trait/inline-surface checks
|
|
56
|
-
* and a registered kind's pre/post-op hooks. `createCore` defaults it to
|
|
57
|
-
* `defaultAgentKindRegistry()` when a facade doesn't inject the shared instance.
|
|
58
|
-
*/
|
|
59
|
-
agentKindRegistry: AgentKindRegistry;
|
|
60
|
-
/**
|
|
61
|
-
* The app-owned polling-gate registry (the built-in `@cat-factory/gates` suite installed by
|
|
62
|
-
* the facade + any deployment-registered gates), threaded to the dispatcher's gate machine.
|
|
63
|
-
* `createCore` defaults it to `defaultGateRegistry()` (empty) when a facade doesn't inject one.
|
|
64
|
-
*/
|
|
65
|
-
gateRegistry: GateRegistry;
|
|
66
|
-
/**
|
|
67
|
-
* The app-owned step-completion-resolver registry (deployment-registered resolvers),
|
|
68
|
-
* threaded to the dispatcher. `createCore` defaults it to `defaultStepResolverRegistry()`.
|
|
69
|
-
*/
|
|
70
|
-
stepResolverRegistry: StepResolverRegistry;
|
|
71
|
-
/**
|
|
72
|
-
* The app-owned provider registry (gate data sources keyed by {@link ProviderToken}), threaded
|
|
73
|
-
* to the dispatcher's gate machine so its {@link GateContext} reads the wired providers.
|
|
74
|
-
* `createCore` defaults it to `defaultProviderRegistry()` (empty ⇒ every gate passes through).
|
|
75
|
-
*/
|
|
76
|
-
providerRegistry: ProviderRegistry;
|
|
77
|
-
/**
|
|
78
|
-
* The app-owned initiative-preset registry, threaded into the context builder so a spawned /
|
|
79
|
-
* planning run resolves its preset steering. `createCore` defaults it to
|
|
80
|
-
* `defaultInitiativePresetRegistry()` when a facade doesn't inject the shared instance.
|
|
81
|
-
*/
|
|
82
|
-
initiativePresetRegistry: InitiativePresetRegistry;
|
|
83
|
-
workRunner: WorkRunner;
|
|
84
|
-
executionEventPublisher: ExecutionEventPublisher;
|
|
85
|
-
boardService: BoardService;
|
|
86
|
-
spendService: SpendService;
|
|
87
|
-
/**
|
|
88
|
-
* Optional: when the document-source integration is configured, documents
|
|
89
|
-
* linked to a block are resolved here and fed to the agent as extra context.
|
|
90
|
-
*/
|
|
91
|
-
documentRepository?: DocumentRepository;
|
|
92
|
-
/**
|
|
93
|
-
* Optional: canonicalises a URL named in a block's description to the document's stable
|
|
94
|
-
* `(source, externalId)` (via the document providers' `parseRef`) so a pasted design/doc
|
|
95
|
-
* link auto-matches its imported page even when the URL carries title/tracking noise.
|
|
96
|
-
* Forwarded to {@link AgentContextBuilder}; absent → url-string matching only.
|
|
97
|
-
*/
|
|
98
|
-
documentUrlResolver?: DocumentUrlResolver;
|
|
99
|
-
/**
|
|
100
|
-
* Optional: when the task-source integration is configured, tracker issues
|
|
101
|
-
* linked to a block are resolved here and fed to the agent as extra context.
|
|
102
|
-
*/
|
|
103
|
-
taskRepository?: TaskRepository;
|
|
104
|
-
/**
|
|
105
|
-
* Optional: when the requirements-review feature is configured, a block's
|
|
106
|
-
* reworked ("incorporated") requirements are read here. When present they REPLACE
|
|
107
|
-
* the block's description + linked docs/tasks as the agent context (for every
|
|
108
|
-
* step) and become the per-task input the spec-writer aggregates. Absent
|
|
109
|
-
* → the engine uses the original description + docs/tasks unchanged.
|
|
110
|
-
*/
|
|
111
|
-
requirementReviewRepository?: RequirementReviewRepository;
|
|
112
|
-
/**
|
|
113
|
-
* Optional: when the interactive document-interview feature is configured (WS5), a block's
|
|
114
|
-
* synthesized authoring brief is read here and folded into the doc-writer's context. Absent
|
|
115
|
-
* → the writer runs off the raw outline/description unchanged.
|
|
116
|
-
*/
|
|
117
|
-
docInterviewRepository?: DocInterviewRepository;
|
|
118
|
-
/**
|
|
119
|
-
* Optional: the requirements-review feature's service, present when the reviewer is
|
|
120
|
-
* wired. Drives the special `requirements-review` gate step (run reviewer inline, the
|
|
121
|
-
* iterative answer → incorporate → re-review loop). Absent → the gate step passes
|
|
122
|
-
* through so pipelines run unchanged without the feature.
|
|
123
|
-
*/
|
|
124
|
-
requirementReviewService?: RequirementReviewService;
|
|
125
|
-
/**
|
|
126
|
-
* Optional: the interactive document-interview service (WS5). When wired, the
|
|
127
|
-
* `doc-interviewer` step converses with the human (park/answer/resume) to refine a
|
|
128
|
-
* document's scope/structure and synthesizes an authoring brief the writer starts from.
|
|
129
|
-
* Absent (or no model) → the interviewer step passes through so document pipelines run
|
|
130
|
-
* unchanged off the raw outline.
|
|
131
|
-
*/
|
|
132
|
-
docInterviewService?: DocInterviewService;
|
|
133
|
-
/**
|
|
134
|
-
* Optional: the inline grounded-chat responder for the implementation-fork decision phase.
|
|
135
|
-
* When wired, a human chat turn about the surfaced forks is answered by an inline LLM in the
|
|
136
|
-
* durable driver; absent (no model) the chat degrades to a canned "chat unavailable" reply so
|
|
137
|
-
* pick / custom still work. Passed to the {@link ForkDecisionController}.
|
|
138
|
-
*/
|
|
139
|
-
forkChatService?: ForkChatService;
|
|
140
|
-
/**
|
|
141
|
-
* Optional: the inline reviewer for the test quality-control companion. When wired (and a
|
|
142
|
-
* Tester step has the companion enabled), each Tester report is audited for coverage before
|
|
143
|
-
* the greenlight/fixer decision and an inadequate report loops the Tester. Passed straight
|
|
144
|
-
* to the {@link TesterController}. Absent → QC is a pass-through.
|
|
145
|
-
*/
|
|
146
|
-
testerQualityReviewer?: TesterQualityReviewer;
|
|
147
|
-
/**
|
|
148
|
-
* Optional: the Kaizen agent's scheduler. When wired, a run reaching a terminal state
|
|
149
|
-
* schedules a post-run grading for each completed agent step (skipping verified combos).
|
|
150
|
-
* Structural so the engine doesn't depend on the concrete service. Absent → no grading.
|
|
151
|
-
*/
|
|
152
|
-
kaizenScheduler?: KaizenScheduler;
|
|
153
|
-
/**
|
|
154
|
-
* Optional: persistence for the clarity-review (bug-report triage) feature. Read here
|
|
155
|
-
* to substitute a converged clarified report as the downstream agent context (the
|
|
156
|
-
* mirror of `requirementReviewRepository`). Absent → no substitution.
|
|
157
|
-
*/
|
|
158
|
-
clarityReviewRepository?: ClarityReviewRepository;
|
|
159
|
-
/**
|
|
160
|
-
* Optional: the clarity-review feature's service, present when the reviewer is wired.
|
|
161
|
-
* Drives the special `clarity-review` gate step (inline reviewer + the iterative
|
|
162
|
-
* answer → incorporate → re-review loop). Absent → the gate step passes through.
|
|
163
|
-
*/
|
|
164
|
-
clarityReviewService?: ClarityReviewService;
|
|
165
|
-
/**
|
|
166
|
-
* Optional: the brainstorm (structured-dialogue) feature's services, one per stage, present
|
|
167
|
-
* when the brainstorm module is wired. Drive the special `requirements-brainstorm` /
|
|
168
|
-
* `architecture-brainstorm` gate steps (inline option-generator + the iterative propose →
|
|
169
|
-
* pick → incorporate → re-run loop). Absent → the gate steps pass through.
|
|
170
|
-
*/
|
|
171
|
-
brainstormServices?: Record<BrainstormStage, BrainstormService>;
|
|
172
|
-
/**
|
|
173
|
-
* Optional: persistence for the brainstorm feature. Read by the agent-context builder to
|
|
174
|
-
* surface a converged `architecture-brainstorm` direction to the architect (the mirror of
|
|
175
|
-
* `requirementReviewRepository`). Absent → no substitution.
|
|
176
|
-
*/
|
|
177
|
-
brainstormSessionRepository?: BrainstormSessionRepository;
|
|
178
|
-
/**
|
|
179
|
-
* Optional: resolves fragment ids against the merged tenant catalog (managed +
|
|
180
|
-
* document-backed fragments), live-resolving linked Confluence/Notion/GitHub
|
|
181
|
-
* documents at run time. Wired only when the prompt-fragment library is
|
|
182
|
-
* configured; absent → the engine resolves against the static built-in pool.
|
|
183
|
-
*/
|
|
184
|
-
fragmentResolver?: FragmentBodyResolver;
|
|
185
|
-
/**
|
|
186
|
-
* Optional: resolves a `skill` step's picked skill to its instructions + resource bodies for
|
|
187
|
-
* the run (see {@link SkillResolver}). Wired only when the repo-sourced Claude Skills library is
|
|
188
|
-
* configured; a skill step dispatched with this unwired fails loudly rather than running blank.
|
|
189
|
-
*/
|
|
190
|
-
skillResolver?: SkillResolver;
|
|
191
|
-
/**
|
|
192
|
-
* Optional: when the individual-usage subscription store is configured, a finished
|
|
193
|
-
* run's per-run credential activation is deleted here the moment it reaches a terminal
|
|
194
|
-
* state, bounding standing exposure to the run's own lifetime (the TTL sweep is the
|
|
195
|
-
* backstop). Absent → activations are reclaimed by the TTL sweep alone.
|
|
196
|
-
*/
|
|
197
|
-
subscriptionActivationRepository?: SubscriptionActivationRepository;
|
|
198
|
-
/**
|
|
199
|
-
* Optional: resolve a workspace's per-agent-kind default model id (the same resolver
|
|
200
|
-
* the container executor uses for dispatch). The personal-credential gate consults it
|
|
201
|
-
* so a run whose block has NO pinned model but whose workspace default resolves to an
|
|
202
|
-
* individual-usage vendor is still gated up-front — matching what dispatch will resolve,
|
|
203
|
-
* instead of starting and then failing on a missing activation. Absent → the gate sees
|
|
204
|
-
* only the block's pinned model (env-routing defaults are operator-level and not gated).
|
|
205
|
-
*/
|
|
206
|
-
resolveWorkspaceModelDefault?: (workspaceId: string, agentKind: string, modelPresetId?: string) => Promise<string | undefined>;
|
|
207
|
-
/**
|
|
208
|
-
* Optional: resolve the provider capabilities (configured direct keys +
|
|
209
|
-
* subscription vendors + whether Cloudflare AI is enabled) for a workspace and the
|
|
210
|
-
* run initiator. The start guard uses it to block a pipeline whose steps' canonical
|
|
211
|
-
* models have no usable provider. Absent → the guard is skipped (tests / unconfigured
|
|
212
|
-
* facades), exactly like the existing optional engine deps.
|
|
213
|
-
*/
|
|
214
|
-
resolveProviderCapabilities?: (workspaceId: string, initiatedBy?: string | null) => Promise<ProviderCapabilities>;
|
|
215
|
-
/**
|
|
216
|
-
* Optional: whether a container-only subscription harness ref (`claude-code` / `codex`)
|
|
217
|
-
* can run as an INLINE LLM call in this deployment (local mode's ambient CLI). The preset
|
|
218
|
-
* satisfiability guard uses it so an inline step pinned to a subscription model is
|
|
219
|
-
* satisfiable where the harness runs inline, and refused where it doesn't (Node/Worker).
|
|
220
|
-
* From `config.agents.inlineHarnessRef`; absent → no inline harness support.
|
|
221
|
-
*/
|
|
222
|
-
inlineHarnessRef?: (ref: ModelRef) => boolean;
|
|
223
|
-
/**
|
|
224
|
-
* Optional: when the environment integration is configured, a `deployer` step
|
|
225
|
-
* provisions an ephemeral environment deterministically through this service
|
|
226
|
-
* (no LLM), and downstream steps discover the resulting env via it.
|
|
227
|
-
*/
|
|
228
|
-
environmentProvisioning?: EnvironmentProvisioningService;
|
|
229
|
-
/**
|
|
230
|
-
* Optional: resolve the NON-secret refs (key + description) of the sensitive test credentials
|
|
231
|
-
* for a run block's service frame, folded into the tester prompt by the context builder.
|
|
232
|
-
* Wired from the facade's `TestSecretsService`; absent ⇒ no advertised secrets. NEVER values.
|
|
233
|
-
*/
|
|
234
|
-
resolveTestSecretRefs?: (workspaceId: string, blockId: string) => Promise<TestSecretRef[]>;
|
|
235
|
-
/**
|
|
236
|
-
* Optional: resolves the binary-artifact store (UI screenshots + reference design images)
|
|
237
|
-
* for a workspace's account; the `visual-confirmation` gate reads it. Absent (or resolving
|
|
238
|
-
* to null — storage not configured) → the gate passes through (auto-advances), since there
|
|
239
|
-
* is nowhere to read screenshots from.
|
|
240
|
-
*/
|
|
241
|
-
resolveBinaryArtifactStore?: ResolveBinaryArtifactStore;
|
|
242
|
-
/**
|
|
243
|
-
* Optional: tears down ephemeral environments. Wired alongside
|
|
244
|
-
* {@link environmentProvisioning}; the `human-test` gate uses it to destroy an env on
|
|
245
|
-
* confirm / recreate / on-demand. Absent → the gate's destroy/recreate is a no-op.
|
|
246
|
-
*/
|
|
247
|
-
environmentTeardown?: EnvironmentTeardownService;
|
|
248
|
-
/**
|
|
249
|
-
* Optional: merges the repo default branch into a block's PR branch server-side. Wired
|
|
250
|
-
* when GitHub is configured; the `human-test` gate's "pull latest main" action uses it
|
|
251
|
-
* (a clean merge rebuilds the env; a conflict escalates to the conflict-resolver). Absent
|
|
252
|
-
* → pulling main is unavailable on the gate.
|
|
253
|
-
*/
|
|
254
|
-
branchUpdater?: BranchUpdater;
|
|
255
|
-
/**
|
|
256
|
-
* Optional: when the board-scan module is configured, a `blueprints` step's
|
|
257
|
-
* decomposition tree is reconciled onto the board through this (BoardScanService).
|
|
258
|
-
* Absent → a blueprint step still runs and commits its in-repo files, but the
|
|
259
|
-
* board isn't auto-updated from it.
|
|
260
|
-
*/
|
|
261
|
-
blueprintReconciler?: BlueprintReconciler;
|
|
262
|
-
/**
|
|
263
|
-
* Optional: when the initiatives module is wired, the `initiative-planner` step's
|
|
264
|
-
* plan draft is ingested into the block's initiative entity through this, and the
|
|
265
|
-
* `initiative-committer` step flips it to `executing` + mirrors the in-repo
|
|
266
|
-
* tracker. Absent → the initiative steps fail loudly (an initiative pipeline is
|
|
267
|
-
* meaningless without the module) while every other pipeline runs unchanged.
|
|
268
|
-
*/
|
|
269
|
-
initiativeService?: InitiativeService;
|
|
270
|
-
/**
|
|
271
|
-
* Optional: the initiative store, wired into the agent-context builder so an
|
|
272
|
-
* `initiative`-level run carries the interview + analysis context into the analyst/planner
|
|
273
|
-
* prompts. Same repo the {@link initiativeService} wraps; absent → those steps run off the
|
|
274
|
-
* raw block description.
|
|
275
|
-
*/
|
|
276
|
-
initiativeRepository?: InitiativeRepository;
|
|
277
|
-
/**
|
|
278
|
-
* Optional: the inline interviewer for the interactive-planning gate (slice 2). When
|
|
279
|
-
* wired, the `initiative-interviewer` step interviews the human (park/answer/resume) and
|
|
280
|
-
* synthesizes the goal/constraints brief onto the entity before the analyst/planner run.
|
|
281
|
-
* Absent (or no model) → the interviewer step passes through and planning runs off the
|
|
282
|
-
* raw block description. Requires {@link initiativeService} to persist the interview state.
|
|
283
|
-
*/
|
|
284
|
-
initiativeInterviewService?: InitiativeInterviewService;
|
|
285
|
-
/**
|
|
286
|
-
* Best-effort poke of the initiative execution loop (slice 3): called after a spawned task's
|
|
287
|
-
* PR merges (`finalizeMerge`), so its owning initiative reconciles + advances immediately
|
|
288
|
-
* rather than on the next cron sweep. Threaded through to the {@link RunStateMachine} for the
|
|
289
|
-
* symmetric terminal-run poke. Fire-and-forget; a no-op when initiatives are unwired. The
|
|
290
|
-
* optional `harvest` (slice 4) carries the settling run's follow-ups + failure cause.
|
|
291
|
-
*/
|
|
292
|
-
pokeInitiativeLoop?: (workspaceId: string, initiativeBlockId: string, harvest?: InitiativeRunHarvest) => void;
|
|
293
|
-
/**
|
|
294
|
-
* Optional: raises human-actionable notifications (a PR needs a merge decision,
|
|
295
|
-
* a no-merger pipeline finished, CI fixing gave up). Absent → those events still
|
|
296
|
-
* transition the block but no notification surfaces (tests).
|
|
297
|
-
*/
|
|
298
|
-
notificationService?: NotificationService;
|
|
299
|
-
/**
|
|
300
|
-
* Optional: resolves a workspace's runtime settings so {@link ExecutionService.start}
|
|
301
|
-
* can enforce the per-service running-task limit. Absent → the limit is never enforced
|
|
302
|
-
* (tests / unconfigured facades start runs unbounded).
|
|
303
|
-
*/
|
|
304
|
-
workspaceSettingsService?: WorkspaceSettingsService;
|
|
305
|
-
/**
|
|
306
|
-
* Optional: performs the real GitHub merge when a task should become `done`.
|
|
307
|
-
* Absent → `done` is a board-only flip (tests); when wired, `done` provably
|
|
308
|
-
* means the PR was merged on the remote.
|
|
309
|
-
*/
|
|
310
|
-
pullRequestMerger?: PullRequestMerger;
|
|
311
|
-
/**
|
|
312
|
-
* Optional: resolves a task's merge threshold preset (auto-merge ceilings + the
|
|
313
|
-
* CI-fixer attempt budget). Absent → the built-in {@link DEFAULT_RISK_POLICY}.
|
|
314
|
-
*/
|
|
315
|
-
riskPolicyRepository?: RiskPolicyRepository;
|
|
316
|
-
/**
|
|
317
|
-
* Optional: the {@link AppCaches.riskPolicy} slice — read-through for `resolveRiskPolicy`
|
|
318
|
-
* so the slow-moving merge-preset row isn't re-fetched on every gate evaluation. Absent →
|
|
319
|
-
* every resolve hits the repository (tests / no cache wired). Invalidated by
|
|
320
|
-
* `RiskPolicyService` on every preset write.
|
|
321
|
-
*/
|
|
322
|
-
riskPolicyCache?: GroupCacheHandle<RiskPolicyCacheValue>;
|
|
323
|
-
/**
|
|
324
|
-
* Optional: runs the gate-probe / merge GitHub reads under the run initiator's
|
|
325
|
-
* ambient context, so a per-user PAT (when set) is preferred over the deployment's
|
|
326
|
-
* App/env token (see `PatPreferringAppRegistry`). Absent → a pass-through
|
|
327
|
-
* (`(_, fn) => fn()`), so tests/conformance run unchanged.
|
|
328
|
-
*/
|
|
329
|
-
runInitiatorScope?: RunInitiatorScope;
|
|
330
|
-
/**
|
|
331
|
-
* Optional: files a GitHub issue / Jira ticket for the `tracker` step (the
|
|
332
|
-
* tech-debt recurring pipeline). Absent → the `tracker` step passes through
|
|
333
|
-
* without filing anything, so the engine works unchanged when no tracker is wired.
|
|
334
|
-
*/
|
|
335
|
-
ticketTrackerProvider?: TicketTrackerProvider;
|
|
336
|
-
/**
|
|
337
|
-
* Optional: writes back to a task's linked tracker issue(s) as its PR progresses
|
|
338
|
-
* (comment on PR open; comment + close as resolved on merge). Gated by the
|
|
339
|
-
* workspace's writeback settings + the per-task override. Absent → no writeback,
|
|
340
|
-
* so the engine works unchanged when no tracker writeback is wired.
|
|
341
|
-
*/
|
|
342
|
-
issueWriteback?: IssueWritebackProvider;
|
|
343
|
-
/**
|
|
344
|
-
* Optional: the recurring `bug-intake` step's read-and-claim helper. When wired, a `bug-intake`
|
|
345
|
-
* step pulls one matching open issue from the schedule's configured tracker board, claims it, and
|
|
346
|
-
* seeds the reused block from it; absent (no task sources wired) → the step is a no-op that
|
|
347
|
-
* completes the run without touching the block, so the engine works unchanged.
|
|
348
|
-
*/
|
|
349
|
-
bugIntakeService?: BugIntakeService;
|
|
350
|
-
/**
|
|
351
|
-
* Optional: the LLM observability sink. When wired, each emit rolls the per-run
|
|
352
|
-
* model-call aggregates onto the matching pipeline steps (`step.metrics`) so the
|
|
353
|
-
* board shows tokens / output-limit headroom / transport-vs-execution latency
|
|
354
|
-
* live. Absent (tests / unconfigured) → steps carry no `metrics`.
|
|
355
|
-
*/
|
|
356
|
-
llmObservability?: LlmObservabilityService;
|
|
357
|
-
/**
|
|
358
|
-
* Optional: resolve a block's run repo (installation + repo + default branch) bound to
|
|
359
|
-
* a checkout-free {@link RepoFiles} so a registered custom kind's pre/post-op hooks
|
|
360
|
-
* read/commit a targeted subset of the repo WITHOUT a checkout. A facade composes it
|
|
361
|
-
* from its wired `GitHubClient` + `resolveRepoTarget` (`makeResolveRunRepoContext`).
|
|
362
|
-
* Absent (tests / GitHub not connected) → pre/post-ops are skipped.
|
|
363
|
-
*/
|
|
364
|
-
resolveRunRepoContext?: ResolveRunRepoContext;
|
|
365
|
-
/**
|
|
366
|
-
* Optional: assert the workspace has a usable container-agent backend before a run
|
|
367
|
-
* starts (local mode delegating agents to a runner pool that isn't registered throws a
|
|
368
|
-
* clean {@link ConflictError} here). Absent → no start-time check (Cloudflare/Node have
|
|
369
|
-
* a fixed backend; a missing local pool still fails loudly at dispatch).
|
|
370
|
-
*/
|
|
371
|
-
assertAgentBackendConfigured?: (workspaceId: string) => Promise<void>;
|
|
372
|
-
}
|
|
373
|
-
/** Reconciles a Blueprinter step's tree onto the board in place (BoardScanService). */
|
|
374
|
-
export interface BlueprintReconciler {
|
|
375
|
-
reconcileBlueprint(workspaceId: string, frameId: string | null, service: BlueprintService): Promise<unknown>;
|
|
376
|
-
}
|
|
11
|
+
import type { ExecutionServiceDependencies } from './ExecutionServiceDependencies.js';
|
|
12
|
+
export type { BlueprintReconciler, ExecutionServiceDependencies, } from './ExecutionServiceDependencies.js';
|
|
377
13
|
/**
|
|
378
14
|
* The effective risk/merge policy for one run, as {@link ExecutionService.resolveRiskPolicy}
|
|
379
15
|
* resolves it (the block's selected preset, else the workspace default, else the built-in).
|
|
@@ -480,7 +116,7 @@ export declare class ExecutionService {
|
|
|
480
116
|
* / `resolveGatePollExhaustion` + the follow-up human-action API are thin pass-throughs.
|
|
481
117
|
*/
|
|
482
118
|
private readonly runDispatcher;
|
|
483
|
-
constructor({ workspaceRepository, blockRepository, pipelineRepository, executionRepository, accountRepository, idGenerator, clock, agentExecutor, workRunner, executionEventPublisher, boardService, spendService, documentRepository, documentUrlResolver, taskRepository, requirementReviewRepository, docInterviewRepository, requirementReviewService, docInterviewService, forkChatService, testerQualityReviewer, kaizenScheduler, clarityReviewRepository, clarityReviewService, brainstormServices, brainstormSessionRepository, fragmentResolver, skillResolver, environmentProvisioning, resolveTestSecretRefs, environmentTeardown, branchUpdater, blueprintReconciler, initiativeService, initiativeRepository, initiativeInterviewService, notificationService, resolveBinaryArtifactStore, workspaceSettingsService, llmObservability, pullRequestMerger, riskPolicyRepository, riskPolicyCache, ticketTrackerProvider, issueWriteback, bugIntakeService, subscriptionActivationRepository, resolveWorkspaceModelDefault, resolveProviderCapabilities, inlineHarnessRef, resolveRunRepoContext, assertAgentBackendConfigured, runInitiatorScope, pokeInitiativeLoop, agentKindRegistry, gateRegistry, stepResolverRegistry, providerRegistry, initiativePresetRegistry, }: ExecutionServiceDependencies);
|
|
119
|
+
constructor({ workspaceRepository, blockRepository, pipelineRepository, executionRepository, accountRepository, idGenerator, clock, agentExecutor, workRunner, executionEventPublisher, boardService, spendService, documentRepository, documentUrlResolver, taskRepository, requirementReviewRepository, docInterviewRepository, requirementReviewService, docInterviewService, forkChatService, testerQualityReviewer, kaizenScheduler, clarityReviewRepository, clarityReviewService, brainstormServices, brainstormSessionRepository, fragmentResolver, skillResolver, environmentProvisioning, resolveTestSecretRefs, environmentTeardown, branchUpdater, blueprintReconciler, initiativeService, initiativeRepository, initiativeInterviewService, notificationService, resolveBinaryArtifactStore, workspaceSettingsService, llmObservability, pullRequestMerger, riskPolicyRepository, riskPolicyCache, ticketTrackerProvider, issueWriteback, bugIntakeService, subscriptionActivationRepository, resolveWorkspaceModelDefault, resolveProviderCapabilities, inlineHarnessRef, resolveRunRepoContext, assertAgentBackendConfigured, runInitiatorScope, pokeInitiativeLoop, agentKindRegistry, gateRegistry, stepResolverRegistry, providerRegistry, initiativePresetRegistry, prVerificationReportPublisher, workspaceSettingsRepository, appBaseUrl, logger, }: ExecutionServiceDependencies);
|
|
484
120
|
/** Requirements-review window actions (run / incorporate / re-review / proceed / …). */
|
|
485
121
|
get requirementsReview(): RequirementReviewActions;
|
|
486
122
|
/** Clarity-review (bug-report triage) window actions. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionService.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExecutionService.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAI7B,iBAAiB,EAGlB,MAAM,qBAAqB,CAAA;AAe5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAA;AA0B5B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAA;AAOjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAGpE,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,UAAU,EAKX,MAAM,qBAAqB,CAAA;AAO5B,OAAO,KAAK,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAU9E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEjE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAMrF,YAAY,EACV,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,mCAAmC,CAAA;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,wBAAwB,EAAE,MAAM,CAAA;IAChC,4BAA4B,EAAE,uBAAuB,CAAA;IACrD,0BAA0B,EAAE,MAAM,CAAA;IAClC,yBAAyB,EAAE,MAAM,CAAA;IACjC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CACjC;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,kGAAkG;IAClG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,kGAAkG;IAClG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA8B;IAC3E,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAwB;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAChE,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA+B;IAC1E,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA+B;IAC1E,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA0B;IACpE,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAC3D,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,kGAAkG;IAClG,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAA+B;IAC9E,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAwB;IAShE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwC;IACzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAwB;IACxD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAkC;IAC3E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAI3B;IACT,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAId;IAChC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAE7C,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,KAAK,EACL,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,gCAAgC,EAChC,4BAA4B,EAC5B,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,UAAU,EACV,MAAM,GACP,EAAE,4BAA4B,EAiO9B;IAOD,wFAAwF;IACxF,IAAI,kBAAkB,IAAI,wBAAwB,CAEjD;IAED,yDAAyD;IACzD,IAAI,aAAa,IAAI,oBAAoB,CAExC;IAED,uEAAuE;IACvE,IAAI,UAAU,IAAI,iBAAiB,CAElC;IAED,kGAAkG;IAClG,IAAI,SAAS,IAAI,gBAAgB,CAEhC;IAED,mFAAmF;IACnF,IAAI,aAAa,IAAI,oBAAoB,CAExC;IAED;;;;OAIG;IACH,IAAI,mBAAmB,IAAI,6BAA6B,GAAG,SAAS,CAEnE;IAED;;;;OAIG;IACH,IAAI,YAAY,IAAI,sBAAsB,GAAG,SAAS,CAErD;IAED,OAAO,CAAC,gBAAgB;YAIV,YAAY;IAI1B;;;;;;;;;OASG;IACG,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,uBAAuB,GAAE,uBAAqC,GAC7D,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAU/B;IAED,0FAA0F;IACpF,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,uBAAuB,GAAE,uBAAqC,GAC7D,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAY/B;IAED;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAgBhC,uEAAuE;IACjE,KAAK,CACT,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAsN5B;IAED;;;;;OAKG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA+BxB;IAED,4EAA4E;YAC9D,YAAY;IAwF1B,sCAAsC;IACtC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAE7E;IAED,kCAAkC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAEzE;IAED,mDAAmD;IACnD,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAE1F;IAED,sCAAsC;IACtC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAEzF;IAED,yCAAyC;IACzC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAE/F;IAED,oCAAoC;IACpC,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAEhC;IAED,kCAAkC;IAClC,QAAQ,CACN,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAEhC;IAED,qCAAqC;IACrC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAEvF;IAED,yCAAyC;IACzC,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,gDAAgD;IAChD,sBAAsB,CACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,kDAAkD;IAClD,wBAAwB,CACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,sCAAsC;IACtC,YAAY,CACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAE7B;IAED,uCAAuC;IACvC,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAE7B;IAED,wCAAwC;IACxC,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAE7B;IAED,yCAAyC;IACzC,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAE7B;IAED;;;;;;;;;;OAUG;YACW,mBAAmB;IAwBjC;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IA8C9B,iGAAiG;IACjG,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;OAOG;YACW,oBAAoB;IAgBlC;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAkG5B;IAMD;;;;;;;;;;;;OAYG;IACG,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAwC5B;IAED;;;;;;;;;;;;;OAaG;YACW,aAAa;IAiE3B;;;;OAIG;YACW,6BAA6B;IAwB3C;;;;;;;OAOG;YACW,mBAAmB;IAgDjC;;;;OAIG;YACW,iBAAiB;IA8B/B;;;OAGG;YACW,qBAAqB;IA4BnC,gFAAgF;IAC1E,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAsB5B;IAED;;;;;;OAMG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAwC5B;IAED;;;;;;;OAOG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAE,GAC5D,OAAO,CAAC,iBAAiB,CAAC,CAqE5B;IAED;;;;;;;OAOG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAuC5B;IAED,iEAAiE;IAC3D,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAQlE;IAED;;;;;;;OAOG;IACH,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,gBAA0B,EAChC,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,OAAO,CAAC,IAAI,CAAC,CAEf;IAED;;;;;;;;;;;;;;OAcG;IACG,KAAK,CACT,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM;IACnB;sEACkE;IAClE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAChD,OAAO,CAAC,iBAAiB,CAAC,CA0D5B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM;IACrB;sEACkE;IAClE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAChD,OAAO,CAAC,iBAAiB,CAAC,CAiE5B;IAED;;;;;;;;;;OAUG;YACW,uBAAuB;IAcrC;;;;OAIG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA+BpE;IAED,4DAA4D;IACtD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAqBjE;IAED;;;;;;;OAOG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;KAAO,GACtD,OAAO,CAAC,iBAAiB,CAAC,CAqB5B;IAED;;;;;;;;;OASG;IACG,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAkBxF;CACF"}
|
|
@@ -7,7 +7,7 @@ import { assertFound, ConflictError, NotFoundError, RunContendedError, Validatio
|
|
|
7
7
|
import { DEFAULT_RISK_POLICY } from '@cat-factory/kernel';
|
|
8
8
|
import { REQUIREMENTS_REVIEW_AGENT_KIND, CLARITY_REVIEW_AGENT_KIND, REQUIREMENTS_BRAINSTORM_AGENT_KIND, ARCHITECTURE_BRAINSTORM_AGENT_KIND, isTesterKind, HUMAN_TEST_AGENT_KIND, VISUAL_CONFIRM_AGENT_KIND, HUMAN_REVIEW_AGENT_KIND, } from './ci.logic.js';
|
|
9
9
|
import { DEFAULT_FOLLOW_UP_MAX_LOOPS, FOLLOW_UP_PRODUCER_KIND } from './followUp.logic.js';
|
|
10
|
-
import { AgentContextBuilder
|
|
10
|
+
import { AgentContextBuilder } from './AgentContextBuilder.js';
|
|
11
11
|
import { CompanionController } from './CompanionController.js';
|
|
12
12
|
import { StepGraph } from './StepGraph.js';
|
|
13
13
|
import { RunStateMachine } from './RunStateMachine.js';
|
|
@@ -32,7 +32,8 @@ import { isReentrantDecisionResume } from './reentrancy.logic.js';
|
|
|
32
32
|
import { isAsyncAgentExecutor } from '@cat-factory/kernel';
|
|
33
33
|
import { dependenciesMet, descendantIds, serviceOf } from '../board/board.logic.js';
|
|
34
34
|
import { requireWorkspace } from '@cat-factory/kernel';
|
|
35
|
-
import {
|
|
35
|
+
import { buildResumedInstance, planResumedSteps, planRestartFromStep } from './retry.logic.js';
|
|
36
|
+
import { PrVerificationReportController } from './PrVerificationReportController.js';
|
|
36
37
|
/**
|
|
37
38
|
* The execution engine. It orchestrates a pipeline of agent-performed steps and
|
|
38
39
|
* is fully deterministic: `advanceInstance` moves one run forward by exactly one
|
|
@@ -126,7 +127,7 @@ export class ExecutionService {
|
|
|
126
127
|
* / `resolveGatePollExhaustion` + the follow-up human-action API are thin pass-throughs.
|
|
127
128
|
*/
|
|
128
129
|
runDispatcher;
|
|
129
|
-
constructor({ workspaceRepository, blockRepository, pipelineRepository, executionRepository, accountRepository, idGenerator, clock, agentExecutor, workRunner, executionEventPublisher, boardService, spendService, documentRepository, documentUrlResolver, taskRepository, requirementReviewRepository, docInterviewRepository, requirementReviewService, docInterviewService, forkChatService, testerQualityReviewer, kaizenScheduler, clarityReviewRepository, clarityReviewService, brainstormServices, brainstormSessionRepository, fragmentResolver, skillResolver, environmentProvisioning, resolveTestSecretRefs, environmentTeardown, branchUpdater, blueprintReconciler, initiativeService, initiativeRepository, initiativeInterviewService, notificationService, resolveBinaryArtifactStore, workspaceSettingsService, llmObservability, pullRequestMerger, riskPolicyRepository, riskPolicyCache, ticketTrackerProvider, issueWriteback, bugIntakeService, subscriptionActivationRepository, resolveWorkspaceModelDefault, resolveProviderCapabilities, inlineHarnessRef, resolveRunRepoContext, assertAgentBackendConfigured, runInitiatorScope, pokeInitiativeLoop, agentKindRegistry, gateRegistry, stepResolverRegistry, providerRegistry, initiativePresetRegistry, }) {
|
|
130
|
+
constructor({ workspaceRepository, blockRepository, pipelineRepository, executionRepository, accountRepository, idGenerator, clock, agentExecutor, workRunner, executionEventPublisher, boardService, spendService, documentRepository, documentUrlResolver, taskRepository, requirementReviewRepository, docInterviewRepository, requirementReviewService, docInterviewService, forkChatService, testerQualityReviewer, kaizenScheduler, clarityReviewRepository, clarityReviewService, brainstormServices, brainstormSessionRepository, fragmentResolver, skillResolver, environmentProvisioning, resolveTestSecretRefs, environmentTeardown, branchUpdater, blueprintReconciler, initiativeService, initiativeRepository, initiativeInterviewService, notificationService, resolveBinaryArtifactStore, workspaceSettingsService, llmObservability, pullRequestMerger, riskPolicyRepository, riskPolicyCache, ticketTrackerProvider, issueWriteback, bugIntakeService, subscriptionActivationRepository, resolveWorkspaceModelDefault, resolveProviderCapabilities, inlineHarnessRef, resolveRunRepoContext, assertAgentBackendConfigured, runInitiatorScope, pokeInitiativeLoop, agentKindRegistry, gateRegistry, stepResolverRegistry, providerRegistry, initiativePresetRegistry, prVerificationReportPublisher, workspaceSettingsRepository, appBaseUrl, logger, }) {
|
|
130
131
|
// Forward-only: the run-initiator scope is consumed solely by RunDispatcher (below), so it
|
|
131
132
|
// is hoisted to a local with its default applied rather than stored as a `this.` field.
|
|
132
133
|
const runInitiatorScopeFn = runInitiatorScope ?? ((_initiatedBy, fn) => fn());
|
|
@@ -305,6 +306,18 @@ export class ExecutionService {
|
|
|
305
306
|
this.initiativeInterviewController,
|
|
306
307
|
this.docInterviewController,
|
|
307
308
|
].filter((c) => !!c),
|
|
309
|
+
// Keeps the run's verification report on its PR as each step settles (a hook, not a
|
|
310
|
+
// pipeline step — see docs/initiatives/pr-verification-report.md). A no-op when no
|
|
311
|
+
// publisher is wired, so no-VCS deployments and the engine tests are untouched.
|
|
312
|
+
prVerificationReport: new PrVerificationReportController({
|
|
313
|
+
blockRepository,
|
|
314
|
+
clock,
|
|
315
|
+
publisher: prVerificationReportPublisher,
|
|
316
|
+
taskRepository,
|
|
317
|
+
workspaceSettingsRepository,
|
|
318
|
+
appBaseUrl,
|
|
319
|
+
logger,
|
|
320
|
+
}),
|
|
308
321
|
runInitiatorScope: runInitiatorScopeFn,
|
|
309
322
|
environmentProvisioning,
|
|
310
323
|
ticketTrackerProvider,
|
|
@@ -417,7 +430,7 @@ export class ExecutionService {
|
|
|
417
430
|
}
|
|
418
431
|
/** Start a pipeline against a block, replacing any prior run on it. */
|
|
419
432
|
async start(workspaceId, blockId, pipelineId, options = {}) {
|
|
420
|
-
const { initiatedBy, activate, origin = 'manual', gatesOverride } = options;
|
|
433
|
+
const { initiatedBy, activate, origin = 'manual', intakeOrigin, gatesOverride } = options;
|
|
421
434
|
await this.requireWorkspace(workspaceId);
|
|
422
435
|
const block = await this.requireBlock(workspaceId, blockId);
|
|
423
436
|
const pipeline = assertFound(await this.pipelineRepository.get(workspaceId, pipelineId), 'Pipeline', pipelineId);
|
|
@@ -591,6 +604,9 @@ export class ExecutionService {
|
|
|
591
604
|
currentStep: 0,
|
|
592
605
|
status: 'running',
|
|
593
606
|
initiatedBy: initiatedBy ?? null,
|
|
607
|
+
// Only a headless start carries an explicit intake origin; `ui` is the read-time
|
|
608
|
+
// default, so an ordinary board/schedule start stores nothing extra.
|
|
609
|
+
...(intakeOrigin != null ? { intakeOrigin } : {}),
|
|
594
610
|
createdAt: this.clock.now(),
|
|
595
611
|
...(frontendRun?.notes.length ? { notes: frontendRun.notes } : {}),
|
|
596
612
|
...(frontendRun?.bindings.length ? { frontendBindings: frontendRun.bindings } : {}),
|
|
@@ -1505,22 +1521,13 @@ export class ExecutionService {
|
|
|
1505
1521
|
// atomic `insertLiveRunOrConflict` below replaces `previous` (via `replaceId`) and clears
|
|
1506
1522
|
// any terminal rows in the SAME transaction, so a concurrent double-retry is serialised by
|
|
1507
1523
|
// the live-run index (the loser gets a 409) instead of both deleting-then-inserting.
|
|
1508
|
-
const instance = {
|
|
1524
|
+
const instance = buildResumedInstance({
|
|
1525
|
+
previous,
|
|
1509
1526
|
id: newId,
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
currentStep,
|
|
1515
|
-
status: 'running',
|
|
1516
|
-
initiatedBy: initiatedBy ?? previous.initiatedBy ?? null,
|
|
1517
|
-
// Preserve the error trail: the failure this retry is clearing is appended to the
|
|
1518
|
-
// history so it stays viewable after the top banner disappears on restart.
|
|
1519
|
-
failureHistory: carryForwardFailures(previous),
|
|
1520
|
-
// A retry resumes at the first UNFINISHED step, so it discards no completed output —
|
|
1521
|
-
// this just carries any prior restart's successful-output trail forward unchanged.
|
|
1522
|
-
outputHistory: carryForwardOutputs(previous, currentStep, this.clock.now()),
|
|
1523
|
-
};
|
|
1527
|
+
plan: { steps, currentStep },
|
|
1528
|
+
initiatedBy,
|
|
1529
|
+
now: this.clock.now(),
|
|
1530
|
+
});
|
|
1524
1531
|
await this.insertLiveRunOrConflict(workspaceId, instance, replaceId);
|
|
1525
1532
|
const done = steps.filter((s) => s.state === 'done').length;
|
|
1526
1533
|
await this.blockRepository.update(workspaceId, previous.blockId, {
|
|
@@ -1595,23 +1602,13 @@ export class ExecutionService {
|
|
|
1595
1602
|
// the torn-down source run (`replaceId`, which here may still be LIVE — running/paused/
|
|
1596
1603
|
// blocked) and clears terminal rows in one transaction, so a concurrent start that already
|
|
1597
1604
|
// created a NEW live run for the block loses (409) instead of being silently clobbered.
|
|
1598
|
-
const instance = {
|
|
1605
|
+
const instance = buildResumedInstance({
|
|
1606
|
+
previous,
|
|
1599
1607
|
id: newId,
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
currentStep,
|
|
1605
|
-
status: 'running',
|
|
1606
|
-
initiatedBy: initiatedBy ?? previous.initiatedBy ?? null,
|
|
1607
|
-
// Preserve the error trail across a restart too (a failed run is a valid restart
|
|
1608
|
-
// source), so the prior failure stays viewable once the run is running again.
|
|
1609
|
-
failureHistory: carryForwardFailures(previous),
|
|
1610
|
-
// A restart resets the chosen step + every later one, discarding their outputs — record
|
|
1611
|
-
// the SUCCESSFUL ones so the step-detail execution history keeps what they produced, not
|
|
1612
|
-
// only the errors. Attributed by step index and accumulated across successive restarts.
|
|
1613
|
-
outputHistory: carryForwardOutputs(previous, currentStep, this.clock.now()),
|
|
1614
|
-
};
|
|
1608
|
+
plan: { steps, currentStep },
|
|
1609
|
+
initiatedBy,
|
|
1610
|
+
now: this.clock.now(),
|
|
1611
|
+
});
|
|
1615
1612
|
await this.insertLiveRunOrConflict(workspaceId, instance, replaceId);
|
|
1616
1613
|
const done = steps.filter((s) => s.state === 'done').length;
|
|
1617
1614
|
await this.blockRepository.update(workspaceId, previous.blockId, {
|