@cat-factory/orchestration 0.278.0 → 0.280.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 (47) hide show
  1. package/dist/container/dependencies.d.ts +18 -7
  2. package/dist/container/dependencies.d.ts.map +1 -1
  3. package/dist/container/execution-service.d.ts.map +1 -1
  4. package/dist/container/execution-service.js +4 -0
  5. package/dist/container/execution-service.js.map +1 -1
  6. package/dist/container/runtime.d.ts +1 -0
  7. package/dist/container/runtime.d.ts.map +1 -1
  8. package/dist/container/runtime.js +6 -0
  9. package/dist/container/runtime.js.map +1 -1
  10. package/dist/container.d.ts +8 -1
  11. package/dist/container.d.ts.map +1 -1
  12. package/dist/container.js.map +1 -1
  13. package/dist/modules/execution/AgentContextBuilder.d.ts +9 -10
  14. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  15. package/dist/modules/execution/AgentContextBuilder.js +35 -4
  16. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  17. package/dist/modules/execution/ExecutionServiceDependencies.d.ts +7 -1
  18. package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
  19. package/dist/modules/execution/run-context-admission.d.ts +1 -1
  20. package/dist/modules/execution/run-context-admission.d.ts.map +1 -1
  21. package/dist/modules/execution/run-context-admission.js +1 -0
  22. package/dist/modules/execution/run-context-admission.js.map +1 -1
  23. package/dist/modules/execution/run-skills.d.ts +27 -1
  24. package/dist/modules/execution/run-skills.d.ts.map +1 -1
  25. package/dist/modules/execution/run-skills.js +32 -2
  26. package/dist/modules/execution/run-skills.js.map +1 -1
  27. package/dist/modules/sandbox/SandboxRunService.d.ts +6 -1
  28. package/dist/modules/sandbox/SandboxRunService.d.ts.map +1 -1
  29. package/dist/modules/sandbox/SandboxRunService.js +34 -27
  30. package/dist/modules/sandbox/SandboxRunService.js.map +1 -1
  31. package/dist/modules/sandbox/SandboxService.d.ts +26 -3
  32. package/dist/modules/sandbox/SandboxService.d.ts.map +1 -1
  33. package/dist/modules/sandbox/SandboxService.js +81 -19
  34. package/dist/modules/sandbox/SandboxService.js.map +1 -1
  35. package/dist/modules/sandbox/sandbox-input.d.ts +16 -0
  36. package/dist/modules/sandbox/sandbox-input.d.ts.map +1 -0
  37. package/dist/modules/sandbox/sandbox-input.js +274 -0
  38. package/dist/modules/sandbox/sandbox-input.js.map +1 -0
  39. package/dist/modules/sandbox/sandbox.logic.d.ts +0 -8
  40. package/dist/modules/sandbox/sandbox.logic.d.ts.map +1 -1
  41. package/dist/modules/sandbox/sandbox.logic.js +4 -48
  42. package/dist/modules/sandbox/sandbox.logic.js.map +1 -1
  43. package/dist/modules/sandbox/sandboxAdmission.d.ts +36 -0
  44. package/dist/modules/sandbox/sandboxAdmission.d.ts.map +1 -0
  45. package/dist/modules/sandbox/sandboxAdmission.js +83 -0
  46. package/dist/modules/sandbox/sandboxAdmission.js.map +1 -0
  47. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionServiceDependencies.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionServiceDependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutionServiceDependencies.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionServiceDependencies.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ import type { ExecutionServiceDependencies } from './ExecutionService.js';
17
17
  * value the constructor passed inline, so the two collaborators are built from an identical
18
18
  * input to before.
19
19
  */
