• Stefy Lanza (nextime / spora )'s avatar
    text: fix streaming tool-call spill; gate native markup unconditionally; v0.1.2 · 41093571
    Stefy Lanza (nextime / spora ) authored
    The streaming content gate only ran when the request carried a tools array. But
    the AISBF relay can drop tools (as it does max_tokens), so a gemma model still
    emitting <|tool_call>call:NAME{…} from its system prompt had that markup streamed
    straight to the client as content — the spill that poisoned history and fed the
    tool-call loop.
    
    _gate_tool_content now:
      * ALWAYS withholds the unambiguous native special-token markers (<|tool_call>,
        <|tool_response>, DeepSeek DSML) and their cross-chunk partials, even with no
        tools declared;
      * gates the ambiguous <tool>…</tool> XML form only when tools are present;
      * gates the gemma-4 call:NAME{…} form by the per-model gemma_tool_parser mode
        (off: never; full: always; restricted: only declared tool names), so legit
        call:foo{…} prose/code is streamed instead of withheld+dropped.
    The gate is now invoked for every stream (not just tools-present), and the final
    flush likewise, with the mode/tool context resolved once per request.
    
    Bump version to 0.1.2.
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01RdMufYvtTbtGDWsiZVoXce
    41093571
Name
Last commit
Last update
..
admin Loading commit data...
api Loading commit data...
backends Loading commit data...
broker Loading commit data...
frontproxy Loading commit data...
models Loading commit data...
openai Loading commit data...
pydantic Loading commit data...
queue Loading commit data...
tasks Loading commit data...
__init__.py Loading commit data...
cli.py Loading commit data...
config.py Loading commit data...
main.py Loading commit data...
platform_paths.py Loading commit data...
system_app.py Loading commit data...