honcho/docs
Alexei Vedernikov d815c8b8dc
fix(llm): support per-request provider timeouts (#832)
* fix(llm): support per-request provider timeouts

* fix(llm): convert Gemini timeout to milliseconds

* fix(llm): validate Gemini HTTP options

* test(llm): type Anthropic stream context args

* test(llm): live per-request timeout coverage for all providers

Two live checks per provider: a generous timeout asserted at the SDK
call boundary, and a tight timeout that must abort well under the 600s
client default. Gemini's async transport can be aiohttp, so its tight
timeout surfaces as asyncio.TimeoutError rather than httpx.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* style(tests): drop extra blank line in anthropic backend test

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(llm): validate provider_params.timeout at config load

Move the timeout coercion into src.config as coerce_provider_timeout and
run it from a field validator on ModelOverrideSettings.provider_params, so
a bad value in config.toml/env fails at startup with the exact config path
instead of surfacing per-request as a retried 500. Good values normalize
to float seconds at load. The per-request guard in src.llm.backend now
delegates to the same coercion (wrapping ValueError in ValidationException)
and continues to cover extra_params passed programmatically.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: document provider_params.timeout load-time validation and gotchas

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(llm): address review nits on timeout plumbing

Apply eisene's review feedback:
- Rename PROVIDER_TIMEOUT_ERROR → PROVIDER_TIMEOUT_ERROR_TEXT
- Move request_timeout_from_extra_params from backend.py (pure
  dataclasses) to request_builder.py (request assembly)
- Add comment explaining Gemini's ms timeout conversion
- Generalize _normalize_extra_params with _strip_none_params helper

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Aakash Kattelu <aakash@plasticlabs.ai>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 12:43:00 -04:00
..
changelog chore(docs): SDK Updates (#867) 2026-07-02 13:00:14 -04:00
images chore(docs): Add detailed system diagram to docs 2026-07-01 16:55:15 -04:00
logo color theme and broken link fix (#213) 2025-09-24 16:06:54 -04:00
snippets cli docs (#589) 2026-04-20 23:25:12 -04:00
v1 feat: retry on more httpx exceptions (#467) 2026-04-03 12:20:53 -04:00
v2 Connection Exponential Backoff (#758) 2026-06-01 12:57:07 -04:00
v3 fix(llm): support per-request provider timeouts (#832) 2026-08-04 12:43:00 -04:00
README.md Add Pre-commit Hooks (#165) 2025-07-22 15:17:53 -04:00
bun.lock v3.0.6 Release Candidate (#550) 2026-04-10 13:16:42 -04:00
docs.json feat(dialectic): optional structured outputs with limited schema for Dialectic calls (#896) 2026-07-20 18:46:49 -04:00
favicon.svg [0.0.7] — 2024-04-01 (#50) 2024-04-01 10:58:42 -07:00
package.json v3.0.6 Release Candidate (#550) 2026-04-10 13:16:42 -04:00

README.md

Honcho Docs

These docs are built using Next.js via mintlify.

Setting Up Honcho's Docs Locally

  1. Clone the repository:
git clone git@github.com:plastic-labs/honcho.git
  1. Navigate into the docs folder:
cd honcho/docs/

The docs folder contains the markdown files that make up the documentation. The majority of the files are in the pages directory. Some notable files in this folder include:

  1. Verify that you have Node.js and npm installed in your system. You can check by running:
node --version
npm --version
  1. If not installed, download Node.js and npm from the respective official websites.

  2. Once you have Node.js and npm running, proceed to install pnpm - another package manager that helps to manage project dependencies:

npm install -g pnpm
  1. Install the project dependencies using pnpm:
pnpm i
  1. After the successful installation of the project dependencies, start the local server:
pnpm dev

Now, you should be able to view the docs on your local environment by visiting http://localhost:3000. You can explore the different markdown files and make changes as you see fit.