Skip to content

Conversation

@HasmH
Copy link
Contributor

@HasmH HasmH commented Aug 21, 2025

  • client is missing standard rpc methods defined in a2a protocol:
  • tasks/pushNotificationConfig/list
  • tasks/pushNotificationConfig/delete
  • additionally, exposing generic method to support custom rpc methods

Description

Thank you for opening a Pull Request!
Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Follow the CONTRIBUTING Guide.
  • Make your Pull Request title in the https://www.conventionalcommits.org/ specification.
    • Important Prefixes for release-please:
      • fix: which represents bug fixes, and correlates to a SemVer patch.
      • feat: represents a new feature, and correlates to a SemVer minor.
      • feat!:, or fix!:, refactor!:, etc., which represent a breaking change (indicated by the !) and will result in a SemVer major.
  • Ensure the tests and linter pass
  • Appropriate docs were updated (if necessary)

Fixes #118 🦕

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @HasmH, 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 client by introducing two new RPC methods for managing task push notification configurations. These additions, listTaskPushNotificationConfig and deleteTaskPushNotificationConfig, bring the client closer to full compliance with the a2a protocol specification, allowing users to programmatically list and remove push notification settings for their tasks.

Highlights

  • New RPC Methods for Task Push Notification Configuration: Two new RPC methods, listTaskPushNotificationConfig and deleteTaskPushNotificationConfig, have been added to the A2AClient class. These methods facilitate listing and deleting push notification configurations for tasks, aligning the client with the a2a protocol specification.
  • Introduction of New Type Imports: The necessary types, including ListTaskPushNotificationConfigParams, ListTaskPushNotificationConfigResponse, DeleteTaskPushNotificationConfigResponse, and DeleteTaskPushNotificationConfigParams, have been imported from ../types.js to support the new RPC methods.
Using Gemini Code Assist

The 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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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 adds two new RPC methods, listTaskPushNotificationConfig and deleteTaskPushNotificationConfig, to the A2AClient. The implementation is straightforward and follows the existing patterns in the client. I've made one suggestion to improve the accuracy of a JSDoc comment for better maintainability.

A key concern is the lack of tests for the new functionality. While the PR description indicates that tests pass, no new tests for the added methods have been included. It's crucial to add unit tests for listTaskPushNotificationConfig and deleteTaskPushNotificationConfig to ensure they behave as expected and to prevent future regressions. Please add tests for these new methods.

@HasmH HasmH changed the title feat: add list and delete task push notification config rpc method feat: add list, delete task push notification config rpc method and custom rpc methods for extensions Aug 21, 2025
@HasmH HasmH changed the title feat: add list, delete task push notification config rpc method and custom rpc methods for extensions feat: add list and delete task push notification config rpc method and custom rpc methods for extensions Aug 21, 2025
@HasmH
Copy link
Contributor Author

HasmH commented Sep 1, 2025

@swapydapy Just bumping this, could I get a review? In need of this.

@HasmH HasmH force-pushed the feat/list-and-delete-rpc-method branch from 8127747 to bf8cfe2 Compare September 1, 2025 01:17
Copy link
Contributor

@swapydapy swapydapy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small comments regarding the tests. Once you fix them ,we can merge this. Thank you.

@HasmH HasmH force-pushed the feat/list-and-delete-rpc-method branch from 0ea667c to 00bec57 Compare September 4, 2025 00:06
… client

feat: add generic method to support custom extensions

feat: address gemini jsdoc comment

chore: add unit test for new methods

fix: add unit test for custom rpc method and remove error cases for list and del
@HasmH HasmH force-pushed the feat/list-and-delete-rpc-method branch from 00bec57 to f173787 Compare September 4, 2025 00:10
@HasmH
Copy link
Contributor Author

HasmH commented Sep 4, 2025

thanks @swapydapy ive addressed your comments, let me know how it goes

@swapydapy swapydapy merged commit 26c4e7d into a2aproject:main Sep 4, 2025
2 checks passed
swapydapy pushed a commit that referenced this pull request Sep 4, 2025
🤖 I have created a release *beep* *boop*
---


## [0.3.4](v0.3.3...v0.3.4)
(2025-09-04)


### Features

* add list and delete task push notification config rpc method and
custom rpc methods for extensions
([#119](#119))
([26c4e7d](26c4e7d))
* Added push notifications support
([#108](#108))
([45a211a](45a211a))


### Miscellaneous Chores

* release 0.3.4
([#128](#128))
([41791d9](41791d9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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]: Custom RPC Methods for A2A Extensions

2 participants