Support client side reflection
- Dominant language
- Rust
- Stars
- 12.5k
- Forks
- 1.3k
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 24
Description
## Feature Request
### Crates
### Motivation
The motivation comes from a use case in LLM function calling, which returns the function name and it's arguments in a json format:
```
"tool_calls": [
{
"function": {
"arguments": "{\"namespace_path\":\"***.Resource\"}",
"name": "search_file"
},
"id": "call_KS7yzQlKaa4qBMPNwKPBS8uX",
"index": 0,
"type": "function"
}
]
```
The function `search_file` is actually a gPRC method hosted in the remote server. I'm looking for ways to make generic gRPC calls without deconstructing the arguments into the required proto message struct. Actually, I don't and shouldn't care about the structure of the request and response.
### Proposal
Should support such client side reflection or ways to make generic rpc calls.
### Alternatives
a related crate might be https://crates.io/crates/prost-reflect. I hope this can be supported by tonic natively.
Contributor guide
Assessment
This issue has not been assessed yet.