Skip to content

Conversation

@PsiACE
Copy link
Member

@PsiACE PsiACE commented Nov 20, 2025

Note

Preview / DNM.
This refactor does not correspond to any protocol update — it simply prepares the codebase for easier integration of future changes.

Summary

Bring in the 0.7.x changes, which resolve most points raised in #30.
Includes major refactoring and compatibility-preserving improvements — with special thanks to @frostming for the exceptional contributions.

Related issues

Closes #30

Testing

  • Ran make check
  • Ran make test
  • Manual verification of example flows on 0.7.x
  • Confirmed backward compatibility for existing import paths and common execution paths

Docs & screenshots

  • No user-facing docs changed yet; full docs updates will come when 0.7.x is ready for release.
  • This PR is opened as [DNM] to allow early review and tracking.

Checklist

  • Conventional Commit title (chore: for DNM aggregation work)
  • Tests cover the change or are not required (covered by existing 0.7.x refactor tests)
  • Docs/examples updated when behaviour is user-facing (planned for release)
  • Schema regenerations (make gen-all) not applicable at this stage

frostming and others added 5 commits November 19, 2025 15:10
* feat: change field names to snake case

Signed-off-by: Frost Ming <[email protected]>

* fix lint errors

Signed-off-by: Frost Ming <[email protected]>

---------

Signed-off-by: Frost Ming <[email protected]>
* feat: Auto-generate agent/client methods based on the schema

Signed-off-by: Frost Ming <[email protected]>

* fix: overrides in gen_schema.py

Signed-off-by: Frost Ming <[email protected]>

---------

Signed-off-by: Frost Ming <[email protected]>
…compatible (#37)

* feat: Expose new APIs for running agent and connect with client

Signed-off-by: Frost Ming <[email protected]>

* fix: allow camelCase for accessing

Signed-off-by: Frost Ming <[email protected]>

* fix: make the docs clearer

Signed-off-by: Frost Ming <[email protected]>

* doc: add a migration guide

Signed-off-by: Frost Ming <[email protected]>

---------

Signed-off-by: Frost Ming <[email protected]>
…ection (#38)

* fix: backward compatibility for the default behavior of AgentSideConnection

Signed-off-by: Frost Ming <[email protected]>

* fix: add 0.7 Migration Guide to navigation

Signed-off-by: Frost Ming <[email protected]>

---------

Signed-off-by: Frost Ming <[email protected]>
* fix: use classmethod for error factory methods

Signed-off-by: Frost Ming <[email protected]>

* fix: update return type hints for RequestError factory methods

Signed-off-by: Frost Ming <[email protected]>

---------

Signed-off-by: Frost Ming <[email protected]>
@frostming
Copy link
Contributor

frostming commented Nov 21, 2025

I’m considering whether we need to add a helper function that allows the agent to serve on a TCP host port pair and also make client connect to it. Is there a real use case for it? AFAIK it seems Zed only supports stdio streams.

@PsiACE
Copy link
Member Author

PsiACE commented Nov 21, 2025

I’m considering whether we need to add a helper function that allows the agent to serve on a TCP host port pair and also make client connect to it. Is there a real use case for it? AFAIK it seems Zed only supports stdio streams.

I believe this is useful. Having observed several instances of acp being utilised on SaaS platforms, I support it.

Additionally, we may need to consider how to address the changes introduced by this PR agentclientprotocol/agent-client-protocol#252

@frostming
Copy link
Contributor

Additionally, we may need to consider how to address the changes introduced by this PR agentclientprotocol/agent-client-protocol#252

Hmm, the schema generation failed on the new json schema. Not sure whether it is an issue with the schema or generator.

@PsiACE
Copy link
Member Author

PsiACE commented Nov 21, 2025

Additionally, we may need to consider how to address the changes introduced by this PR agentclientprotocol/agent-client-protocol#252

Hmm, the schema generation failed on the new json schema. Not sure whether it is an issue with the schema or generator.

Just need to add a small guard in scripts/gen_schema.py that rewrites bare booleans under anyOf/allOf/oneOf to {}/{"not":{}} so datamodel-code-generator doesn’t choke. And I only checked the main schema so far — for the "unstable schema" parts, probably need to add a few small handlers as well.

@benbrandt
Copy link
Member

@PsiACE I found a transform on my end that can rewrite these bools. will push it up

@PsiACE
Copy link
Member Author

PsiACE commented Nov 21, 2025

@PsiACE I found a transform on my end that can rewrite these bools. will push it up

Thanks, @benbrandt . That will make things a lot smoother for the Python generator.

Also, if it makes sense, I’d like to suggest adding @frostming to the Python team in the org . He’s done an exceptional amount of work — essentially a full rewrite of the SDK — and would be a great fit for long-term maintenance and reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Refactor the API to expose less types users need to import

4 participants