@cat-factory/orchestration 0.193.0 → 0.194.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.
Files changed (37) hide show
  1. package/dist/modules/board/BoardService.d.ts +2 -0
  2. package/dist/modules/board/BoardService.d.ts.map +1 -1
  3. package/dist/modules/board/BoardService.js +4 -0
  4. package/dist/modules/board/BoardService.js.map +1 -1
  5. package/dist/modules/board/publicBoardReads.d.ts +12 -0
  6. package/dist/modules/board/publicBoardReads.d.ts.map +1 -1
  7. package/dist/modules/board/publicBoardReads.js +19 -4
  8. package/dist/modules/board/publicBoardReads.js.map +1 -1
  9. package/dist/modules/execution/AgentDispatchController.d.ts +115 -0
  10. package/dist/modules/execution/AgentDispatchController.d.ts.map +1 -0
  11. package/dist/modules/execution/AgentDispatchController.js +307 -0
  12. package/dist/modules/execution/AgentDispatchController.js.map +1 -0
  13. package/dist/modules/execution/ExecutionService.d.ts +18 -105
  14. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  15. package/dist/modules/execution/ExecutionService.js +70 -589
  16. package/dist/modules/execution/ExecutionService.js.map +1 -1
  17. package/dist/modules/execution/IterationCapController.d.ts +57 -0
  18. package/dist/modules/execution/IterationCapController.d.ts.map +1 -0
  19. package/dist/modules/execution/IterationCapController.js +141 -0
  20. package/dist/modules/execution/IterationCapController.js.map +1 -0
  21. package/dist/modules/execution/RunDispatcher.d.ts +31 -195
  22. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  23. package/dist/modules/execution/RunDispatcher.js +47 -313
  24. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  25. package/dist/modules/execution/RunDispatcherDependencies.d.ts +142 -0
  26. package/dist/modules/execution/RunDispatcherDependencies.d.ts.map +1 -0
  27. package/dist/modules/execution/RunDispatcherDependencies.js +27 -0
  28. package/dist/modules/execution/RunDispatcherDependencies.js.map +1 -0
  29. package/dist/modules/execution/RunLifecycleController.d.ts +141 -0
  30. package/dist/modules/execution/RunLifecycleController.d.ts.map +1 -0
  31. package/dist/modules/execution/RunLifecycleController.js +489 -0
  32. package/dist/modules/execution/RunLifecycleController.js.map +1 -0
  33. package/dist/modules/execution/run-action-controllers.d.ts +18 -0
  34. package/dist/modules/execution/run-action-controllers.d.ts.map +1 -0
  35. package/dist/modules/execution/run-action-controllers.js +19 -0
  36. package/dist/modules/execution/run-action-controllers.js.map +1 -0
  37. package/package.json +11 -11
