Skip to content

Commit 2f6bb31

Browse files
CCR 1
Address Copilot review feedback on the agent orchestrations PR (SDK side): - Document the restricted structured-output schema subset at the contract boundary on OrchestrationJsonSchema: only a conservative keyword set is honored (type/required/enum/const/properties/items/anyOf/oneOf/allOf); unsupported constraints (pattern, minLength, format, additionalProperties, numeric ranges, boolean schemas) are ignored, and oneOf is treated like anyOf. It is a best-effort accept-or-retry guard, not full JSON Schema. - Regenerate rpc.ts from the updated runtime contract, dropping the removed orchestration.runNested method and OrchestrationRunNestedRequest (nesting is forbidden; the context-level rejection is covered by orchestration.test.ts).
1 parent e290d1b commit 2f6bb31

2 files changed

Lines changed: 14 additions & 36 deletions

File tree

nodejs/src/generated/rpc.ts

Lines changed: 2 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

nodejs/src/orchestration.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,18 @@ declare const orchestrationHandleBrand: unique symbol;
1111
/**
1212
* Conservative JSON shape language accepted for structured orchestration agent output.
1313
*
14-
* Supports `type`, `required`, `enum`, `const`, recursive `properties`/`items`,
15-
* and `anyOf`/`oneOf`/`allOf`. Other JSON Schema keywords are ignored.
14+
* This is a best-effort structural guard used to decide whether a subagent's
15+
* structured output should be accepted or retried — **not** a full JSON Schema
16+
* validator. Only these keywords are honored: `type`, `required`, `enum`,
17+
* `const`, recursive `properties`/`items`, and `anyOf`/`oneOf`/`allOf`.
18+
*
19+
* Everything else is **ignored, not enforced**. In particular, string
20+
* constraints (`pattern`, `minLength`, `maxLength`, `format`), numeric ranges
21+
* (`minimum`, `maximum`), `additionalProperties`, and boolean (`true`/`false`)
22+
* schemas do not reject non-conforming output. `oneOf` is treated like `anyOf`
23+
* (at least one branch must match) rather than strict exactly-one. Author
24+
* schemas within this subset; do not rely on unsupported constraints for
25+
* correctness.
1626
*
1727
* @experimental Part of the experimental Agent Orchestrations surface and may
1828
* change or be removed in future SDK or CLI releases.

0 commit comments

Comments
 (0)