Add advisors module: custom logging, PII redaction and token-budget advisors

Tests pin down chain ordering (including ties), BaseAdvisor stream behaviour, redaction order versus memory and logging, the tool loop, and how a refusal surfaces on calls, streams and over HTTP.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Ja4jkzrbQ4LQZBNrb5mkZE
This commit is contained in:
Claude
2026-09-24 16:21:19 +00:00
parent 823f6fac5b
commit 527f4ba7ff
59 changed files with 2805 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
# Where a refusal surfaces
an advisor that throws IllegalStateException("refused"), model calls counted afterwards
plain advisor, call failed while running it with IllegalStateException: refused
plain advisor, stream, throws eagerly failed while running it with IllegalStateException: refused
plain advisor, stream, error inside Flux.defer failed while running it with IllegalStateException: refused
BaseAdvisor.before, call failed while running it with IllegalStateException: refused
BaseAdvisor.before, stream failed while running it with IllegalStateException: Stream processing failed (cause: IllegalStateException: refused)
model calls: 0