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]
