-
Notifications
You must be signed in to change notification settings - Fork 7
[DNM] refactor: significant pythonic restructuring preparing 0.7.x #39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
* 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]>
|
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 |
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. |
|
@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. |
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.xchanges, 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
make checkmake test0.7.xDocs & screenshots
0.7.xis ready for release.Checklist
chore:for DNM aggregation work)0.7.xrefactor tests)make gen-all) not applicable at this stage