20
- export type RunContextAdmissionDeps = Pick<ExecutionServiceDependencies, 'workspaceRepository' | 'blockRepository' | 'executionRepository' | 'accountRepository' | 'agentKindRegistry' | 'gateRegistry' | 'initiativePresetRegistry' | 'taskTypeRegistry' | 'agentPromptRepository' | 'consensusGroupRepository' | 'documentRepository' | 'documentUrlResolver' | 'documentRefresher' | 'taskRepository' | 'requirementReviewRepository' | 'docInterviewRepository' | 'clarityReviewRepository' | 'brainstormSessionRepository' | 'initiativeRepository' | 'environmentProvisioning' | 'resolveTestSecretRefs' | 'resolveValidationChecks' | 'fragmentResolver' | 'skillResolver' | 'spendService' | 'workspaceSettingsService' | 'resolveBinaryArtifactStore' | 'resolveProviderCapabilities' | 'inlineHarnessRef' | 'resolveWorkspaceModelDefault' | 'assertAgentBackendConfigured' | 'logger' | 'workspaceAgentSettingsRepository' | 'modelPresetRepository' | 'modelPresetCache' | 'localModelEndpointRepository' | 'localModelDeclarationsCache' | 'foundationalServiceResolver' | 'binaryGeneratorSource'>;
20
+ export type RunContextAdmissionDeps = Pick<ExecutionServiceDependencies, 'workspaceRepository' | 'blockRepository' | 'executionRepository' | 'accountRepository' | 'agentKindRegistry' | 'gateRegistry' | 'initiativePresetRegistry' | 'taskTypeRegistry' | 'agentPromptRepository' | 'consensusGroupRepository' | 'documentRepository' | 'documentUrlResolver' | 'documentRefresher' | 'taskRepository' | 'requirementReviewRepository' | 'docInterviewRepository' | 'clarityReviewRepository' | 'brainstormSessionRepository' | 'initiativeRepository' | 'environmentProvisioning' | 'resolveTestSecretRefs' | 'resolveValidationChecks' | 'fragmentResolver' | 'skillResolver' | 'agentKindSource' | 'spendService' | 'workspaceSettingsService' | 'resolveBinaryArtifactStore' | 'resolveProviderCapabilities' | 'inlineHarnessRef' | 'resolveWorkspaceModelDefault' | 'assertAgentBackendConfigured' | 'logger' | 'workspaceAgentSettingsRepository' | 'modelPresetRepository' | 'modelPresetCache' | 'localModelEndpointRepository' | 'localModelDeclarationsCache' | 'foundationalServiceResolver' | 'binaryGeneratorSource'>;
21
21
  export declare function buildRunContextAndAdmission(deps: RunContextAdmissionDeps): {
22
22
  contextBuilder: AgentContextBuilder;
23
23
  admission: RunAdmission;
@@ -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,cAAc,GACd,0BAA0B,GAC1B,kBAAkB,GAClB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,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,8BAA8B,GAC9B,6BAA6B,GAC7B,6BAA6B,GAC7B,uBAAuB,CAC1B,CAAA;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,uBAAuB,GAAG;IAC1E,cAAc,EAAE,mBAAmB,CAAA;IACnC,SAAS,EAAE,YAAY,CAAA;CACxB,CAuDA"}
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,cAAc,GACd,0BAA0B,GAC1B,kBAAkB,GAClB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,gBAAgB,GAChB,6BAA6B,GAC7B,wBAAwB,GACxB,yBAAyB,GACzB,6BAA6B,GAC7B,sBAAsB,GACtB,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,cAAc,GACd,0BAA0B,GAC1B,4BAA4B,GAC5B,6BAA6B,GAC7B,kBAAkB,GAClB,8BAA8B,GAC9B,8BAA8B,GAC9B,QAAQ,GACR,kCAAkC,GAClC,uBAAuB,GACvB,kBAAkB,GAClB,8BAA8B,GAC9B,6BAA6B,GAC7B,6BAA6B,GAC7B,uBAAuB,CAC1B,CAAA;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,uBAAuB,GAAG;IAC1E,cAAc,EAAE,mBAAmB,CAAA;IACnC,SAAS,EAAE,YAAY,CAAA;CACxB,CAwDA"}
@@ -40,6 +40,7 @@ export function buildRunContextAndAdmission(deps) {
40
40
  resolveValidationChecks: deps.resolveValidationChecks,
41
41
  fragmentResolver: deps.fragmentResolver,
42
42
  skillResolver: deps.skillResolver,
43
+ agentKindSource: deps.agentKindSource,
43
44
  foundationalServiceResolver: deps.foundationalServiceResolver,
44
45
  binaryGeneratorSource: deps.binaryGeneratorSource,
45
46
  resolveBinaryArtifactStore: deps.resolveBinaryArtifactStore,
@@ -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;AAmDhD,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,mBAAmB,EAAE,IAAI,CAAC,4BAA4B;QACtD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,eAAe,EAAE,IAAI,CAAC,wBAAwB;QAC9C,SAAS,EAAE,IAAI,CAAC,kBAAkB;QAClC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,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,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;QAC3D,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,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,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;AAoDhD,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,mBAAmB,EAAE,IAAI,CAAC,4BAA4B;QACtD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,eAAe,EAAE,IAAI,CAAC,wBAAwB;QAC9C,SAAS,EAAE,IAAI,CAAC,kBAAkB;QAClC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,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,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;QAC3D,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,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,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,4 +1,4 @@
1
- import type { AgentKindRegistry } from '@cat-factory/agents';
1
+ import type { AgentKindCapabilityView, AgentKindRegistry, AgentKindSource } from '@cat-factory/agents';
2
2
  import type { PipelineStep } from '@cat-factory/contracts';
3
3
  import type { AgentKind, Logger, ResolvedSkill, SkillVersionPin } from '@cat-factory/kernel';
4
4
  import type { SkillResolver } from './AgentContextBuilder.js';
@@ -9,6 +9,13 @@ export interface ResolveRunSkillsInput {
9
9
  /** The step being dispatched; its `skillVersions` pin is written here. */
10
10
  step: PipelineStep;
11
11
  agentKindRegistry: AgentKindRegistry;
12
+ /**
13
+ * This dispatch's already-resolved capability declarations (see {@link resolveKindCapabilities}).
14
+ * Passed IN rather than resolved here because the tool-server half of the same answer travels to
15
+ * the executor, and resolving twice would mean two reads of a deployment-level source that
16
+ * crosses a network. Absent ⇒ resolved from `agentKindRegistry` alone.
17
+ */
18
+ capabilities?: AgentKindCapabilityView;
12
19
  /** Wired only when the skill library is configured; absent ⇒ no catalog skill can resolve. */
13
20
  skillResolver?: SkillResolver;
14
21
  logger?: Logger;
@@ -35,4 +42,23 @@ export declare function resolveRunSkills(input: ResolveRunSkillsInput): Promise<
35
42
  skills: ResolvedSkill[];
36
43
  versions: SkillVersionPin[];
37
44
  }>;
45
+ /**
46
+ * The capability declarations one dispatch applies: this build's registry MERGED with the
47
+ * deployment's layer when a source is wired (a mothership-mode node reads the mothership's).
48
+ *
49
+ * A merge, not a replacement, and that is the difference from the three sibling sources
50
+ * (foundational services, binary generators, prompt fragments), which forbid one. Those replace a
51
+ * set the node also registers, so a merge would let a stale local copy win by id. Here the halves
52
+ * are different things: a KIND's own declarations belong to the code implementing it and stay with
53
+ * that code, while the deployment's `assignSkills`/`assignToolServers` are a layer on top. This is
54
+ * the same union `skillsFor` already performs in-process, with the deployment's half read from the
55
+ * process that owns it.
56
+ *
57
+ * Exported because the TOOL-SERVER half of the same answer is resolved here too and rides the
58
+ * dispatch context to the executor, which is what keeps this to ONE read per dispatch.
59
+ */
60
+ export declare function resolveKindCapabilities(agentKind: AgentKind, deps: {
61
+ agentKindRegistry: AgentKindRegistry;
62
+ agentKindSource?: AgentKindSource;
63
+ }): Promise<AgentKindCapabilityView>;
38
64
  //# sourceMappingURL=run-skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-skills.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/run-skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAY7D,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,6FAA6F;IAC7F,SAAS,EAAE,SAAS,CAAA;IACpB,0EAA0E;IAC1E,IAAI,EAAE,YAAY,CAAA;IAClB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CAgDnE"}
1
+ {"version":3,"file":"run-skills.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/run-skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAM5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAY7D,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,6FAA6F;IAC7F,SAAS,EAAE,SAAS,CAAA;IACpB,0EAA0E;IAC1E,IAAI,EAAE,YAAY,CAAA;IAClB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,uBAAuB,CAAA;IACtC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CAiDnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE;IAAE,iBAAiB,EAAE,iBAAiB,CAAC;IAAC,eAAe,CAAC,EAAE,eAAe,CAAA;CAAE,GAChF,OAAO,CAAC,uBAAuB,CAAC,CAYlC"}
@@ -1,4 +1,4 @@
1
- import { bundledSkillToResolved, SKILL_AGENT_KIND } from '@cat-factory/agents';
1
+ import { bundledSkillToResolved, mergeKindCapabilities, SKILL_AGENT_KIND, } from '@cat-factory/agents';
2
2
  import { ValidationError, noopLogger, runBestEffort } from '@cat-factory/kernel';
3
3
  /**
4
4
  * Resolve every skill this dispatch applies, in the order they should be applied: the kind's own
@@ -19,7 +19,8 @@ import { ValidationError, noopLogger, runBestEffort } from '@cat-factory/kernel'
19
19
  * version is the deployment's), which the caller records on the step.
20
20
  */
21
21
  export async function resolveRunSkills(input) {
22
- const declared = input.agentKindRegistry.skillsFor(input.agentKind);
22
+ const declared = (input.capabilities ?? (await resolveKindCapabilities(input.agentKind, input)))
23
+ .skills;
23
24
  const pickedSkillId = input.agentKind === SKILL_AGENT_KIND ? input.step.stepOptions?.skillId?.trim() : undefined;
24
25
  if (!declared.bundled.length && !declared.catalog.length && !pickedSkillId) {
25
26
  // Clear on this path too, not just the one below: a step re-dispatched after its pick was
@@ -63,6 +64,35 @@ export async function resolveRunSkills(input) {
63
64
  input.step.skillVersions = versions.length ? versions : undefined;
64
65
  return { skills, versions };
65
66
  }
67
+ /**
68
+ * The capability declarations one dispatch applies: this build's registry MERGED with the
69
+ * deployment's layer when a source is wired (a mothership-mode node reads the mothership's).
70
+ *
71
+ * A merge, not a replacement, and that is the difference from the three sibling sources
72
+ * (foundational services, binary generators, prompt fragments), which forbid one. Those replace a
73
+ * set the node also registers, so a merge would let a stale local copy win by id. Here the halves
74
+ * are different things: a KIND's own declarations belong to the code implementing it and stay with
75
+ * that code, while the deployment's `assignSkills`/`assignToolServers` are a layer on top. This is
76
+ * the same union `skillsFor` already performs in-process, with the deployment's half read from the
77
+ * process that owns it.
78
+ *
79
+ * Exported because the TOOL-SERVER half of the same answer is resolved here too and rides the
80
+ * dispatch context to the executor, which is what keeps this to ONE read per dispatch.
81
+ */
82
+ export async function resolveKindCapabilities(agentKind, deps) {
83
+ const local = {
84
+ kind: agentKind,
85
+ skills: deps.agentKindRegistry.skillsFor(agentKind),
86
+ toolServers: deps.agentKindRegistry.toolServersFor(agentKind),
87
+ };
88
+ if (!deps.agentKindSource)
89
+ return local;
90
+ // A failed read THROWS out of the source and is NOT swallowed here: an empty layer and an
91
+ // unreachable mothership are the same value and opposite facts, and a dispatch that quietly
92
+ // dropped the org's playbook is the exact failure this seam exists to remove.
93
+ const org = (await deps.agentKindSource.capabilities()).find((view) => view.kind === agentKind);
94
+ return mergeKindCapabilities(local, org);
95
+ }
66
96
  /**
67
97
  * Resolve ONE account-catalog skill. An unwired resolver, or a resolver that throws (an unknown /
68
98
  * tombstoned skill id), fails the dispatch unless the reference declared itself optional — in
@@ -1 +1 @@
1
- {"version":3,"file":"run-skills.js","sourceRoot":"","sources":["../../../src/modules/execution/run-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-skills.js","sourceRoot":"","sources":["../../../src/modules/execution/run-skills.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,12 @@ export declare class SandboxRunService {
45
45
  private failRun;
46
46
  /** Resolve every prompt version referenced by the matrix to its system text + label. */
47
47
  private resolvePrompts;
48
- /** Resolve every fixture referenced by the matrix (stored, else builtin), refusing repo fixtures. */
48
+ /**
49
+ * Resolve every fixture referenced by the matrix (stored, else builtin), refusing one the driver
50
+ * cannot run and RENDERING each one's task input. Every refusal this method can raise therefore
51
+ * happens before the run is claimed, so a bad matrix is a 4xx with no grid rather than a
52
+ * half-finished experiment.
53
+ */
49
54
  private resolveFixtures;
50
55
  /** The model provider for a workspace's scope (per-scope DB pool, else the static one). */
51
56
  private providerFor;
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxRunService.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxRunService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,QAAQ,EAER,2BAA2B,EAE3B,wBAAwB,EAExB,sBAAsB,EACtB,8BAA8B,EAE9B,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAY5D,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAY3F,MAAM,WAAW,6BAA6B;IAC5C,8BAA8B,EAAE,8BAA8B,CAAA;IAC9D,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,+EAA+E;IAC/E,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,kEAAkE;IAClE,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,yEAAyE;IACzE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAA;IACtE,uFAAuF;IACvF,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAA;CACxC;AAQD;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,6BAA6B,EAAI;IAE9D,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA+MxF;YAIa,OAAO;IASrB,wFAAwF;YAC1E,cAAc;IAuB5B,qGAAqG;YACvF,eAAe;IAoB7B,2FAA2F;YAC7E,WAAW;IASzB,oGAAoG;IACpG,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,MAAM;CAGf"}
1
+ {"version":3,"file":"SandboxRunService.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxRunService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,QAAQ,EAER,2BAA2B,EAE3B,wBAAwB,EAExB,sBAAsB,EACtB,8BAA8B,EAE9B,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAgB5D,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAY3F,MAAM,WAAW,6BAA6B;IAC5C,8BAA8B,EAAE,8BAA8B,CAAA;IAC9D,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,2BAA2B,EAAE,2BAA2B,CAAA;IACxD,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,+EAA+E;IAC/E,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,kEAAkE;IAClE,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,yEAAyE;IACzE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAA;IACtE,uFAAuF;IACvF,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAA;CACxC;AAsBD;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,6BAA6B,EAAI;IAE9D,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA6MxF;YAIa,OAAO;IASrB,wFAAwF;YAC1E,cAAc;IAuB5B;;;;;OAKG;YACW,eAAe;IAqB7B,2FAA2F;YAC7E,WAAW;IASzB,oGAAoG;IACpG,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,MAAM;CAGf"}
@@ -1,10 +1,11 @@
1
1
  import { assertFound, ConflictError, getErrorMessage, inlineModelRef, requireWorkspace, resolveScopedModelProvider, ValidationError, } from '@cat-factory/kernel';
2
- import { catFactoryObservability, systemPromptFor } from '@cat-factory/agents';
3
- import { SANDBOX_REPO_FIXTURE_KINDS } from '@cat-factory/contracts';
4
- import { expandMatrix, listBaselines, listBuiltinFixtures, rubricFor, sandboxKindMeta, versionLabel, weightedTotal, } from '@cat-factory/sandbox';
2
+ import { catFactoryObservability, composedSystemPromptFor } from '@cat-factory/agents';
3
+ import { expandMatrix, listBaselines, listBuiltinFixtures, rubricFor, versionLabel, weightedTotal, } from '@cat-factory/sandbox';
5
4
  import { generateText } from 'ai';
5
+ import { assertSandboxFixtureMatchesKind, assertSandboxRunnable, assertSandboxRunnableFixture, } from './sandboxAdmission.js';
6
6
  import { composeExperimentDetail } from './SandboxService.js';
7
- import { buildJudgePrompt, coerceJudgeScores, extractJson, gradedDimensionCount, JUDGE_SYSTEM_PROMPT, objectiveFor, parseModelCatalogId, renderFixtureInput, } from './sandbox.logic.js';
7
+ import { renderFixtureInput } from './sandbox-input.js';
8
+ import { buildJudgePrompt, coerceJudgeScores, extractJson, gradedDimensionCount, JUDGE_SYSTEM_PROMPT, objectiveFor, parseModelCatalogId, } from './sandbox.logic.js';
8
9
  /**
9
10
  * The Sandbox run-driver + judge. {@link launch} expands a draft experiment's matrix
10
11
  * into cells, runs each inline candidate (one LLM call against the prompt-version's
@@ -28,22 +29,20 @@ export class SandboxRunService {
28
29
  if (experiment.status === 'running') {
29
30
  throw new ConflictError('This experiment is already running.');
30
31
  }
31
- const meta = sandboxKindMeta(experiment.agentKind);
32
- if (!meta)
33
- throw new ValidationError(`"${experiment.agentKind}" is not a Sandbox-testable kind`);
34
- if (meta.bucket === 'container') {
35
- throw new ValidationError(`The "${experiment.agentKind}" agent runs in a container; container experiments are not yet supported in the Sandbox.`);
36
- }
32
+ const meta = assertSandboxRunnable(experiment.agentKind);
37
33
  const provider = await this.providerFor(workspaceId);
38
34
  const prompts = await this.resolvePrompts(workspaceId, experiment);
39
- const fixtures = await this.resolveFixtures(workspaceId, experiment);
35
+ const fixtures = await this.resolveFixtures(workspaceId, experiment, meta);
40
36
  const rubric = rubricFor(meta.rubric);
41
37
  // Atomically claim the run BEFORE touching the grid: the conditional transition to
42
38
  // `running` lets exactly one concurrent launch win, so two simultaneous launches can't
43
39
  // both clear + re-expand the grid (duplicating cells) or race the grid-clearing deletes.
44
40
  // The fast-path read above is just a friendly early error; THIS is the authoritative gate.
45
- // Validation/resolution runs first, so a bad request never mutates state or strands the
46
- // experiment `running`. The `finally` below settles the terminal status from here on.
41
+ // Validation/resolution runs first, RENDERING each fixture's task input as it goes, so every
42
+ // refusal a bad matrix can raise lands here rather than mid-grid: a fixture whose payload the
43
+ // builder cannot read is a 4xx with nothing persisted, never a run that spends tokens on the
44
+ // cells before it and leaves the rest `queued` with no error to explain them. The `finally`
45
+ // below settles the terminal status from here on.
47
46
  if (!(await this.deps.sandboxExperimentRepository.claimForRun(workspaceId, experimentId))) {
48
47
  throw new ConflictError('This experiment is already running.');
49
48
  }
@@ -85,14 +84,14 @@ export class SandboxRunService {
85
84
  // candidate output inspectable with the error, so the cell is `done` but not counted graded.
86
85
  const runCell = async (run) => {
87
86
  const prompt = prompts.get(run.promptVersionId);
88
- const fixture = fixtures.get(run.fixtureId);
89
- if (!prompt || !fixture) {
87
+ const resolved = fixtures.get(run.fixtureId);
88
+ if (!prompt || !resolved) {
90
89
  await this.failRun(workspaceId, run, prompt
91
90
  ? `Unknown fixture "${run.fixtureId}"`
92
91
  : `Unknown prompt version "${run.promptVersionId}"`);
93
92
  return { tokensSpent: 0, graded: false };
94
93
  }
95
- const taskInput = renderFixtureInput(fixture);
94
+ const { fixture, taskInput } = resolved;
96
95
  let cellSpent = 0;
97
96
  // Phase 1 — run the candidate. A failure here means the cell produced nothing,
98
97
  // so the whole cell is `failed`.
@@ -103,11 +102,12 @@ export class SandboxRunService {
103
102
  const candidate = await generateText({
104
103
  model: provider.resolve(candidateRef),
105
104
  // Composed exactly as production dispatch composes a workspace prompt override: the
106
- // stored text is the BASE (track) prompt, and `systemPromptFor` layers the surface
107
- // directives and trait guidance on top. Grading the bare base would measure text that
108
- // is never sent which matters most at the moment a well-graded candidate is promoted
109
- // to the live prompt, since the promoted prompt would then behave unlike the graded one.
110
- system: systemPromptFor(experiment.agentKind, this.deps.agentKindRegistry, prompt.systemText),
105
+ // stored text is the shipped BASE prompt, and `composedSystemPromptFor` puts the rest
106
+ // back (surface directives and trait guidance, or a bespoke kind's directives half).
107
+ // Grading the bare base would measure text that is never sent, which matters most at the
108
+ // moment a well-graded candidate is promoted to the live prompt, since the promoted
109
+ // prompt would then behave unlike the graded one.
110
+ system: composedSystemPromptFor(experiment.agentKind, this.deps.agentKindRegistry, prompt.systemText),
111
111
  prompt: taskInput,
112
112
  temperature: 0.2,
113
113
  maxOutputTokens: 4000,
@@ -228,18 +228,25 @@ export class SandboxRunService {
228
228
  }
229
229
  return map;
230
230
  }
231
- /** Resolve every fixture referenced by the matrix (stored, else builtin), refusing repo fixtures. */
232
- async resolveFixtures(workspaceId, experiment) {
231
+ /**
232
+ * Resolve every fixture referenced by the matrix (stored, else builtin), refusing one the driver
233
+ * cannot run and RENDERING each one's task input. Every refusal this method can raise therefore
234
+ * happens before the run is claimed, so a bad matrix is a 4xx with no grid rather than a
235
+ * half-finished experiment.
236
+ */
237
+ async resolveFixtures(workspaceId, experiment, meta) {
233
238
  const builtins = new Map(listBuiltinFixtures(this.deps.clock.now()).map((f) => [f.id, f]));
234
239
  const map = new Map();
235
240
  for (const id of new Set(experiment.matrix.fixtureIds)) {
236
241
  const fixture = (await this.deps.sandboxFixtureRepository.get(workspaceId, id)) ?? builtins.get(id);
237
242
  if (!fixture)
238
243
  throw new ValidationError(`Unknown fixture "${id}"`);
239
- if (SANDBOX_REPO_FIXTURE_KINDS.includes(fixture.kind)) {
240
- throw new ValidationError(`Fixture "${fixture.name}" needs a repository checkout; repo fixtures are not yet supported in the Sandbox.`);
241
- }
242
- map.set(id, fixture);
244
+ assertSandboxRunnableFixture(fixture);
245
+ assertSandboxFixtureMatchesKind(fixture, meta);
246
+ map.set(id, {
247
+ fixture,
248
+ taskInput: renderFixtureInput(fixture, meta, this.deps.agentKindRegistry),
249
+ });
243
250
  }
244
251
  return map;
245
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxRunService.js","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxRunService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxRunService.js","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxRunService.ts"],"names":[],"mappings":"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"}
@@ -98,7 +98,7 @@ export declare class SandboxService {
98
98
  setLabels(workspaceId: string, id: string, input: SetSandboxLabelsInput): Promise<SandboxPromptVersion>;
99
99
  /** Soft-archive a candidate version (hidden from the default listing). */
100
100
  archivePrompt(workspaceId: string, id: string): Promise<void>;
101
- /** The fixture library, seeding the builtin fixtures on first use. */
101
+ /** The fixture library, reconciled against the shipped builtin catalog first. */
102
102
  listFixtures(workspaceId: string): Promise<SandboxFixture[]>;
103
103
  /** Create a workspace-authored fixture. */
104
104
  createFixture(workspaceId: string, input: CreateSandboxFixtureInput): Promise<SandboxFixture>;
@@ -109,10 +109,33 @@ export declare class SandboxService {
109
109
  getExperiment(workspaceId: string, id: string): Promise<SandboxExperimentDetail>;
110
110
  /** Create a draft experiment. Launching it (the run-driver) expands + grades the matrix. */
111
111
  createExperiment(workspaceId: string, input: CreateSandboxExperimentInput): Promise<SandboxExperiment>;
112
+ /**
113
+ * Refuse a matrix naming a fixture the run-driver cannot run (a repository seed) or one the
114
+ * chosen agent kind is not exercised against.
115
+ *
116
+ * An unknown id is deliberately NOT refused here: the run-driver resolves fixtures against the
117
+ * workspace store AND the builtins at launch, and a fixture can legitimately be authored between
118
+ * create and launch. Refusing an absent id would only move that failure earlier while adding a way
119
+ * for a valid draft to be rejected.
120
+ */
121
+ private assertRunnableFixtures;
112
122
  /** Resolve the shipped baseline a clone derives from (by base-prompt id, else by kind). */
113
123
  private resolveBaseline;
114
- /** Seed the builtin fixture library for a workspace that has none yet. Idempotent. */
115
- private ensureBuiltinFixtures;
124
+ /**
125
+ * Bring the workspace's builtin fixture rows up to date with the shipped catalog, leaving
126
+ * workspace-authored ones untouched. Idempotent, and a no-op write-wise once they agree.
127
+ *
128
+ * Reconciled against the CATALOG rather than seeded once, for the same reason built-in pipelines
129
+ * are: a "seed only when the workspace has none" gate makes every LATER release invisible to
130
+ * every workspace that has already opened the surface. This shipped two new agent kinds, and on
131
+ * such a workspace their fixture lists came back empty, so the kind was offered in the builder
132
+ * with a permanently disabled Run button and nothing on screen saying why.
133
+ *
134
+ * Compared field by field (rather than upserting all of them every time) because this runs on
135
+ * every overview load: a workspace whose builtins already match pays reads only. `createdAt` is
136
+ * taken from the stored row, so an unchanged fixture is byte-identical and no row churns.
137
+ */
138
+ private reconcileBuiltinFixtures;
116
139
  /**
117
140
  * The judge model to use when the caller didn't pick one: the deployment's routing
118
141
  * default. We do NOT guess a provider — if no default is configured (e.g. a minimal
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxService.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxService.d.ts","sourceRoot":"","sources":["../../../src/modules/sandbox/SandboxService.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { assertFound, ConflictError, requireWorkspace, ValidationError } from '@cat-factory/kernel';
2
2
  import { cellCount, firstVersionFromBaseline, isRunnableMatrix, listBaselines, listBuiltinFixtures, nextVersion, SANDBOX_AGENT_KINDS, baselineVersionId, sandboxKindMeta, sandboxPromptKinds, workspacePromptVersions, } from '@cat-factory/sandbox';
3
+ import { assertSandboxFixtureMatchesKind, assertSandboxRunnable, assertSandboxRunnableFixture, } from './sandboxAdmission.js';
3
4
  /** A safety ceiling on how many cells one experiment may expand to (cost guard). */
4
5
  export const MAX_SANDBOX_CELLS = 100;
5
6
  /**
@@ -15,6 +16,26 @@ export async function composeExperimentDetail(repos, workspaceId, experimentId)
15
16
  ]);
16
17
  return { experiment, runs, grades };
17
18
  }
19
+ /**
20
+ * A stored fixture's content, as a comparable string: every field a reconcile could need to
21
+ * refresh, serialized in a FIXED order.
22
+ *
23
+ * Ordered explicitly rather than stringifying the row, because the two are built by different
24
+ * code (one by the catalog, one by a repository's row mapping) and JSON key order is significant
25
+ * to `JSON.stringify`. Reading the row's own order would make every comparison false and turn a
26
+ * read-only reconcile into a write per builtin on every overview load. Both facades persist these
27
+ * as JSON TEXT, so the nested payload round-trips byte-stable.
28
+ */
29
+ function fixtureContent(fixture) {
30
+ return JSON.stringify([
31
+ fixture.kind,
32
+ fixture.name,
33
+ fixture.payload,
34
+ fixture.repoRef,
35
+ fixture.objective,
36
+ fixture.origin,
37
+ ]);
38
+ }
18
39
  /**
19
40
  * Management CRUD for the Sandbox (the parallel prompt/model testing surface): the
20
41
  * shipped baselines + stored candidate prompt versions, the fixture library (builtins
@@ -149,10 +170,10 @@ export class SandboxService {
149
170
  await this.deps.sandboxPromptVersionRepository.archive(workspaceId, id, this.deps.clock.now());
150
171
  }
151
172
  // ---- fixtures -------------------------------------------------------------
152
- /** The fixture library, seeding the builtin fixtures on first use. */
173
+ /** The fixture library, reconciled against the shipped builtin catalog first. */
153
174
  async listFixtures(workspaceId) {
154
175
  await requireWorkspace(this.deps.workspaceRepository, workspaceId);
155
- await this.ensureBuiltinFixtures(workspaceId);
176
+ await this.reconcileBuiltinFixtures(workspaceId);
156
177
  return this.deps.sandboxFixtureRepository.list(workspaceId);
157
178
  }
158
179
  /** Create a workspace-authored fixture. */
@@ -193,19 +214,17 @@ export class SandboxService {
193
214
  /** Create a draft experiment. Launching it (the run-driver) expands + grades the matrix. */
194
215
  async createExperiment(workspaceId, input) {
195
216
  await requireWorkspace(this.deps.workspaceRepository, workspaceId);
196
- const meta = sandboxKindMeta(input.agentKind);
197
- if (!meta) {
198
- throw new ValidationError(`"${input.agentKind}" is not a Sandbox-testable agent kind`);
199
- }
200
- // Refuse container kinds up front: the in-product run driver only runs inline cells,
201
- // so a container experiment could be persisted but never launched. Reject at create
202
- // time rather than leaving an un-launchable draft in the workspace.
203
- if (meta.bucket === 'container') {
204
- throw new ValidationError(`The "${input.agentKind}" agent runs in a container; container experiments are not yet supported in the Sandbox.`);
205
- }
217
+ // Refuse an un-runnable kind up front, through the same assertion the run-driver uses: the
218
+ // driver only runs inline cells, so a draft naming a kind it cannot dispatch could be persisted
219
+ // and never launched.
220
+ const meta = assertSandboxRunnable(input.agentKind);
206
221
  if (!isRunnableMatrix(input.matrix)) {
207
222
  throw new ValidationError('The experiment matrix needs at least one prompt, model and fixture');
208
223
  }
224
+ // ...and the same for the FIXTURES the matrix names, which only `launch` used to check. One
225
+ // list read indexed into a Map rather than a point read per id (the banned N+1), and the
226
+ // builtins fill in whatever a workspace has not had seeded yet.
227
+ await this.assertRunnableFixtures(workspaceId, input.matrix.fixtureIds, meta);
209
228
  const repeats = input.repeats ?? 1;
210
229
  const total = cellCount(input.matrix, repeats);
211
230
  if (total > MAX_SANDBOX_CELLS) {
@@ -227,6 +246,30 @@ export class SandboxService {
227
246
  return experiment;
228
247
  }
229
248
  // ---- internals ------------------------------------------------------------
249
+ /**
250
+ * Refuse a matrix naming a fixture the run-driver cannot run (a repository seed) or one the
251
+ * chosen agent kind is not exercised against.
252
+ *
253
+ * An unknown id is deliberately NOT refused here: the run-driver resolves fixtures against the
254
+ * workspace store AND the builtins at launch, and a fixture can legitimately be authored between
255
+ * create and launch. Refusing an absent id would only move that failure earlier while adding a way
256
+ * for a valid draft to be rejected.
257
+ */
258
+ async assertRunnableFixtures(workspaceId, fixtureIds, meta) {
259
+ const byId = new Map();
260
+ for (const fixture of listBuiltinFixtures(this.deps.clock.now()))
261
+ byId.set(fixture.id, fixture);
262
+ for (const fixture of await this.deps.sandboxFixtureRepository.list(workspaceId)) {
263
+ byId.set(fixture.id, fixture);
264
+ }
265
+ for (const id of new Set(fixtureIds)) {
266
+ const fixture = byId.get(id);
267
+ if (!fixture)
268
+ continue;
269
+ assertSandboxRunnableFixture(fixture);
270
+ assertSandboxFixtureMatchesKind(fixture, meta);
271
+ }
272
+ }
230
273
  /** Resolve the shipped baseline a clone derives from (by base-prompt id, else by kind). */
231
274
  resolveBaseline(agentKind, basePromptId) {
232
275
  const baselines = listBaselines(this.deps.clock.now(), this.deps.agentKindRegistry);
@@ -236,13 +279,32 @@ export class SandboxService {
236
279
  throw new ValidationError(`No baseline prompt for agent kind "${agentKind}"`);
237
280
  return source;
238
281
  }
239
- /** Seed the builtin fixture library for a workspace that has none yet. Idempotent. */
240
- async ensureBuiltinFixtures(workspaceId) {
241
- const current = await this.deps.sandboxFixtureRepository.list(workspaceId);
242
- if (current.length > 0)
243
- return;
244
- for (const fixture of listBuiltinFixtures(this.deps.clock.now())) {
245
- await this.deps.sandboxFixtureRepository.upsert(workspaceId, fixture);
282
+ /**
283
+ * Bring the workspace's builtin fixture rows up to date with the shipped catalog, leaving
284
+ * workspace-authored ones untouched. Idempotent, and a no-op write-wise once they agree.
285
+ *
286
+ * Reconciled against the CATALOG rather than seeded once, for the same reason built-in pipelines
287
+ * are: a "seed only when the workspace has none" gate makes every LATER release invisible to
288
+ * every workspace that has already opened the surface. This shipped two new agent kinds, and on
289
+ * such a workspace their fixture lists came back empty, so the kind was offered in the builder
290
+ * with a permanently disabled Run button and nothing on screen saying why.
291
+ *
292
+ * Compared field by field (rather than upserting all of them every time) because this runs on
293
+ * every overview load: a workspace whose builtins already match pays reads only. `createdAt` is
294
+ * taken from the stored row, so an unchanged fixture is byte-identical and no row churns.
295
+ */
296
+ async reconcileBuiltinFixtures(workspaceId) {
297
+ const stored = new Map((await this.deps.sandboxFixtureRepository.list(workspaceId)).map((f) => [f.id, f]));
298
+ for (const shipped of listBuiltinFixtures(this.deps.clock.now())) {
299
+ const existing = stored.get(shipped.id);
300
+ if (existing && fixtureContent(existing) === fixtureContent(shipped))
301
+ continue;
302
+ // Keep the original `createdAt` on a refresh: the row is the same fixture, and the library
303
+ // is ordered by it, so re-stamping would reshuffle the list on an unrelated release.
304
+ await this.deps.sandboxFixtureRepository.upsert(workspaceId, {
305
+ ...shipped,
306
+ ...(existing ? { createdAt: existing.createdAt } : {}),
307
+ });
246
308
  }
247
309
  }
248
310
  /**