@@ -0,0 +1,307 @@
1
+ import { getErrorMessage, isAsyncAgentExecutor, parseLocalModelId } from '@cat-factory/kernel';
2
+ import { PR_REVIEWER_KIND, resolvePrNumber } from '@cat-factory/agents';
3
+ import { recordDispatchAttribution } from './step-fold.logic.js';
4
+ import { classifyDispatchFailure } from './job.logic.js';
5
+ import { initialPrReviewState } from './prReview.logic.js';
6
+ /**
7
+ * The DISPATCH half of a step, the sibling of `PollRunningController` / `PollCompletionController`
8
+ * on the other side of the park: build the agent context, run the kind's pre-ops, then either
9
+ * start an async container job and park, or make the inline LLM call and settle.
10
+ *
11
+ * It also owns the facts that can only be RECORDED AT DISPATCH, which is why they live with it
12
+ * rather than with the poll: the durable poll path rebuilds its handle from the STEP alone, so the
13
+ * resolved model, the job's attribution and the investigation diagnostics have to be stamped here
14
+ * or they are silently absent in production (see the dispatch-attribution rule in CLAUDE.md).
15
+ * `RunDispatcher` keeps thin delegates, so no call site moved.
16
+ */
17
+ export class AgentDispatchController {
18
+ deps;
19
+ constructor(deps) {
20
+ this.deps = deps;
21
+ }
22
+ /**
23
+ * The generic container/inline-agent step — the lowest-priority StepHandler, claiming
24
+ * every step no more-specific handler did (coder, architect, spec-writer, merger,
25
+ * task-estimator, the container-backed companions, …). Builds the agent context, runs the
26
+ * kind's pre-ops, then either dispatches an async container job and parks (the durable
27
+ * driver polls between sleeps) or runs the inline LLM call and records the result. This is
28
+ * what the dispatch chain falls through to; all the deterministic / gate / inline-review
29
+ * kinds are claimed earlier by their own handlers (see {@link buildStepHandlerRegistry}).
30
+ */
31
+ async handleAgentStep(ctx, dispatchKind, augmentContext) {
32
+ const { workspaceId, instance, step, block, isFinalStep, options } = ctx;
33
+ // Async (container) steps don't block: dispatch the job and park. The durable
34
+ // driver polls `pollAgentJob` between sleeps so the run can span far longer
35
+ // than a single durable step's timeout, while each step stays short. A set
36
+ // `jobId` means a prior (possibly replayed) dispatch already started the job,
37
+ // so we re-attach instead of starting a duplicate.
38
+ //
39
+ // `dispatchKind` overrides the dispatched agent kind WITHOUT changing `step.agentKind`
40
+ // — used by the fork-decision phase to dispatch the read-only `fork-proposer` explore
41
+ // job as a HELPER off the coder step (Phase A). The completion still records against the
42
+ // coder step, and the fork-proposal interceptor keys on `step.agentKind` + the fork state.
43
+ const context = await this.deps.contextBuilder.buildContext(workspaceId, instance, step, isFinalStep, block, dispatchKind ? { agentKind: dispatchKind } : undefined);
44
+ // A caller re-dispatching this step under an overriding kind can fold extra context in
45
+ // (e.g. the PR-review `fix` resolution points the Fixer at the reviewed PR's head branch and
46
+ // hands it the selected findings). Runs before pre-ops / dispatch so the job body sees it.
47
+ augmentContext?.(context);
48
+ // A registered custom kind's PRE-ops run deterministic backend repo work before the
49
+ // agent dispatches (e.g. read a baseline `spec/` shard into the prompt). Gated on the
50
+ // step not having dispatched yet so a Workflows replay (jobId already set) doesn't
51
+ // re-run them; a no-op for built-in kinds and when GitHub isn't wired.
52
+ if (!step.jobId) {
53
+ await this.deps.repoOps.runRegisteredPreOps(workspaceId, instance, block, step, context);
54
+ }
55
+ const executor = this.deps.agentExecutor;
56
+ if (isAsyncAgentExecutor(executor) && executor.runsAsync(context)) {
57
+ if (!step.jobId) {
58
+ // The model is fixed the moment its ref resolves (block pin > workspace
59
+ // default > env routing) — long before the container is up — so name it on
60
+ // the very first "spinning up container" emit instead of waiting for the
61
+ // dispatch to return. startJob confirms the same value below.
62
+ const previewModel = await this.previewStepModel(context);
63
+ if (previewModel)
64
+ step.model = previewModel;
65
+ // Surface the explicit container lifecycle for the cold-boot window: dispatch
66
+ // blocks until the per-run container is up and has accepted the job, so emitting
67
+ // `starting` now lets the details show the boot (and then the live phase + the
68
+ // container id/url) instead of a blank "working" state.
69
+ step.container = { status: 'starting' };
70
+ // Seed the in-flight PR-review state so a `pr-reviewer` run surfaces a real `reviewing`
71
+ // phase in the deep-review window (the reviewed PR + the live slices-reviewed progress
72
+ // off the step's todo subtasks) instead of an empty panel until the findings land. Only
73
+ // on the reviewer's OWN first dispatch: a `fix`/`post` re-dispatch reuses this step under
74
+ // an overriding kind and already carries `prReview` (`fixing`/`posting`), which must not
75
+ // be reset back to `reviewing`.
76
+ if (step.agentKind === PR_REVIEWER_KIND && !step.prReview) {
77
+ const prUrl = block?.taskTypeFields?.prUrl?.trim() || null;
78
+ // Capture the PR head sha NOW (review start), so the `post` resolution can detect a
79
+ // branch update between here and posting and fold drifted findings into the summary.
80
+ const reviewedHeadSha = await this.resolveReviewedHeadSha(workspaceId, instance, block);
81
+ step.prReview = initialPrReviewState(prUrl, step.model ?? null, reviewedHeadSha);
82
+ }
83
+ // Surface the block's ephemeral environment (if any) alongside the cold-boot
84
+ // phase, so a run's details show the env spinning up next to the container.
85
+ await this.deps.deployer.attachEnvironmentProjection(workspaceId, instance.blockId, step);
86
+ await this.deps.runStateMachine.casPersist(workspaceId, instance);
87
+ await this.deps.runStateMachine.emitInstance(workspaceId, instance);
88
+ let handle;
89
+ try {
90
+ handle = await executor.startJob(context);
91
+ }
92
+ catch (error) {
93
+ // Classify the throw (see {@link classifyDispatchFailure}). A genuine container
94
+ // accept failure (HTTP/network/capacity) is framed as `dispatch` ("container failed
95
+ // to start") with the EXACT provider response as detail; a dispatch-time eviction
96
+ // routes to `evicted`. But a job is BUILT before any container is contacted, so a
97
+ // precondition (e.g. `github_not_connected` — no connected repo) is a `preflight`
98
+ // rejection that surfaces its own actionable message + machine-readable reason
99
+ // instead of the misleading container framing.
100
+ step.container = { status: 'errored' };
101
+ await this.deps.runStateMachine.casPersist(workspaceId, instance);
102
+ await this.deps.runStateMachine.emitInstance(workspaceId, instance);
103
+ // Hand the classifier the step's run history so a container lost AFTER work began (a
104
+ // failed eviction-recovery re-dispatch, `evictionRecoveries > 0`) is reported as an
105
+ // unrecoverable eviction — with elapsed minutes + any partial slice count — rather than
106
+ // the misleading "container failed to start". See ADR 0026 D1.
107
+ return {
108
+ kind: 'job_failed',
109
+ ...classifyDispatchFailure(error, {
110
+ evictionRecoveries: step.evictionRecoveries,
111
+ transientEvictionRecoveries: step.transientEvictionRecoveries,
112
+ startedAt: step.startedAt,
113
+ sliceCount: step.prReview?.slices?.length,
114
+ }),
115
+ };
116
+ }
117
+ step.jobId = handle.jobId;
118
+ // Record the model at dispatch — the poll site can't resolve it later.
119
+ recordDispatchAttribution(step, handle, context.agentKind);
120
+ // Surface web-search availability + provider on the step (run details), resolved
121
+ // backend-side at dispatch. A static per-run fact, not gated by prompt telemetry.
122
+ if (handle.search)
123
+ step.search = handle.search;
124
+ // Stamp after-the-fact investigation diagnostics for this dispatch: the step's
125
+ // agent kind, resolved model, and repo — the facts a failure post-mortem needs but
126
+ // that are otherwise spread across DB joins / the harness transcript. The execution
127
+ // backend (native vs. container) is unknown until the transport reports it on the
128
+ // first poll, so `pollAgentJob` fills it in then.
129
+ this.recordDispatchDiagnostics(instance, context, handle);
130
+ // The dispatch returned, so the container is up and the job is accepted; the
131
+ // live phase + the container id/url arrive on the first poll.
132
+ step.container = { status: 'up' };
133
+ await this.deps.runStateMachine.casPersist(workspaceId, instance);
134
+ await this.deps.runStateMachine.emitInstance(workspaceId, instance);
135
+ }
136
+ return { kind: 'awaiting_job', jobId: step.jobId, stepIndex: instance.currentStep };
137
+ }
138
+ // Inline path: the model is resolved before the (blocking) LLM call, so surface
139
+ // it now — the board names the model while the step is querying instead of only
140
+ // once the result lands. recordStepResult re-asserts it from the result.
141
+ const previewModel = await this.previewStepModel(context);
142
+ if (previewModel && previewModel !== step.model) {
143
+ step.model = previewModel;
144
+ await this.deps.runStateMachine.casPersist(workspaceId, instance);
145
+ await this.deps.runStateMachine.emitInstance(workspaceId, instance);
146
+ }
147
+ const result = await this.runAgent(context, options);
148
+ return this.deps.recordStepResult(workspaceId, instance, step, isFinalStep, result);
149
+ }
150
+ /**
151
+ * Stamp the run's investigation diagnostics from a container dispatch (the `lastDispatch`
152
+ * block + the control-plane host). Mutates `instance` in place; the caller upserts. Reflects
153
+ * the MOST RECENT dispatch — a run's failure is almost always in its latest step, and keeping
154
+ * one block (not a per-step history) keeps the record small. `executionBackend` is left for the
155
+ * first poll to fill (the transport reports it). Never carries a token/secret.
156
+ */
157
+ recordDispatchDiagnostics(instance, context, handle) {
158
+ // Orchestration is runtime-neutral (no @types/node), so read `process.platform` off globalThis
159
+ // with a guard rather than the bare global — undefined on a runtime that doesn't expose it
160
+ // (e.g. workerd), which just omits the host block. Best-effort investigation context.
161
+ const platform = globalThis.process?.platform;
162
+ instance.diagnostics = {
163
+ ...instance.diagnostics,
164
+ lastDispatch: {
165
+ stepIndex: instance.currentStep,
166
+ agentKind: context.agentKind,
167
+ ...(handle.model ? { model: handle.model } : {}),
168
+ ...(handle.repo ? { repo: handle.repo } : {}),
169
+ at: this.deps.clock.now(),
170
+ },
171
+ ...(platform ? { host: { platform } } : {}),
172
+ };
173
+ }
174
+ /**
175
+ * Fill in `diagnostics.lastDispatch.executionBackend` from the transport-reported backend on
176
+ * the first poll that carries it (native host process vs. sandboxed container — the datum that
177
+ * is otherwise indistinguishable after the fact). Idempotent: a no-op once set, or when the
178
+ * update carries no backend / the dispatch block is missing. Returns whether it changed
179
+ * anything (so the caller can skip a redundant upsert).
180
+ */
181
+ recordBackendDiagnostics(instance, backend) {
182
+ const dispatch = instance.diagnostics?.lastDispatch;
183
+ if (!backend || !dispatch || dispatch.executionBackend === backend)
184
+ return false;
185
+ instance.diagnostics = {
186
+ ...instance.diagnostics,
187
+ lastDispatch: { ...dispatch, executionBackend: backend },
188
+ };
189
+ return true;
190
+ }
191
+ /**
192
+ * Preview the model a step will run (`provider:model`) ahead of the work, so the
193
+ * board can show it during the inline query / container cold-boot rather than only
194
+ * once the result or job handle lands. Best-effort: the executor may not implement
195
+ * a preview, and a resolution failure (e.g. an unwired container kind that fails at
196
+ * dispatch anyway) must never break the run — both yield undefined.
197
+ */
198
+ async previewStepModel(context) {
199
+ if (!this.deps.agentExecutor.resolveModel)
200
+ return undefined;
201
+ try {
202
+ return await this.deps.agentExecutor.resolveModel(context);
203
+ }
204
+ catch {
205
+ return undefined;
206
+ }
207
+ }
208
+ /**
209
+ * Whether the current step incurs NO metered monetary LLM cost, so the spend gate can
210
+ * let it proceed even when the budget is exhausted. Two non-metered cases:
211
+ * - a flat-rate SUBSCRIPTION (quota) model — Claude Code / Codex on a pooled token;
212
+ * resolved through the executor (the authority on "subscriptions always win").
213
+ * - a LOCAL-runner model (Ollama / LM Studio / …) — keyless, runs on the user's own
214
+ * endpoint, so it costs the deployment nothing; detected off the resolved model id.
215
+ * This is what makes a `0` budget mean "no PAID spend" without bricking a workspace that
216
+ * deliberately runs only local models or subscriptions (see the spend-budget docs).
217
+ *
218
+ * Once the executor resolves the step's concrete model id, the metered/non-metered
219
+ * decision is delegated to the SAME {@link modelIdIsMetered} predicate the up-front
220
+ * {@link assertBudgetAllowsPipeline} gate uses, so the two gates can't classify a model
221
+ * differently (a divergence would let a run pass the start gate then immediately pause,
222
+ * or vice versa). The executor's `isQuotaBased` is still consulted first as the
223
+ * authoritative subscription-routing signal; the shared predicate covers local-runner +
224
+ * subscription-by-capability + Cloudflare classification identically to the start gate.
225
+ * Falls back to a bare local-id check when no capability resolver is wired.
226
+ *
227
+ * Best-effort and side-effect-free: an executor without the capability, a missing block,
228
+ * or any resolution error all report false (treated as budget-metered, the prior
229
+ * behaviour). Only consulted on the over-budget path, so it never touches the happy path.
230
+ */
231
+ async currentStepIsNonMetered(workspaceId, instance, step) {
232
+ try {
233
+ const block = await this.deps.blockRepository.get(workspaceId, instance.blockId);
234
+ if (!block)
235
+ return false;
236
+ const isFinalStep = instance.currentStep === instance.steps.length - 1;
237
+ const context = await this.deps.contextBuilder.buildContext(workspaceId, instance, step, isFinalStep, block);
238
+ if (this.deps.agentExecutor.isQuotaBased &&
239
+ (await this.deps.agentExecutor.isQuotaBased(context))) {
240
+ return true;
241
+ }
242
+ if (this.deps.agentExecutor.resolveModel) {
243
+ const modelId = await this.deps.agentExecutor.resolveModel(context);
244
+ // Classify the resolved id through the shared predicate (same as the start gate)
245
+ // when capabilities are wired; else fall back to the bare local-runner check.
246
+ if (this.deps.resolveProviderCapabilities) {
247
+ const caps = await this.deps.resolveProviderCapabilities(workspaceId, instance.initiatedBy, block.modelPresetId);
248
+ if (!this.deps.modelIdIsMetered(modelId, caps))
249
+ return true;
250
+ }
251
+ else if (parseLocalModelId(modelId)) {
252
+ return true;
253
+ }
254
+ }
255
+ return false;
256
+ }
257
+ catch {
258
+ return false;
259
+ }
260
+ }
261
+ /**
262
+ * Resolve the reviewed PR's head sha at review-START, stamped onto `step.prReview` when the
263
+ * `pr-reviewer` first dispatches. The `post` resolution later re-reads the PR head and folds
264
+ * every finding into the summary when it moved (the frozen line numbers may have drifted). Best
265
+ * effort: null on any failure, no PR number, or a client without the `pullRequestHeadSha`
266
+ * capability — the drift check then simply doesn't run (posting falls back to per-line filtering).
267
+ */
268
+ async resolveReviewedHeadSha(workspaceId, instance, block) {
269
+ if (!block)
270
+ return null;
271
+ const prNumber = resolvePrNumber(block.taskTypeFields ?? undefined);
272
+ if (prNumber == null)
273
+ return null;
274
+ try {
275
+ const runRepo = await this.deps.resolveRunRepoContext?.(workspaceId, block.id);
276
+ const headSha = runRepo?.repo.pullRequestHeadSha;
277
+ if (!headSha)
278
+ return null;
279
+ return await this.deps.runInitiatorScope({ workspaceId, initiatedBy: instance.initiatedBy }, () => headSha(prNumber));
280
+ }
281
+ catch {
282
+ return null;
283
+ }
284
+ }
285
+ /**
286
+ * Invoke the agent for an already-built context. Failures are swallowed into the
287
+ * step output so a run never wedges — unless `rethrowAgentErrors` is set (the
288
+ * durable path), in which case the error propagates so the driver's per-step
289
+ * retry can take over.
290
+ */
291
+ async runAgent(context, options = {}) {
292
+ try {
293
+ return await this.deps.agentExecutor.run(context);
294
+ }
295
+ catch (error) {
296
+ // The durable driver wants real failures to surface so its per-step retry
297
+ // can kick in (and the error gets persisted after retries are exhausted).
298
+ if (options.rethrowAgentErrors)
299
+ throw error;
300
+ // Otherwise a failed agent must not wedge the run; record and complete.
301
+ return {
302
+ output: `Agent error: ${getErrorMessage(error)}`,
303
+ };
304
+ }
305
+ }
306
+ }
307
+ //# sourceMappingURL=AgentDispatchController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentDispatchController.js","sourceRoot":"","sources":["../../../src/modules/execution/AgentDispatchController.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,6 @@ export declare class ExecutionService {
83
83
  * their drops without a null-check. `noopLogger` when a facade wired none.
