Skip to content

Commit e42561d

Browse files
authored
feat!: Provide clearer schema for _meta properties (#290)
This defines the `_meta` properties in the schema as intended and used, which is always an object of key/value pairs, with string keys and arbitrary values. While this is how everyone is using them, it became clear in code generation that the types weren't quite matching up to the expected usage. This should alleviate some extra checks on the implementor side.
1 parent 21a8206 commit e42561d

13 files changed

Lines changed: 3223 additions & 2805 deletions

File tree

docs/protocol/schema.mdx

Lines changed: 894 additions & 868 deletions
Large diffs are not rendered by default.

docs/protocol/schema.unstable.mdx

Lines changed: 964 additions & 933 deletions
Large diffs are not rendered by default.

package-lock.json

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

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
"docs": "cd docs && npx mint dev"
3333
},
3434
"devDependencies": {
35-
"prettier": "^3.3.3",
36-
"tsx": "^4.20.5"
35+
"prettier": "^3.7.3"
3736
}
3837
}

rust/agent.rs

Lines changed: 385 additions & 133 deletions
Large diffs are not rendered by default.

rust/bin/generate.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@ enum AcpTypes {
3131

3232
fn main() {
3333
let mut settings = SchemaSettings::draft2020_12();
34+
let mut bool_schemas = ReplaceBoolSchemas::default();
35+
bool_schemas.skip_additional_properties = true;
3436
settings = settings
3537
.with_transform(RemoveRefSiblings::default())
36-
.with_transform(ReplaceBoolSchemas::default());
38+
.with_transform(bool_schemas);
3739

3840
let generator = settings.into_generator();
3941
let mut schema = generator.into_root_schema_for::<AcpTypes>();

0 commit comments

Comments
 (0)