{{ message }}
fix: OpenAPI Converter was not parsing examples for request parameters#88
Merged
h3xxit merged 24 commits intoJun 24, 2026
Conversation
…tool-calling-protocol/dev Add docs and update http to 1.0.2
…tool-calling-protocol/dev Fix response json parsing when content type is wrong
…om universal-tool-calling-protocol/dev Update CLI
…tool-calling-protocol/dev Update docs
…tool-calling-protocol/dev Plugin updates
…tool-calling-protocol/dev Add WebSocket transport implementation for real-time communication …
…tool-calling-protocol/dev Socket and GraphQL Plugins
…tool-calling-protocol/dev Update UTCP to 1.1
…tool-calling-protocol/dev Update all plugins to 1.1
…tool-calling-protocol/dev Fix some issues
…tool-calling-protocol/dev Fix bug in mcp plugin
…tool-calling-protocol/dev Dev
…tool-calling-protocol/dev fix(cli): block command injection and env leak in CLI protocol
Contributor
There was a problem hiding this comment.
2 issues found across 2 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
…es on json_schema
Contributor
Author
Contributor
Author
|
@h3xxit hey there, any movement on this? |
Member
|
Hi, I will try to review it today. Sorry for the wait! |
…misses-examples-on-params
…misses-examples-on-params
Issue 2 — replace the blind cast on http_method with an explicit guard. OpenAPI allows operations (options/head/trace) that HttpCallTemplate's Literal type rejects; these are now skipped with a warning instead of crashing conversion via a Pydantic ValidationError. A shared SUPPORTED_HTTP_METHODS constant backs both the operation-loop filter and the per-operation check, so the cast is now truthful rather than assumed. Issue 3 — make example handling consistent across params, request bodies, and responses. Examples that appear at the schema level (not just the media type / parameter object) are now collected via _merge_examples and surfaced in the normalized JSON Schema 'examples' keyword, and the raw OpenAPI 'example'/'examples' keys are stripped before the schema is spread onto the property so they no longer leak through as untyped extra fields. This lines up with the explicit examples field added to JsonSchema in core (universal-tool-calling-protocol#91). Adds tests for unsupported-method skipping and schema-level example normalization. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
h3xxit
added a commit
to shane-rand/python-utcp
that referenced
this pull request
Jun 24, 2026
JsonSchema previously accepted `examples` only via `extra="allow"`, leaving it untyped, undocumented, and invisible to type checkers. Declare it as Optional[List[JsonType]] so the JSON Schema `examples` keyword is a first-class, validated field. Supports PR universal-tool-calling-protocol#88 (OpenAPI converter examples parsing), which currently relies on the extra-field fallback. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Member
|
@shane-rand Thank you very much for the contribution! Adding the example field generally to the JsonSchema makes a lot of sense, so I also made this change in the core sdks data model. If you would like to be added as a contributor on our about us page, please let me know what name and what links you want added https://www.utcp.io/about/about-us For easier communication feel free to also join our discord server https://discord.gg/Y6Ycyz8nJR |
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Fixes the parsing of OpenAPI Specifications to include
exampleorexamples. Previously, they were being silently dropped. https://spec.openapis.org/oas/v3.0.3#fixed-fields-9Fixes some Type Checking/Linting type errors
Summary by cubic
Fixes OpenAPI example handling and normalizes them into JSON Schema
examplesfor parameters, request bodies, and responses. Also validates HTTP methods and skips unsupported ones to prevent crashes.example/examplesat parameter, media type, and schema levels; resolve$ref, de-duplicate, ignoreexternalValue; normalize into JSON Schemaexamplesand strip rawexample/exampleskeys.OPTIONS,HEAD,TRACE) instead of erroring.Written for commit aa0c6f8. Summary will update on new commits.