84
84
  */
85
85
  private readonly log;
86
- private readonly subscriptionActivations?;
87
86
  private readonly pokeInitiativeLoop?;
88
87
  private readonly resolveWorkspaceModelDefault?;
89
88
  /**
@@ -96,6 +95,13 @@ export declare class ExecutionService {
96
95
  private readonly runDispatcher;
97
96
  /** The human decision surface on a parked run (approve / reject / merge / …). */
98
97
  private readonly stepDecisions;
98
+ /**
99
+ * The surfaces a HUMAN drives on a whole run: its lifecycle (launch / re-launch / resume / end,
100
+ * which share the claim-then-hand-off order) and the three-way iteration-cap resolution both
101
+ * automatic-rework gates park for. Extracted so this service keeps the per-step machine; the
102
+ * public methods that reach them are thin pass-throughs.
103
+ */
104
+ private readonly runActions;
99
105
  /** Maintains the run's verification report on its PR (a hook on step settlement). */
100
106
  private readonly prVerificationReport;
101
107
  constructor(dependencies: ExecutionServiceDependencies);
@@ -170,8 +176,6 @@ export declare class ExecutionService {
170
176
  * only an unpinned run falls to the workspace per-kind defaults.
171
177
  */
172
178
  private resolveIndividualVendors;
173
- /** Start a pipeline against a block, replacing any prior run on it. */
174
- start(workspaceId: string, blockId: string, pipelineId: string, options?: RunStartOptions): Promise<ExecutionInstance>;
175
179
  /**
176
180
  * Advance a single run by exactly one step and report what happened. This is
177
181
  * the durable driver's entry point: it reloads the run from storage (so it is
@@ -241,24 +245,7 @@ export declare class ExecutionService {
241
245
  private inferBlockTechnical;
242
246
  /** Pick the brainstorm kind for a stage (the dedicated window drives both via the same loop). */
243
247
  private brainstormKindFor;
244
- /**
245
- * Route an iteration-cap resolution to its gate-specific handlers. `stop-reset` is
246
- * uniform across gates: cancel the run and return the block to phase zero (editable),
247
- * keeping whatever reference artifact each gate persists (the requirements doc on its
248
- * own table; a companion's producer output on its branch). Shared by the requirements
249
- * gate (`requirementsReview.resolveExceeded`, via {@link ReviewGateController}) and the
250
- * companion gate ({@link resolveCompanionExceeded}) so the three-way choice lives in one place.
251
- */
252
- private dispatchIterationCap;
253
- /**
254
- * Resolve a companion step parked at its automatic-rework cap (`companion.exceeded`):
255
- * grant one more round, proceed accepting the producer's current output, or stop the
256
- * task and reset it to phase zero. The companion mirror of the requirements
257
- * iteration-cap resolution (`requirementsReview.resolveExceeded`), sharing the iteration-cap dispatch + the
258
- * gate-resume plumbing. Idempotent — an already-resolved gate returns the instance
259
- * unchanged. Scoped by execution + approval id (the execution controller surface),
260
- * since a companion gate is not block-addressed like the requirements window.
261
- */
248
+ /** @see IterationCapController.resolveCompanionExceeded */
262
249
  resolveCompanionExceeded(workspaceId: string, executionId: string, approvalId: string, choice: IterationCapChoice): Promise<ExecutionInstance>;
263
250
  /**
264
251
  * Merge a block's PR(s) for real, then mark it `done`. The remote merge happens FIRST (via
@@ -324,96 +311,22 @@ export declare class ExecutionService {
324
311
  * faulted); `kind` classifies the cause so the right hint is shown.
325
312
  */
326
313
  failRun(workspaceId: string, executionId: string, message: string, kind?: AgentFailureKind, detail?: string | null, reason?: string | null): Promise<void>;
327
- /**
328
- * Retry a failed run: re-drive the same pipeline on the same block, **resuming
329
- * from the step that actually failed** rather than restarting from step 0. The
330
- * steps that already completed are preserved (so a `coder` failure in `pl_full`
331
- * doesn't re-run the human-gated `requirements`/`architect` steps before it);
332
- * the failed step and everything after it are reset to a clean, re-runnable
333
- * state. Only a `failed` run can be retried.
334
- *
335
- * A fresh instance id is minted because the durable runner addresses one
336
- * Workflows instance per execution id and the failed one is terminal — the new
337
- * instance simply starts with `currentStep` pointed at the failed step, so the
338
- * driver advances forward from there and never re-issues the completed steps'
339
- * work. Mirrors {@link BootstrapService.retry}; both are reached via the unified
340
- * `POST /agent-runs/:id/retry` endpoint.
341
- */
342
- retry(workspaceId: string, executionId: string,
343
- /** The retrying user (their personal subscription is used for individual-usage
344
- * models). Falls back to the original initiator when omitted. */
345
- initiatedBy?: string | null,
346
- /** Mint the per-run personal-credential activation (see {@link start}). */
347
- activate?: (executionId: string) => Promise<void>): Promise<ExecutionInstance>;
348
- /**
349
- * Restart a run from a human-chosen step: re-run from `fromStepIndex` onward,
350
- * regardless of how far the run had progressed (a `done`, `failed`, `blocked`,
351
- * `paused` or still-`running` run are all valid sources). Unlike {@link retry}
352
- * (which resumes at the first FAILURE) this rewinds to an arbitrary step the user
353
- * picked — so it can re-run steps that already completed.
354
- *
355
- * What is preserved vs reset:
356
- * - Steps BEFORE `fromStepIndex` keep their `output`/approval/timing untouched, so
357
- * the engine still hands the restarted step its predecessors' work as
358
- * `priorOutputs` (and their resolved `decisions`) — a useful handoff.
359
- * - The chosen step and every later one are reset to a clean, re-runnable state,
360
- * dropping each step's iteration counters (companion attempts, gate/test attempts,
361
- * eviction recoveries) so the restart starts those loops from zero.
362
- * - A block's incorporated requirements are NOT touched: they live on the
363
- * requirement-review record, so a restarted spec-writer/coder still receives the
364
- * incorporated document (or the base description when none was generated). When the
365
- * chosen step is the `requirements-review` gate ITSELF, re-running it mints a fresh
366
- * iteration-1 review (the reviewer's `review()` replaces the prior one), which is
367
- * exactly the "reset the iterations counter from this step" semantics.
368
- *
369
- * Like {@link retry} a fresh instance id is minted (the durable runner addresses one
370
- * driver per execution id). Any still-live driver/container for the run being
371
- * replaced is torn down first, so restarting a RUNNING run never orphans a container
372
- * or a parked Workflows instance.
373
- */
374
- restartFromStep(workspaceId: string, executionId: string, fromStepIndex: number,
375
- /** The restarting user (their personal subscription is used for individual-usage
376
- * models). Falls back to the original initiator when omitted. */
377
- initiatedBy?: string | null,
378
- /** Mint the per-run personal-credential activation (see {@link start}). */
379
- activate?: (executionId: string) => Promise<void>): Promise<ExecutionInstance>;
380
- /**
381
- * The bound callbacks the two run-start funnels (`runStart.ts`) need, so they depend on no
382
- * concrete repository or service. Those funnels own the ORDER between a run's atomic claim and
383
- * its hand-off and are documented there; every start path calls both, writing the block state
384
- * that path owns in between.
385
- */
386
- private get runStartDeps();
387
- /**
388
- * Resume every run paused by the spend safeguard in this workspace. Flips them
389
- * back to `running` and re-drives the durable runner. If the budget is still
390
- * exhausted the spend gate will simply pause them again on their next step.
391
- */
314
+ /** @see RunLifecycleController.start */
315
+ start(workspaceId: string, blockId: string, pipelineId: string, options?: RunStartOptions): Promise<ExecutionInstance>;
316
+ /** @see RunLifecycleController.retry */
317
+ retry(workspaceId: string, executionId: string, initiatedBy?: string | null, activate?: (executionId: string) => Promise<void>): Promise<ExecutionInstance>;
318
+ /** @see RunLifecycleController.restartFromStep */
319
+ restartFromStep(workspaceId: string, executionId: string, fromStepIndex: number, initiatedBy?: string | null, activate?: (executionId: string) => Promise<void>): Promise<ExecutionInstance>;
320
+ /** @see RunLifecycleController.resumePaused */
392
321
  resumePaused(workspaceId: string): Promise<ExecutionInstance[]>;
393
- /** Cancel the run on a block, returning it to `planned`. */
322
+ /** @see RunLifecycleController.cancel */
394
323
  cancel(workspaceId: string, blockId: string): Promise<Block>;
395
- /**
396
- * Explicitly stop a *running* run by id (the unified `POST /agent-runs/:id/stop`
397
- * surface): kill its per-run container, tear down the durable driver, then record
398
- * a terminal `cancelled` failure so the board shows the run stopped (with retry)
399
- * rather than spinning forever. Idempotent — a run already terminal is returned
400
- * as-is. `opts.reason`/`opts.kind` let the orphan sweep reuse this with its own
401
- * wording instead of the user-facing default.
402
- */
324
+ /** @see RunLifecycleController.stopRun */
403
325
  stopRun(workspaceId: string, executionId: string, opts?: {
404
326
  reason?: string;
405
327
  kind?: AgentFailureKind;
406
328
  }): Promise<ExecutionInstance>;
407
- /**
408
- * Tear down every run under a block subtree — kill each container, terminate each
409
- * durable driver, and delete the run record — so deleting a service/module never
410
- * orphans a container or a Workflows instance. Best-effort and silent: the board
411
- * delete that follows emits the coarse refresh, so no per-run event is needed.
412
- *
413
- * Returns the workspace block list it loaded so the immediately-following `removeBlock`
414
- * can reuse it instead of re-listing the whole board (this teardown deletes only run
415
- * records, never blocks, so the list is still current) — see {@link PreloadedBlocks}.
416
- */
329
+ /** @see RunLifecycleController.teardownForBlockTree */
417
330
  teardownForBlockTree(workspaceId: string, rootId: string): Promise<PreloadedBlocks>;
418
331
  }
