Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: microsoft/agent-framework
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: python-1.0.0b260106
Choose a base ref
...
head repository: microsoft/agent-framework
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: python-1.0.0b260107
Choose a head ref
  • 9 commits
  • 91 files changed
  • 8 contributors

Commits on Jan 7, 2026

  1. Configuration menu
    Copy the full SHA
    202f557 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f49e537 View commit details
    Browse the repository at this point in the history
  3. Python: Fix MCP tool result serialization for list[TextContent] (#2523)

    * Fix MCP tool result serialization for list[TextContent]
    
    When MCP tools return results containing list[TextContent], they were
    incorrectly serialized to object repr strings like:
    '[<agent_framework._types.TextContent object at 0x...>]'
    
    This fix properly extracts text content from list items by:
    1. Checking if items have a 'text' attribute (TextContent)
    2. Using model_dump() for items that support it
    3. Falling back to str() for other types
    4. Joining single items as plain text, multiple items as JSON array
    
    Fixes #2509
    
    * Address PR review feedback for MCP tool result serialization
    
    - Extract serialize_content_result() to shared _utils.py
    - Fix logic: use texts[0] instead of join for single item
    - Add type annotation: texts: list[str] = []
    - Return empty string for empty list instead of '[]'
    - Move import json to file top level
    - Add comprehensive unit tests for serialization
    
    * Address PR review feedback: fix type checking and double serialization
    
    - Add isinstance(item.text, str) check to ensure text attribute is a string
    - Fix double-serialization issue by keeping model_dump results as dicts
      until final json.dumps (removes escaped JSON strings in arrays)
    - Improve docstring with detailed return value documentation
    - Add test for non-string text attribute handling
    - Add tests for list type tool results in _events.py path
    
    * Simplify PR: minimal changes to fix MCP tool result serialization
    
    Addresses reviewer feedback about excessive refactoring:
    - Reset _events.py to original structure
    - Only add import and use serialize_content_result in one location
    - All review comments addressed in serialize_content_result():
      - Added isinstance(item.text, str) check
      - Use model_dump(mode="json") to avoid double-serialization
      - Improved docstring with explicit return value documentation
      - Empty list returns "" instead of "[]"
    
    * Refactor: Move MCP TextContent serialization to core prepare_function_call_results
    
    Per reviewer feedback, moved the TextContent serialization logic from
    ag-ui's serialize_content_result to the core package's
    prepare_function_call_results function.
    
    Changes:
    - Added handling for objects with 'text' attribute (like MCP TextContent)
      in _prepare_function_call_results_as_dumpable
    - Removed serialize_content_result from ag-ui/_utils.py
    - Updated _events.py and _message_adapters.py to use
      prepare_function_call_results from core package
    - Updated tests to match the core function's behavior
    
    * Fix failing tests for prepare_function_call_results behavior
    
    - test_tool_result_with_none: Update expected value to 'null' (JSON serialization of None)
    - test_tool_result_with_model_dump_objects: Use Pydantic BaseModel instead of plain class
    
    * Fix B903 linter error: Convert MockTextContent to dataclass
    
    The ruff linter was reporting B903 (class could be dataclass or namedtuple)
    for the MockTextContent test helper classes. This commit converts them to
    dataclasses to satisfy the linter check.
    claude89757 authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    db283cd View commit details
    Browse the repository at this point in the history
  4. Python: Improve DevUI, add Context Inspector view as new tab under tr…

    …aces (#2742)
    
    * Improve DevUI, add Context Inspector view as new tab under traces
    
    * fix mypy errors
    
    * fix: Handle stale MCP connections in DevUI executor
    
    MCP tools can become stale when HTTP streaming responses end - the underlying
    stdio streams close but `is_connected` remains True. This causes subsequent
    requests to fail with `ClosedResourceError`.
    
    Add `_ensure_mcp_connections()` to detect and reconnect stale MCP tools before
    agent execution. This is a workaround for an upstream Agent Framework issue
    where connection state isn't properly tracked.
    
    Fixes MCP tools failing on second HTTP request in DevUI.
    
    fixes  #1476 #1515 #2865
    
    * fix #1572 report import dependency errors more clearly
    
    * Ensure there is streaming toggle where users can select streaming vs non streaming mode in devui . Fixes .NET: [Python] DevUI tool call rendering in non-streaming mode?
    
    * remove unused dead code
    
    * improve ux - workflows with agents show a chat component in execution timelien, also ensure magentic final output shows correctly
    
    * update ui build
    
    * update devui to use instrumentation instead of tracing, other instrumentation and type/instance check fixes
    victordibia authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    2e1189c View commit details
    Browse the repository at this point in the history
  5. .NET: Seal factory contexts and add non JSO deserialize overloads (#3066

    )
    
    * Seal factory contexts and add non JSO deserialize overloads
    
    * Apply suggestions from code review
    
    Co-authored-by: Copilot <[email protected]>
    
    ---------
    
    Co-authored-by: Copilot <[email protected]>
    westey-m and Copilot authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    dd69cab View commit details
    Browse the repository at this point in the history
  6. Enable blank issues in issue template configuration

    Need to re-enable creating blank issues
    markwallace-microsoft authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    521f046 View commit details
    Browse the repository at this point in the history
  7. updated templates (#3106)

    * updated templates
    
    * enabled blank and fixed triage
    
    * made language optional and moved to the bottom for features
    eavanvalkenburg authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    a118fd5 View commit details
    Browse the repository at this point in the history
  8. Python: Streaming sample for azurefunctions (#3057)

    * Streaming sample for azurefunctions
    
    * Fixed links and sample name
    
    * Addressed feedback
    
    * Addressed feedback
    
    * Fixed integration tests
    
    * Updated test
    gavin-aguiar authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    f4ab586 View commit details
    Browse the repository at this point in the history
  9. Python: fix(azure-ai): Fix response_format handling for structured ou…

    …tputs (#3114)
    
    * fix(azure-ai): read response_format from chat_options instead of run_options
    
    * refactor: use explicit None checks for response_format
    
    * Fix mypy error
    
    * Mypy fix
    moonbox3 authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    e9d97ce View commit details
    Browse the repository at this point in the history
Loading