Problem
timeout and max_retries are configured once at client initialization and apply globally to every request. There is no way to override them for individual calls. A developer querying a complex document may need a 60s timeout for that one call without affecting all other requests.
Proposed Behaviour
Each method accepts optional parameters to override the global defaults for that call only.
# Long timeout for one specific call, global default unchanged
response = await client.query("...", timeout=60.0, max_retries=0)
- Overrides apply to that single call only
- Supported parameters:
timeout, max_retries
- Global client config is never mutated
Files to Modify
| File |
Change |
src/brainus_ai/client.py |
Add optional timeout and max_retries kwargs to query(), get_usage(), get_plans() |
Acceptance Criteria
Problem
timeoutandmax_retriesare configured once at client initialization and apply globally to every request. There is no way to override them for individual calls. A developer querying a complex document may need a 60s timeout for that one call without affecting all other requests.Proposed Behaviour
Each method accepts optional parameters to override the global defaults for that call only.
timeout,max_retriesFiles to Modify
src/brainus_ai/client.pytimeoutandmax_retrieskwargs toquery(),get_usage(),get_plans()Acceptance Criteria
query()acceptstimeoutandmax_retriesoverridesget_usage()andget_plans()accept the same overrides