@cat-factory/orchestration 0.36.5 → 0.37.1

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.
@@ -0,0 +1,70 @@
1
+ import type { Clock, ExecutionInstance, PipelineStep } from '@cat-factory/kernel';
2
+ /**
3
+ * The pure, synchronous step/cursor mutators of the execution engine — the dependency-free
4
+ * inner layer of the run state-machine spine. Every method operates on a passed
5
+ * {@link PipelineStep} / {@link ExecutionInstance} and mutates it in place; the only
6
+ * collaborator is the {@link Clock} the timing stamps come from. Lifted verbatim out of
7
+ * `ExecutionService` so the engine AND every gate controller share ONE definition of "what
8
+ * does it mean to start / finish / park / reset a step" instead of each receiving the
9
+ * mutators as a loose callback bag.
10
+ *
11
+ * Deliberately holds NO repositories, event publisher or runner — those async,
12
+ * instance-persisting concerns live in {@link RunStateMachine}, which composes this. Keeping
13
+ * the pure mutators separate is what lets a controller depend on the timing rules without
14
+ * pulling in the whole persistence/emission surface.
15
+ */
16
+ export declare class StepGraph {
17
+ private readonly clock;
18
+ constructor(clock: Clock);
19
+ /** Transition a step into `working`, stamping its start time once, and resume its clock. */
20
+ startStep(step: PipelineStep): void;
21
+ /**
22
+ * Transition a step into `done`, stamping its finish time once. Set-once so the
23
+ * approval-gate flow (which re-asserts `done` after a human approves, long after
24
+ * the agent actually finished) keeps the agent's true completion time, and so a
25
+ * replay doesn't move it. With {@link startStep}'s `startedAt` this yields the
26
+ * step's execution duration. A step finished directly out of a parked approval
27
+ * stopped *working* when it parked, so its duration is billed to the pause instant
28
+ * ({@link pauseStepForInput}), not the (later) moment the human decided.
29
+ */
30
+ finishStep(step: PipelineStep): void;
31
+ /**
32
+ * Park a step on a human decision and freeze its duration clock. Records when the
33
+ * step stopped working (`pausedAt`) so elapsed time no longer accrues while it waits
34
+ * for input — the symmetric counterpart of the terminal freeze on `finishedAt`.
35
+ * Set-once (a Workflows replay re-parking keeps the original instant); cleared when
36
+ * the step resumes ({@link startStep}) or finishes ({@link finishStep}).
37
+ */
38
+ pauseStepForInput(step: PipelineStep): void;
39
+ /**
40
+ * Reset a step so the durable driver re-runs it from scratch: clear its live container
41
+ * job handle (so it dispatches FRESH work rather than re-attaching to a stale/evicted
42
+ * job), timings, approval, subtasks and prior output.
43
+ */
44
+ resetStepForRerun(step: PipelineStep): void;
45
+ /**
46
+ * Loop a producer step back for rework and re-run every step from it up to and
47
+ * including the companion at `companionIndex`: each one is reset (crucially clearing
48
+ * stale container job handles so an intermediate container step re-dispatches fresh
49
+ * work instead of re-attaching to its evicted job), the producer is handed the
50
+ * `rework` feedback + started, and the instance cursor is moved back to the producer.
51
+ * Shared by the automatic companion loop and the human "request changes" path.
52
+ */
53
+ rerunProducerThrough(instance: ExecutionInstance, producerIndex: number, companionIndex: number, rework: NonNullable<PipelineStep['rework']>): void;
54
+ /**
55
+ * The index of the nearest preceding step a companion grades (one of its target
56
+ * producer kinds), or -1 when none precedes it. The single producer-search used by the
57
+ * automatic companion loop, the human "request changes" redirect, and the iteration-cap
58
+ * extra-round resolution.
59
+ */
60
+ companionProducerIndex(instance: ExecutionInstance, companionIndex: number): number;
61
+ /**
62
+ * Loop a companion's producer back for one more automatic rework cycle: charge one
63
+ * attempt against the budget, then re-run the producer (and any intermediate steps) up
64
+ * to and including the companion so it re-grades. Shared by the automatic
65
+ * below-threshold loop and the human-granted extra round, so both consume the budget
66
+ * identically.
67
+ */
68
+ loopCompanionProducer(instance: ExecutionInstance, companionIndex: number, rework: NonNullable<PipelineStep['rework']>): void;
69
+ }
70
+ //# sourceMappingURL=StepGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepGraph.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/StepGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGjF;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAlC,YAA6B,KAAK,EAAE,KAAK,EAAI;IAE7C,4FAA4F;IAC5F,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAMlC;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAInC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAG1C;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAc1C;IAED;;;;;;;OAOG;IACH,oBAAoB,CAClB,QAAQ,EAAE,iBAAiB,EAC3B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAC1C,IAAI,CAQN;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAMlF;IAED;;;;;;OAMG;IACH,qBAAqB,CACnB,QAAQ,EAAE,iBAAiB,EAC3B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAC1C,IAAI,CAMN;CACF"}
@@ -0,0 +1,124 @@
1
+ import { companionTargets } from '@cat-factory/agents';
2
+ /**
3
+ * The pure, synchronous step/cursor mutators of the execution engine — the dependency-free
4
+ * inner layer of the run state-machine spine. Every method operates on a passed
5
+ * {@link PipelineStep} / {@link ExecutionInstance} and mutates it in place; the only
6
+ * collaborator is the {@link Clock} the timing stamps come from. Lifted verbatim out of
7
+ * `ExecutionService` so the engine AND every gate controller share ONE definition of "what
8
+ * does it mean to start / finish / park / reset a step" instead of each receiving the
9
+ * mutators as a loose callback bag.
10
+ *
11
+ * Deliberately holds NO repositories, event publisher or runner — those async,
12
+ * instance-persisting concerns live in {@link RunStateMachine}, which composes this. Keeping
13
+ * the pure mutators separate is what lets a controller depend on the timing rules without
14
+ * pulling in the whole persistence/emission surface.
15
+ */
16
+ export class StepGraph {
17
+ clock;
18
+ constructor(clock) {
19
+ this.clock = clock;
20
+ }
21
+ /** Transition a step into `working`, stamping its start time once, and resume its clock. */
22
+ startStep(step) {
23
+ step.state = 'working';
24
+ if (step.startedAt == null)
25
+ step.startedAt = this.clock.now();
26
+ // (Re)entering `working` means the step is no longer parked on a human: resume
27
+ // its duration clock (see {@link pauseStepForInput}).
28
+ step.pausedAt = null;
29
+ }
30
+ /**
31
+ * Transition a step into `done`, stamping its finish time once. Set-once so the
32
+ * approval-gate flow (which re-asserts `done` after a human approves, long after
33
+ * the agent actually finished) keeps the agent's true completion time, and so a
34
+ * replay doesn't move it. With {@link startStep}'s `startedAt` this yields the
35
+ * step's execution duration. A step finished directly out of a parked approval
36
+ * stopped *working* when it parked, so its duration is billed to the pause instant
37
+ * ({@link pauseStepForInput}), not the (later) moment the human decided.
38
+ */
39
+ finishStep(step) {
40
+ step.state = 'done';
41
+ if (step.finishedAt == null)
42
+ step.finishedAt = step.pausedAt ?? this.clock.now();
43
+ step.pausedAt = null;
44
+ }
45
+ /**
46
+ * Park a step on a human decision and freeze its duration clock. Records when the
47
+ * step stopped working (`pausedAt`) so elapsed time no longer accrues while it waits
48
+ * for input — the symmetric counterpart of the terminal freeze on `finishedAt`.
49
+ * Set-once (a Workflows replay re-parking keeps the original instant); cleared when
50
+ * the step resumes ({@link startStep}) or finishes ({@link finishStep}).
51
+ */
52
+ pauseStepForInput(step) {
53
+ step.state = 'waiting_decision';
54
+ if (step.pausedAt == null)
55
+ step.pausedAt = this.clock.now();
56
+ }
57
+ /**
58
+ * Reset a step so the durable driver re-runs it from scratch: clear its live container
59
+ * job handle (so it dispatches FRESH work rather than re-attaching to a stale/evicted
60
+ * job), timings, approval, subtasks and prior output.
61
+ */
62
+ resetStepForRerun(step) {
63
+ step.state = 'pending';
64
+ step.startedAt = null;
65
+ step.finishedAt = null;
66
+ step.pausedAt = null;
67
+ step.jobId = undefined;
68
+ step.approval = null;
69
+ step.subtasks = undefined;
70
+ step.progress = 0;
71
+ step.output = undefined;
72
+ // Drop the prior run's structured output too, so a re-run that produces no `custom`
73
+ // doesn't leave stale JSON for the `generic-structured` result view to render.
74
+ step.custom = undefined;
75
+ step.rework = undefined;
76
+ }
77
+ /**
78
+ * Loop a producer step back for rework and re-run every step from it up to and
79
+ * including the companion at `companionIndex`: each one is reset (crucially clearing
80
+ * stale container job handles so an intermediate container step re-dispatches fresh
81
+ * work instead of re-attaching to its evicted job), the producer is handed the
82
+ * `rework` feedback + started, and the instance cursor is moved back to the producer.
83
+ * Shared by the automatic companion loop and the human "request changes" path.
84
+ */
85
+ rerunProducerThrough(instance, producerIndex, companionIndex, rework) {
86
+ for (let i = producerIndex; i <= companionIndex; i++) {
87
+ this.resetStepForRerun(instance.steps[i]);
88
+ }
89
+ const producer = instance.steps[producerIndex];
90
+ producer.rework = rework;
91
+ this.startStep(producer);
92
+ instance.currentStep = producerIndex;
93
+ }
94
+ /**
95
+ * The index of the nearest preceding step a companion grades (one of its target
96
+ * producer kinds), or -1 when none precedes it. The single producer-search used by the
97
+ * automatic companion loop, the human "request changes" redirect, and the iteration-cap
98
+ * extra-round resolution.
99
+ */
100
+ companionProducerIndex(instance, companionIndex) {
101
+ const targets = companionTargets(instance.steps[companionIndex].agentKind);
102
+ for (let i = companionIndex - 1; i >= 0; i--) {
103
+ if (targets.includes(instance.steps[i].agentKind))
104
+ return i;
105
+ }
106
+ return -1;
107
+ }
108
+ /**
109
+ * Loop a companion's producer back for one more automatic rework cycle: charge one
110
+ * attempt against the budget, then re-run the producer (and any intermediate steps) up
111
+ * to and including the companion so it re-grades. Shared by the automatic
112
+ * below-threshold loop and the human-granted extra round, so both consume the budget
113
+ * identically.
114
+ */
115
+ loopCompanionProducer(instance, companionIndex, rework) {
116
+ const companionStep = instance.steps[companionIndex];
117
+ const producerIndex = this.companionProducerIndex(instance, companionIndex);
118
+ companionStep.companion.attempts += 1;
119
+ this.rerunProducerThrough(instance, producerIndex, companionIndex, rework);
120
+ if (instance.status === 'blocked')
121
+ instance.status = 'running';
122
+ }
123
+ }
124
+ //# sourceMappingURL=StepGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepGraph.js","sourceRoot":"","sources":["../../../src/modules/execution/StepGraph.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentExecutor, BinaryArtifactStore, Block, BlockRepository, ExecutionInstance, ExecutionRepository, PipelineStep, WorkRunner } from '@cat-factory/kernel';
1
+ import type { AgentExecutor, ResolveBinaryArtifactStore, Block, BlockRepository, ExecutionInstance, ExecutionRepository, PipelineStep, WorkRunner } from '@cat-factory/kernel';
2
2
  import type { NotificationService } from '../notifications/NotificationService.js';
