2 Commits

  • Python: Fix spurious Magentic custom manager warning (#6261)
    * Fix magentic manager warning
    
    * Use typing_extensions.Sentinel for _MISSING sentinel value
    
    Replace the bare object() sentinel with typing_extensions.Sentinel per
    PEP 661 (now final). Sentinel provides a proper name and repr
    ('<_MISSING>') and is the idiomatic approach going forward.
    
    Refs #4306
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * fix: correct Sentinel type annotation for max_stall_count param (#6261)
    
    Use int | Sentinel for max_stall_count parameter type annotation instead
    of int with cast(Any, _MISSING) to properly express that the parameter
    can hold either an int or the _MISSING sentinel value. This fixes the
    pyright reportUnnecessaryComparison errors caused by the types int and
    Sentinel having no overlap.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Rename _MISSING sentinel to UNSET in orchestrations
    
    The sentinel is user-visible as a default in public init signatures, so
    use UNSET (no leading underscore) instead of the private _MISSING name.
    Drop the now-unnecessary reportPrivateUsage ignores on the UNSET imports.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <copilot@github.com>
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • Python: feat(bedrock): implement native structured output support via Converse API (#6052)
    * feat(bedrock): add structured output support via Converse API (Fixes #5966)
    
    * fix(bedrock): improve unsupported model exception handling and schema parsing
    
    * refactor(bedrock): use generic traversal for strict schema enforcement
    
    * address Copilot review comments on structured output
    
    * refine bedrock structured output: guard additionalProperties, TypeError check, docs + test
    
    * fix(bedrock): widen response_format to Mapping and add missing test coverage