@claudexor/schema 3.0.4 → 3.1.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/agent-capabilities.d.ts +37 -0
- package/dist/agent-capabilities.d.ts.map +1 -1
- package/dist/agent-capabilities.js +14 -0
- package/dist/agent-capabilities.js.map +1 -1
- package/dist/apply-eligibility.d.ts +384 -18
- package/dist/apply-eligibility.d.ts.map +1 -1
- package/dist/apply-eligibility.js +20 -1
- package/dist/apply-eligibility.js.map +1 -1
- package/dist/budget.d.ts +75 -0
- package/dist/budget.d.ts.map +1 -1
- package/dist/budget.js +46 -0
- package/dist/budget.js.map +1 -1
- package/dist/config.d.ts +41 -41
- package/dist/control-operation-responses.d.ts +287 -65
- package/dist/control-operation-responses.d.ts.map +1 -1
- package/dist/control-operation-responses.js +33 -3
- package/dist/control-operation-responses.js.map +1 -1
- package/dist/control-run-detail.d.ts +600 -150
- package/dist/control-run-detail.d.ts.map +1 -1
- package/dist/control-run-detail.js +28 -2
- package/dist/control-run-detail.js.map +1 -1
- package/dist/control-run-retry.d.ts +1 -1
- package/dist/control-run-scope.d.ts +1 -1
- package/dist/control-thread-apply.d.ts +10 -0
- package/dist/control-thread-apply.d.ts.map +1 -1
- package/dist/control.d.ts +664 -156
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +76 -2
- package/dist/control.js.map +1 -1
- package/dist/decision.d.ts +205 -9
- package/dist/decision.d.ts.map +1 -1
- package/dist/decision.js +69 -1
- package/dist/decision.js.map +1 -1
- package/dist/deep-scan.d.ts +27 -0
- package/dist/deep-scan.d.ts.map +1 -0
- package/dist/deep-scan.js +27 -0
- package/dist/deep-scan.js.map +1 -0
- package/dist/delivery.d.ts +13 -0
- package/dist/delivery.d.ts.map +1 -1
- package/dist/delivery.js +15 -0
- package/dist/delivery.js.map +1 -1
- package/dist/events.d.ts +59 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +85 -0
- package/dist/events.js.map +1 -1
- package/dist/harness.d.ts +111 -3
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +77 -1
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/operation.d.ts +193 -10
- package/dist/operation.d.ts.map +1 -1
- package/dist/operation.js +45 -0
- package/dist/operation.js.map +1 -1
- package/dist/output-schema-dialect.d.ts +22 -0
- package/dist/output-schema-dialect.d.ts.map +1 -0
- package/dist/output-schema-dialect.js +37 -0
- package/dist/output-schema-dialect.js.map +1 -0
- package/dist/output-schema.d.ts +26 -2
- package/dist/output-schema.d.ts.map +1 -1
- package/dist/output-schema.js +313 -16
- package/dist/output-schema.js.map +1 -1
- package/dist/plan.d.ts +2 -2
- package/dist/problem.d.ts +3 -3
- package/dist/project.d.ts +47 -12
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +32 -0
- package/dist/project.js.map +1 -1
- package/dist/readiness.d.ts +14 -0
- package/dist/readiness.d.ts.map +1 -1
- package/dist/recovery.d.ts +14 -14
- package/dist/review.d.ts +7 -7
- package/dist/route.d.ts +2 -2
- package/dist/setup.d.ts +288 -94
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +90 -6
- package/dist/setup.js.map +1 -1
- package/dist/status-projection.d.ts +79 -4
- package/dist/status-projection.d.ts.map +1 -1
- package/dist/status-projection.js +161 -4
- package/dist/status-projection.js.map +1 -1
- package/dist/task.d.ts +14 -0
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +9 -0
- package/dist/task.js.map +1 -1
- package/dist/telemetry.d.ts +779 -16
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +177 -4
- package/dist/telemetry.js.map +1 -1
- package/dist/tool-ref.d.ts +14 -0
- package/dist/tool-ref.d.ts.map +1 -1
- package/dist/tool-ref.js +15 -0
- package/dist/tool-ref.js.map +1 -1
- package/dist/work-report.d.ts +131 -0
- package/dist/work-report.d.ts.map +1 -0
- package/dist/work-report.js +124 -0
- package/dist/work-report.js.map +1 -0
- package/dist/workspace.d.ts +2 -2
- package/generated/AgentCapabilityCatalog.schema.json +35 -0
- package/generated/ControlApplyCheckResponse.schema.json +5 -0
- package/generated/ControlDeliveryResponse.schema.json +14 -0
- package/generated/ControlHarnessListResponse.schema.json +19 -0
- package/generated/ControlOperationCatalog.schema.json +74 -0
- package/generated/ControlOperationDescriptor.schema.json +74 -0
- package/generated/ControlOperationParameter.schema.json +75 -0
- package/generated/ControlProjectRemoveReceipt.schema.json +58 -0
- package/generated/ControlRunAgainDraft.schema.json +11 -0
- package/generated/ControlRunDetail.schema.json +403 -9
- package/generated/ControlRunListResponse.schema.json +229 -3
- package/generated/ControlRunStartRequest.schema.json +11 -0
- package/generated/ControlRunSummary.schema.json +215 -2
- package/generated/ControlSetupJobCreateRequest.schema.json +2 -1
- package/generated/ControlSetupJobEvent.schema.json +28 -0
- package/generated/ControlSetupJobSnapshot.schema.json +28 -0
- package/generated/ControlThreadApplyResponse.schema.json +14 -0
- package/generated/ControlThreadDetail.schema.json +94 -1
- package/generated/ControlThreadTurnRequest.schema.json +11 -0
- package/generated/DecisionRecord.schema.json +178 -2
- package/generated/HarnessEvent.schema.json +79 -1
- package/generated/HarnessManifest.schema.json +19 -0
- package/generated/HarnessStatusDto.schema.json +19 -0
- package/generated/McpRunHandleResult.schema.json +286 -1
- package/generated/McpRunToolResult.schema.json +171 -1
- package/generated/RoutePoolDegradedPayload.schema.json +79 -0
- package/generated/RunEvent.schema.json +7 -1
- package/generated/RunFailure.schema.json +23 -1
- package/generated/RunTelemetry.schema.json +376 -1
- package/generated/StructuredOutputConformance.schema.json +83 -0
- package/generated/TaskContract.schema.json +16 -0
- package/package.json +2 -2
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** JSON Schema dialects the structured-output validator can compile. */
|
|
3
|
+
export declare const OutputSchemaDialect: z.ZodEnum<["draft-07", "draft-2020-12"]>;
|
|
4
|
+
export type OutputSchemaDialect = z.infer<typeof OutputSchemaDialect>;
|
|
5
|
+
export declare const DEFAULT_OUTPUT_SCHEMA_DIALECT: OutputSchemaDialect;
|
|
6
|
+
/**
|
|
7
|
+
* Canonical public identifiers for supported output-schema dialects. The
|
|
8
|
+
* capability catalog and validator both project this list; keep URI aliases
|
|
9
|
+
* private so machines receive one stable identifier per dialect.
|
|
10
|
+
*/
|
|
11
|
+
export declare const OUTPUT_SCHEMA_DIALECTS: readonly [{
|
|
12
|
+
readonly dialect: "draft-07";
|
|
13
|
+
readonly uri: "http://json-schema.org/draft-07/schema#";
|
|
14
|
+
readonly defaultWhenOmitted: true;
|
|
15
|
+
}, {
|
|
16
|
+
readonly dialect: "draft-2020-12";
|
|
17
|
+
readonly uri: "https://json-schema.org/draft/2020-12/schema";
|
|
18
|
+
readonly defaultWhenOmitted: false;
|
|
19
|
+
}];
|
|
20
|
+
/** Resolve accepted http/https and trailing-# spellings to one dialect id. */
|
|
21
|
+
export declare function outputSchemaDialectFromUri(uri: string): OutputSchemaDialect | null;
|
|
22
|
+
//# sourceMappingURL=output-schema-dialect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schema-dialect.d.ts","sourceRoot":"","sources":["../src/output-schema-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,0CAE6C,CAAC;AAC9E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,6BAA6B,EAAE,mBAAgC,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;EAehC,CAAC;AAEJ,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAelF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** JSON Schema dialects the structured-output validator can compile. */
|
|
3
|
+
export const OutputSchemaDialect = z
|
|
4
|
+
.enum(["draft-07", "draft-2020-12"])
|
|
5
|
+
.describe("JSON Schema dialect selected for structured-output validation.");
|
|
6
|
+
export const DEFAULT_OUTPUT_SCHEMA_DIALECT = "draft-07";
|
|
7
|
+
/**
|
|
8
|
+
* Canonical public identifiers for supported output-schema dialects. The
|
|
9
|
+
* capability catalog and validator both project this list; keep URI aliases
|
|
10
|
+
* private so machines receive one stable identifier per dialect.
|
|
11
|
+
*/
|
|
12
|
+
export const OUTPUT_SCHEMA_DIALECTS = [
|
|
13
|
+
{
|
|
14
|
+
dialect: "draft-07",
|
|
15
|
+
uri: "http://json-schema.org/draft-07/schema#",
|
|
16
|
+
defaultWhenOmitted: true,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
dialect: "draft-2020-12",
|
|
20
|
+
uri: "https://json-schema.org/draft/2020-12/schema",
|
|
21
|
+
defaultWhenOmitted: false,
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
/** Resolve accepted http/https and trailing-# spellings to one dialect id. */
|
|
25
|
+
export function outputSchemaDialectFromUri(uri) {
|
|
26
|
+
const normalized = uri.replace(/#$/, "");
|
|
27
|
+
if (normalized === "http://json-schema.org/draft-07/schema" ||
|
|
28
|
+
normalized === "https://json-schema.org/draft-07/schema") {
|
|
29
|
+
return "draft-07";
|
|
30
|
+
}
|
|
31
|
+
if (normalized === "https://json-schema.org/draft/2020-12/schema" ||
|
|
32
|
+
normalized === "http://json-schema.org/draft/2020-12/schema") {
|
|
33
|
+
return "draft-2020-12";
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=output-schema-dialect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schema-dialect.js","sourceRoot":"","sources":["../src/output-schema-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wEAAwE;AACxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,IAAI,CAAC,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;KACnC,QAAQ,CAAC,gEAAgE,CAAC,CAAC;AAG9E,MAAM,CAAC,MAAM,6BAA6B,GAAwB,UAAU,CAAC;AAE7E;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC;QACE,OAAO,EAAE,UAAU;QACnB,GAAG,EAAE,yCAAyC;QAC9C,kBAAkB,EAAE,IAAI;KACzB;IACD;QACE,OAAO,EAAE,eAAe;QACxB,GAAG,EAAE,8CAA8C;QACnD,kBAAkB,EAAE,KAAK;KAC1B;CAKA,CAAC;AAEJ,8EAA8E;AAC9E,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,IACE,UAAU,KAAK,wCAAwC;QACvD,UAAU,KAAK,yCAAyC,EACxD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IACE,UAAU,KAAK,8CAA8C;QAC7D,UAAU,KAAK,6CAA6C,EAC5D,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/output-schema.d.ts
CHANGED
|
@@ -5,8 +5,31 @@
|
|
|
5
5
|
* vendor transport gets a strict (all-required + additionalProperties:false)
|
|
6
6
|
* form. Shared owner for both transforms, harness-agnostic.
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* Compile the D-16 transport ENVELOPE that wraps a caller output schema (or a
|
|
10
|
+
* bare string, or nothing) with the WorkReport half. This is the schema that
|
|
11
|
+
* rides `HarnessRunSpec.output_schema` on a work_report-capable route; the
|
|
12
|
+
* caller's ORIGINAL schema stays the conformance authority for `output` after
|
|
13
|
+
* unwrap (grounding §5 — the contract keeps both, never overwriting the
|
|
14
|
+
* caller's copy). `output` controls the no-vs-with-caller shape:
|
|
15
|
+
* - a strictified caller schema → `{ work_report, output: <schema> }`
|
|
16
|
+
* - "string" → `{ work_report, output: {type:"string"} }`
|
|
17
|
+
* (codex/cursor final_message routes with no caller schema: the markdown
|
|
18
|
+
* deliverable rides the string so the constrained final message can carry it)
|
|
19
|
+
* - null → `{ work_report }` only
|
|
20
|
+
* (claude side_tool route with no caller schema: the WorkReport rides its
|
|
21
|
+
* StructuredOutput tool while the final message stays markdown = deliverable)
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildWorkReportEnvelope(output: Record<string, unknown> | "string" | null): Record<string, unknown>;
|
|
8
24
|
/** A caller-supplied output schema the structured-output routes cannot carry. */
|
|
25
|
+
/** Every fail-closed shape refusal is caller-actionable: it must surface as
|
|
26
|
+
* the same typed `invalid_output_schema` contract the compile-failure path
|
|
27
|
+
* uses (W24 errorCode/errorStatus), never as an untyped 500. */
|
|
9
28
|
export declare class UnsupportedOutputSchemaError extends Error {
|
|
29
|
+
readonly status = 400;
|
|
30
|
+
readonly code = "invalid_output_schema";
|
|
31
|
+
readonly retryable = false;
|
|
32
|
+
readonly requiredActions: string[];
|
|
10
33
|
}
|
|
11
34
|
/**
|
|
12
35
|
* Validate a CALLER-supplied per-run output schema and return it UNCHANGED —
|
|
@@ -20,8 +43,9 @@ export declare class UnsupportedOutputSchemaError extends Error {
|
|
|
20
43
|
* LIVE-VERIFIED to reject rather than let a vendor 400 surface mid-run: the
|
|
21
44
|
* root must be an inline `type: "object"` (claude materializes --json-schema as
|
|
22
45
|
* a StructuredOutput tool whose input_schema needs a top-level type; a
|
|
23
|
-
* $ref-wrapped root 400s),
|
|
24
|
-
* while the pinned claude (<2.1.205) silently drops a
|
|
46
|
+
* $ref-wrapped root 400s), references must be resolvable local JSON Pointers,
|
|
47
|
+
* and `format` is refused while the pinned claude (<2.1.205) silently drops a
|
|
48
|
+
* format-bearing schema. Local refs are inlined in the transport-only copy.
|
|
25
49
|
*/
|
|
26
50
|
export declare function normalizeUserOutputSchema(schema: Record<string, unknown>): Record<string, unknown>;
|
|
27
51
|
/** Vendor-strict transport form of a validated output schema (all keys
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-schema.d.ts","sourceRoot":"","sources":["../src/output-schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"output-schema.d.ts","sourceRoot":"","sources":["../src/output-schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,GAAG,IAAI,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED,iFAAiF;AACjF;;iEAEiE;AACjE,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,MAAM,OAAO;IACtB,QAAQ,CAAC,IAAI,2BAA2B;IACxC,QAAQ,CAAC,SAAS,SAAS;IAC3B,QAAQ,CAAC,eAAe,WAA+C;CACxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBzB;AAED;;0FAE0F;AAC1F,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO9F;AAyUD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCnF"}
|
package/dist/output-schema.js
CHANGED
|
@@ -5,8 +5,40 @@
|
|
|
5
5
|
* vendor transport gets a strict (all-required + additionalProperties:false)
|
|
6
6
|
* form. Shared owner for both transforms, harness-agnostic.
|
|
7
7
|
*/
|
|
8
|
+
import { WORK_REPORT_TRANSPORT_SCHEMA } from "./work-report.js";
|
|
9
|
+
/**
|
|
10
|
+
* Compile the D-16 transport ENVELOPE that wraps a caller output schema (or a
|
|
11
|
+
* bare string, or nothing) with the WorkReport half. This is the schema that
|
|
12
|
+
* rides `HarnessRunSpec.output_schema` on a work_report-capable route; the
|
|
13
|
+
* caller's ORIGINAL schema stays the conformance authority for `output` after
|
|
14
|
+
* unwrap (grounding §5 — the contract keeps both, never overwriting the
|
|
15
|
+
* caller's copy). `output` controls the no-vs-with-caller shape:
|
|
16
|
+
* - a strictified caller schema → `{ work_report, output: <schema> }`
|
|
17
|
+
* - "string" → `{ work_report, output: {type:"string"} }`
|
|
18
|
+
* (codex/cursor final_message routes with no caller schema: the markdown
|
|
19
|
+
* deliverable rides the string so the constrained final message can carry it)
|
|
20
|
+
* - null → `{ work_report }` only
|
|
21
|
+
* (claude side_tool route with no caller schema: the WorkReport rides its
|
|
22
|
+
* StructuredOutput tool while the final message stays markdown = deliverable)
|
|
23
|
+
*/
|
|
24
|
+
export function buildWorkReportEnvelope(output) {
|
|
25
|
+
const properties = { work_report: WORK_REPORT_TRANSPORT_SCHEMA };
|
|
26
|
+
const required = ["work_report"];
|
|
27
|
+
if (output !== null) {
|
|
28
|
+
properties["output"] = output === "string" ? { type: "string" } : output;
|
|
29
|
+
required.push("output");
|
|
30
|
+
}
|
|
31
|
+
return { type: "object", properties, required, additionalProperties: false };
|
|
32
|
+
}
|
|
8
33
|
/** A caller-supplied output schema the structured-output routes cannot carry. */
|
|
34
|
+
/** Every fail-closed shape refusal is caller-actionable: it must surface as
|
|
35
|
+
* the same typed `invalid_output_schema` contract the compile-failure path
|
|
36
|
+
* uses (W24 errorCode/errorStatus), never as an untyped 500. */
|
|
9
37
|
export class UnsupportedOutputSchemaError extends Error {
|
|
38
|
+
status = 400;
|
|
39
|
+
code = "invalid_output_schema";
|
|
40
|
+
retryable = false;
|
|
41
|
+
requiredActions = ["fix the output schema and retry the run"];
|
|
10
42
|
}
|
|
11
43
|
/**
|
|
12
44
|
* Validate a CALLER-supplied per-run output schema and return it UNCHANGED —
|
|
@@ -20,26 +52,18 @@ export class UnsupportedOutputSchemaError extends Error {
|
|
|
20
52
|
* LIVE-VERIFIED to reject rather than let a vendor 400 surface mid-run: the
|
|
21
53
|
* root must be an inline `type: "object"` (claude materializes --json-schema as
|
|
22
54
|
* a StructuredOutput tool whose input_schema needs a top-level type; a
|
|
23
|
-
* $ref-wrapped root 400s),
|
|
24
|
-
* while the pinned claude (<2.1.205) silently drops a
|
|
55
|
+
* $ref-wrapped root 400s), references must be resolvable local JSON Pointers,
|
|
56
|
+
* and `format` is refused while the pinned claude (<2.1.205) silently drops a
|
|
57
|
+
* format-bearing schema. Local refs are inlined in the transport-only copy.
|
|
25
58
|
*/
|
|
26
59
|
export function normalizeUserOutputSchema(schema) {
|
|
27
60
|
if (schema["type"] !== "object" || typeof schema["properties"] !== "object") {
|
|
28
61
|
throw new UnsupportedOutputSchemaError('outputSchema root must be an inline object schema ({"type":"object","properties":{...}}); $ref-wrapped or non-object roots are rejected by the native structured-output routes');
|
|
29
62
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return false;
|
|
35
|
-
const obj = value;
|
|
36
|
-
if ("$ref" in obj)
|
|
37
|
-
return true;
|
|
38
|
-
return Object.values(obj).some(hasRef);
|
|
39
|
-
};
|
|
40
|
-
if (hasRef(schema)) {
|
|
41
|
-
throw new UnsupportedOutputSchemaError("outputSchema must not contain $ref (native structured-output routes do not resolve references); inline the referenced shapes");
|
|
42
|
-
}
|
|
63
|
+
// Validate every local reference now, before the run is announced. The
|
|
64
|
+
// returned copy is intentionally discarded here: the original schema stays
|
|
65
|
+
// the conformance authority and is compiled by the dialect-aware validator.
|
|
66
|
+
dereferenceLocalOutputSchema(schema);
|
|
43
67
|
const hasFormat = (value) => {
|
|
44
68
|
if (Array.isArray(value))
|
|
45
69
|
return value.some(hasFormat);
|
|
@@ -59,7 +83,280 @@ export function normalizeUserOutputSchema(schema) {
|
|
|
59
83
|
* required, additionalProperties:false, optionals nullable). Used ONLY to
|
|
60
84
|
* constrain the harness — NEVER to judge conformance (see normalizeUserOutputSchema). */
|
|
61
85
|
export function strictifyOutputSchema(schema) {
|
|
62
|
-
|
|
86
|
+
const transportSchema = strictifyForStructuredOutput(dereferenceLocalOutputSchema(schema));
|
|
87
|
+
// `$schema` chooses the engine-side conformance validator. Native provider
|
|
88
|
+
// transports accept a strict JSON Schema subset and do not need this
|
|
89
|
+
// meta-schema declaration; keep it only on the untouched caller authority.
|
|
90
|
+
delete transportSchema["$schema"];
|
|
91
|
+
return transportSchema;
|
|
92
|
+
}
|
|
93
|
+
function decodeJsonPointerToken(token) {
|
|
94
|
+
if (/~(?:[^01]|$)/.test(token)) {
|
|
95
|
+
throw new UnsupportedOutputSchemaError(`outputSchema contains an invalid local $ref JSON Pointer token: ${JSON.stringify(token)}`);
|
|
96
|
+
}
|
|
97
|
+
return token.replace(/~1/g, "/").replace(/~0/g, "~");
|
|
98
|
+
}
|
|
99
|
+
function localRefTokens(ref) {
|
|
100
|
+
if (!ref.startsWith("#")) {
|
|
101
|
+
throw new UnsupportedOutputSchemaError(`outputSchema $ref must be a local JSON Pointer fragment; external refs are unsupported: ${ref}`);
|
|
102
|
+
}
|
|
103
|
+
let pointer;
|
|
104
|
+
try {
|
|
105
|
+
// URI-fragment decoding precedes JSON Pointer tokenization (RFC 6901 §6).
|
|
106
|
+
// In particular, `%2F` is a pointer separator, not a slash inside one key.
|
|
107
|
+
pointer = decodeURIComponent(ref.slice(1));
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
throw new UnsupportedOutputSchemaError(`outputSchema contains an invalid percent-encoded local $ref: ${JSON.stringify(ref)}`);
|
|
111
|
+
}
|
|
112
|
+
if (!pointer.startsWith("/")) {
|
|
113
|
+
throw new UnsupportedOutputSchemaError(`outputSchema $ref must resolve from a local JSON Pointer beginning with '/'; anchors and root refs are unsupported: ${ref}`);
|
|
114
|
+
}
|
|
115
|
+
return pointer.slice(1).split("/").map(decodeJsonPointerToken);
|
|
116
|
+
}
|
|
117
|
+
function localRefTarget(root, ref) {
|
|
118
|
+
let current = root;
|
|
119
|
+
for (const token of localRefTokens(ref)) {
|
|
120
|
+
if (!current ||
|
|
121
|
+
typeof current !== "object" ||
|
|
122
|
+
!Object.prototype.hasOwnProperty.call(current, token)) {
|
|
123
|
+
throw new UnsupportedOutputSchemaError(`outputSchema $ref does not resolve: ${ref}`);
|
|
124
|
+
}
|
|
125
|
+
current = current[token];
|
|
126
|
+
}
|
|
127
|
+
return current;
|
|
128
|
+
}
|
|
129
|
+
const SCHEMA_MAP_KEYWORDS = new Set([
|
|
130
|
+
"properties",
|
|
131
|
+
"patternProperties",
|
|
132
|
+
"$defs",
|
|
133
|
+
"definitions",
|
|
134
|
+
"dependentSchemas",
|
|
135
|
+
]);
|
|
136
|
+
const SCHEMA_ARRAY_KEYWORDS = new Set(["allOf", "anyOf", "oneOf", "prefixItems"]);
|
|
137
|
+
const SCHEMA_VALUE_KEYWORDS = new Set([
|
|
138
|
+
"additionalProperties",
|
|
139
|
+
"unevaluatedProperties",
|
|
140
|
+
"propertyNames",
|
|
141
|
+
"contains",
|
|
142
|
+
"not",
|
|
143
|
+
"if",
|
|
144
|
+
"then",
|
|
145
|
+
"else",
|
|
146
|
+
"additionalItems",
|
|
147
|
+
"unevaluatedItems",
|
|
148
|
+
"contentSchema",
|
|
149
|
+
]);
|
|
150
|
+
const REF_ANNOTATION_KEYWORDS = new Set([
|
|
151
|
+
"title",
|
|
152
|
+
"description",
|
|
153
|
+
"$comment",
|
|
154
|
+
"default",
|
|
155
|
+
"examples",
|
|
156
|
+
"deprecated",
|
|
157
|
+
"readOnly",
|
|
158
|
+
"writeOnly",
|
|
159
|
+
]);
|
|
160
|
+
/** Fail-closed ceiling for schema nesting: deeper documents would risk a raw
|
|
161
|
+
* RangeError (stack exhaustion) in the recursive walks instead of a typed
|
|
162
|
+
* refusal. No legitimate output contract nests anywhere near this. */
|
|
163
|
+
const MAX_SCHEMA_DEPTH = 256;
|
|
164
|
+
/**
|
|
165
|
+
* Generic deep scan of the WHOLE document — every object node, not just
|
|
166
|
+
* keyword-reachable schema positions. A $ref may point at any JSON Pointer
|
|
167
|
+
* (including subtrees under ad-hoc non-keyword keys), and unreferenced
|
|
168
|
+
* non-keyword subtrees are copied verbatim into the vendor transport, so
|
|
169
|
+
* dynamic/recursive/scoped semantics anywhere in the document must fail
|
|
170
|
+
* closed at preflight. Map-keyword containers skip the key check on the map
|
|
171
|
+
* itself (property NAMES may legitimately collide with keywords) but their
|
|
172
|
+
* values are scanned. Keyword-shaped keys inside data values (default,
|
|
173
|
+
* examples) are refused too — fail closed beats a mid-run vendor 400.
|
|
174
|
+
*/
|
|
175
|
+
function assertSupportedReferenceScope(root) {
|
|
176
|
+
const scan = (value, depth) => {
|
|
177
|
+
if (typeof value === "boolean" || !value || typeof value !== "object")
|
|
178
|
+
return;
|
|
179
|
+
if (depth > MAX_SCHEMA_DEPTH) {
|
|
180
|
+
throw new UnsupportedOutputSchemaError(`outputSchema nesting exceeds ${MAX_SCHEMA_DEPTH} levels; flatten the schema`);
|
|
181
|
+
}
|
|
182
|
+
if (Array.isArray(value)) {
|
|
183
|
+
for (const item of value)
|
|
184
|
+
scan(item, depth + 1);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const schema = value;
|
|
188
|
+
for (const keyword of ["$dynamicRef", "$recursiveRef", "$dynamicAnchor", "$recursiveAnchor"]) {
|
|
189
|
+
if (keyword in schema) {
|
|
190
|
+
throw new UnsupportedOutputSchemaError(`outputSchema ${keyword} is unsupported by native structured-output transport; use an inline local $ref without dynamic or recursive scope`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (depth > 0 && typeof schema["$id"] === "string") {
|
|
194
|
+
throw new UnsupportedOutputSchemaError("outputSchema cannot carry nested $id scopes for native transport; inline the scoped schema or remove the nested $id");
|
|
195
|
+
}
|
|
196
|
+
// $ref values are validated document-wide, not just in schema positions:
|
|
197
|
+
// an external ref anywhere would otherwise ride a verbatim-copied subtree
|
|
198
|
+
// into the vendor transport instead of failing closed here.
|
|
199
|
+
const refValue = schema["$ref"];
|
|
200
|
+
if (refValue !== undefined) {
|
|
201
|
+
if (typeof refValue !== "string") {
|
|
202
|
+
throw new UnsupportedOutputSchemaError("outputSchema $ref must be a string");
|
|
203
|
+
}
|
|
204
|
+
localRefTokens(refValue);
|
|
205
|
+
}
|
|
206
|
+
for (const [key, child] of Object.entries(schema)) {
|
|
207
|
+
if (SCHEMA_MAP_KEYWORDS.has(key) &&
|
|
208
|
+
child &&
|
|
209
|
+
typeof child === "object" &&
|
|
210
|
+
!Array.isArray(child)) {
|
|
211
|
+
for (const entry of Object.values(child))
|
|
212
|
+
scan(entry, depth + 2);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
scan(child, depth + 1);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
scan(root, 0);
|
|
220
|
+
}
|
|
221
|
+
/** Fail-closed ceiling for transport dereference work: each $ref occurrence
|
|
222
|
+
* re-copies its target, so N doubling layers expand ~2^N nodes and an
|
|
223
|
+
* adversarial schema could exhaust the daemon during preflight. */
|
|
224
|
+
const MAX_DEREFERENCE_NODES = 10_000;
|
|
225
|
+
function containsRefDeep(value) {
|
|
226
|
+
if (!value || typeof value !== "object")
|
|
227
|
+
return false;
|
|
228
|
+
if (Array.isArray(value))
|
|
229
|
+
return value.some(containsRefDeep);
|
|
230
|
+
const obj = value;
|
|
231
|
+
if ("$ref" in obj)
|
|
232
|
+
return true;
|
|
233
|
+
return Object.values(obj).some(containsRefDeep);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Build the provider transport authority by inlining resolvable local refs.
|
|
237
|
+
* The caller's original schema remains untouched for Ajv conformance and
|
|
238
|
+
* hashing. Native transports never see `$ref`, `$defs`, or `definitions`.
|
|
239
|
+
*/
|
|
240
|
+
function dereferenceLocalOutputSchema(root) {
|
|
241
|
+
assertSupportedReferenceScope(root);
|
|
242
|
+
let visitedNodes = 0;
|
|
243
|
+
const walkSchema = (value, resolving, depth) => {
|
|
244
|
+
if (typeof value === "boolean")
|
|
245
|
+
return value;
|
|
246
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
247
|
+
return value;
|
|
248
|
+
if (++visitedNodes > MAX_DEREFERENCE_NODES) {
|
|
249
|
+
throw new UnsupportedOutputSchemaError("outputSchema local $ref expansion exceeds the transport budget; inline or simplify the shared definitions");
|
|
250
|
+
}
|
|
251
|
+
// The EXPANDED tree is capped too: a flat $defs chain of single-level
|
|
252
|
+
// refs keeps the source shallow while resolution recurses one frame per
|
|
253
|
+
// link — that must be a typed refusal, never stack exhaustion, and it
|
|
254
|
+
// also bounds every later walk over the transport copy (strictify).
|
|
255
|
+
if (depth > MAX_SCHEMA_DEPTH) {
|
|
256
|
+
throw new UnsupportedOutputSchemaError(`outputSchema local $ref expansion nests past ${MAX_SCHEMA_DEPTH} levels; flatten the reference chain`);
|
|
257
|
+
}
|
|
258
|
+
const source = value;
|
|
259
|
+
const refValue = source["$ref"];
|
|
260
|
+
if (refValue !== undefined) {
|
|
261
|
+
if (typeof refValue !== "string") {
|
|
262
|
+
throw new UnsupportedOutputSchemaError("outputSchema $ref must be a string");
|
|
263
|
+
}
|
|
264
|
+
if (resolving.includes(refValue)) {
|
|
265
|
+
throw new UnsupportedOutputSchemaError(`outputSchema contains a cyclic local $ref: ${[...resolving, refValue].join(" -> ")}`);
|
|
266
|
+
}
|
|
267
|
+
const unsupportedSiblings = Object.keys(source).filter((key) => key !== "$ref" && !REF_ANNOTATION_KEYWORDS.has(key));
|
|
268
|
+
if (unsupportedSiblings.length > 0) {
|
|
269
|
+
throw new UnsupportedOutputSchemaError(`outputSchema $ref siblings are unsupported for native transport (${unsupportedSiblings.join(", ")}); inline the combined constraints`);
|
|
270
|
+
}
|
|
271
|
+
const target = walkSchema(localRefTarget(root, refValue), [...resolving, refValue], depth + 1);
|
|
272
|
+
if (!target || typeof target !== "object" || Array.isArray(target)) {
|
|
273
|
+
throw new UnsupportedOutputSchemaError(`outputSchema local $ref must resolve to an object schema for native transport: ${refValue}`);
|
|
274
|
+
}
|
|
275
|
+
const annotations = Object.fromEntries(Object.entries(source).filter(([key]) => REF_ANNOTATION_KEYWORDS.has(key)));
|
|
276
|
+
return { ...target, ...annotations };
|
|
277
|
+
}
|
|
278
|
+
const output = {};
|
|
279
|
+
// defineProperty, not assignment: an own "__proto__" key from JSON.parse
|
|
280
|
+
// must round-trip as an own data property instead of hitting the
|
|
281
|
+
// Object.prototype setter (which would silently drop the key).
|
|
282
|
+
const setOwn = (key, val) => {
|
|
283
|
+
Object.defineProperty(output, key, {
|
|
284
|
+
value: val,
|
|
285
|
+
enumerable: true,
|
|
286
|
+
writable: true,
|
|
287
|
+
configurable: true,
|
|
288
|
+
});
|
|
289
|
+
};
|
|
290
|
+
for (const [key, child] of Object.entries(source)) {
|
|
291
|
+
// Definitions are source-only after all references have been inlined.
|
|
292
|
+
if (key === "$defs" || key === "definitions")
|
|
293
|
+
continue;
|
|
294
|
+
if (key === "unevaluatedProperties") {
|
|
295
|
+
const hasCrossSchemaApplicator = [
|
|
296
|
+
"allOf",
|
|
297
|
+
"anyOf",
|
|
298
|
+
"oneOf",
|
|
299
|
+
"if",
|
|
300
|
+
"then",
|
|
301
|
+
"else",
|
|
302
|
+
"dependentSchemas",
|
|
303
|
+
].some((keyword) => keyword in source);
|
|
304
|
+
if (child !== false ||
|
|
305
|
+
source["type"] !== "object" ||
|
|
306
|
+
!source["properties"] ||
|
|
307
|
+
typeof source["properties"] !== "object" ||
|
|
308
|
+
Array.isArray(source["properties"]) ||
|
|
309
|
+
hasCrossSchemaApplicator) {
|
|
310
|
+
throw new UnsupportedOutputSchemaError("outputSchema unevaluatedProperties can be transported only when false on an inline object with local properties and no cross-schema applicators; otherwise inline the evaluated properties and use additionalProperties:false");
|
|
311
|
+
}
|
|
312
|
+
// strictifyForStructuredOutput adds additionalProperties:false to this
|
|
313
|
+
// same object, which is equivalent for the proven simple shape.
|
|
314
|
+
continue;
|
|
315
|
+
}
|
|
316
|
+
if (key === "unevaluatedItems") {
|
|
317
|
+
throw new UnsupportedOutputSchemaError("outputSchema unevaluatedItems is unsupported by native structured-output transport; express the item constraints inline");
|
|
318
|
+
}
|
|
319
|
+
if (SCHEMA_MAP_KEYWORDS.has(key) &&
|
|
320
|
+
child &&
|
|
321
|
+
typeof child === "object" &&
|
|
322
|
+
!Array.isArray(child)) {
|
|
323
|
+
setOwn(key, Object.fromEntries(Object.entries(child).map(([name, schema]) => [
|
|
324
|
+
name,
|
|
325
|
+
walkSchema(schema, resolving, depth + 2),
|
|
326
|
+
])));
|
|
327
|
+
}
|
|
328
|
+
else if (SCHEMA_ARRAY_KEYWORDS.has(key) && Array.isArray(child)) {
|
|
329
|
+
setOwn(key, child.map((schema) => walkSchema(schema, resolving, depth + 2)));
|
|
330
|
+
}
|
|
331
|
+
else if (key === "items") {
|
|
332
|
+
setOwn(key, Array.isArray(child)
|
|
333
|
+
? child.map((schema) => walkSchema(schema, resolving, depth + 2))
|
|
334
|
+
: walkSchema(child, resolving, depth + 1));
|
|
335
|
+
}
|
|
336
|
+
else if (key === "dependencies" &&
|
|
337
|
+
child &&
|
|
338
|
+
typeof child === "object" &&
|
|
339
|
+
!Array.isArray(child)) {
|
|
340
|
+
setOwn(key, Object.fromEntries(Object.entries(child).map(([name, dependency]) => [
|
|
341
|
+
name,
|
|
342
|
+
Array.isArray(dependency) ? dependency : walkSchema(dependency, resolving, depth + 2),
|
|
343
|
+
])));
|
|
344
|
+
}
|
|
345
|
+
else if (SCHEMA_VALUE_KEYWORDS.has(key)) {
|
|
346
|
+
setOwn(key, walkSchema(child, resolving, depth + 1));
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
// Verbatim-copied subtrees (unknown/non-schema keys) never get their
|
|
350
|
+
// refs resolved, and the native routes 400 on any $ref they see.
|
|
351
|
+
if (containsRefDeep(child)) {
|
|
352
|
+
throw new UnsupportedOutputSchemaError(`outputSchema $ref under non-schema key ${JSON.stringify(key)} cannot be resolved for native transport; move the reference under a schema keyword or inline it`);
|
|
353
|
+
}
|
|
354
|
+
setOwn(key, child);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return output;
|
|
358
|
+
};
|
|
359
|
+
return walkSchema(root, [], 0);
|
|
63
360
|
}
|
|
64
361
|
/**
|
|
65
362
|
* Vendor STRICT structured-output mode (LIVE-VERIFIED against codex 0.137 /
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-schema.js","sourceRoot":"","sources":["../src/output-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output-schema.js","sourceRoot":"","sources":["../src/output-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/plan.d.ts
CHANGED
|
@@ -123,10 +123,10 @@ export declare const PlanReadiness: z.ZodObject<{
|
|
|
123
123
|
state: z.ZodEnum<["ready", "needs_answers", "unverified"]>;
|
|
124
124
|
questionCount: z.ZodDefault<z.ZodNumber>;
|
|
125
125
|
}, "strict", z.ZodTypeAny, {
|
|
126
|
-
state: "ready" | "
|
|
126
|
+
state: "ready" | "unverified" | "needs_answers";
|
|
127
127
|
questionCount: number;
|
|
128
128
|
}, {
|
|
129
|
-
state: "ready" | "
|
|
129
|
+
state: "ready" | "unverified" | "needs_answers";
|
|
130
130
|
questionCount?: number | undefined;
|
|
131
131
|
}>;
|
|
132
132
|
export type PlanReadiness = z.infer<typeof PlanReadiness>;
|
package/dist/problem.d.ts
CHANGED
|
@@ -12,18 +12,18 @@ export declare const ControlProblem: z.ZodObject<{
|
|
|
12
12
|
code: string;
|
|
13
13
|
message: string;
|
|
14
14
|
evidenceRefs: string[];
|
|
15
|
-
retryable: boolean;
|
|
16
15
|
context: Record<string, unknown>;
|
|
17
|
-
|
|
16
|
+
retryable: boolean;
|
|
18
17
|
requiredActions: string[];
|
|
18
|
+
fieldErrors: Record<string, string[]>;
|
|
19
19
|
}, {
|
|
20
20
|
code: string;
|
|
21
21
|
message: string;
|
|
22
22
|
retryable: boolean;
|
|
23
23
|
evidenceRefs?: string[] | undefined;
|
|
24
24
|
context?: Record<string, unknown> | undefined;
|
|
25
|
-
fieldErrors?: Record<string, string[]> | undefined;
|
|
26
25
|
requiredActions?: string[] | undefined;
|
|
26
|
+
fieldErrors?: Record<string, string[]> | undefined;
|
|
27
27
|
}>;
|
|
28
28
|
export type ControlProblem = z.infer<typeof ControlProblem>;
|
|
29
29
|
//# sourceMappingURL=problem.d.ts.map
|