Commit graph

3 commits

Author SHA1 Message Date
Szymon Nastaly
972f5097c2
feat(llm): extra request-body fields via LLM_EXTRA_BODY (#1495)
Some checks failed
CI / python (push) Has been cancelled
CI / tui (push) Has been cancelled
CI / viewer (push) Has been cancelled
CI / package (push) Has been cancelled
CI / workflows (push) Has been cancelled
CI / ci-passed (push) Has been cancelled
* feat(llm): extra request-body fields via LLM_EXTRA_BODY

Some provider parameters, such as OpenAI's service_tier and
safety_identifier, are read only from the request body, so
LLM_EXTRA_HEADERS can't set them. LLM_EXTRA_BODY merges a JSON object
into the body of every request to the configured model, on both routing
paths. A dedicated dedupe model gets its own DEDUPE_LLM_EXTRA_BODY
instead, as with headers.

* fix(config): decode saved JSON-object settings when loading

persist_current() saves env values verbatim, so LLM_EXTRA_HEADERS,
LLM_EXTRA_BODY and their DEDUPE_ variants land in cli-config.json as JSON
text. The loader passed that text unchanged to the dict fields, so a later
launch without the env var failed validation. Decode saved strings for
dict fields, as pydantic-settings does for env vars.

---------

Co-authored-by: Szymon Nastaly <szymon.nastaly@autoform.ch>
2026-10-15 16:37:51 -04:00
devin-ai-integration[bot]
d4e58b2cd0
fix(llm): pass LLM_EXTRA_HEADERS through ModelSettings so they reach the agent loop (#937) 2026-07-29 19:38:06 -07:00
devin-ai-integration[bot]
66a283b71b
feat(context): model-aware conversation compaction for long scans (#881) 2026-07-26 14:39:41 -07:00