-
Notifications
You must be signed in to change notification settings - Fork 117
feat: (sdk/python): add passthrough parameter (extends langgenius/dify#27078) #234
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
…ility\n\n- Add Session.passthrough and carry through Readers (stdio/TCP/serverless)\n- Extend PluginInStream to include passthrough field\n- Wire passthrough through IOServer and Plugin into Session\n- Pass session.passthrough to Tool.invoke in PluginExecutor\n- Update Tool.invoke to accept optional passthrough, fallback on TypeError
Summary of ChangesHello @ywqwancbx, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the Python plugin SDK by integrating a Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request successfully adds a passthrough parameter to the Python plugin SDK, enabling data to be passed down to the tool invocation layer. The changes are well-implemented, primarily involving the propagation of the new parameter through various method calls and constructors. My review includes one suggestion to improve the robustness of the backward compatibility mechanism in Tool.invoke to prevent unintended error suppression.
| except TypeError: | ||
| return self._invoke(tool_parameters) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The broad except TypeError is a bit risky as it could catch any TypeError from within the _invoke implementation, not just the one for an unexpected keyword argument. This could hide bugs in the tool's code.
To make this safer, you can inspect the TypeError to ensure it's the specific one you want to handle for backward compatibility, and re-raise any others.
| except TypeError: | |
| return self._invoke(tool_parameters) | |
| except TypeError as e: | |
| if "unexpected keyword argument" in str(e): | |
| return self._invoke(tool_parameters) | |
| raise |
|
Please accept my sincere apologies for the incorrect closure of your pull request due to a technical issue in the trigger test. This was an operational mistake on our side, and I deeply regret any inconvenience this may have caused. Your PR has been reopened accordingly. Thank you for your understanding. @ywqwancbx |
SDK, aligning with EAM-specific behavior so downstream users don’t need a custom SDK.