feat(schema): add backend-specific tool options#9665
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the mise and mise-task JSON schemas to provide specialized validation for various tool backends using patternProperties. It also updates E2E tests with comprehensive examples and new failure cases. Feedback suggests reducing schema redundancy by centralizing platform-specific property definitions into reusable components.
Greptile SummaryThis PR adds backend-specific JSON Schema branches to
Confidence Score: 5/5Safe to merge — purely additive schema changes with comprehensive test coverage and no runtime logic touched. All changes are JSON Schema definitions and an e2e test script. The patternProperties / additionalProperties split is semantically correct, unevaluatedProperties usage correctly traverses allOf chains, and the tombi e2e suite validates both positive and negative cases for every new backend pattern. No files require special attention beyond optionally verifying the filter_bins type for release backends against the actual Rust implementation. Reviews (4): Last reviewed commit: "refactor(schema): reuse platform alias s..." | Re-trigger Greptile |
|
Earlier in this run, The current head now has This comment was generated by an AI coding assistant. |
|
Addressed the AI review suggestion about Validated again locally with:
This comment was generated by an AI coding assistant. |
|
This PR only changes generated JSON schema files and schema-validation e2e fixtures, with no CLI runtime path changes, so I am treating this benchmark failure as unrelated to the schema change. This comment was generated by an AI coding assistant. |
|
Too much work. This should be helpful in the IDE for completions, but it's hard to support tools in the registry, so I don't think this is worth for this schema changes. |
Stacked on #9649.
Note: this branch is based on #9649. GitHub would not let me open the PR with
codex/schema-tool-optionsas the base because that branch only exists on the fork, and I do not have permission to create the matching base branch onjdx/mise.Summary
[tools]keys usingpatternPropertiesaqua:,cargo:,conda:,forgejo:,github:,gitlab:,go:,http:,npm:,pipx:,s3:,spm:, andubi:python,rust, anddotnet[tool_alias],vfox, andasdfplugin tools on the generic fallback because standalone JSON Schema cannot resolve those to a concrete backendValidation
mise run render:schemajq empty schema/mise.json schema/mise-task.jsongit diff --checkmise run test:e2e e2e/config/test_schema_tombiThis PR was generated by an AI coding assistant.