kaxil opened a new pull request, #73938:
URL: https://github.com/apache/airflow/pull/73938

   Addresses @Lee-W's review on #73897, which merged before the comments were 
in.
   
   A toolset subclass had to implement `AirflowToolset._execute_tool`: the 
method every toolset depends on had a private name, which says it is free to 
change 
([comment](https://github.com/apache/airflow/pull/73897#discussion_r4141252191)).
 It is now the public `execute_tool`, and `ctx` and `tool` are keyword-only so 
that arguments can be added later without breaking subclasses 
([comment](https://github.com/apache/airflow/pull/73897#discussion_r4141190737)).
   
   The keyword-only suggestion was made on `call_tool`, but that signature has 
to stay as pydantic-ai defines it: pydantic-ai calls `call_tool(name, 
tool_args, ctx, tool)` positionally, in `WrapperToolset`, `CombinedToolset` and 
its durable-execution toolsets. So it applies to `execute_tool`, the method 
subclasses write, instead.
   
   Renames:
   
   | Before | After | Why |
   |---|---|---|
   | `with_masking` | `ensure_masked` | A toolset that already masks its output 
comes back unchanged. |
   | `_masked` | `_mask_call` | `_mask` is already the recursive walker in 
`utils/masking.py`. |
   | `_stripped` | `_mask_attributes` | It read too much like `_strip`, which 
calls it. |
   | `MCPToolset._server_once_resolved` | `_resolve_server` | |
   
   `_json_default` keeps its name, since it is what `dumps_masked` passes as 
`json.dumps(default=...)`.
   
   None of these names has been in a release yet, so nothing needs deprecating.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to