@cat-factory/orchestration 0.195.3 → 0.199.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 (49) hide show
  1. package/dist/container/execution-service.d.ts.map +1 -1
  2. package/dist/container/execution-service.js +4 -0
  3. package/dist/container/execution-service.js.map +1 -1
  4. package/dist/modules/board/BoardService.d.ts +5 -0
  5. package/dist/modules/board/BoardService.d.ts.map +1 -1
  6. package/dist/modules/board/BoardService.js +30 -24
  7. package/dist/modules/board/BoardService.js.map +1 -1
  8. package/dist/modules/board/taskTypeCreationDefaults.d.ts +69 -0
  9. package/dist/modules/board/taskTypeCreationDefaults.d.ts.map +1 -0
  10. package/dist/modules/board/taskTypeCreationDefaults.js +63 -0
  11. package/dist/modules/board/taskTypeCreationDefaults.js.map +1 -0
  12. package/dist/modules/execution/AgentContextBuilder.d.ts +20 -1
  13. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  14. package/dist/modules/execution/AgentContextBuilder.js +21 -1
  15. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  16. package/dist/modules/execution/ExecutionService.d.ts +24 -1
  17. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  18. package/dist/modules/execution/ExecutionService.js +58 -66
  19. package/dist/modules/execution/ExecutionService.js.map +1 -1
  20. package/dist/modules/execution/ExecutionServiceDependencies.d.ts +8 -1
  21. package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
  22. package/dist/modules/execution/InputGateController.d.ts +104 -0
  23. package/dist/modules/execution/InputGateController.d.ts.map +1 -0
  24. package/dist/modules/execution/InputGateController.js +202 -0
  25. package/dist/modules/execution/InputGateController.js.map +1 -0
  26. package/dist/modules/execution/StepDecisionController.d.ts +6 -0
  27. package/dist/modules/execution/StepDecisionController.d.ts.map +1 -1
  28. package/dist/modules/execution/StepDecisionController.js +18 -4
  29. package/dist/modules/execution/StepDecisionController.js.map +1 -1
  30. package/dist/modules/execution/gate-window-controllers.d.ts +17 -0
  31. package/dist/modules/execution/gate-window-controllers.d.ts.map +1 -1
  32. package/dist/modules/execution/gate-window-controllers.js +25 -0
  33. package/dist/modules/execution/gate-window-controllers.js.map +1 -1
  34. package/dist/modules/execution/run-context-admission.d.ts +1 -1
  35. package/dist/modules/execution/run-context-admission.d.ts.map +1 -1
  36. package/dist/modules/execution/run-context-admission.js +1 -0
  37. package/dist/modules/execution/run-context-admission.js.map +1 -1
  38. package/dist/modules/execution/stepPreamble.d.ts +52 -0
  39. package/dist/modules/execution/stepPreamble.d.ts.map +1 -0
  40. package/dist/modules/execution/stepPreamble.js +86 -0
  41. package/dist/modules/execution/stepPreamble.js.map +1 -0
  42. package/dist/modules/settings/workspaceSettingsMerge.d.ts.map +1 -1
  43. package/dist/modules/settings/workspaceSettingsMerge.js +1 -0
  44. package/dist/modules/settings/workspaceSettingsMerge.js.map +1 -1
  45. package/dist/validation/validateRegistrations.d.ts +8 -1
  46. package/dist/validation/validateRegistrations.d.ts.map +1 -1
  47. package/dist/validation/validateRegistrations.js +293 -87
  48. package/dist/validation/validateRegistrations.js.map +1 -1
  49. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"run-context-admission.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/run-context-admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAEzE;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,4BAA4B,EAC1B,qBAAqB,GACrB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,GAChB,6BAA6B,GAC7B,wBAAwB,GACxB,yBAAyB,GACzB,6BAA6B,GAC7B,sBAAsB,GACtB,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,0BAA0B,GAC1B,4BAA4B,GAC5B,6BAA6B,GAC7B,kBAAkB,GAClB,8BAA8B,GAC9B,8BAA8B,GAC9B,QAAQ,GACR,kCAAkC,GAClC,uBAAuB,GACvB,kBAAkB,GAClB,6BAA6B,GAC7B,uBAAuB,CAC1B,CAAA;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,uBAAuB,GAAG;IAC1E,cAAc,EAAE,mBAAmB,CAAA;IACnC,SAAS,EAAE,YAAY,CAAA;CACxB,CAiDA"}
