Commit Graph

7 Commits

  • [BREAKING] Python: clean up kwargs across agents, chat clients, tools, and sessions (#4581)
    * Python: clean up kwargs across agents, chat clients, tools, and sessions (#3642)
    
    Audit and refactor public **kwargs usage across core agents, chat clients,
    tools, sessions, and provider packages per the migration strategy codified
    in CODING_STANDARD.md.
    
    Key changes:
    - Add explicit runtime buckets: function_invocation_kwargs and client_kwargs
      on RawAgent.run() and chat client get_response() layers.
    - Refactor FunctionTool to prefer explicit ctx: FunctionInvocationContext
      injection; legacy **kwargs tools still work via _forward_runtime_kwargs.
    - Refactor Agent.as_tool() to use direct JSON schema, always-streaming
      wrapper, approval_mode parameter, and UserInputRequiredException
      propagation (integrates PR #4568 behavior).
    - Remove implicit session bleeding into FunctionInvocationContext; tools
      that need a session must receive it via function_invocation_kwargs.
    - Lower chat-client layers after FunctionInvocationLayer accept only
      compatibility **kwargs (client_kwargs flattened, function_invocation_kwargs
      ignored).
    - Add layered docstring composition from Raw... implementations via
      _docstrings.py helper.
    - Clean up provider constructors to use explicit additional_properties.
    - Deprecation warnings on legacy direct kwargs paths.
    - Update samples, tests, and typing across all 23 packages.
    
    Resolves #3642
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * clarified docstring
    
    * feedback fixes
    
    * Add unit tests for _docstrings.py build/apply helpers
    
    Tests cover: no docstring source, no extra kwargs, appending to existing
    Keyword Args section, inserting after Args, inserting in plain docstrings,
    multiline descriptions, ordering, and apply_layered_docstring.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Add test for propagate_session TypeError on non-AgentSession values
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Add tests for multi-content and empty UserInputRequiredException propagation
    
    Cover the branching logic in _try_execute_function_calls for:
    - Multiple user_input_request items in a single exception (extra_user_input_contents path)
    - Empty contents list (fallback function_result path)
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Add tests for DurableAIAgent.get_session forwarding service_session_id
    
    Verifies get_session correctly forwards service_session_id and session_id
    to the executor's get_new_session, replacing the removed kwargs test.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Simplify ag-ui test stub to read session from client_kwargs only
    
    Remove dual-mode detection (client_kwargs vs raw kwargs fallback) from
    the test mock. Session is now read exclusively from client_kwargs,
    matching the settled public calling convention.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * updated create and get sessions in durable
    
    * fixed docstrings
    
    * fix test
    
    * updated session handling
    
    * updated from main
    
    * updated tests
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • Fix Strands Agents documentation links in ADR (#4584)
    * Initial plan
    
    * Fix broken Strands Agents documentation links in ADR 0001
    
    Replace 5 broken strandsagents.com URLs (returning 404) with stable
    GitHub source code links in docs/decisions/0001-agent-run-response.md.
    
    The Strands Agents docs site restructured from /api-reference/python/
    to /api/python/, breaking the old links.
    
    Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
    
    * Update Strands Agents links to use official documentation site
    
    Replace GitHub source links with official strandsagents.com/docs/api/python/
    documentation URLs in docs/decisions/0001-agent-run-response.md.
    
    Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
    
    * Update Strands Agents links to use specific documentation URLs
    
    - Streaming: strandsagents.com/docs/user-guide/concepts/streaming/
    - Structured output: strandsagents.com/docs/user-guide/concepts/agents/structured-output/
    - AgentResult/stop_reason: strandsagents.com/docs/api/python/strands.agent.agent_result/#agentresult
    
    Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
    
    * Deduplicate Strands AgentResult link in stop-reason row
    
    Replaced the duplicate hyperlink on `stop_reason` with inline code,
    keeping a single AgentResult link to the same URL.
    
    Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
  • Python: Update workflow orchestration samples to use AzureOpenAIResponsesClient (#4285)
    * Update workflow orchestration samples to use AzureOpenAIResponsesClient
    
    * Fix broken link
  • .NET: [Breaking] RenameAgentRunResponse and AgentRunResponseUpdate classes (#3197)
    * rename AgentRunResponse and AgentRunResponseUpdate classes - part1
    
    * rename varialbles, parameters, methods and tests
    
    * rollback unnecessary changes
  • Fix broken strands urls. (#3102)
    * Fix broken strands urls.
    
    * Fix typos
  • .NET: Add sample showing how to create ai function per a2a skill (#1452)
    * add sample showing how to create ai function per a2a skill
    
    * Update dotnet/src/Microsoft.Agents.AI.A2A/Extensions/A2AAgentCardExtensions.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/A2A/A2AAgent_AsFunctionTools/Program.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/samples/GettingStarted/A2A/A2AAgent_AsFunctionTools/Program.cs
    
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
    
    * address pr review comments
    
    * rename local function
    
    * add readmes
    
    * fix broken links
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
  • Run Response ADR & Updates (#104)
    * Add ADR for different run response options
    
    * Add another option to the list.
    
    * Update agno non-streaming with further clarification
    
    * Add another option
    
    * Adding optional includeUpdates option
    
    * Adding Pros/Cons for each option
    
    * Make pros/cons a list
    
    * Add some thoughts on structured outputs and custom AIContent types
    
    * Update design doc to clarify primary and secondary better and split out custom response types with it's own options
    
    * Add structured outputs competitive comparison and suggestion
    
    * Address PR comments.
    
    * Remove AgentRunFinishReason until we can find a good use case for it.
    
    * Add finish reason to list of excluded properties.
    
    * Add custom agent run response types.
    Usage to follow.
    
    * Update Agent run response types
    
    * Add additional code coverage
    
    * Remove onIntermediateMessage since it is unecessary with the new response approach.
    
    * Add AgentId to response.
    
    * Rename ParseAsStructuredOutput to Deserialize
    
    * Update decision doc.
    
    * Fix formatting.
    
    * Update CopilotStudio to return new response types
    
    * Address PR comment
    
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Roger Barreto <19890735+rogerbarreto@users.noreply.github.com>