@cat-factory/kernel 0.213.0 → 0.215.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 (44) hide show
  1. package/dist/domain/binary-generator-registry.d.ts +66 -0
  2. package/dist/domain/binary-generator-registry.d.ts.map +1 -0
  3. package/dist/domain/binary-generator-registry.js +89 -0
  4. package/dist/domain/binary-generator-registry.js.map +1 -0
  5. package/dist/domain/binary-generators.d.ts +97 -0
  6. package/dist/domain/binary-generators.d.ts.map +1 -0
  7. package/dist/domain/binary-generators.js +212 -0
  8. package/dist/domain/binary-generators.js.map +1 -0
  9. package/dist/domain/binary-output-paths.d.ts +25 -0
  10. package/dist/domain/binary-output-paths.d.ts.map +1 -0
  11. package/dist/domain/binary-output-paths.js +47 -0
  12. package/dist/domain/binary-output-paths.js.map +1 -0
  13. package/dist/domain/binary-outputs.d.ts +24 -18
  14. package/dist/domain/binary-outputs.d.ts.map +1 -1
  15. package/dist/domain/binary-outputs.js +78 -45
  16. package/dist/domain/binary-outputs.js.map +1 -1
  17. package/dist/domain/models.d.ts +1 -1
  18. package/dist/domain/models.d.ts.map +1 -1
  19. package/dist/domain/models.js +190 -41
  20. package/dist/domain/models.js.map +1 -1
  21. package/dist/index.d.ts +4 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +11 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/ports/agent-executor.d.ts +13 -0
  26. package/dist/ports/agent-executor.d.ts.map +1 -1
  27. package/dist/ports/agent-executor.js.map +1 -1
  28. package/dist/ports/agent-runs.d.ts +22 -0
  29. package/dist/ports/agent-runs.d.ts.map +1 -1
  30. package/dist/ports/agent-tools.d.ts +36 -13
  31. package/dist/ports/agent-tools.d.ts.map +1 -1
  32. package/dist/ports/index.d.ts +3 -2
  33. package/dist/ports/index.d.ts.map +1 -1
  34. package/dist/ports/index.js +1 -0
  35. package/dist/ports/index.js.map +1 -1
  36. package/dist/ports/llm-trace-sink.d.ts +26 -5
  37. package/dist/ports/llm-trace-sink.d.ts.map +1 -1
  38. package/dist/ports/llm-trace-sink.js +52 -56
  39. package/dist/ports/llm-trace-sink.js.map +1 -1
  40. package/dist/ports/operational-metrics.d.ts +87 -0
  41. package/dist/ports/operational-metrics.d.ts.map +1 -0
  42. package/dist/ports/operational-metrics.js +67 -0
  43. package/dist/ports/operational-metrics.js.map +1 -0
  44. package/package.json +2 -2
@@ -1,6 +1,8 @@
1
1
  import type { BinaryOutputConfig, BinaryOutputReport } from '@cat-factory/contracts';
2
2
  import { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY } from '@cat-factory/contracts';
3
+ import { BINARY_OUTPUT_BRIEF_FILE, BINARY_OUTPUT_CONTEXT_DIR, binaryContextFileFor } from './binary-output-paths.js';
3
4
  import type { FoundationalCatalogView } from './foundational-services.js';
5
+ import { type ResolvedBinaryGeneratorSelection } from './binary-generators.js';
4
6
  /**
5
7
  * The well-known capability tags, re-exported from the WIRE vocabulary that defines them
6
8
  * (`@cat-factory/contracts`). They moved there because the people who must spell them exactly
@@ -17,16 +19,7 @@ import type { FoundationalCatalogView } from './foundational-services.js';
17
19
  * one package that can see both — pins them apart.
18
20
  */
19
21
  export { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY };
20
- /** The `.cat-context/` directory the binary-output brief and contract documents live under. */
21
- export declare const BINARY_OUTPUT_CONTEXT_DIR = "binary-output";
22
- /**
23
- * The brief a binary-generating kind starts from: which service to store through, which to
24
- * consult for scope, and what could NOT be resolved. The trait guidance names this one stable
25
- * path, and also names its ABSENCE as meaningful (the platform could not provide storage —
26
- * do not attempt uploads; report instead), so a resolution failure degrades loudly rather
27
- * than into a prompt pointing at a file that does not exist.
28
- */
29
- export declare const BINARY_OUTPUT_BRIEF_FILE = "binary-output/brief.md";
22
+ export { BINARY_OUTPUT_BRIEF_FILE, BINARY_OUTPUT_CONTEXT_DIR, binaryContextFileFor };
30
23
  /**
31
24
  * The fenced block a binary-generating kind ends its reply with, declaring what it stored.
32
25
  * Parsed back by {@link parseBinaryOutputDeclaration}; named in the trait guidance so the two
@@ -39,8 +32,6 @@ export declare const BINARY_OUTPUT_DECLARATION_TAG = "binary-outputs";
39
32
  * counted in `omitted` rather than silently shortened.
40
33
  */
