From c45e104b882c41fad53ed4ca0ecec70bb31bf3a4 Mon Sep 17 00:00:00 2001 From: Twisha Bansal Date: Thu, 12 Jun 2025 13:12:27 +0530 Subject: [PATCH 1/3] fix: allow auth token getter override over client header --- packages/toolbox-core/src/toolbox_core/tool.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/toolbox-core/src/toolbox_core/tool.py b/packages/toolbox-core/src/toolbox_core/tool.py index 1545ded4..1d3c25e7 100644 --- a/packages/toolbox-core/src/toolbox_core/tool.py +++ b/packages/toolbox-core/src/toolbox_core/tool.py @@ -276,12 +276,14 @@ async def __call__(self, *args: Any, **kwargs: Any) -> str: # create headers for auth services headers = {} + for client_header_name, client_header_val in self.__client_headers.items(): + headers[client_header_name] = await resolve_value(client_header_val) + + # In case of conflict, override the client header by the auth token getter for auth_service, token_getter in self.__auth_service_token_getters.items(): headers[self.__get_auth_header(auth_service)] = await resolve_value( token_getter ) - for client_header_name, client_header_val in self.__client_headers.items(): - headers[client_header_name] = await resolve_value(client_header_val) async with self.__session.post( self.__url, From 0e14e4bc558f665e0868ae1c75318909236eba05 Mon Sep 17 00:00:00 2001 From: Twisha Bansal <58483338+twishabansal@users.noreply.github.com> Date: Fri, 13 Jun 2025 11:17:09 +0530 Subject: [PATCH 2/3] Update README.md --- packages/toolbox-core/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/toolbox-core/README.md b/packages/toolbox-core/README.md index c4461df3..72b847bd 100644 --- a/packages/toolbox-core/README.md +++ b/packages/toolbox-core/README.md @@ -463,6 +463,9 @@ async with ToolboxClient("http://127.0.0.1:5000") as toolbox: print(result) ``` +> [!NOTE] +> An auth token getter for a specific name (e.g., "GOOGLE_ID") will replace any client header with the same name followed by "_token" (e.g., "GOOGLE_ID_token"). + ## Binding Parameter Values The SDK allows you to pre-set, or "bind", values for specific tool parameters From 785af7cc830f03723eb45d9e7de081949c3e6f0b Mon Sep 17 00:00:00 2001 From: Twisha Bansal Date: Fri, 13 Jun 2025 11:19:26 +0530 Subject: [PATCH 3/3] lint --- packages/toolbox-core/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/toolbox-core/README.md b/packages/toolbox-core/README.md index 72b847bd..0c440d91 100644 --- a/packages/toolbox-core/README.md +++ b/packages/toolbox-core/README.md @@ -464,7 +464,9 @@ async with ToolboxClient("http://127.0.0.1:5000") as toolbox: ``` > [!NOTE] -> An auth token getter for a specific name (e.g., "GOOGLE_ID") will replace any client header with the same name followed by "_token" (e.g., "GOOGLE_ID_token"). +> An auth token getter for a specific name (e.g., "GOOGLE_ID") will replace any +> client header with the same name followed by "_token" (e.g., +> "GOOGLE_ID_token"). ## Binding Parameter Values