@cat-factory/orchestration 0.241.0 → 0.243.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 (53) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/modules/board/BoardService.d.ts +43 -23
  5. package/dist/modules/board/BoardService.d.ts.map +1 -1
  6. package/dist/modules/board/BoardService.js +109 -126
  7. package/dist/modules/board/BoardService.js.map +1 -1
  8. package/dist/modules/board/newServiceFrameDefaults.d.ts +18 -1
  9. package/dist/modules/board/newServiceFrameDefaults.d.ts.map +1 -1
  10. package/dist/modules/board/newServiceFrameDefaults.js +17 -0
  11. package/dist/modules/board/newServiceFrameDefaults.js.map +1 -1
  12. package/dist/modules/board/publicBoardReads.d.ts +56 -2
  13. package/dist/modules/board/publicBoardReads.d.ts.map +1 -1
  14. package/dist/modules/board/publicBoardReads.js +53 -0
  15. package/dist/modules/board/publicBoardReads.js.map +1 -1
  16. package/dist/modules/board/serviceRepoLinkage.d.ts +51 -0
  17. package/dist/modules/board/serviceRepoLinkage.d.ts.map +1 -0
  18. package/dist/modules/board/serviceRepoLinkage.js +54 -0
  19. package/dist/modules/board/serviceRepoLinkage.js.map +1 -0
  20. package/dist/modules/board/sharedServiceMount.d.ts +30 -0
  21. package/dist/modules/board/sharedServiceMount.d.ts.map +1 -0
  22. package/dist/modules/board/sharedServiceMount.js +91 -0
  23. package/dist/modules/board/sharedServiceMount.js.map +1 -0
  24. package/dist/modules/execution/AgentContextBuilder.d.ts +8 -9
  25. package/dist/modules/execution/AgentContextBuilder.d.ts.map +1 -1
  26. package/dist/modules/execution/AgentContextBuilder.js +12 -57
  27. package/dist/modules/execution/AgentContextBuilder.js.map +1 -1
  28. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  29. package/dist/modules/execution/RunDispatcher.js +9 -4
  30. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  31. package/dist/modules/execution/VisualConfirmationController.d.ts.map +1 -1
  32. package/dist/modules/execution/VisualConfirmationController.js +18 -44
  33. package/dist/modules/execution/VisualConfirmationController.js.map +1 -1
  34. package/dist/modules/execution/block-reference-set.d.ts +53 -0
  35. package/dist/modules/execution/block-reference-set.d.ts.map +1 -0
  36. package/dist/modules/execution/block-reference-set.js +68 -0
  37. package/dist/modules/execution/block-reference-set.js.map +1 -0
  38. package/dist/modules/execution/builder-block-payload.d.ts +33 -0
  39. package/dist/modules/execution/builder-block-payload.d.ts.map +1 -0
  40. package/dist/modules/execution/builder-block-payload.js +57 -0
  41. package/dist/modules/execution/builder-block-payload.js.map +1 -0
  42. package/dist/modules/execution/run-context-admission.d.ts.map +1 -1
  43. package/dist/modules/execution/run-context-admission.js +1 -0
  44. package/dist/modules/execution/run-context-admission.js.map +1 -1
  45. package/dist/modules/execution/run-reference-screenshots.d.ts +63 -0
  46. package/dist/modules/execution/run-reference-screenshots.d.ts.map +1 -0
  47. package/dist/modules/execution/run-reference-screenshots.js +122 -0
  48. package/dist/modules/execution/run-reference-screenshots.js.map +1 -0
  49. package/dist/modules/execution/visual-confirm-design-references.d.ts +7 -0
  50. package/dist/modules/execution/visual-confirm-design-references.d.ts.map +1 -1
  51. package/dist/modules/execution/visual-confirm-design-references.js +6 -3
  52. package/dist/modules/execution/visual-confirm-design-references.js.map +1 -1
  53. package/package.json +11 -11