41
34
  export declare const MAX_BINARY_OUTPUT_ENTRIES = 100;
42
- /** The `.cat-context/` path one selected service's contract documents are injected at. */
43
- export declare function binaryContextFileFor(serviceId: string): string;
44
35
  /** One way a step's selection fails to resolve against the catalog. */
45
36
  export interface BinaryOutputConfigIssue {
46
37
  /** Which half of the selection the offending id sits in. */
@@ -86,7 +77,12 @@ export declare function describeBinaryOutputConfigIssues(agentKind: string, issu
86
77
  * The LAST block wins ({@link extractFencedDeclaration}), because the guidance asks the agent to
87
78
  * END its reply with it and models routinely illustrate the shape first.
88
79
  */
89
- export declare function parseBinaryOutputDeclaration(output: string | undefined, known: Iterable<string>): BinaryOutputReport;
80
+ export declare function parseBinaryOutputDeclaration(output: string | undefined, known: {
81
+ /** Ids in the workspace's resolved foundational catalog (the storage/context half). */
82
+ services: Iterable<string>;
83
+ /** Ids the deployment registers on its `BinaryGeneratorRegistry` (the generative half). */
84
+ generators?: Iterable<string>;
85
+ }): BinaryOutputReport;
90
86
  /** The resolved half of a step's selection, as the brief renderer receives it. */
91
87
  export interface BinaryOutputBriefInput {
92
88
  /** The step's selection, or undefined when the step carries none (the brief then says so). */
@@ -97,14 +93,24 @@ export interface BinaryOutputBriefInput {
97
93
  contextServices: FoundationalCatalogView[];
98
94
  /** Selected context ids the catalog could not resolve. */
99
95
  unresolvedContextIds: string[];
96
+ /**
97
+ * The step's GENERATIVE integrations, resolved against the deployment registry. Absent ⇒ the
98
+ * renderer treats it as an empty selection, which is rendered as its own stated case ("no
99
+ * generative integration is configured") rather than as silence.
100
+ */
101
+ generators?: ResolvedBinaryGeneratorSelection;
100
102
  }
101
103
  /**
102
104
  * Render `.cat-context/binary-output/brief.md` — the ONE file a binary-generating agent starts
103
- * from. It names the storage target and the scope services concretely (the trait guidance owns
104
- * the generic workflow and the declaration shape), and it STATES every gap instead of omitting
105
- * it: an unresolved storage id, a service with no registered contract, a context id the catalog
106
- * does not know. A generator told nothing would guess, and a guessed storage endpoint is how an
107
- * asset lands somewhere nobody can find it.
105
+ * from. Three sections in the order the work happens: what MAKES the artifacts (the step's
106
+ * generative integrations, their content types and credentials), what to make (the scope
107
+ * services), and where it GOES (the storage service). The trait guidance owns the generic
108
+ * workflow and the declaration shape; this file is the concrete half.
109
+ *
110
+ * It STATES every gap instead of omitting it: an unresolved storage id, a service or integration
111
+ * with no registered contract, a context id the catalog does not know, a content type the step
112
+ * must deliver that nothing selected can produce. A generator told nothing would guess, and a
113
+ * guessed endpoint is how an asset lands somewhere nobody can find it — or is never made at all.
108
114
  */
109
115
  export declare function renderBinaryOutputBrief(input: BinaryOutputBriefInput): string;
110
116
  //# sourceMappingURL=binary-outputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../../src/domain/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AAEhG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAiBzE;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,CAAA;AAElE,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB,kBAAkB,CAAA;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,2BAA0C,CAAA;AAE/E;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,mBAAmB,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAS5C,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAID,uEAAuE;AACvE,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,iBAAiB,GAAG,qBAAqB,CAAA;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,SAAS,IAAI,CAAC,uBAAuB,EAAE,IAAI,GAAG,cAAc,CAAC,EAAE,GACvE,uBAAuB,EAAE,CAqB3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,uBAAuB,EAAE,GACzC,MAAM,CAcR;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GACtB,kBAAkB,CA0CpB;AA0CD,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,8FAA8F;IAC9F,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACtC,kGAAkG;IAClG,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACvC,yDAAyD;IACzD,eAAe,EAAE,uBAAuB,EAAE,CAAA;IAC1C,0DAA0D;IAC1D,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAmD7E"}
1
+ {"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../../src/domain/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAE9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,EACL,KAAK,gCAAgC,EAEtC,MAAM,wBAAwB,CAAA;AAiB/B;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,CAAA;AAMlE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,CAAA;AAEpF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,mBAAmB,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAW5C,uEAAuE;AACvE,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,iBAAiB,GAAG,qBAAqB,CAAA;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,SAAS,IAAI,CAAC,uBAAuB,EAAE,IAAI,GAAG,cAAc,CAAC,EAAE,GACvE,uBAAuB,EAAE,CAqB3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,uBAAuB,EAAE,GACzC,MAAM,CAcR;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE;IACL,uFAAuF;IACvF,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1B,2FAA2F;IAC3F,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CAC9B,GACA,kBAAkB,CAiDpB;AAkDD,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,8FAA8F;IAC9F,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACtC,kGAAkG;IAClG,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACvC,yDAAyD;IACzD,eAAe,EAAE,uBAAuB,EAAE,CAAA;IAC1C,0DAA0D;IAC1D,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gCAAgC,CAAA;CAC9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAsB7E"}
@@ -1,5 +1,7 @@
1
- import { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY } from '@cat-factory/contracts';
1
+ import { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY, modalityOfMediaType, } from '@cat-factory/contracts';
2
+ import { BINARY_OUTPUT_BRIEF_FILE, BINARY_OUTPUT_CONTEXT_DIR, binaryContextFileFor, } from './binary-output-paths.js';
2
3
  import { extractFencedDeclaration } from './fenced-declaration.js';
4
+ import { renderBinaryGeneratorSection, } from './binary-generators.js';
3
5
  // ---------------------------------------------------------------------------
4
6
  // Pure logic for BINARY-OUTPUT agent steps
5
7
  // (docs/initiatives/binary-output-foundational-storage.md): a kind that GENERATES binary
@@ -30,16 +32,11 @@ import { extractFencedDeclaration } from './fenced-declaration.js';
30
32
  * one package that can see both — pins them apart.
31
33
  */
32
34
  export { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY };
33
- /** The `.cat-context/` directory the binary-output brief and contract documents live under. */
34
- export const BINARY_OUTPUT_CONTEXT_DIR = 'binary-output';
35
- /**
36
- * The brief a binary-generating kind starts from: which service to store through, which to
37
- * consult for scope, and what could NOT be resolved. The trait guidance names this one stable
38
- * path, and also names its ABSENCE as meaningful (the platform could not provide storage —
39
- * do not attempt uploads; report instead), so a resolution failure degrades loudly rather
40
- * than into a prompt pointing at a file that does not exist.
41
- */
42
- export const BINARY_OUTPUT_BRIEF_FILE = `${BINARY_OUTPUT_CONTEXT_DIR}/brief.md`;
35
+ // The `.cat-context/` path vocabulary lives in the LEAF `binary-output-paths.ts`, which this file
36
+ // and `binary-generators.ts` both import — they import each OTHER, so a constant derived across
37
+ // that cycle throws at module init in the assembled backend while every unit test passes.
38
+ // Re-exported so every consumer keeps importing these names from where they always did.
39
+ export { BINARY_OUTPUT_BRIEF_FILE, BINARY_OUTPUT_CONTEXT_DIR, binaryContextFileFor };
43
40
  /**
44
41
  * The fenced block a binary-generating kind ends its reply with, declaring what it stored.
45
42
  * Parsed back by {@link parseBinaryOutputDeclaration}; named in the trait guidance so the two
@@ -57,10 +54,6 @@ export const MAX_BINARY_OUTPUT_ENTRIES = 100;
57
54
  const MAX_IDENTITY_CHARS = 512;
58
55
  /** Longest optional display field retained per entry; the excess is elided with a marker. */
59
56
  const MAX_DISPLAY_CHARS = 500;
60
- /** The `.cat-context/` path one selected service's contract documents are injected at. */
61
- export function binaryContextFileFor(serviceId) {
62
- return `${BINARY_OUTPUT_CONTEXT_DIR}/${serviceId}.md`;
63
- }
64
57
  /**
65
58
  * Validate a step's selection against the RESOLVED catalog. Pure, so run admission and any
66
59
  * future save-time surface apply identical rules: the storage id must exist AND carry
@@ -139,6 +132,7 @@ export function parseBinaryOutputDeclaration(output, known) {
139
132
  const empty = {
140
133
  stored: [],
141
134
  unknownServices: [],
135
+ unknownGenerators: [],
142
136
  invalidEntries: 0,
143
137
  omitted: 0,
144
138
  };
@@ -157,9 +151,11 @@ export function parseBinaryOutputDeclaration(output, known) {
157
151
  return { ...empty, parseFailed: true };
158
152
  }
159
153
  const entries = Array.isArray(parsed) ? parsed : [parsed];
160
- const knownIds = new Set(known);
154
+ const knownServices = new Set(known.services);
155
+ const knownGenerators = new Set(known.generators ?? []);
161
156
  const stored = [];
162
157
  const unknownServices = [];
158
+ const unknownGenerators = [];
163
159
  let invalidEntries = 0;
164
160
  let omitted = 0;
165
161
  for (const entry of entries) {
@@ -173,11 +169,15 @@ export function parseBinaryOutputDeclaration(output, known) {
173
169
  continue;
174
170
  }
175
171
  stored.push(artifact);
176
- if (!knownIds.has(artifact.service) && !unknownServices.includes(artifact.service)) {
172
+ if (!knownServices.has(artifact.service) && !unknownServices.includes(artifact.service)) {
177
173
  unknownServices.push(artifact.service);
178
174
  }
175
+ const generator = artifact.generator;
176
+ if (generator && !knownGenerators.has(generator) && !unknownGenerators.includes(generator)) {
177
+ unknownGenerators.push(generator);
178
+ }
179
179
  }
180
- return { stored, unknownServices, invalidEntries, omitted };
180
+ return { stored, unknownServices, unknownGenerators, invalidEntries, omitted };
181
181
  }
182
182
  function coerceArtifact(entry) {
183
183
  if (!entry || typeof entry !== 'object' || Array.isArray(entry))
@@ -191,12 +191,22 @@ function coerceArtifact(entry) {
191
191
  const entity = displayField(record.entity);
192
192
  const contentType = displayField(record.contentType);
193
193
  const description = displayField(record.description);
194
+ // Lowercased like `service`, and for the same reason: registry ids are lower-kebab slugs, so a
195
+ // model that capitalises one means the registered integration and must not be reported unknown.
196
+ const generator = identityField(record.generator)?.toLowerCase();
194
197
  if (entity)
195
198
  artifact.entity = entity;
196
199
  if (contentType)
197
200
  artifact.contentType = contentType;
198
201
  if (description)
199
202
  artifact.description = description;
203
+ if (generator)
204
+ artifact.generator = generator;
205
+ // The platform CLASSIFIES; the model only reports. An unrecognised media type leaves `modality`
206
+ // ABSENT rather than guessing one — "we cannot tell what this is" is not "this is not an image".
207
+ const modality = contentType ? modalityOfMediaType(contentType) : null;
208
+ if (modality)
209
+ artifact.modality = modality;
200
210
  return artifact;
201
211
  }
202
212
  /** A field that IDENTIFIES something: required to be a non-empty string within the cap —
@@ -225,11 +235,15 @@ function displayField(value) {
225
235
  }
226
236
  /**
227
237
  * Render `.cat-context/binary-output/brief.md` — the ONE file a binary-generating agent starts
228
- * from. It names the storage target and the scope services concretely (the trait guidance owns
229
- * the generic workflow and the declaration shape), and it STATES every gap instead of omitting
230
- * it: an unresolved storage id, a service with no registered contract, a context id the catalog
231
- * does not know. A generator told nothing would guess, and a guessed storage endpoint is how an
232
- * asset lands somewhere nobody can find it.
238
+ * from. Three sections in the order the work happens: what MAKES the artifacts (the step's
239
+ * generative integrations, their content types and credentials), what to make (the scope
240
+ * services), and where it GOES (the storage service). The trait guidance owns the generic
241
+ * workflow and the declaration shape; this file is the concrete half.
242
+ *
243
+ * It STATES every gap instead of omitting it: an unresolved storage id, a service or integration
244
+ * with no registered contract, a context id the catalog does not know, a content type the step
245
+ * must deliver that nothing selected can produce. A generator told nothing would guess, and a
246
+ * guessed endpoint is how an asset lands somewhere nobody can find it — or is never made at all.
233
247
  */
234
248
  export function renderBinaryOutputBrief(input) {
235
249
  const lines = ['# Binary outputs for this step', ''];
@@ -237,32 +251,51 @@ export function renderBinaryOutputBrief(input) {
237
251
  lines.push('No storage service is selected for this step. Do NOT attempt to store or upload any generated binary — generate nothing you cannot deliver, and state in your report that no storage service was configured.');
238
252
  return lines.join('\n').trimEnd();
239
253
  }
240
- if (!input.storage) {
241
- lines.push(`This step is configured to store its binary outputs through the foundational service \`${input.config.storageServiceId}\`, but the workspace catalog does not contain it. Do NOT store the outputs anywhere else and do not guess at its API — state in your report that the storage service could not be resolved.`, '');
254
+ // Generation first, then scope, then storage: the order of the work. A generator that reads
255
+ // only the top of this file must still learn WHAT MAKES the artifacts before anything else,
256
+ // because that is the decision it cannot recover from later.
257
+ lines.push(...renderBinaryGeneratorSection({
258
+ selection: input.generators ?? { selected: [], unresolvedIds: [] },
259
+ requestedModalities: input.config.modalities ?? [],
260
+ }));
261
+ lines.push(...renderScopeSection(input), ...renderStorageSection(input));
262
+ lines.push(`Declare what you stored in the fenced \`\`\`${BINARY_OUTPUT_DECLARATION_TAG} block your guidance describes, naming each artifact's service id, the integration that generated it, and its location exactly as the storage service reported it.`);
263
+ return lines.join('\n').trimEnd();
264
+ }
265
+ /** The SCOPE half: which catalog services say what to generate, and which could not be resolved. */
266
+ function renderScopeSection(input) {
267
+ const lines = ['## Scope', ''];
268
+ if (input.contextServices.length === 0 && input.unresolvedContextIds.length === 0) {
269
+ return [
270
+ ...lines,
271
+ 'No context service is selected: the task description and the other provided context are the whole scope of the generation.',
272
+ '',
273
+ ];
242
274
  }
243
- else {
244
- lines.push(`Store EVERY binary you generate through \`${input.storage.id}\` — ${input.storage.name}: ${input.storage.summary}`, '');
245
- if (!input.storage.capabilities.includes(ASSET_STORAGE_CAPABILITY)) {
246
- lines.push(`Note: \`${input.storage.id}\` does not advertise the \`${ASSET_STORAGE_CAPABILITY}\` capability. It was still selected for this step; if its API offers no way to store binary content, say so in your report rather than improvising.`, '');
247
- }
248
- lines.push(...contractPointer(input.storage), '');
275
+ lines.push('Consult these services to decide the SCOPE of the generation — what exists, what already has an asset, what each thing is — before generating anything:', '');
276
+ for (const service of input.contextServices) {
277
+ lines.push(`- \`${service.id}\` — ${service.name}: ${service.summary}`);
278
+ lines.push(` ${contractPointer(service).join(' ')}`);
249
279
  }
250
- if (input.contextServices.length > 0 || input.unresolvedContextIds.length > 0) {
251
- lines.push('Consult these services to decide the SCOPE of the generation what exists, what already has an asset, what each thing is before generating anything:', '');
252
- for (const service of input.contextServices) {
253
- lines.push(`- \`${service.id}\` — ${service.name}: ${service.summary}`);
254
- lines.push(` ${contractPointer(service).join(' ')}`);
255
- }
256
- if (input.unresolvedContextIds.length > 0) {
257
- lines.push(`- The selection also named ${input.unresolvedContextIds.map((id) => `\`${id}\``).join(', ')}, which the catalog does not contain — no contract is available. Do not guess at ${input.unresolvedContextIds.length === 1 ? 'its' : 'their'} API; note the gap in your report.`);
258
- }
259
- lines.push('');
280
+ if (input.unresolvedContextIds.length > 0) {
281
+ lines.push(`- The selection also named ${input.unresolvedContextIds.map((id) => `\`${id}\``).join(', ')}, which the catalog does not contain no contract is available. Do not guess at ${input.unresolvedContextIds.length === 1 ? 'its' : 'their'} API; note the gap in your report.`);
260
282
  }
261
- else {
262
- lines.push('No context service is selected: the task description and the other provided context are the whole scope of the generation.', '');
283
+ lines.push('');
284
+ return lines;
285
+ }
286
+ /** The STORAGE half: the one service every artifact goes through, or why there is none. */
287
+ function renderStorageSection(input) {
288
+ const lines = ['## Storage', ''];
289
+ if (!input.storage) {
290
+ lines.push(`This step is configured to store its binary outputs through the foundational service \`${input.config?.storageServiceId}\`, but the workspace catalog does not contain it. Do NOT store the outputs anywhere else and do not guess at its API — state in your report that the storage service could not be resolved.`, '');
291
+ return lines;
263
292
  }
264
- lines.push(`Declare what you stored in the fenced \`\`\`${BINARY_OUTPUT_DECLARATION_TAG} block your guidance describes, naming each artifact's service id and its location exactly as the storage service reported it.`);
265
- return lines.join('\n').trimEnd();
293
+ lines.push(`Store EVERY binary you generate through \`${input.storage.id}\` ${input.storage.name}: ${input.storage.summary}`, '');
294
+ if (!input.storage.capabilities.includes(ASSET_STORAGE_CAPABILITY)) {
295
+ lines.push(`Note: \`${input.storage.id}\` does not advertise the \`${ASSET_STORAGE_CAPABILITY}\` capability. It was still selected for this step; if its API offers no way to store binary content, say so in your report rather than improvising.`, '');
296
+ }
297
+ lines.push(...contractPointer(input.storage), '');
298
+ return lines;
266
299
  }
267
300
  /** Where a service's API contract was injected, or the explicit statement that none exists. */
268
301
  function contractPointer(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"binary-outputs.js","sourceRoot":"","sources":["../../src/domain/binary-outputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary-outputs.js","sourceRoot":"","sources":["../../src/domain/binary-outputs.ts"],"names":[],"mappings":"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"}
@@ -132,7 +132,7 @@ export interface ProviderCapabilities {
132
132
  localModels?: Set<string>;
133
133
  /**
134
134
  * The OpenRouter `vendor/model` slugs the workspace has ENABLED in its dynamic
135
- * catalog (e.g. `google/gemini-3-pro`). A dynamic OpenRouter model (`openrouter:<slug>`)
135
+ * catalog (e.g. `google/gemini-3.1-pro-preview`). A dynamic OpenRouter model (`openrouter:<slug>`)
136
136
  * is usable only when the workspace has an OpenRouter key (`openrouter ∈ directProviders`)
137
137
  * AND the slug is enabled here — so a stale pin to a since-disabled model fails the
138
138
  * start guard. Curated catalog entries with an `openrouter` flavour need only the key,
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/domain/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/domain/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAExB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAUvE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,CAAA;IACtD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAmBrF,CAAA;AAgBD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,QAAQ,CAAA;IACb,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,QAAQ,CAAA;IACb,0DAA0D;IAC1D,MAAM,EAAE,kBAAkB,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;IACb,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAA;IACnB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,QAAQ,CAAA;IACrB,yEAAyE;IACzE,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAA;CACnC;AAED,eAAO,MAAM,aAAa,EAAE,eAAe,EA0a1C,CAAA;AAID,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,eAAe,GAAG,SAAS,CAE7F;AAkBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CASlF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC7B,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC5C,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,OAAO,CAOT;AAqBD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAE7F;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,mEAAmE;IACnE,mBAAmB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAC5C,sFAAsF;IACtF,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAChC;AAED,qFAAqF;AACrF,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK,SAAS,GAAG,SAAS,CAAA;AA6BxE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAuBhG;AAgGD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC5B;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,GAAG,SAAS,CAI3D;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAEtE;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS,CAGtF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EACzC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAIT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS,CAKhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC7B,IAAI,EAAE,oBAAoB,EAC1B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,GACtC,OAAO,CAKT;AAED;;yCAEyC;AACzC,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,EAEvB,CAAA;AAE5B;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC5B,kBAAkB,GAAG,IAAI,CAG3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kCAAkC,CAChD,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC7B,uBAAuB,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,GAC/D,kBAAkB,GAAG,IAAI,CAO3B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,WAAW,EAAE,CAEf;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EAAE,EACxB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,WAAW,EAAE,CAEf;AAED,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,eAAe,EAAE,CAiBzF;AAKD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,eAAe,EAAE,CAe3F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC5B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAIjD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC5B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAOjD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC7B,IAAI,EAAE,oBAAoB,GACzB,QAAQ,GAAG,SAAS,CAYtB;AAED,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,EAEhC,CAAA"}