Skip to content

Allow default extra headers on Manager learning calls - #158

Open
drf7 wants to merge 1 commit into
mainfrom
forward-learning-extra-headers
Open

drf7 wants to merge 1 commit into
mainfrom
forward-learning-extra-headers

Conversation

@drf7

@drf7 drf7 commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds an optional extra_headers argument to Manager, Manager.from_config and engine.get_state. These headers are sent on every learning (NUA) call made through the manager (query_predict, rephrase, generate_stream, rerank, tokens_predict, remi, execute_*).

Merge order in _build_extra_headers: base headers (x-show-consumption, x-origin, tracking) → manager-level extra_headers → per-call extra_headers (per-call wins).

Motivation

The authorizer now injects x-allow-access-external-models, which must reach the learning service on every call. Agents call manager.execute_* without per-call headers, so the per-activation Manager built by get_state needs to carry request-scoped headers. Consumers (e.g. nucliadb_agentic_api's session manager) can now pass them via get_state(..., extra_headers=...).

Tests

  • Manager-level headers are sent (with tracking and on remi)
  • Per-call headers override manager-level ones
  • from_config / get_state pass extra_headers through

Add an optional extra_headers argument to Manager, Manager.from_config and
engine.get_state. These headers are sent on every learning (NUA) call made
through the manager, with per-call extra_headers taking precedence. This lets
callers propagate request-scoped headers such as
x-allow-access-external-models to all agents' learning calls.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant