Skip to content

feat: server side support for extensions#171

Merged
guglielmo-san merged 88 commits intoa2aproject:mainfrom
guglielmo-san:implement_support_extension
Nov 17, 2025
Merged

feat: server side support for extensions#171
guglielmo-san merged 88 commits intoa2aproject:mainfrom
guglielmo-san:implement_support_extension

Conversation

@guglielmo-san
Copy link
Member

@guglielmo-san guglielmo-san commented Nov 7, 2025

Description

The code submitted in the PR introduces the support for extensions on the server side.

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)

BEGIN_COMMIT_OVERRIDE
feat: server side support for extensions
END_COMMIT_OVERRIDE

Fixes #170 🦕

@guglielmo-san guglielmo-san changed the title refactor: Implement code for extensions on server side feat: Implement code for extensions on server side Nov 14, 2025
@guglielmo-san
Copy link
Member Author

/gemini review

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 successfully implements the server-side support for extensions, which is a great new feature. The implementation is well-structured, using a decorator pattern for the sample extension which makes the logic clean and easy to follow. The changes to propagate the ServerCallContext through the request handling pipeline are done correctly. The addition of tests for the new functionality is also appreciated.

I have two main points of feedback:

  1. A potential null reference issue in the sample TimeStampExtension which could lead to runtime errors.
  2. An incorrect value in the curl command example in the new README.md, which would prevent the sample extension from working as described.

Addressing these points will improve the robustness and correctness of the sample implementation. Overall, this is a solid contribution.

guglielmo-san and others added 2 commits November 14, 2025 18:16
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@ishymko ishymko changed the title feat: Implement code for extensions on server side feat: server side support for extensions Nov 17, 2025
@guglielmo-san guglielmo-san merged commit 5ef7396 into a2aproject:main Nov 17, 2025
4 checks passed
@guglielmo-san guglielmo-san deleted the implement_support_extension branch November 17, 2025 09:13
@ishymko ishymko mentioned this pull request Nov 26, 2025
4 tasks
guglielmo-san added a commit that referenced this pull request Nov 27, 2025
…ontext is created (#200)

# Description

This PR is a fix for the bug caused by the user being deleted when the
request is containing requested extensions, as a new ServerCallContext
was created without copying the `context.user`.

Fixes #199 🦕
PRs #171, #195 

BEGIN_COMMIT_OVERRIDE
refactor: Populate the ServerCallContext user param when a new
ServerCallContext is created
END_COMMIT_OVERRIDE
guglielmo-san added a commit to guglielmo-san/a2a-js that referenced this pull request Nov 27, 2025
…ontext is created (a2aproject#200)

This PR is a fix for the bug caused by the user being deleted when the
request is containing requested extensions, as a new ServerCallContext
was created without copying the `context.user`.

Fixes a2aproject#199 🦕
PRs a2aproject#171, a2aproject#195

BEGIN_COMMIT_OVERRIDE
refactor: Populate the ServerCallContext user param when a new
ServerCallContext is created
END_COMMIT_OVERRIDE
guglielmo-san added a commit to guglielmo-san/a2a-js that referenced this pull request Nov 27, 2025
…ontext is created (a2aproject#200)

This PR is a fix for the bug caused by the user being deleted when the
request is containing requested extensions, as a new ServerCallContext
was created without copying the `context.user`.

Fixes a2aproject#199 🦕
PRs a2aproject#171, a2aproject#195

BEGIN_COMMIT_OVERRIDE
refactor: Populate the ServerCallContext user param when a new
ServerCallContext is created
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat]: Add support for extensions

2 participants