419
332
  //# sourceMappingURL=ExecutionService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionService.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAG7B,iBAAiB,EAIlB,MAAM,qBAAqB,CAAA;AAS5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAOL,KAAK,kBAAkB,EACxB,MAAM,qBAAqB,CAAA;AAsB5B,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,EAKnB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,KAAK,EAAsB,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AASvD,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,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAqC9D,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;IAK1E,mFAAmF;IACnF,OAAO,CAAC,yBAAyB,CAAC,CAA0B;IAC5D,sFAAsF;IACtF,OAAO,CAAC,oBAAoB,CAAC,CAAsB;IACnD,kEAAkE;IAClE,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,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,WAAW,CAAgB;IAC5C,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAwB;IACxD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,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;IAC7C,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IAErE,YAAY,YAAY,EAAE,4BAA4B,EAqNrD;IAED;;;;;;;;;;;;OAYG;IACG,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvF;IAED;;;;OAIG;IACH;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,mBAAmB;IAwB3B,wFAAwF;IACxF,IAAI,kBAAkB,IAAI,wBAAwB,CAMjD;IAED,yDAAyD;IACzD,IAAI,aAAa,IAAI,oBAAoB,CAGxC;IAED,uEAAuE;IACvE,IAAI,UAAU,IAAI,iBAAiB,CAKlC;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,CAkN5B;IAED;;;;;OAKG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAuCxB;IAED,4EAA4E;YAC9D,YAAY;IA8F1B,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,yCAAyC;IACzC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAEtF;IAED;;;;;OAKG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,cAAc,CAAC,CAEzB;IAED;;;OAGG;IACH,gBAAgB,IAAI,eAAe,EAAE,CAEpC;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,wCAAwC;IACxC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEnF;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;IA6BjC,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;;;;;;;;;;;;;OAaG;YACW,aAAa;IA2E3B;;;;OAIG;YACW,6BAA6B;IAwB3C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B,gFAAgF;IAChF,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,uFAAuF;IACvF,WAAW,CACT,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,CAE5B;IAED,gGAAgG;IAChG,kBAAkB,CAChB,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,CAE5B;IAED,+EAA+E;IAC/E,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,mFAAmF;IACnF,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED,6EAA6E;IAC7E,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,GACjC,OAAO,CAAC,KAAK,CAAC,CAEhB;IAED,2FAA2F;IAC3F,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;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,CAyD5B;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,CAgE5B;IAED;;;;;OAKG;IACH,OAAO,KAAK,YAAY,GASvB;IAED;;;;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"}
1
+ {"version":3,"file":"ExecutionService.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionService.ts"],"names":[],"mappings":"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"}