feat(discovery): consolidate 8 get_*_details tools into get_details#818
Conversation
Replaces get_model_details, get_source_details, get_exposure_details, get_test_details, get_seed_details, get_snapshot_details, get_macro_details, and get_semantic_model_details with a single get_details(resource_type, ...) tool that dispatches to the existing ResourceDetailsFetcher. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4417bdf to
ad7ae8e
Compare
abb7335 to
2f05adf
Compare
|
Thanks. Not a review in detail per-se for now, but comments that we'd need to clarify before getting this merged
|
|
There are also a few extra dependencies to this work
|
@b-per do you have more details on this? is this because of tool list caching? |
|
@wiggzz : taken from the OpenAI docs
I created a PR a few days ago to catch those "breaking changes". |
|
@b-per - Adding more tools while just saying these are deprecated will only expand the amount of tool context, right? It seems like deprecation solves for the use case of "the old tool is slow or has a known deficiency," not for our purpose here. Or is there something I'm missing with regards to deprecation? |
|
An, nevermind, I just saw your slack post . |
Why
The 8
get_*_detailsDiscovery tools (get_model_details,get_source_details,get_exposure_details,get_test_details,get_seed_details,get_snapshot_details,get_macro_details,get_semantic_model_details) are functionally identical — each is a thin wrapper that passes a fixedAppliedResourceTypetoResourceDetailsFetcher.fetch_details. Having 8 separate tools means 8 descriptions and schemas sent as context on every turn. Consolidating them into one tool (get_details(resource_type, ...)) cuts 7 tool entries from every request.What
get_details(resource_type, name, unique_id)that delegates to the existingResourceDetailsFetcher— theresource_typeparameter selects the dispatch path already inside the fetcherresource_typeis already encoded in theunique_idprefix (e.g.model.pkg.name), so agents can always infer it without ambiguityRefs
DI-4002 | Stacks on #817
Drafted by Claude Opus 4.8 under the direction of @theyostalservice