@@ -0,0 +1,63 @@
1
+ import type { AgentRunContext, DocumentRepository, ReferenceScreenshot, ResolveBinaryArtifactStore } from '@cat-factory/kernel';
2
+ import type { AgentKindRegistry } from '@cat-factory/agents';
3
+ import type { BlockReference } from './block-reference-set.js';
4
+ /**
5
+ * Name each reference's file, keeping the names UNIQUE within the run.
6
+ *
7
+ * Two different views can slug to one name (`Checkout / step 1` and `Checkout — step 1`), and
8
+ * dropping one of them would hand the agent a directory quietly missing a screen it is being
9
+ * asked to compare. So a collision is suffixed with its ordinal instead, in reference order:
10
+ * deterministic, and the prompt states which view each file is, so the suffix never has to be
11
+ * interpreted.
12
+ */
13
+ export declare function nameReferenceFiles(references: readonly BlockReference[]): ReferenceScreenshot[];
14
+ /**
15
+ * How many references one dispatch is handed.
16
+ *
17
+ * A task's set is UNBOUNDED from here: a person may attach a hundred images to one block, and a
18
+ * design's retained frames sit beside them. The container downloads every one before the agent's
19
+ * first turn, in a pass deliberately budgeted well under the inactivity watchdog, so an unbounded
20
+ * set does not degrade gracefully — it spends the whole budget and delivers a random prefix of
21
+ * whatever finished. A ceiling here makes the set a decision the engine states rather than an
22
+ * accident of transfer speed. The harness keeps its own (higher) backstop against a malformed
23
+ * body; this is the number that should ever actually bind.
24
+ */
25
+ export declare const MAX_REFERENCE_SCREENSHOTS = 24;
26
+ /**
27
+ * Apply {@link MAX_REFERENCE_SCREENSHOTS}, choosing what to DROP rather than truncating.
28
+ *
29
+ * A plain prefix would fall on the uploads, because {@link mergeBlockReferences} emits the design
30
+ * frames first and appends the views only the uploads introduce. That is exactly backwards: the
31
+ * same precedence rule that lets an upload override a design frame for one view says an upload is
32
+ * the more deliberate artifact, so it is the LAST thing a cap should discard. Uploads are kept
33
+ * first and design frames fill the remainder.
34
+ *
35
+ * Emission order is the original one either way, so a caller rendering the set still shows each
36
+ * design's frames contiguously and the file names stay in gallery order.
37
+ */
38
+ export declare function capReferences(references: readonly BlockReference[]): {
39
+ kept: BlockReference[];
40
+ omitted: string[];
41
+ };
42
+ /** What {@link resolveReferenceScreenshots} reads through; all of it already on the engine. */
43
+ export interface ReferenceScreenshotDeps {
44
+ documents?: DocumentRepository;
45
+ resolveBinaryArtifactStore?: ResolveBinaryArtifactStore;
46
+ agentKindRegistry: AgentKindRegistry;
47
+ }
48
+ /**
49
+ * Resolve the reference files for a dispatch that CAPTURES views, as a SPREAD-READY partial (the
50
+ * `validationChecksFor` shape), so the hot context builder gains no branch of its own.
51
+ *
52
+ * The gate is the running kind's declared `ui` image, the same fact the executor routes the job
53
+ * by: only a browser-driven kind captures screenshots, and only a capture has a reference to be
54
+ * compared against. It lives HERE rather than at the call site so a deployment's own capturing
55
+ * kind is served by the same rule, and so every other kind never triggers the two reads.
56
+ *
57
+ * ABSENT and EMPTY are different answers and both are reachable: absent means this dispatch never
58
+ * asked (a kind that captures nothing, a deployment with no artifact storage), an empty `files`
59
+ * means it asked and the task holds no reference at all. A tester with no references names its own
60
+ * views, which is the documented fallback, so neither is a failure.
61
+ */
62
+ export declare function resolveReferenceScreenshots(deps: ReferenceScreenshotDeps, agentKind: string, workspaceId: string, blockId: string): Promise<Pick<AgentRunContext, 'referenceScreenshots'>>;
63
+ //# sourceMappingURL=run-reference-screenshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-reference-screenshots.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/run-reference-screenshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,kBAAkB,EAClB,mBAAmB,EAEnB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAoC9D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG,mBAAmB,EAAE,CAU/F;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAA;AAE3C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,GAAG;IACpE,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAeA;AAED,+FAA+F;AAC/F,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,kBAAkB,CAAA;IAC9B,0BAA0B,CAAC,EAAE,0BAA0B,CAAA;IACvD,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,uBAAuB,EAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC,CASxD"}
@@ -0,0 +1,122 @@
1
+ import { resolveBlockReferences } from './block-reference-set.js';
2
+ // ---------------------------------------------------------------------------
3
+ // The container half of a task's reference designs: turning the reference SET (which artifact is
4
+ // the reference for each view) into the FILES a capturing agent reads off disk under
5
+ // `.cat-context/reference-screenshots/`.
6
+ //
7
+ // The naming happens in the engine rather than in the container for one reason: the file name is
8
+ // how the agent learns the view name, and the view name is what the gate pairs on. Left to the
9
+ // harness, a sanitiser change in an image the deployment has not rolled out yet would rename the
10
+ // views a run reports, and every pair would come apart with nothing failing.
11
+ // ---------------------------------------------------------------------------
12
+ /** The file extension written for each stored image type; anything else falls back to `.png`. */
13
+ const EXTENSIONS = {
14
+ 'image/png': 'png',
15
+ 'image/jpeg': 'jpg',
16
+ 'image/webp': 'webp',
17
+ 'image/gif': 'gif',
18
+ };
19
+ /**
20
+ * A single safe path segment derived from a view name: no separators, no traversal, no leading
21
+ * dot, and short enough for any filesystem. Everything outside a conservative set collapses to
22
+ * `-`, which is lossy ON PURPOSE: the file name is a HANDLE the agent types back, and the view
23
+ * it stands for is stated beside it in the prompt, so legibility beats fidelity here.
24
+ */
25
+ function slugify(view) {
26
+ const slug = view
27
+ .normalize('NFKD')
28
+ .replace(/[^a-zA-Z0-9]+/g, '-')
29
+ .replace(/^-+|-+$/g, '')
30
+ .slice(0, 60);
31
+ return slug || 'view';
32
+ }
33
+ /**
34
+ * Name each reference's file, keeping the names UNIQUE within the run.
35
+ *
36
+ * Two different views can slug to one name (`Checkout / step 1` and `Checkout — step 1`), and
37
+ * dropping one of them would hand the agent a directory quietly missing a screen it is being
38
+ * asked to compare. So a collision is suffixed with its ordinal instead, in reference order:
39
+ * deterministic, and the prompt states which view each file is, so the suffix never has to be
40
+ * interpreted.
41
+ */
42
+ export function nameReferenceFiles(references) {
43
+ const used = new Set();
44
+ return references.map((reference) => {
45
+ const extension = EXTENSIONS[reference.contentType] ?? 'png';
46
+ const base = slugify(reference.view);
47
+ let candidate = `${base}.${extension}`;
48
+ for (let n = 2; used.has(candidate); n += 1)
49
+ candidate = `${base}-${n}.${extension}`;
50
+ used.add(candidate);
51
+ return { view: reference.view, artifactId: reference.artifactId, fileName: candidate };
52
+ });
53
+ }
54
+ /**
55
+ * How many references one dispatch is handed.
56
+ *
57
+ * A task's set is UNBOUNDED from here: a person may attach a hundred images to one block, and a
58
+ * design's retained frames sit beside them. The container downloads every one before the agent's
59
+ * first turn, in a pass deliberately budgeted well under the inactivity watchdog, so an unbounded
60
+ * set does not degrade gracefully — it spends the whole budget and delivers a random prefix of
61
+ * whatever finished. A ceiling here makes the set a decision the engine states rather than an
62
+ * accident of transfer speed. The harness keeps its own (higher) backstop against a malformed
63
+ * body; this is the number that should ever actually bind.
64
+ */
65
+ export const MAX_REFERENCE_SCREENSHOTS = 24;
66
+ /**
67
+ * Apply {@link MAX_REFERENCE_SCREENSHOTS}, choosing what to DROP rather than truncating.
68
+ *
69
+ * A plain prefix would fall on the uploads, because {@link mergeBlockReferences} emits the design
70
+ * frames first and appends the views only the uploads introduce. That is exactly backwards: the
71
+ * same precedence rule that lets an upload override a design frame for one view says an upload is
72
+ * the more deliberate artifact, so it is the LAST thing a cap should discard. Uploads are kept
73
+ * first and design frames fill the remainder.
74
+ *
75
+ * Emission order is the original one either way, so a caller rendering the set still shows each
76
+ * design's frames contiguously and the file names stay in gallery order.
77
+ */
78
+ export function capReferences(references) {
79
+ if (references.length <= MAX_REFERENCE_SCREENSHOTS) {
80
+ return { kept: [...references], omitted: [] };
81
+ }
82
+ const keep = new Set();
83
+ for (const pass of ['upload', 'design']) {
84
+ for (const reference of references) {
85
+ if (keep.size >= MAX_REFERENCE_SCREENSHOTS)
86
+ break;
87
+ if (reference.origin === pass)
88
+ keep.add(reference);
89
+ }
90
+ }
91
+ return {
92
+ kept: references.filter((reference) => keep.has(reference)),
93
+ omitted: references.filter((reference) => !keep.has(reference)).map((r) => r.view),
94
+ };
95
+ }
96
+ /**
97
+ * Resolve the reference files for a dispatch that CAPTURES views, as a SPREAD-READY partial (the
98
+ * `validationChecksFor` shape), so the hot context builder gains no branch of its own.
99
+ *
100
+ * The gate is the running kind's declared `ui` image, the same fact the executor routes the job
101
+ * by: only a browser-driven kind captures screenshots, and only a capture has a reference to be
102
+ * compared against. It lives HERE rather than at the call site so a deployment's own capturing
103
+ * kind is served by the same rule, and so every other kind never triggers the two reads.
104
+ *
105
+ * ABSENT and EMPTY are different answers and both are reachable: absent means this dispatch never
106
+ * asked (a kind that captures nothing, a deployment with no artifact storage), an empty `files`
107
+ * means it asked and the task holds no reference at all. A tester with no references names its own
108
+ * views, which is the documented fallback, so neither is a failure.
109
+ */
110
+ export async function resolveReferenceScreenshots(deps, agentKind, workspaceId, blockId) {
111
+ const resolveStore = deps.resolveBinaryArtifactStore;
112
+ if (!resolveStore || deps.agentKindRegistry.agentStep(agentKind)?.image !== 'ui')
113
+ return {};
114
+ const store = await resolveStore(workspaceId);
115
+ if (!store)
116
+ return {};
117
+ const { references } = await resolveBlockReferences(deps.documents, store, workspaceId, blockId);
118
+ const { kept, omitted } = capReferences(references);
119
+ const set = { files: nameReferenceFiles(kept), omitted };
120
+ return { referenceScreenshots: set };
121
+ }
122
+ //# sourceMappingURL=run-reference-screenshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-reference-screenshots.js","sourceRoot":"","sources":["../../../src/modules/execution/run-reference-screenshots.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,13 @@ export declare const MAX_DESIGN_REFERENCE_VIEWS = 12;
13
13
  export interface DesignReference {
14
14
  view: string;
15
15
  artifactId: string;
16
+ /**
17
+ * The stored image's MIME type. Carried because a consumer that WRITES the frame to disk (the
18
+ * container delivery) has to name the file, and a `.png` over a JPEG is a lie an image loader
19
+ * is entitled to act on. The gate itself never reads it: it serves the bytes through the blob
20
+ * endpoint, which reads the type off the same record.
21
+ */
22
+ contentType: string;
16
23
  }