1
+ {"version":3,"file":"run-context-admission.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/run-context-admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAEzE;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,4BAA4B,EAC1B,qBAAqB,GACrB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,0BAA0B,GAC1B,kBAAkB,GAClB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,GAChB,6BAA6B,GAC7B,wBAAwB,GACxB,yBAAyB,GACzB,6BAA6B,GAC7B,sBAAsB,GACtB,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,0BAA0B,GAC1B,4BAA4B,GAC5B,6BAA6B,GAC7B,kBAAkB,GAClB,8BAA8B,GAC9B,8BAA8B,GAC9B,QAAQ,GACR,kCAAkC,GAClC,uBAAuB,GACvB,kBAAkB,GAClB,6BAA6B,GAC7B,uBAAuB,CAC1B,CAAA;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,uBAAuB,GAAG;IAC1E,cAAc,EAAE,mBAAmB,CAAA;IACnC,SAAS,EAAE,YAAY,CAAA;CACxB,CAkDA"}
@@ -18,6 +18,7 @@ export function buildRunContextAndAdmission(deps) {
18
18
  accountRepository: deps.accountRepository,
19
19
  agentKindRegistry: deps.agentKindRegistry,
20
20
  initiativePresetRegistry: deps.initiativePresetRegistry,
21
+ taskTypeRegistry: deps.taskTypeRegistry,
21
22
  agentPrompts: deps.agentPromptRepository,
22
23
  agentSettings: deps.workspaceAgentSettingsRepository,
23
24
  modelPresets: deps.modelPresetRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"run-context-admission.js","sourceRoot":"","sources":["../../../src/modules/execution/run-context-admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA8ChD,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IAIvE,MAAM,cAAc,GAAG,IAAI,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;QACvD,YAAY,EAAE,IAAI,CAAC,qBAAqB;QACxC,aAAa,EAAE,IAAI,CAAC,gCAAgC;QACpD,YAAY,EAAE,IAAI,CAAC,qBAAqB;QACxC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,eAAe,EAAE,IAAI,CAAC,wBAAwB;QAC9C,SAAS,EAAE,IAAI,CAAC,kBAAkB;QAClC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,KAAK,EAAE,IAAI,CAAC,cAAc;QAC1B,kBAAkB,EAAE,IAAI,CAAC,2BAA2B;QACpD,aAAa,EAAE,IAAI,CAAC,sBAAsB;QAC1C,cAAc,EAAE,IAAI,CAAC,uBAAuB;QAC5C,kBAAkB,EAAE,IAAI,CAAC,2BAA2B;QACpD,WAAW,EAAE,IAAI,CAAC,oBAAoB;QACtC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAA;IACF,uFAAuF;IACvF,gFAAgF;IAChF,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC;QACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,cAAc;QACd,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,KAAK,EAAE,IAAI,CAAC,YAAY;QACxB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;QACvD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;QAC3D,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;QAC/D,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;KAChE,CAAC,CAAA;IACF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"run-context-admission.js","sourceRoot":"","sources":["../../../src/modules/execution/run-context-admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA+ChD,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IAIvE,MAAM,cAAc,GAAG,IAAI,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;QACvD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,YAAY,EAAE,IAAI,CAAC,qBAAqB;QACxC,aAAa,EAAE,IAAI,CAAC,gCAAgC;QACpD,YAAY,EAAE,IAAI,CAAC,qBAAqB;QACxC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,eAAe,EAAE,IAAI,CAAC,wBAAwB;QAC9C,SAAS,EAAE,IAAI,CAAC,kBAAkB;QAClC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,KAAK,EAAE,IAAI,CAAC,cAAc;QAC1B,kBAAkB,EAAE,IAAI,CAAC,2BAA2B;QACpD,aAAa,EAAE,IAAI,CAAC,sBAAsB;QAC1C,cAAc,EAAE,IAAI,CAAC,uBAAuB;QAC5C,kBAAkB,EAAE,IAAI,CAAC,2BAA2B;QACpD,WAAW,EAAE,IAAI,CAAC,oBAAoB;QACtC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAA;IACF,uFAAuF;IACvF,gFAAgF;IAChF,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC;QACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,cAAc;QACd,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,KAAK,EAAE,IAAI,CAAC,YAAY;QACxB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;QACvD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;QAC3D,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;QAC/D,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;KAChE,CAAC,CAAA;IACF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAA;AACtC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { Block, ExecutionInstance, PipelineStep } from '@cat-factory/kernel';
2
+ import type { AgentKindRegistry } from '@cat-factory/agents';
3
+ import type { AdvanceResult } from './advance.js';
4
+ import type { InputGateController } from './InputGateController.js';
5
+ import type { RunStateMachine } from './RunStateMachine.js';
6
+ import type { StepGraph } from './StepGraph.js';
7
+ export interface StepPreambleDeps {
8
+ spend: {
9
+ isOverBudget: (workspaceId: string, scope: {
10
+ accountId?: string | null;
11
+ userId?: string | null;
12
+ }) => Promise<boolean>;
13
+ };
14
+ /** `WorkspaceRepository.accountOf` — the budget scope's account. */
15
+ accountOf: (workspaceId: string) => Promise<string | null | undefined>;
16
+ /** `RunDispatcher.currentStepIsNonMetered` — the spend gate's exemption. */
17
+ currentStepIsNonMetered: (workspaceId: string, instance: ExecutionInstance, step: PipelineStep) => Promise<boolean>;
18
+ /** `RunDispatcher.skipGatedStep` — finishes an estimate-gated-out step as `skipped`. */
19
+ skipGatedStep: (workspaceId: string, instance: ExecutionInstance, step: PipelineStep, isFinalStep: boolean) => Promise<AdvanceResult>;
20
+ /** `BlockRepository.get` — the block every downstream handler reads, fetched once here. */
21
+ blockOf: (workspaceId: string, blockId: string) => Promise<Block | null>;
22
+ stateMachine: RunStateMachine;
23
+ stepGraph: StepGraph;
24
+ inputGate: InputGateController;
25
+ agentKindRegistry: AgentKindRegistry;
26
+ }
27
+ /**
28
+ * What the preamble decided. `proceed` carries the block every downstream handler needs (read
29
+ * once here rather than again per handler); `stop` carries the {@link AdvanceResult} the driver
30
+ * acts on. A discriminated result rather than a nullable one, because "keep going" has a payload
31
+ * and "we are done" has a different one, and a caller must not be able to reach for the wrong
32
+ * half.
33
+ */
34
+ export type StepPreambleOutcome = {
35
+ kind: 'proceed';
36
+ block: Block;
37
+ isFinalStep: boolean;
38
+ } | {
39
+ kind: 'stop';
40
+ result: AdvanceResult;
41
+ };
42
+ /**
43
+ * Run the four pre-dispatch checks for a step, in order.
44
+ *
45
+ * The ORDER is load-bearing twice over. The spend gate is first because a run over budget must
46
+ * not do work of any kind, including the reads below it. The input gate sits immediately before
47
+ * the handler dispatch because that is the last point at which the run has cost NOTHING: the
48
+ * estimate-gating skip beneath it spends no tokens either, but everything past
49
+ * `dispatchStepHandler` does.
50
+ */
51
+ export declare function runStepPreamble(deps: StepPreambleDeps, workspaceId: string, instance: ExecutionInstance, step: PipelineStep): Promise<StepPreambleOutcome>;
52
+ //# sourceMappingURL=stepPreamble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepPreamble.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/stepPreamble.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAoB/C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,YAAY,EAAE,CACZ,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,KACzD,OAAO,CAAC,OAAO,CAAC,CAAA;KACtB,CAAA;IACD,oEAAoE;IACpE,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACtE,4EAA4E;IAC5E,uBAAuB,EAAE,CACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,OAAO,CAAC,CAAA;IACrB,wFAAwF;IACxF,aAAa,EAAE,CACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,EAClB,WAAW,EAAE,OAAO,KACjB,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,2FAA2F;IAC3F,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;IACxE,YAAY,EAAE,eAAe,CAAA;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,mBAAmB,CAAA;IAC9B,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAAA;AAE3C;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,mBAAmB,CAAC,CA6E9B"}
@@ -0,0 +1,86 @@
1
+ import { isReentrantDecisionResume } from './reentrancy.logic.js';
2
+ import { producerWasSkipped, shouldRunGatedStep } from './stepGating.logic.js';
3
+ /**
4
+ * Run the four pre-dispatch checks for a step, in order.
5
+ *
6
+ * The ORDER is load-bearing twice over. The spend gate is first because a run over budget must
7
+ * not do work of any kind, including the reads below it. The input gate sits immediately before
8
+ * the handler dispatch because that is the last point at which the run has cost NOTHING: the
9
+ * estimate-gating skip beneath it spends no tokens either, but everything past
10
+ * `dispatchStepHandler` does.
11
+ */
12
+ export async function runStepPreamble(deps, workspaceId, instance, step) {
13
+ // Spend gate: don't incur monetary LLM cost once the budget is exhausted. Pause the run (so
14
+ // the frontend can flag it) and stop here. A previously-paused run that finds the budget has
15
+ // freed up resumes and proceeds. EXEMPTION: a step that incurs no metered monetary cost (a
16
+ // flat-rate subscription like Claude Code / Codex, or a local-runner model, keyless on the
17
+ // user's own endpoint) never contributes to the budget, so it must not be held hostage by a
18
+ // budget other (metered) models exhausted. This is what lets a deliberately local-only /
19
+ // subscription-only workspace keep running at a `0` budget (see the spend-budget docs).
20
+ const budgetAccountId = await deps.accountOf(workspaceId);
21
+ if (await deps.spend.isOverBudget(workspaceId, {
22
+ accountId: budgetAccountId,
23
+ userId: instance.initiatedBy,
24
+ })) {
25
+ if (!(await deps.currentStepIsNonMetered(workspaceId, instance, step))) {
26
+ if (instance.status !== 'paused') {
27
+ instance.status = 'paused';
28
+ await deps.stateMachine.casPersist(workspaceId, instance);
29
+ await deps.stateMachine.emitInstance(workspaceId, instance);
30
+ // Surface the pause in the inbox (F3): a `paused` run is invisible to the sweeper and
31
+ // has no auto-resume, so without this card the paused board badge is its only signal.
32
+ await deps.stateMachine.raiseBudgetPaused(workspaceId);
33
+ }
34
+ return { kind: 'stop', result: { kind: 'paused' } };
35
+ }
36
+ }
37
+ if (instance.status === 'paused')
38
+ instance.status = 'running';
39
+ if (step.state === 'waiting_decision') {
40
+ // Several gates are re-entrant: a human action sets a `pending*` marker on the parked step
41
+ // and wakes the driver, and the step handler must run the (slow) resume work in the durable
42
+ // driver instead of immediately re-parking on its stale decision id. See
43
+ // {@link isReentrantDecisionResume} for the per-gate cases.
44
+ if (!isReentrantDecisionResume(step, deps.agentKindRegistry)) {
45
+ // Parked on either an agent-raised decision or a human approval gate; both are addressed
46
+ // by the same durable event id.
47
+ const pendingId = step.decision?.id ?? step.approval?.id;
48
+ if (pendingId) {
49
+ instance.status = 'blocked';
50
+ await deps.stateMachine.casPersist(workspaceId, instance);
51
+ await deps.stateMachine.emitInstance(workspaceId, instance);
52
+ return { kind: 'stop', result: { kind: 'awaiting_decision', decisionId: pendingId } };
53
+ }
54
+ }
55
+ }
56
+ deps.stepGraph.startStep(step);
57
+ const block = await deps.blockOf(workspaceId, instance.blockId);
58
+ if (!block)
59
+ return { kind: 'stop', result: { kind: 'noop' } };
60
+ // The PRE-DISPATCH INPUT GATE. Evaluated at most once per run (the verdict on
61
+ // `instance.inputGate` is the guard) and only at step 0; a park here costs nothing because
62
+ // nothing has run yet. `null` means proceed.
63
+ const gated = await deps.inputGate.evaluate(workspaceId, instance, step, block);
64
+ if (gated)
65
+ return { kind: 'stop', result: gated };
66
+ const isFinalStep = instance.currentStep === instance.steps.length - 1;
67
+ // Estimate gating: a step gated on the task estimate is transparently SKIPPED when the
68
+ // estimate (written by an earlier task-estimator step in this same run) falls below the
69
+ // threshold. No agent is spun up; the step finishes as `skipped` and the run advances.
70
+ // Evaluated here rather than at build time, because the estimate only exists once the
71
+ // estimator step has run.
72
+ //
73
+ // A COMPANION whose producer was skipped is skipped for the second reason: with producers now
74
+ // gatable, it would otherwise grade whatever step happens to precede it. Checked alongside its
75
+ // own gate because either reason is sufficient and they need not agree: a companion with no
76
+ // gate of its own still cascades.
77
+ const gatedOut = step.gating?.enabled && !shouldRunGatedStep(block.estimate, step.gating);
78
+ if (gatedOut || producerWasSkipped(instance.steps, instance.currentStep)) {
79
+ return {
80
+ kind: 'stop',
81
+ result: await deps.skipGatedStep(workspaceId, instance, step, isFinalStep),
82
+ };
83
+ }
84
+ return { kind: 'proceed', block, isFinalStep };
85
+ }
86
+ //# sourceMappingURL=stepPreamble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepPreamble.js","sourceRoot":"","sources":["../../../src/modules/execution/stepPreamble.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceSettingsMerge.d.ts","sourceRoot":"","sources":["../../../src/modules/settings/workspaceSettingsMerge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG1F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,4BAA4B,GAClC,iBAAiB,CA4CnB"}
1
+ {"version":3,"file":"workspaceSettingsMerge.d.ts","sourceRoot":"","sources":["../../../src/modules/settings/workspaceSettingsMerge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAG1F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,4BAA4B,GAClC,iBAAiB,CA6CnB"}
@@ -24,6 +24,7 @@ export function mergeWorkspaceSettings(current, patch) {
24
24
  artifactRetentionDays: patch.artifactRetentionDays ?? current.artifactRetentionDays,
25
25
  kaizenEnabled: patch.kaizenEnabled ?? current.kaizenEnabled,
26
26
  delegateAgentsToRunnerPool: patch.delegateAgentsToRunnerPool ?? current.delegateAgentsToRunnerPool,
27
+ inputGateMode: patch.inputGateMode ?? current.inputGateMode,
27
28
  reviewFrictionMode: patch.reviewFrictionMode ?? current.reviewFrictionMode,
28
29
  reviewFrictionWarnCount: patch.reviewFrictionWarnCount ?? current.reviewFrictionWarnCount,
29
30
  reviewFrictionBlockCount: patch.reviewFrictionBlockCount !== undefined
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceSettingsMerge.js","sourceRoot":"","sources":["../../../src/modules/settings/workspaceSettingsMerge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA0B,EAC1B,KAAmC;IAEnC,OAAO;QACL,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,IAAI,OAAO,CAAC,wBAAwB;QAC5F,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa;QAC3D,eAAe,EACb,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe;QACvF,gBAAgB,EACd,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB;QAC1F,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB;QACvE,2BAA2B,EACzB,KAAK,CAAC,2BAA2B,IAAI,OAAO,CAAC,2BAA2B;QAC1E,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,OAAO,CAAC,qBAAqB;QACnF,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa;QAC3D,0BAA0B,EACxB,KAAK,CAAC,0BAA0B,IAAI,OAAO,CAAC,0BAA0B;QACxE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB;QAC1E,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,IAAI,OAAO,CAAC,uBAAuB;QACzF,wBAAwB,EACtB,KAAK,CAAC,wBAAwB,KAAK,SAAS;YAC1C,CAAC,CAAC,KAAK,CAAC,wBAAwB;YAChC,CAAC,CAAC,OAAO,CAAC,wBAAwB;QACtC,+BAA+B,EAC7B,KAAK,CAAC,+BAA+B,KAAK,SAAS;YACjD,CAAC,CAAC,KAAK,CAAC,+BAA+B;YACvC,CAAC,CAAC,OAAO,CAAC,+BAA+B;QAC7C,aAAa,EAAE,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa;QAC9F,iBAAiB,EACf,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC7F,oBAAoB,EAClB,KAAK,CAAC,oBAAoB,KAAK,SAAS;YACtC,CAAC,CAAC,KAAK,CAAC,oBAAoB;YAC5B,CAAC,CAAC,OAAO,CAAC,oBAAoB;QAClC,0BAA0B,EACxB,KAAK,CAAC,0BAA0B,KAAK,SAAS;YAC5C,CAAC,CAAC,KAAK,CAAC,0BAA0B;YAClC,CAAC,CAAC,OAAO,CAAC,0BAA0B;QACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB;QACvE,6FAA6F;QAC7F,kFAAkF;QAClF,2FAA2F;QAC3F,+EAA+E;QAC/E,QAAQ,EACN,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;KAC/F,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"workspaceSettingsMerge.js","sourceRoot":"","sources":["../../../src/modules/settings/workspaceSettingsMerge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA0B,EAC1B,KAAmC;IAEnC,OAAO;QACL,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,IAAI,OAAO,CAAC,wBAAwB;QAC5F,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa;QAC3D,eAAe,EACb,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe;QACvF,gBAAgB,EACd,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB;QAC1F,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB;QACvE,2BAA2B,EACzB,KAAK,CAAC,2BAA2B,IAAI,OAAO,CAAC,2BAA2B;QAC1E,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,OAAO,CAAC,qBAAqB;QACnF,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa;QAC3D,0BAA0B,EACxB,KAAK,CAAC,0BAA0B,IAAI,OAAO,CAAC,0BAA0B;QACxE,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa;QAC3D,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB;QAC1E,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,IAAI,OAAO,CAAC,uBAAuB;QACzF,wBAAwB,EACtB,KAAK,CAAC,wBAAwB,KAAK,SAAS;YAC1C,CAAC,CAAC,KAAK,CAAC,wBAAwB;YAChC,CAAC,CAAC,OAAO,CAAC,wBAAwB;QACtC,+BAA+B,EAC7B,KAAK,CAAC,+BAA+B,KAAK,SAAS;YACjD,CAAC,CAAC,KAAK,CAAC,+BAA+B;YACvC,CAAC,CAAC,OAAO,CAAC,+BAA+B;QAC7C,aAAa,EAAE,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa;QAC9F,iBAAiB,EACf,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC7F,oBAAoB,EAClB,KAAK,CAAC,oBAAoB,KAAK,SAAS;YACtC,CAAC,CAAC,KAAK,CAAC,oBAAoB;YAC5B,CAAC,CAAC,OAAO,CAAC,oBAAoB;QAClC,0BAA0B,EACxB,KAAK,CAAC,0BAA0B,KAAK,SAAS;YAC5C,CAAC,CAAC,KAAK,CAAC,0BAA0B;YAClC,CAAC,CAAC,OAAO,CAAC,0BAA0B;QACxC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB;QACvE,6FAA6F;QAC7F,kFAAkF;QAClF,2FAA2F;QAC3F,+EAA+E;QAC/E,QAAQ,EACN,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;KAC/F,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { AgentKindRegistry } from '@cat-factory/agents';
2
- import type { BinaryGeneratorRegistry, FoundationalServiceRegistry, GateRegistry, PipelineRegistry, TaskTypeRegistry } from '@cat-factory/kernel';
2
+ import type { BinaryGeneratorRegistry, FoundationalServiceRegistry, GateRegistry, InitiativePresetRegistry, PipelineRegistry, TaskTypeRegistry } from '@cat-factory/kernel';
3
3
  /** A single problem found during validation. `error` aborts boot; `warn` is logged only. */
4
4
  export interface RegistrationProblem {
5
5
  severity: 'error' | 'warn';
@@ -34,6 +34,13 @@ export interface ValidateRegistrationsOptions {
34
34
  * a bad `formPanel`, or a `defaultPipelineId` naming a nonexistent pipeline fails at boot.
35
35
  */
36
36
  taskTypeRegistry?: TaskTypeRegistry;
37
+ /**
38
+ * The app-owned initiative-preset registry to validate (the facade's injected instance — the SAME
39
+ * one it threads through `CoreDependencies.initiativePresetRegistry`). Optional: when omitted, no
40
+ * preset create form is checked. A facade passes it so a preset whose form cannot be filled fails
41
+ * at boot rather than rendering an empty picker (or an invisible field) in the create modal.
42
+ */
43
+ initiativePresetRegistry?: InitiativePresetRegistry;
37
44
  /**
38
45
  * The app-owned foundational-service registry to validate (the facade's injected instance —
39
46
  * the SAME one it threads through `CoreDependencies.foundationalServiceRegistry`). Optional:
@@ -1 +1 @@
1
- {"version":3,"file":"validateRegistrations.d.ts","sourceRoot":"","sources":["../../src/validation/validateRegistrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,KAAK,EAEV,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAqD5B,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,uFAAuF;AACvF,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAA;IACpC;;;;OAIG;IACH,YAAY,EAAE,YAAY,CAAA;IAC1B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;;OAMG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAA;CAChD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,4BAA4B,GACjC,mBAAmB,EAAE,CAmFvB;AA6hBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI,CAY9E;AAOD,yGAAyG;AACzG,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI,CASlF;AAED,uFAAuF;AACvF,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD"}
1
+ {"version":3,"file":"validateRegistrations.d.ts","sourceRoot":"","sources":["../../src/validation/validateRegistrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,KAAK,EAEV,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,wBAAwB,EAGxB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AA6D5B,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,uFAAuF;AACvF,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,iBAAiB,EAAE,iBAAiB,CAAA;IACpC;;;;OAIG;IACH,YAAY,EAAE,YAAY,CAAA;IAC1B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD;;;;;;OAMG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAA;CAChD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,4BAA4B,GACjC,mBAAmB,EAAE,CAuFvB;AA0wBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI,CAY9E;AAOD,yGAAyG;AACzG,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI,CASlF;AAED,uFAAuF;AACvF,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD"}