3
3
  import type { AdvanceResult } from './advance.js';
4
4
  import type { AgentContextBuilder } from './AgentContextBuilder.js';
@@ -14,8 +14,11 @@ export interface VisualConfirmationControllerDeps {
14
14
  agentExecutor: AgentExecutor;
15
15
  contextBuilder: AgentContextBuilder;
16
16
  notificationService?: NotificationService;
17
- /** The binary-artifact store the gate reads screenshots + reference designs from. */
18
- binaryArtifactStore?: BinaryArtifactStore;
17
+ /**
18
+ * Resolves the binary-artifact store (per-account backend) the gate reads screenshots +
19
+ * reference designs from, for the run's workspace. Absent / resolving to null → manual mode.
20
+ */
21
+ resolveBinaryArtifactStore?: ResolveBinaryArtifactStore;
19
22
  /** The task's helper attempt budget (from the resolved merge preset). */
20
23
  resolveMergePreset: (workspaceId: string, block: Block) => Promise<{
21
24
  ciMaxAttempts: number;
@@ -72,13 +75,19 @@ export declare class VisualConfirmationController {
72
75
  * new references/run it is a harmless refresh that re-reads the same pairs.
73
76
  */
74
77
  recapture(workspaceId: string, blockId: string): Promise<ExecutionInstance>;
78
+ /** Resolve the workspace's per-account binary-artifact store (null = none configured). */
79
+ private store;
75
80
  /** Fresh entry: gather screenshots and park (or pass through when no store is wired). */
76
81
  private begin;
77
82
  /** Consume a human-requested action on re-entry. */
78
83
  private handleAction;
79
84
  /** Dispatch the Tester's `fixer` from the human's findings and park on its job. */
80
85
  private dispatchFixer;
81
- /** Gather actual-vs-reference pairs: the latest UI-tester report's screenshots + block references. */
86
+ /**
87
+ * Gather actual-vs-reference pairs: the latest UI-tester report's screenshots + block
88
+ * references. The caller passes the already-resolved per-account store (or null) so the
89
+ * gate's entry path doesn't resolve it twice.
90
+ */
82
91
  private gatherPairs;
83
92
  /** Flip to awaiting-human, summon the human (idempotent notification), and park. */
84
93
  private toAwaitingHuman;
@@ -1 +1 @@
1
- {"version":3,"file":"VisualConfirmationController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/VisualConfirmationController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VisualConfirmationController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/VisualConfirmationController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGb,0BAA0B,EAC1B,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EAGZ,UAAU,EACX,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAcnE;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAC/C,eAAe,EAAE,eAAe,CAAA;IAChC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,mBAAmB,CAAA;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAA;IACvD,yEAAyE;IACzE,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAE7F,kBAAkB,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,EAClB,QAAQ,CAAC,EAAE,MAAM,KACd,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACxC,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,mBAAmB,EAAE,CACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,aAAa,GAAG,SAAS,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,aAAa,EAAE,CACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,KAC3B,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrF,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpF,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjF,QAAQ,EAAE,MAAM,MAAM,CAAA;CACvB;AAED,uEAAuE;AACvE,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE3D;;;;;;;;GAQG;AACH,qBAAa,4BAA4B;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,gCAAgC,EAAI;IAIvE;;;OAGG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,CAAC,CAgBxB;IAED;;;;OAIG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,aAAa,CAAC,CAsBxB;IAID,2DAA2D;IACrD,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAE9E;IAED,mFAAmF;IAC7E,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CAE5B;IAED;;;;;;;OAOG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEhF;IAID,0FAA0F;YAC5E,KAAK;IAMnB,yFAAyF;YAC3E,KAAK;IA+BnB,oDAAoD;YACtC,YAAY;IA+B1B,mFAAmF;YACrE,aAAa;IAyE3B;;;;OAIG;YACW,WAAW;IAgDzB,oFAAoF;YACtE,eAAe;IAY7B,6EAA6E;YAC/D,YAAY;IA2B1B;;;OAGG;YACW,YAAY;IAyB1B,4FAA4F;YAC9E,UAAU;IAiBxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,QAAQ;IAOhB,2EAA2E;YAC7D,sBAAsB;IAwBpC,6EAA6E;YAC/D,sBAAsB;CAUrC"}
@@ -68,7 +68,7 @@ export class VisualConfirmationController {
68
68
  const block = await this.deps.blockRepository.get(workspaceId, instance.blockId);
69
69
  if (!block)
70
70
  return { kind: 'noop' };
71
- vc.pairs = await this.gatherPairs(workspaceId, instance, block);
71
+ vc.pairs = await this.gatherPairs(workspaceId, instance, block, await this.store(workspaceId));
72
72
  // The pairs come from the LAST UI-tester report, which predates this fix — the gate does
73
73
  // not auto re-run the UI tester yet (see the handover doc). Flag the staleness so the human
74
74
  // knows to recapture (or re-run the UI tester) before judging the screenshots as final,
@@ -100,15 +100,22 @@ export class VisualConfirmationController {
100
100
  return this.signalAction(workspaceId, blockId, { type: 'recapture' });
101
101
  }
102
102
  // ---- internals -----------------------------------------------------------
103
+ /** Resolve the workspace's per-account binary-artifact store (null = none configured). */
104
+ async store(workspaceId) {
105
+ return this.deps.resolveBinaryArtifactStore
106
+ ? this.deps.resolveBinaryArtifactStore(workspaceId)
107
+ : null;
108
+ }
103
109
  /** Fresh entry: gather screenshots and park (or pass through when no store is wired). */
104
110
  async begin(workspaceId, instance, step, block, isFinalStep) {
105
111
  // No store ⇒ nowhere to read screenshots from: pass through so a pipeline that includes
106
- // the gate still completes (tests / a deployment without blob storage).
107
- if (!this.deps.binaryArtifactStore) {
112
+ // the gate still completes (tests / an account without content storage configured).
113
+ const store = await this.store(workspaceId);
114
+ if (!store) {
108
115
  return this.completeStep(workspaceId, instance, step, isFinalStep);
109
116
  }
110
117
  const maxAttempts = (await this.deps.resolveMergePreset(workspaceId, block)).ciMaxAttempts;
111
- const pairs = await this.gatherPairs(workspaceId, instance, block);
118
+ const pairs = await this.gatherPairs(workspaceId, instance, block, store);
112
119
  step.visualConfirm = {
113
120
  phase: 'awaiting_human',
114
121
  pairs,
@@ -138,7 +145,7 @@ export class VisualConfirmationController {
138
145
  case 'recapture': {
139
146
  const vc = step.visualConfirm;
140
147
  if (vc)
141
- vc.pairs = await this.gatherPairs(workspaceId, instance, block);
148
+ vc.pairs = await this.gatherPairs(workspaceId, instance, block, await this.store(workspaceId));
142
149
  return this.toAwaitingHuman(workspaceId, instance, step, block);
143
150
  }
144
151
  }
@@ -205,14 +212,18 @@ export class VisualConfirmationController {
205
212
  await this.deps.emitInstance(workspaceId, instance);
206
213
  return { kind: 'awaiting_job', jobId: step.jobId, stepIndex: instance.currentStep };
207
214
  }
208
- /** Gather actual-vs-reference pairs: the latest UI-tester report's screenshots + block references. */
209
- async gatherPairs(workspaceId, instance, block) {
215
+ /**
216
+ * Gather actual-vs-reference pairs: the latest UI-tester report's screenshots + block
217
+ * references. The caller passes the already-resolved per-account store (or null) so the
218
+ * gate's entry path doesn't resolve it twice.
219
+ */
220
+ async gatherPairs(workspaceId, instance, block, store) {
210
221
  const byView = new Map();
211
222
  // The artifact ids the run ACTUALLY uploaded — so a screenshot id the agent reported but
212
223
  // that was never stored (a fabricated/typo'd id), or one since removed by the retention
213
224
  // sweep, is treated as "not captured" rather than rendered as a dangling/404 gallery image.
214
- const validActualIds = this.deps.binaryArtifactStore
215
- ? new Set((await this.deps.binaryArtifactStore.listByExecution(workspaceId, instance.id))
225
+ const validActualIds = store
226
+ ? new Set((await store.listByExecution(workspaceId, instance.id))
216
227
  .filter((r) => r.kind === 'screenshot')
217
228
  .map((r) => r.id))
218
229
  : null;
@@ -229,8 +240,8 @@ export class VisualConfirmationController {
229
240
  });
230
241
  }
231
242
  // Reference: the block's uploaded reference design images (carry no executionId).
232
- if (this.deps.binaryArtifactStore) {
233
- const refs = (await this.deps.binaryArtifactStore.listByBlock(workspaceId, block.id)).filter((r) => r.kind === 'reference');
243
+ if (store) {
244
+ const refs = (await store.listByBlock(workspaceId, block.id)).filter((r) => r.kind === 'reference');
234
245
  // `listByBlock` returns references oldest-first, so assign unconditionally: the LAST
235
246
  // (newest) reference uploaded for a view wins. A human re-uploading a corrected reference
236
247
  // for a view they already populated must override the stale one, not be discarded.
@@ -1 +1 @@
1
- {"version":3,"file":"VisualConfirmationController.js","sourceRoot":"","sources":["../../../src/modules/execution/VisualConfirmationController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VisualConfirmationController.js","sourceRoot":"","sources":["../../../src/modules/execution/VisualConfirmationController.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Block, ExecutionInstance, PipelineStep } from '@cat-factory/kernel';
1
+ import type { AgentRunResult, Block, ExecutionInstance, PipelineStep } from '@cat-factory/kernel';
2
2
  import type { AdvanceResult, AdvanceOptions } from './advance.js';
3
3
  /** Everything a {@link StepHandler} needs about the step it may handle. */
4
4
  export interface StepHandlerContext {
@@ -37,4 +37,25 @@ export interface StepHandler {
37
37
  * above any specific handler's order so specific handlers always shadow it.
38
38
  */
39
39
  export declare const FALLTHROUGH_STEP_HANDLER_ORDER: number;
40
+ /** Inputs to a {@link StepCompletionInterceptor}, at the point its step's agent finished. */
41
+ export interface StepCompletionContext {
42
+ workspaceId: string;
43
+ instance: ExecutionInstance;
44
+ step: PipelineStep;
45
+ isFinalStep: boolean;
46
+ /** The finished agent's structured result. */
47
+ result: AgentRunResult;
48
+ }
49
+ /**
50
+ * An engine-internal short-circuit on the completion path, keyed on `step.agentKind` via
51
+ * `canIntercept`. The first interceptor that claims the step and returns a non-null
52
+ * `AdvanceResult` short-circuits `recordStepResult`; returning `null` lets the normal
53
+ * finish/advance spine run.
54
+ */
55
+ export interface StepCompletionInterceptor {
56
+ readonly kind: string;
57
+ readonly order: number;
58
+ canIntercept(ctx: StepCompletionContext): boolean;
59
+ intercept(ctx: StepCompletionContext): Promise<AdvanceResult | null>;
60
+ }
40
61
  //# sourceMappingURL=step-handler-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-handler-registry.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/step-handler-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAsBjE,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,uDAAuD;IACvD,KAAK,EAAE,KAAK,CAAA;IACZ,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAA;IACpB,wFAAwF;IACxF,OAAO,EAAE,cAAc,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,0FAA0F;IAC1F,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAA;IAC3C,0FAA0F;IAC1F,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACxD;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAA0B,CAAA"}
1
+ {"version":3,"file":"step-handler-registry.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/step-handler-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAsBjE,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,uDAAuD;IACvD,KAAK,EAAE,KAAK,CAAA;IACZ,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAA;IACpB,wFAAwF;IACxF,OAAO,EAAE,cAAc,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,0FAA0F;IAC1F,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAA;IAC3C,0FAA0F;IAC1F,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACxD;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAA0B,CAAA;AAoBrE,6FAA6F;AAC7F,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,8CAA8C;IAC9C,MAAM,EAAE,cAAc,CAAA;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAA;IACjD,SAAS,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;CACrE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/orchestration",
3
- "version": "0.36.5",
3
+ "version": "0.37.1",
4
4
  "description": "Delivery-workflow engine for the Agent Architecture Board (execution, bootstrap, pipelines, board, boardScan, requirements, and composition root).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,19 +25,19 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "ai": "^6.0.209",
28
- "@cat-factory/agents": "0.21.6",
29
- "@cat-factory/contracts": "0.43.3",
30
- "@cat-factory/integrations": "0.26.5",
31
- "@cat-factory/kernel": "0.45.5",
32
- "@cat-factory/prompt-fragments": "0.8.3",
33
- "@cat-factory/sandbox": "0.8.29",
34
- "@cat-factory/spend": "0.10.21",
35
- "@cat-factory/workspaces": "0.9.12"
28
+ "@cat-factory/agents": "0.21.7",
29
+ "@cat-factory/contracts": "0.44.0",
30
+ "@cat-factory/integrations": "0.27.0",
31
+ "@cat-factory/kernel": "0.46.0",
32
+ "@cat-factory/prompt-fragments": "0.8.4",
33
+ "@cat-factory/sandbox": "0.8.30",
34
+ "@cat-factory/spend": "0.10.22",
35
+ "@cat-factory/workspaces": "0.9.13"
36
36
  },
37
37
  "devDependencies": {
38
38
  "typescript": "7.0.1-rc",
39
39
  "vitest": "^4.1.9",
40
- "@cat-factory/sandbox-fixtures": "0.7.46"
40
+ "@cat-factory/sandbox-fixtures": "0.7.47"
41
41
  },
42
42
  "scripts": {
43
43
  "build": "tsc -b tsconfig.build.json",