-
Notifications
You must be signed in to change notification settings - Fork 38
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: agentclientprotocol/python-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.11.1
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: agentclientprotocol/python-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.12.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 4 commits
- 46 files changed
- 5 contributors
Commits on Jul 30, 2026
-
feat(schema): bump ACP schema to v1.19.0 (extensible unions + lenient…
… deserialization) (#117) * feat(schema): support custom/future variants and bump ACP schema to v1.19.0 Bump schema-v1.16.0 -> schema-v1.19.0. v1.18.0 introduced an "extensible union" idiom (known const-tagged variants plus a "custom or future" catch-all member) that datamodel-codegen cannot express in a discriminated union, so it emitted broken placeholder literals. Codegen support (scripts/gen_schema.py): - _normalize_catchall_unions: strip the discriminator and collapse each catch-all member to a permissive object, so codegen emits a plain, payload-preserving union. - Inject a field_validator per catch-all that rejects the known discriminator values (recovered from the schema's `not` clause), so a malformed known variant fails instead of silently parsing as custom (mirrors the TS SDK's excludeKnownTags). - EXTENSIBLE_UNIONS map + drift assertion so changes to the union set fail loudly. - RENAME_MAP names for the 5 new variants; alias template updated so the parse adapters include the catch-all. Export the 3 new Elicitation*/Create* variants from the acp package. Add unit and behavioral regression tests. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> * feat(schema): honor x-deserialize-default-on-error and skip-invalid-items The schema declares lenient-deserialization hints that generated Pydantic models cannot express directly: x-deserialize-default-on-error (salvage a malformed field to its default) on 379 fields, and x-deserialize-skip-invalid-items (drop bad array items) on 35. Mirrors the TypeScript SDK's src/schema-deserialize.ts. - src/acp/_deserialize.py: leaf module (imports only pydantic, so schema.py can depend on it without a layering cycle) with salvage_on_error and skip_invalid_items. - gen_schema.py injects field_validator(mode="wrap") methods: `_meta` once on the shared BaseModel via check_fields=False (inherited everywhere); non-meta fields per $def grouped by fallback (None / [] / schema default); union-def common props target the member variant classes. - Generated schema.py uses an absolute import (from acp._deserialize) because gen_signature.py loads the module standalone, where relative imports cannot resolve. Add unit tests (fallback rules, spec extraction) and behavioral round-trips. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> * fix(client): reject unknown elicitation modes with a clean error Adding CreateOtherElicitationRequest to the CreateElicitationRequest union (so custom/future modes parse) made a previously-unreachable `raise TypeError` in the client router reachable: an incoming custom mode now parses, then _mode_from_create_elicitation_request hit the fallthrough and surfaced as an opaque -32603 internal error (plus a logged traceback). Raise RequestError.invalid_params instead, so a client that can't render an unknown mode declines with a clean -32602. Adds a regression test. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> * fix(schema): terminate generated JSON with a trailing newline pretty-format-json (pre-commit) rewrites schema/schema.json and schema/meta.json because gen_all wrote them via json.dumps(indent=2) with no trailing newline. Content is otherwise identical to the hook's output, so add the newline in download_schema (keeping regeneration idempotent) and to the committed files. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai> --------- Co-authored-by: Mistral Vibe <vibe@mistral.ai>
Configuration menu - View commit details
-
Copy full SHA for e0560ba - Browse repository at this point
Copy the full SHA e0560baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ddfa38 - Browse repository at this point
Copy the full SHA 3ddfa38View commit details -
chore(deps-dev): bump datamodel-code-generator (#123)
Bumps the uv group with 1 update in the / directory: [datamodel-code-generator](https://github.com/koxudaxi/datamodel-code-generator). Updates `datamodel-code-generator` from 0.35.0 to 0.64.0 - [Release notes](https://github.com/koxudaxi/datamodel-code-generator/releases) - [Changelog](https://github.com/koxudaxi/datamodel-code-generator/blob/main/CHANGELOG.md) - [Commits](koxudaxi/datamodel-code-generator@0.35.0...0.64.0) --- updated-dependencies: - dependency-name: datamodel-code-generator dependency-version: 0.64.0 dependency-type: direct:development dependency-group: uv ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 34477bf - Browse repository at this point
Copy the full SHA 34477bfView commit details
Commits on Aug 1, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 750c6ee - Browse repository at this point
Copy the full SHA 750c6eeView commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.11.1...0.12.0