17
24
  /** The fold's product: what to show, and what to say about what is missing. */
18
25
  export interface DesignReferenceFold {
@@ -1 +1 @@
1
- {"version":3,"file":"visual-confirm-design-references.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/visual-confirm-design-references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EAEnB,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,oBAAoB,EAEpB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,wBAAwB,CAAA;AAc/B;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,OAAO,EAAE,6BAA6B,CAAA;CACvC;AAED,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAA;CAC1C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,oBAAoB,GAAG,IAAI,EACzC,UAAU,EAAE,MAAM,GACjB,4BAA4B,GAAG,IAAI,CAoBrC;AAiED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,qBAAqB,EAAE,EAC3C,SAAS,EAAE,SAAS,oBAAoB,EAAE,EAC1C,GAAG,SAA6B,GAC/B,mBAAmB,CAmErB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,EAClD,KAAK,EAAE,mBAAmB,GAAG,IAAI,EACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiBrC"}
1
+ {"version":3,"file":"visual-confirm-design-references.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/visual-confirm-design-references.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EAEnB,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,oBAAoB,EAEpB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,wBAAwB,CAAA;AAc/B;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,OAAO,EAAE,6BAA6B,CAAA;CACvC;AAED,wFAAwF;AACxF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAA;CAC1C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,oBAAoB,GAAG,IAAI,EACzC,UAAU,EAAE,MAAM,GACjB,4BAA4B,GAAG,IAAI,CAoBrC;AAiED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,qBAAqB,EAAE,EAC3C,SAAS,EAAE,SAAS,oBAAoB,EAAE,EAC1C,GAAG,SAA6B,GAC/B,mBAAmB,CAsErB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,EAClD,KAAK,EAAE,mBAAmB,GAAG,IAAI,EACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiBrC"}
@@ -157,7 +157,10 @@ export function foldDesignReferences(documents, artifacts, cap = MAX_DESIGN_REFE
157
157
  claimants.set(view, new Set([key]));
158
158
  }
159
159
  const labels = documentLabels(unique);
160
- const byDocument = new Map(unique.map((document) => [documentKey(document), new Map()]));
160
+ const byDocument = new Map(unique.map((document) => [
161
+ documentKey(document),
162
+ new Map(),
163
+ ]));
161
164
  const heldPerDocument = new Map();
162
165
  for (const record of renders) {
163
166
  // A render with no view has no pairing key, so it can only ever be shown against nothing.
@@ -168,11 +171,11 @@ export function foldDesignReferences(documents, artifacts, cap = MAX_DESIGN_REFE
168
171
  continue;
169
172
  const contested = (claimants.get(record.view)?.size ?? 0) > 1;
170
173
  const view = contested ? `${record.view} (${labels.get(key) ?? key})` : record.view;
171
- byDocument.get(key).set(view, record.id);
174
+ byDocument.get(key).set(view, { artifactId: record.id, contentType: record.contentType });
172
175
  }
173
176
  const offered = unique.map((document) => [...byDocument.get(documentKey(document)).entries()]);
174
177
  const taken = allocate(offered.map((views) => views.length), cap);
175
- const references = offered.flatMap((views, index) => views.slice(0, taken[index]).map(([view, artifactId]) => ({ view, artifactId })));
178
+ const references = offered.flatMap((views, index) => views.slice(0, taken[index]).map(([view, render]) => ({ view, ...render })));
176
179
  const gaps = [];
177
180
  let dropped = 0;
178
181
  unique.forEach((document, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"visual-confirm-design-references.js","sourceRoot":"","sources":["../../../src/modules/execution/visual-confirm-design-references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visual-confirm-design-references.js","sourceRoot":"","sources":["../../../src/modules/execution/visual-confirm-design-references.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/orchestration",
3
- "version": "0.241.0",
3
+ "version": "0.243.0",
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,20 +25,20 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "ai": "^7.0.51",
28
- "@cat-factory/agents": "0.118.0",
29
- "@cat-factory/caching": "0.18.14",
30
- "@cat-factory/contracts": "0.275.0",
31
- "@cat-factory/integrations": "0.151.0",
32
- "@cat-factory/kernel": "0.273.0",
33
- "@cat-factory/prompt-fragments": "1.0.23",
34
- "@cat-factory/sandbox": "0.11.100",
35
- "@cat-factory/spend": "0.15.41",
36
- "@cat-factory/workspaces": "0.26.13"
28
+ "@cat-factory/agents": "0.119.0",
29
+ "@cat-factory/caching": "0.18.16",
30
+ "@cat-factory/contracts": "0.276.0",
31
+ "@cat-factory/integrations": "0.152.1",
32
+ "@cat-factory/kernel": "0.275.0",
33
+ "@cat-factory/prompt-fragments": "1.0.25",
34
+ "@cat-factory/spend": "0.15.43",
35
+ "@cat-factory/sandbox": "0.11.102",
36
+ "@cat-factory/workspaces": "0.26.15"
37
37
  },
38
38
  "devDependencies": {
39
39
  "typescript": "7.0.2",
40
40
  "vitest": "^4.1.10",
41
- "@cat-factory/sandbox-fixtures": "0.7.310"
41
+ "@cat-factory/sandbox-fixtures": "0.7.311"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "tsc -b tsconfig.build.json",