@sensigo/realm 0.35.0 → 0.36.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.
- package/dist/engine/run-health.d.ts.map +1 -1
- package/dist/engine/run-health.js +37 -5
- package/dist/engine/run-health.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/types/run-record.d.ts +88 -4
- package/dist/types/run-record.d.ts.map +1 -1
- package/dist/workflow/structured-output-eligibility.d.ts +35 -3
- package/dist/workflow/structured-output-eligibility.d.ts.map +1 -1
- package/dist/workflow/structured-output-eligibility.js +89 -14
- package/dist/workflow/structured-output-eligibility.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-health.d.ts","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAK1E;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EACA,oBAAoB,GACpB,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,4BAA4B,GAE5B,0BAA0B,GAC1B,iBAAiB,GACjB,mCAAmC,GAGnC,6BAA6B,GAM7B,6BAA6B,
|
|
1
|
+
{"version":3,"file":"run-health.d.ts","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAK1E;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EACA,oBAAoB,GACpB,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,4BAA4B,GAE5B,0BAA0B,GAC1B,iBAAiB,GACjB,mCAAmC,GAGnC,6BAA6B,GAM7B,6BAA6B,GAQ7B,8BAA8B,CAAC;IACnC;6DACyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;yCAEqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf;;;;4DAIwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;kDAC8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;mEAG+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AA2GD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAC/E,gBAAgB,EAAE,CAwKpB"}
|
|
@@ -54,6 +54,21 @@ function findGateCorruption(run) {
|
|
|
54
54
|
* Checked from BOTH branches of {@link classifyRunHealth}, mirroring {@link findGateCorruption}'s
|
|
55
55
|
* own dual-branch pattern — a live run's evidence and a terminal run's evidence are read exactly
|
|
56
56
|
* the same way; only WHERE the caller is standing differs.
|
|
57
|
+
*
|
|
58
|
+
* issue #311 — TWO scope notes an operator needs before reading this finding:
|
|
59
|
+
*
|
|
60
|
+
* 1. EXPECTED FIRE, not an anomaly. Every run of a step that declares `structured_output: strict`
|
|
61
|
+
* AND declares tools now fires this finding with `unsupported_context_tools`, on every run,
|
|
62
|
+
* permanently — that step's OUTPUT is produced on the tools path, which has no
|
|
63
|
+
* grammar-constrained submit call. It is a true statement about the output dimension, and it
|
|
64
|
+
* is a baseline, not a regression signal. Do not tune alerting on the finding's mere presence
|
|
65
|
+
* for such steps; look at the reason list.
|
|
66
|
+
* 2. The finding is OUTPUT-dimension-first. The tool-ARGUMENTS dimension contributes exactly one
|
|
67
|
+
* marked literal, `tool_args:api_rejected_schema` (see the loop below). A tools step can be
|
|
68
|
+
* running strict successfully on most of its tools while this finding reports
|
|
69
|
+
* `unsupported_context_tools` — those are not in contradiction. Per-tool detail is deliberately
|
|
70
|
+
* NOT surfaced here (it belongs to `realm run inspect`/`export`); MCP pollers see this narrow
|
|
71
|
+
* finding only.
|
|
57
72
|
*/
|
|
58
73
|
function findStructuredOutputDowngrades(run) {
|
|
59
74
|
const reasonsByStep = new Map();
|
|
@@ -61,11 +76,28 @@ function findStructuredOutputDowngrades(run) {
|
|
|
61
76
|
const meta = entry.diagnostics?.structured_output;
|
|
62
77
|
if (meta === undefined)
|
|
63
78
|
continue;
|
|
64
|
-
if (meta.downgrade_reason
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
79
|
+
if (meta.downgrade_reason !== undefined && meta.downgrade_reason !== 'external_agent') {
|
|
80
|
+
const reasons = reasonsByStep.get(entry.step_id) ?? new Set();
|
|
81
|
+
reasons.add(meta.downgrade_reason);
|
|
82
|
+
reasonsByStep.set(entry.step_id, reasons);
|
|
83
|
+
}
|
|
84
|
+
// issue #311 — the NARROW tool-arguments widening. Only ONE class from the tool-args
|
|
85
|
+
// dimension is admitted: `api_rejected_schema`, the event where the API actively REJECTED a
|
|
86
|
+
// strict tool schema realm had assessed as eligible. That is the trigger #346 watches for,
|
|
87
|
+
// and it is the only tool-args outcome an operator can act on. Everything else in
|
|
88
|
+
// `tool_args.reasons` (`budget_excluded`, the eligibility verdict codes, the 503 labels) is
|
|
89
|
+
// routine, expected, and would drown the finding — it stays visible via inspect/export.
|
|
90
|
+
//
|
|
91
|
+
// The literal is DIMENSION-MARKED (`tool_args:` prefix) so it can never be confused with the
|
|
92
|
+
// step-OUTPUT reason of the same name, and so the #346 trigger greps cleanly against the
|
|
93
|
+
// permanent `unsupported_context_tools` baseline every opted-in tools step now carries.
|
|
94
|
+
for (const tool of meta.tool_args?.tools ?? []) {
|
|
95
|
+
if (!(tool.reasons ?? []).includes('api_rejected_schema'))
|
|
96
|
+
continue;
|
|
97
|
+
const reasons = reasonsByStep.get(entry.step_id) ?? new Set();
|
|
98
|
+
reasons.add('tool_args:api_rejected_schema');
|
|
99
|
+
reasonsByStep.set(entry.step_id, reasons);
|
|
100
|
+
}
|
|
69
101
|
}
|
|
70
102
|
if (reasonsByStep.size === 0)
|
|
71
103
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-health.js","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"AAyFA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"run-health.js","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ export type { Requirement, CapabilityBlockInfo } from './engine/capability.js';
|
|
|
47
47
|
export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
|
|
48
48
|
export type { PreconditionResult } from './engine/precondition.js';
|
|
49
49
|
export type { StepDiagnostics } from './types/run-record.js';
|
|
50
|
-
export declare const VERSION = "0.
|
|
50
|
+
export declare const VERSION = "0.36.0";
|
|
51
51
|
export type { ToolCallRecord, McpServerConfig } from './types/mcp-types.js';
|
|
52
52
|
export type { ServiceAdapter, ServiceResponse } from './extensions/service-adapter.js';
|
|
53
53
|
export type { StepHandler, StepHandlerInputs, StepContext, StepHandlerResult, } from './extensions/step-handler.js';
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ export { classifyRunHealth, DEFAULT_IDLE_THRESHOLD_MS } from './engine/run-healt
|
|
|
36
36
|
export { computeGateDueState } from './engine/gate-timing.js';
|
|
37
37
|
export { requirementForStep, unmetCapabilities, findCapabilityBlockedSteps, capabilityWarning, } from './engine/capability.js';
|
|
38
38
|
export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
|
|
39
|
-
export const VERSION = '0.
|
|
39
|
+
export const VERSION = '0.36.0';
|
|
40
40
|
export { ExtensionRegistry } from './extensions/registry.js';
|
|
41
41
|
export { createDefaultRegistry } from './extensions/default-registry.js';
|
|
42
42
|
export { validateDeploymentManifest, collectManifestSecretRefs, DEPLOYMENT_MANIFEST_JSON_SCHEMA, } from './manifest/deployment-manifest.js';
|
|
@@ -80,6 +80,15 @@ export interface TraceNormalizationSummary {
|
|
|
80
80
|
* that the API enforced it). Per-attempt: a retry-configured step's evidence array can carry a
|
|
81
81
|
* different value per attempt. `requested` is always `true` when this object is present at all —
|
|
82
82
|
* it exists ONLY on a step that declared `structured_output: 'strict'`.
|
|
83
|
+
*
|
|
84
|
+
* SCOPE (issue #311 truth pass): every field on this object EXCEPT `tool_args` describes ONE
|
|
85
|
+
* dimension — the step's own OUTPUT request (the submit tool realm sends for the step's answer).
|
|
86
|
+
* That was the only dimension #236 shipped, so the original wording did not need to say so;
|
|
87
|
+
* it does now. `tool_args` describes the independent TOOL-ARGUMENTS dimension, and the two
|
|
88
|
+
* legitimately disagree on the same attempt: a tools-bearing step is permanently
|
|
89
|
+
* `sent: false` / `unsupported_context_tools` at the OUTPUT level while simultaneously carrying
|
|
90
|
+
* genuine per-tool `strict_sent: true` entries under `tool_args`. When reading a single field,
|
|
91
|
+
* check which dimension it belongs to before concluding "strict was off".
|
|
83
92
|
*/
|
|
84
93
|
export interface StructuredOutputMeta {
|
|
85
94
|
/** Always `true` — this object's mere presence already implies it; kept explicit so a reader
|
|
@@ -92,8 +101,16 @@ export interface StructuredOutputMeta {
|
|
|
92
101
|
* `{requested: true, sent: false, downgrade_reason: 'external_agent'}` verbatim. */
|
|
93
102
|
sent?: boolean;
|
|
94
103
|
/** Caveat codes from `assessStructuredOutputEligibility`'s `eligible_with_caveats` verdict —
|
|
95
|
-
* present
|
|
96
|
-
* attempt
|
|
104
|
+
* present whenever the Phase-B eligibility verdict carried them, REGARDLESS of what the live
|
|
105
|
+
* attempt then did (issue #332 correction: the mint is right, this doc was wrong). The verdict
|
|
106
|
+
* is computed once, at eligibility time (run-agent.ts:498-502), and its caveats are spread
|
|
107
|
+
* onto the meta unconditionally (run-agent.ts:690-695) — including onto a `sent: false` meta
|
|
108
|
+
* when the schema passed eligibility but the LIVE call then downgraded (a 400/503). `caveats`
|
|
109
|
+
* therefore records an eligibility-time fact about the SCHEMA; `sent`/`downgrade_reason`
|
|
110
|
+
* record the ATTEMPT's own outcome — the two can legitimately co-occur, and a reader
|
|
111
|
+
* disambiguates via the co-present fields, never via caveats' mere presence. Never present on
|
|
112
|
+
* a `gate_ineligible`/`external_agent` attempt (no eligibility verdict with caveats was ever
|
|
113
|
+
* computed for either). */
|
|
97
114
|
caveats?: string[];
|
|
98
115
|
/**
|
|
99
116
|
* Why `sent` is `false` (absent when `sent` is `true`):
|
|
@@ -106,8 +123,11 @@ export interface StructuredOutputMeta {
|
|
|
106
123
|
* — fail-safe default label for any non-matching 503).
|
|
107
124
|
* - `provider_unsupported` — the configured LLM provider does not implement `callStepWithMeta`
|
|
108
125
|
* (a third-party `--provider-module` that only implements the base `callStep`).
|
|
109
|
-
* - `unsupported_context_tools` — the step declares `tools
|
|
110
|
-
*
|
|
126
|
+
* - `unsupported_context_tools` — the step declares `tools`, so its OUTPUT is produced on the
|
|
127
|
+
* tools path, which has no grammar-constrained submit call. Issue #311 truth pass: this no
|
|
128
|
+
* longer means "strict is unsupported on this step" — strict may well have been attached to
|
|
129
|
+
* that step's TOOL-CALL ARGUMENTS on the very same attempt (see `tool_args`). It means only
|
|
130
|
+
* that the step's own output was not grammar-constrained.
|
|
111
131
|
* - `external_agent` — the step declared `structured_output: 'strict'` but was driven by
|
|
112
132
|
* something other than `realm agent` (e.g. an external agent calling `execute_step` over
|
|
113
133
|
* MCP directly) — no `stepMeta.structuredOutput` was ever attached, so realm cannot know
|
|
@@ -121,6 +141,70 @@ export interface StructuredOutputMeta {
|
|
|
121
141
|
* extracted text — the standing dodge detector (design record R-B): a schema shaped to make
|
|
122
142
|
* the model prefer a text answer over the strict-constrained tool would show up here. */
|
|
123
143
|
submission_channel?: 'tool' | 'text';
|
|
144
|
+
/**
|
|
145
|
+
* Issue #311 — the TOOL-ARGUMENTS dimension. Present only on a `structured_output: 'strict'`
|
|
146
|
+
* step that ran the tools path with at least one declared tool.
|
|
147
|
+
*
|
|
148
|
+
* Read this alongside the step-level fields above, which describe a DIFFERENT question. The
|
|
149
|
+
* step-level `sent`/`downgrade_reason` answer "did realm grammar-constrain this step's own
|
|
150
|
+
* OUTPUT?" — on the tools path that answer is permanently no (`unsupported_context_tools`),
|
|
151
|
+
* because the step's output still arrives through the unconstrained submit/extraction path.
|
|
152
|
+
* `tool_args` answers "did realm grammar-constrain the ARGUMENTS realm's model passes to each
|
|
153
|
+
* MCP tool?", which on the same attempt can be yes for some tools and no for others. The two
|
|
154
|
+
* co-occur by design; neither supersedes the other.
|
|
155
|
+
*
|
|
156
|
+
* Enforcement caveat: a strict grammar constrains what the model can EMIT. There is no Ajv on
|
|
157
|
+
* the tools path — realm does not post-hoc validate tool arguments — so for any tool that
|
|
158
|
+
* rides unconstrained, enforcement falls entirely to the MCP server at call time. Strict's
|
|
159
|
+
* guarantee also covers tool-NAME selection, not arguments alone.
|
|
160
|
+
*
|
|
161
|
+
* One entry per DECLARED tool, in declared order, whether or not strict was attached to it.
|
|
162
|
+
*/
|
|
163
|
+
tool_args?: {
|
|
164
|
+
tools: Array<{
|
|
165
|
+
/** The bare tool name as declared by the MCP server (the wire name). */
|
|
166
|
+
name: string;
|
|
167
|
+
/** Always `true` — present iff this entry exists (house style, mirroring `requested`). */
|
|
168
|
+
strict_requested: true;
|
|
169
|
+
/** Whether realm placed `strict: true` on THIS tool in the request it handed to the SDK —
|
|
170
|
+
* the FINAL posture of the attempt (a mid-attempt drop rewrites this to `false`). Same
|
|
171
|
+
* observables-only discipline as `sent`: never a claim that the API honored it. */
|
|
172
|
+
strict_sent: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Why strict was not attached (or was dropped). Plural — codes co-occur. Values are the
|
|
175
|
+
* verdict codes from `assessStructuredOutputEligibility` verbatim
|
|
176
|
+
* (`no_schema` | `missing_additional_properties` | `unsupported_keyword` |
|
|
177
|
+
* `too_many_optionals` | `too_many_unions` | `unsupported_context_tools`), plus these
|
|
178
|
+
* non-verdict literals:
|
|
179
|
+
* - `budget_excluded` — eligible, but the API's per-request limits (≤20 strict tools,
|
|
180
|
+
* ≤24 summed optional properties) were already spent by earlier declared tools.
|
|
181
|
+
* - `api_rejected_schema` — a live 400 on a strict-carrying request dropped strict for
|
|
182
|
+
* this step's tools.
|
|
183
|
+
* - `grammar_unavailable` — a live 503 matching the grammar-compilation-unavailable text.
|
|
184
|
+
* - `service_unavailable` — a live 503 that did not match it (fail-safe generic label).
|
|
185
|
+
*/
|
|
186
|
+
reasons?: string[];
|
|
187
|
+
/** Caveat codes from this tool's own eligibility verdict (e.g. `unenforced_keyword`,
|
|
188
|
+
* `optional_emission`) — an eligibility-time fact about the tool's schema, independent of
|
|
189
|
+
* what the live attempt then did. */
|
|
190
|
+
caveats?: string[];
|
|
191
|
+
}>;
|
|
192
|
+
/**
|
|
193
|
+
* Present only when a live 400/503 dropped strict PART-WAY THROUGH this attempt. Absent on
|
|
194
|
+
* an attempt that never attached strict at all — including every attempt after a sticky 400
|
|
195
|
+
* (there was no drop to describe; the tools simply started unconstrained).
|
|
196
|
+
*/
|
|
197
|
+
dropped_mid_attempt?: {
|
|
198
|
+
/** `api_rejected_schema` | `grammar_unavailable` | `service_unavailable`. */
|
|
199
|
+
reason: string;
|
|
200
|
+
/** The raw API error message, verbatim. Lives HERE, never on the step-level
|
|
201
|
+
* `api_message` — that field describes the step-output dimension only. */
|
|
202
|
+
api_message?: string;
|
|
203
|
+
/** How many strict-decorated requests returned 200 before the drop. `0` means the very
|
|
204
|
+
* first strict-carrying turn of this attempt was rejected. */
|
|
205
|
+
strict_turns_before_drop: number;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
124
208
|
}
|
|
125
209
|
/** Diagnostic metadata captured during step execution. Written once; read by inspect. */
|
|
126
210
|
export interface StepDiagnostics {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-record.d.ts","sourceRoot":"","sources":["../../src/types/run-record.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;CACrE;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,0EAA0E;AAC1E,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gCAAgC,EAAE,MAAM,CAAC;IACzC,0BAA0B,EAAE,MAAM,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACjD,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,gHAAgH;IAChH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;;;;;OAeG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED
|
|
1
|
+
{"version":3,"file":"run-record.d.ts","sourceRoot":"","sources":["../../src/types/run-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,21 +7,45 @@ export interface StructuredOutputReason {
|
|
|
7
7
|
remediation: string;
|
|
8
8
|
}
|
|
9
9
|
/** A caveat: the schema is eligible, but this feature is enforced post-hoc by realm (Ajv), not
|
|
10
|
-
* by the grammar itself — silently ignored or rejected by the API either way.
|
|
10
|
+
* by the grammar itself — silently ignored or rejected by the API either way.
|
|
11
|
+
*
|
|
12
|
+
* Issue #311: `tools_runtime_assessed` is the Phase-A nudge row for a strict-declared,
|
|
13
|
+
* tools-bearing step. It is a CAVEAT code, never a WarningCode — a new WarningCode would
|
|
14
|
+
* auto-fail `validate --strict` (validate.ts's own rail), which would turn an informational
|
|
15
|
+
* nudge into a build break. */
|
|
11
16
|
export interface StructuredOutputCaveat {
|
|
12
|
-
code: 'unenforced_keyword' | 'unenforced_format' | 'unenforced_pattern' | 'optional_emission';
|
|
17
|
+
code: 'unenforced_keyword' | 'unenforced_format' | 'unenforced_pattern' | 'optional_emission' | 'tools_runtime_assessed';
|
|
13
18
|
path: string;
|
|
14
19
|
remediation: string;
|
|
15
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Issue #311: which subject this assessment is about. Default (`step_output`) is the #236
|
|
23
|
+
* behaviour — the step's own output schema, which realm DOES post-hoc validate with Ajv.
|
|
24
|
+
* `tool_args` assesses a third-party MCP tool's `inputSchema` for per-tool strict attachment;
|
|
25
|
+
* there is NO Ajv on the tools path, so enforcement-class caveats must not claim realm enforces
|
|
26
|
+
* anything, and every remediation's fix-owner is the MCP SERVER, never the workflow author.
|
|
27
|
+
*/
|
|
28
|
+
export type StructuredOutputSubject = 'step_output' | 'tool_args';
|
|
29
|
+
/**
|
|
30
|
+
* Issue #311: `optional_count` is the walk's own optional-property tally, exported so the
|
|
31
|
+
* per-tool budget walk (run-agent.ts) can sum optionals across strict-attached tools against the
|
|
32
|
+
* API's 24 limit without re-walking each schema. Present IFF the schema walk actually ran — the
|
|
33
|
+
* short-circuit arms (G0 no-schema/non-object root, Phase-B G6, and the Phase-A
|
|
34
|
+
* `tools_runtime_assessed` row) return before any counting, so the field is absent there rather
|
|
35
|
+
* than falsely reporting 0.
|
|
36
|
+
*/
|
|
16
37
|
export type StructuredOutputVerdict = {
|
|
17
38
|
verdict: 'eligible';
|
|
39
|
+
optional_count?: number;
|
|
18
40
|
} | {
|
|
19
41
|
verdict: 'eligible_with_caveats';
|
|
20
42
|
caveats: StructuredOutputCaveat[];
|
|
43
|
+
optional_count?: number;
|
|
21
44
|
} | {
|
|
22
45
|
verdict: 'ineligible';
|
|
23
46
|
reasons: StructuredOutputReason[];
|
|
24
47
|
caveats?: StructuredOutputCaveat[];
|
|
48
|
+
optional_count?: number;
|
|
25
49
|
};
|
|
26
50
|
/**
|
|
27
51
|
* Phase A entry: the step definition itself — the effective-schema collapse
|
|
@@ -39,6 +63,9 @@ type PhaseAInput = Pick<StepDefinition, 'output_schema' | 'input_schema' | 'tool
|
|
|
39
63
|
interface PhaseBInput {
|
|
40
64
|
schema: unknown;
|
|
41
65
|
tools: boolean;
|
|
66
|
+
/** Issue #311: `tool_args` forks the remediation vocabulary (fix-owner = the MCP server) and
|
|
67
|
+
* the enforcement-class caveat text (no Ajv on the tools path). Default `step_output`. */
|
|
68
|
+
subject?: StructuredOutputSubject;
|
|
42
69
|
}
|
|
43
70
|
/**
|
|
44
71
|
* G2 keyword allowlist — snapshot-dated 2026-08-05, CONTENTS transcribed verbatim from the
|
|
@@ -49,6 +76,8 @@ interface PhaseBInput {
|
|
|
49
76
|
* this comment is a direct transcription:
|
|
50
77
|
* "All basic types: object, array, string, integer, number, boolean, null" (the `type` keyword)
|
|
51
78
|
* `enum` · `const` · `anyOf` and `allOf` · `$ref`, `$def`, and `definitions` · `default` ·
|
|
79
|
+
* ^ `$def` (singular) is transcribed VERBATIM from Anthropic's own list — see the entry's own
|
|
80
|
+
* comment below; it is not a typo in this file.
|
|
52
81
|
* `required` and `additionalProperties` · string `format` (10 values — gated separately, G4) ·
|
|
53
82
|
* array `minItems`.
|
|
54
83
|
* A keyword present on a schema node but absent from this set is NOT necessarily rejected by the
|
|
@@ -67,7 +96,10 @@ export declare const STRICT_SUPPORTED_KEYWORDS: Set<string>;
|
|
|
67
96
|
* incl. root `$ref:'#'`, external `$ref`, complex enum members) ⇒ ineligible; any other
|
|
68
97
|
* off-allowlist keyword ⇒ caveat · G3 >24 optional properties / >16 union-typed ⇒ ineligible ·
|
|
69
98
|
* G4 unsupported `format` value ⇒ caveat · G5 `pattern` present ⇒ caveat · G6 `tools`-bearing
|
|
70
|
-
* step ⇒
|
|
99
|
+
* step ⇒ checked FIRST, short-circuits everything else, and FORKS BY PHASE (issue #311):
|
|
100
|
+
* Phase A ⇒ caveat `tools_runtime_assessed` (strict applies to tool-call arguments, assessed
|
|
101
|
+
* per tool at runtime), Phase B ⇒ ineligible `unsupported_context_tools` (the step's own
|
|
102
|
+
* output is still never grammar-constrained on the tools fork) · G7' (Amendment 2) ANY
|
|
71
103
|
* optional properties on an otherwise-eligible schema ⇒ caveat `optional_emission` (strict
|
|
72
104
|
* measurably suppresses optional-field emission — see the benchmark cited in the docs section;
|
|
73
105
|
* the remedy is making consumer-load-bearing fields `required`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-output-eligibility.d.ts","sourceRoot":"","sources":["../../src/workflow/structured-output-eligibility.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAElF,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,IAAI,EACA,WAAW,GACX,+BAA+B,GAC/B,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,2BAA2B,CAAC;IAChC,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;
|
|
1
|
+
{"version":3,"file":"structured-output-eligibility.d.ts","sourceRoot":"","sources":["../../src/workflow/structured-output-eligibility.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAElF,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,IAAI,EACA,WAAW,GACX,+BAA+B,GAC/B,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,2BAA2B,CAAC;IAChC,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;gCAMgC;AAChC,MAAM,WAAW,sBAAsB;IACrC,IAAI,EACA,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,wBAAwB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,WAAW,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IACE,OAAO,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAGD;IACE,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN;;;;;;GAMG;AACH,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;AAEpF;;;;GAIG;AACH,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf;+FAC2F;IAC3F,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,aAyBpC,CAAC;AA6PH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,WAAW,GAAG,WAAW,GAC/B,uBAAuB,CA8IzB;AAED;;+FAE+F;AAC/F,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAEjF;AAID,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -10,6 +10,8 @@ function isPhaseB(input) {
|
|
|
10
10
|
* this comment is a direct transcription:
|
|
11
11
|
* "All basic types: object, array, string, integer, number, boolean, null" (the `type` keyword)
|
|
12
12
|
* `enum` · `const` · `anyOf` and `allOf` · `$ref`, `$def`, and `definitions` · `default` ·
|
|
13
|
+
* ^ `$def` (singular) is transcribed VERBATIM from Anthropic's own list — see the entry's own
|
|
14
|
+
* comment below; it is not a typo in this file.
|
|
13
15
|
* `required` and `additionalProperties` · string `format` (10 values — gated separately, G4) ·
|
|
14
16
|
* array `minItems`.
|
|
15
17
|
* A keyword present on a schema node but absent from this set is NOT necessarily rejected by the
|
|
@@ -28,6 +30,13 @@ export const STRICT_SUPPORTED_KEYWORDS = new Set([
|
|
|
28
30
|
'anyOf',
|
|
29
31
|
'allOf',
|
|
30
32
|
'$ref',
|
|
33
|
+
// Issue #311 ride-along (ledger R7), re-verified against Anthropic's CURRENT published docs on
|
|
34
|
+
// 2026-08-16: the source list still reads "`$ref`, `$def`, and `definitions`" — `$def`
|
|
35
|
+
// SINGULAR, with no `$defs` anywhere in the document. This entry therefore transcribes upstream
|
|
36
|
+
// faithfully (upstream's own apparent typo — JSON Schema's real keyword is `$defs`), which is
|
|
37
|
+
// why it is kept rather than "corrected". It is inert either way: the real `$defs` key is
|
|
38
|
+
// handled STRUCTURALLY by NON_KEYWORD_KEYS below, so it never reaches this allowlist at all.
|
|
39
|
+
// Dead but harmless — do not delete it as dead code without re-reading the upstream list.
|
|
31
40
|
'$def',
|
|
32
41
|
'definitions',
|
|
33
42
|
'default',
|
|
@@ -54,6 +63,25 @@ const SUPPORTED_FORMATS = new Set([
|
|
|
54
63
|
const OWN_ROW_KEYWORDS = new Set(['format', 'pattern']);
|
|
55
64
|
/** Keys that are never schema keywords themselves — traversal structure, not gate subjects. */
|
|
56
65
|
const NON_KEYWORD_KEYS = new Set(['properties', 'items', '$defs', 'definitions']);
|
|
66
|
+
/**
|
|
67
|
+
* Issue #311: the enforcement-class clause, forked by subject. On the step-output path realm's
|
|
68
|
+
* own Ajv still enforces the keyword after the model answers, so each row keeps its EXISTING
|
|
69
|
+
* wording verbatim (passed in — the two rows word it differently today and both are pinned). On
|
|
70
|
+
* the tools path there is NO Ajv at all — the arguments go straight to the MCP server — so
|
|
71
|
+
* claiming realm enforces them would be a lie; enforcement genuinely falls to the server.
|
|
72
|
+
*/
|
|
73
|
+
function enforcementClause(subject, stepOutputClause) {
|
|
74
|
+
return subject === 'tool_args'
|
|
75
|
+
? 'is not grammar-enforced and NOT post-hoc enforced by realm — enforcement falls to the MCP server at call time'
|
|
76
|
+
: stepOutputClause;
|
|
77
|
+
}
|
|
78
|
+
/** Issue #311: who fixes it. A third-party tool's schema is never the workflow author's to edit,
|
|
79
|
+
* so every tool-args remediation retargets the fix-owner to the publishing MCP server. */
|
|
80
|
+
function fixOwnerHint(subject) {
|
|
81
|
+
return subject === 'tool_args'
|
|
82
|
+
? " (this schema is published by the MCP server — the fix belongs to that server's maintainer, not this workflow)"
|
|
83
|
+
: '';
|
|
84
|
+
}
|
|
57
85
|
function isPlainObject(v) {
|
|
58
86
|
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
59
87
|
}
|
|
@@ -142,7 +170,9 @@ function walkNode(node, path, ctx) {
|
|
|
142
170
|
ctx.hardReasons.push({
|
|
143
171
|
code: 'unsupported_keyword',
|
|
144
172
|
path,
|
|
145
|
-
remediation:
|
|
173
|
+
remediation: ctx.subject === 'tool_args'
|
|
174
|
+
? `'${kw}' at '${path || '(root)'}' is not supported by strict mode — this tool rides unconstrained${fixOwnerHint(ctx.subject)}`
|
|
175
|
+
: `'${kw}' at '${path || '(root)'}' is not supported by strict mode — remove it (Ajv still enforces it at submission time) or drop 'structured_output: strict' for this step`,
|
|
146
176
|
});
|
|
147
177
|
}
|
|
148
178
|
}
|
|
@@ -161,7 +191,7 @@ function walkNode(node, path, ctx) {
|
|
|
161
191
|
ctx.caveats.push({
|
|
162
192
|
code: 'unenforced_format',
|
|
163
193
|
path,
|
|
164
|
-
remediation: `'format: ${format}' at '${path || '(root)'}' is silently ignored or rejected by the API — enforced post-hoc by realm's own validation only`,
|
|
194
|
+
remediation: `'format: ${format}' at '${path || '(root)'}' ${enforcementClause(ctx.subject, "is silently ignored or rejected by the API — enforced post-hoc by realm's own validation only")}${fixOwnerHint(ctx.subject)}`,
|
|
165
195
|
});
|
|
166
196
|
}
|
|
167
197
|
// G5: pattern — always a caveat when present, regardless of regex complexity.
|
|
@@ -169,7 +199,7 @@ function walkNode(node, path, ctx) {
|
|
|
169
199
|
ctx.caveats.push({
|
|
170
200
|
code: 'unenforced_pattern',
|
|
171
201
|
path,
|
|
172
|
-
remediation: `'pattern' at '${path || '(root)'}' is silently ignored or rejected by the API — enforced post-hoc by realm's own validation only`,
|
|
202
|
+
remediation: `'pattern' at '${path || '(root)'}' ${enforcementClause(ctx.subject, "is silently ignored or rejected by the API — enforced post-hoc by realm's own validation only")}${fixOwnerHint(ctx.subject)}`,
|
|
173
203
|
});
|
|
174
204
|
}
|
|
175
205
|
// G2 generic off-allowlist walk — every OTHER key on this node not itself a keyword we already
|
|
@@ -187,7 +217,7 @@ function walkNode(node, path, ctx) {
|
|
|
187
217
|
ctx.caveats.push({
|
|
188
218
|
code: 'unenforced_keyword',
|
|
189
219
|
path,
|
|
190
|
-
remediation: `'${key}' at '${path || '(root)'}' is silently ignored or rejected by the API — either way enforced post-hoc by realm`,
|
|
220
|
+
remediation: `'${key}' at '${path || '(root)'}' ${enforcementClause(ctx.subject, 'is silently ignored or rejected by the API — either way enforced post-hoc by realm')}${fixOwnerHint(ctx.subject)}`,
|
|
191
221
|
});
|
|
192
222
|
}
|
|
193
223
|
// G1: every object (root + nested) must carry explicit additionalProperties: false.
|
|
@@ -196,7 +226,7 @@ function walkNode(node, path, ctx) {
|
|
|
196
226
|
ctx.hardReasons.push({
|
|
197
227
|
code: 'missing_additional_properties',
|
|
198
228
|
path,
|
|
199
|
-
remediation: `add 'additionalProperties: false' at '${path || 'the schema root'}'`,
|
|
229
|
+
remediation: `add 'additionalProperties: false' at '${path || 'the schema root'}'${fixOwnerHint(ctx.subject)}`,
|
|
200
230
|
});
|
|
201
231
|
}
|
|
202
232
|
}
|
|
@@ -255,7 +285,10 @@ function walkNode(node, path, ctx) {
|
|
|
255
285
|
* incl. root `$ref:'#'`, external `$ref`, complex enum members) ⇒ ineligible; any other
|
|
256
286
|
* off-allowlist keyword ⇒ caveat · G3 >24 optional properties / >16 union-typed ⇒ ineligible ·
|
|
257
287
|
* G4 unsupported `format` value ⇒ caveat · G5 `pattern` present ⇒ caveat · G6 `tools`-bearing
|
|
258
|
-
* step ⇒
|
|
288
|
+
* step ⇒ checked FIRST, short-circuits everything else, and FORKS BY PHASE (issue #311):
|
|
289
|
+
* Phase A ⇒ caveat `tools_runtime_assessed` (strict applies to tool-call arguments, assessed
|
|
290
|
+
* per tool at runtime), Phase B ⇒ ineligible `unsupported_context_tools` (the step's own
|
|
291
|
+
* output is still never grammar-constrained on the tools fork) · G7' (Amendment 2) ANY
|
|
259
292
|
* optional properties on an otherwise-eligible schema ⇒ caveat `optional_emission` (strict
|
|
260
293
|
* measurably suppresses optional-field emission — see the benchmark cited in the docs section;
|
|
261
294
|
* the remedy is making consumer-load-bearing fields `required`).
|
|
@@ -263,18 +296,51 @@ function walkNode(node, path, ctx) {
|
|
|
263
296
|
export function assessStructuredOutputEligibility(input) {
|
|
264
297
|
const phaseB = isPhaseB(input);
|
|
265
298
|
const schema = phaseB ? input.schema : (input.output_schema ?? input.input_schema);
|
|
299
|
+
const subject = phaseB
|
|
300
|
+
? (input.subject ?? 'step_output')
|
|
301
|
+
: 'step_output';
|
|
266
302
|
const toolsFlag = phaseB
|
|
267
303
|
? input.tools === true
|
|
268
304
|
: Array.isArray(input.tools) && input.tools.length > 0;
|
|
269
|
-
// G6 — checked FIRST; short-circuits every other row (fixture C8
|
|
305
|
+
// G6 — checked FIRST; short-circuits every other row (fixture C8). Issue #311 forks it BY PHASE:
|
|
306
|
+
//
|
|
307
|
+
// Phase A (authoring: loader/validate/register/create_workflow) now ACCEPTS a strict-declared
|
|
308
|
+
// tools-bearing step with an INFO-channel nudge instead of rejecting it. Strict is real on this
|
|
309
|
+
// fork — it just applies to the TOOL-CALL ARGUMENTS, per third-party tool, assessed at runtime
|
|
310
|
+
// (the tool schemas are not the author's to fix, and are not even known until the MCP servers
|
|
311
|
+
// are contacted). The step's own output stays post-hoc validated (L1), never grammar-
|
|
312
|
+
// constrained. The nudge is a CAVEAT row, never a WarningCode — a new WarningCode would
|
|
313
|
+
// auto-fail `validate --strict` and turn an informational nudge into a build break.
|
|
314
|
+
//
|
|
315
|
+
// The short-circuit is retained deliberately: the step-level output schema is never
|
|
316
|
+
// grammar-constrained on the tools fork, so walking it here would report findings about a
|
|
317
|
+
// schema that is never sent to a grammar — including on the composite cell (strict + tools +
|
|
318
|
+
// an ineligible step-level output_schema), which must NOT reject.
|
|
319
|
+
//
|
|
320
|
+
// Phase B (`tools: true`) keeps the #236 `ineligible` verdict verbatim: it is the RUNTIME
|
|
321
|
+
// step-output question ("may realm grammar-constrain THIS step's output?"), whose answer on a
|
|
322
|
+
// tools-bearing step is still no — that is what the #332 `unsupported_context_tools` mint
|
|
323
|
+
// discloses. It has zero production callers today and stays defensive.
|
|
270
324
|
if (toolsFlag) {
|
|
325
|
+
if (phaseB) {
|
|
326
|
+
return {
|
|
327
|
+
verdict: 'ineligible',
|
|
328
|
+
reasons: [
|
|
329
|
+
{
|
|
330
|
+
code: 'unsupported_context_tools',
|
|
331
|
+
path: '',
|
|
332
|
+
remediation: 'this step declares tools — structured_output: strict is not supported on tools-bearing steps in v1; remove tools or drop structured_output',
|
|
333
|
+
},
|
|
334
|
+
],
|
|
335
|
+
};
|
|
336
|
+
}
|
|
271
337
|
return {
|
|
272
|
-
verdict: '
|
|
273
|
-
|
|
338
|
+
verdict: 'eligible_with_caveats',
|
|
339
|
+
caveats: [
|
|
274
340
|
{
|
|
275
|
-
code: '
|
|
341
|
+
code: 'tools_runtime_assessed',
|
|
276
342
|
path: '',
|
|
277
|
-
remediation: 'this step declares tools —
|
|
343
|
+
remediation: 'this step declares tools — strict applies to tool-call arguments here, not to the step output; tool schemas are third-party and are assessed per tool at runtime (a tool whose schema is not strict-compatible simply rides unconstrained), and this step output stays post-hoc validated by realm',
|
|
278
344
|
},
|
|
279
345
|
],
|
|
280
346
|
};
|
|
@@ -310,6 +376,7 @@ export function assessStructuredOutputEligibility(input) {
|
|
|
310
376
|
optionalCount: 0,
|
|
311
377
|
unionCount: 0,
|
|
312
378
|
seenUnenforcedKeywords: new Set(),
|
|
379
|
+
subject,
|
|
313
380
|
};
|
|
314
381
|
walkNode(schema, '', ctx);
|
|
315
382
|
if (ctx.optionalCount > 24) {
|
|
@@ -331,6 +398,7 @@ export function assessStructuredOutputEligibility(input) {
|
|
|
331
398
|
verdict: 'ineligible',
|
|
332
399
|
reasons: ctx.hardReasons,
|
|
333
400
|
...(ctx.caveats.length > 0 ? { caveats: ctx.caveats } : {}),
|
|
401
|
+
optional_count: ctx.optionalCount,
|
|
334
402
|
};
|
|
335
403
|
}
|
|
336
404
|
// G7' (Amendment 2): any optional property on an otherwise-eligible schema ⇒ caveat. Measured:
|
|
@@ -342,13 +410,20 @@ export function assessStructuredOutputEligibility(input) {
|
|
|
342
410
|
ctx.caveats.push({
|
|
343
411
|
code: 'optional_emission',
|
|
344
412
|
path: '',
|
|
345
|
-
|
|
413
|
+
// Issue #311: the G7' propensity text is subject-independent (it is a fact about strict
|
|
414
|
+
// itself, measured on a step-output schema but applying to any grammar-constrained
|
|
415
|
+
// arguments); only the FIX-OWNER retargets on the tools path.
|
|
416
|
+
remediation: `under strict, the model emitted an optional field in 4/24 runs vs 24/24 unconstrained on a measured schema (see docs) — make fields your consumers rely on \`required\`${fixOwnerHint(ctx.subject)}`,
|
|
346
417
|
});
|
|
347
418
|
}
|
|
348
419
|
if (ctx.caveats.length > 0) {
|
|
349
|
-
return {
|
|
420
|
+
return {
|
|
421
|
+
verdict: 'eligible_with_caveats',
|
|
422
|
+
caveats: ctx.caveats,
|
|
423
|
+
optional_count: ctx.optionalCount,
|
|
424
|
+
};
|
|
350
425
|
}
|
|
351
|
-
return { verdict: 'eligible' };
|
|
426
|
+
return { verdict: 'eligible', optional_count: ctx.optionalCount };
|
|
352
427
|
}
|
|
353
428
|
/** Renders a step's structured_output declaration into a plain-English author message, combining
|
|
354
429
|
* every reason's own remediation (`; `-joined) — the shared formatter both the loader's typed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-output-eligibility.js","sourceRoot":"","sources":["../../src/workflow/structured-output-eligibility.ts"],"names":[],"mappings":"AAuEA,SAAS,QAAQ,CAAC,KAAgC;IAChD,OAAO,QAAQ,IAAI,KAAK,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IAC/C,MAAM;IACN,YAAY;IACZ,OAAO;IACP,aAAa;IACb,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,aAAa;IACb,SAAS;IACT,UAAU;IACV,sBAAsB;IACtB,QAAQ;IACR,UAAU;CACX,CAAC,CAAC;AAEH,0FAA0F;AAC1F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,WAAW;IACX,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,UAAU;IACV,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH;iGACiG;AACjG,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAExD,+FAA+F;AAC/F,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AAUlF,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAChD,CAAC;AAED;kGACkG;AAClG,SAAS,YAAY,CAAC,IAA6B;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,SAAS,aAAa,CAAC,IAAa,EAAE,GAAgB;QACpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,IAAI;gBAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,sCAAsC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,CAAC;IAChB,MAAM,IAAI,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,CAAC;IAChB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,CAAC,CAAS,EAAW,EAAE;QACjC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;YACnD,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;qFACqF;AACrF,SAAS,QAAQ,CAAC,IAAa,EAAE,IAAY,EAAE,GAAQ;IACrD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO;IAEjC,8FAA8F;IAC9F,uFAAuF;IACvF,8DAA8D;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI;gBACJ,WAAW,EAAE,wBAAwB,IAAI,IAAI,QAAQ,6FAA6F;aACnJ,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI;gBACJ,WAAW,EAAE,qBAAqB,IAAI,IAAI,QAAQ,OAAO,GAAG,2FAA2F;aACxJ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,KAAK,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAU,EAAE,CAAC;QAC/D,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACf,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI;gBACJ,WAAW,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,QAAQ,4IAA4I;aACzL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,qBAAqB;YAC3B,IAAI;YACJ,WAAW,EAAE,cAAc,IAAI,IAAI,QAAQ,gHAAgH;SAC5J,CAAC,CAAC;IACL,CAAC;IAED,cAAc;IACd,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,mBAAmB;YACzB,IAAI;YACJ,WAAW,EAAE,YAAY,MAAM,SAAS,IAAI,IAAI,QAAQ,iGAAiG;SAC1J,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,oBAAoB;YAC1B,IAAI;YACJ,WAAW,EAAE,iBAAiB,IAAI,IAAI,QAAQ,iGAAiG;SAChJ,CAAC,CAAC;IACL,CAAC;IAED,+FAA+F;IAC/F,uFAAuF;IACvF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACrE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,MAAM;YAAE,SAAS,CAAC,wCAAwC;QACxI,IAAI,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACjD,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;YAAE,SAAS;QAC/D,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QACjD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,oBAAoB;YAC1B,IAAI;YACJ,WAAW,EAAE,IAAI,GAAG,SAAS,IAAI,IAAI,QAAQ,sFAAsF;SACpI,CAAC,CAAC;IACL,CAAC;IAED,oFAAoF;IACpF,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3C,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,+BAA+B;gBACrC,IAAI;gBACJ,WAAW,EAAE,yCAAyC,IAAI,IAAI,iBAAiB,GAAG;aACnF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,mDAAmD;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9C,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAa,CAAC;YACvC,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;QACtB,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,QAAQ,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;gBACvB,IACE,aAAa,CAAC,UAAU,CAAC;oBACzB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBACjC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAK,UAAU,CAAC,MAAM,CAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EACtF,CAAC;oBACD,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvE,KAAK,MAAM,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,CAAU,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC7B,WAAW,EAAE,sCAAsC,OAAO,iBAAiB,IAAI,IAAI,QAAQ,wEAAwE;iBACpK,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iCAAiC,CAC/C,KAAgC;IAEhC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QACtB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzD,+FAA+F;IAC/F,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,2BAA2B;oBACjC,IAAI,EAAE,EAAE;oBACR,WAAW,EACT,4IAA4I;iBAC/I;aACF;SACF,CAAC;IACJ,CAAC;IAED,2FAA2F;IAC3F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,EAAE;oBACR,WAAW,EACT,4GAA4G;iBAC/G;aACF;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,EAAE;oBACR,WAAW,EACT,4FAA4F;iBAC/F;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAQ;QACf,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,sBAAsB,EAAE,IAAI,GAAG,EAAE;KAClC,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAE1B,IAAI,GAAG,CAAC,aAAa,GAAG,EAAE,EAAE,CAAC;QAC3B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,mBAAmB,GAAG,CAAC,aAAa,oGAAoG;SACtJ,CAAC,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,GAAG,EAAE,EAAE,CAAC;QACxB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,mBAAmB,GAAG,CAAC,UAAU,kFAAkF;SACjI,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,GAAG,CAAC,WAAW;YACxB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,+FAA+F;IAC/F,+FAA+F;IAC/F,0FAA0F;IAC1F,kFAAkF;IAClF,qEAAqE;IACrE,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,EAAE;YACR,WAAW,EACT,uKAAuK;SAC1K,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED;;+FAE+F;AAC/F,MAAM,UAAU,uBAAuB,CAAC,OAAiC;IACvE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"structured-output-eligibility.js","sourceRoot":"","sources":["../../src/workflow/structured-output-eligibility.ts"],"names":[],"mappings":"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"}
|