Commit Graph

10 Commits

  • Python: Fix Python pyright package scoping and typing remediation (#4426)
    * Fix Python pyright package scoping and typing remediation
    
    Implements issue #4407 by removing the root pyright include, adding package-level pyright includes, and resolving pyright/mypy typing issues across Python packages. Also cleans unnecessary casts and applies line-level, rule-specific ignores where external libraries are too dynamic.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Reduce pyright cost in handoff cloning
    
    Simplify cloned_options construction in HandoffAgentExecutor to avoid expensive TypedDict narrowing/inference in _handoff.py, which was causing pyright to spend a long time in orchestrations.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * fix types
    
    * Fix lint and type-check regressions
    
    Resolve current Python package check failures across lint, pyright, and mypy after recent code changes, including purview/declarative pyright issues and multiple ruff simplification findings.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * fixed hooks
    
    * Stabilize package tests and test tasks
    
    Resolve cross-package non-integration test failures, simplify streaming type flow, harden locale/culture handling, and standardize package test poe tasks to exclude integration tests where applicable.
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * lots of small fixes
    
    * Fix current Python test regressions
    
    Address current failing unit tests in azure-ai, bedrock, and azure-cosmos while keeping Bedrock parsing logic inline (no new static helper methods).
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * small fixes
    
    * small fixes
    
    * removed pydantic from json
    
    * final updates
    
    * fix core
    
    * fix tests
    
    * fix obser
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
  • [BREAKING] Python: Add InvokeFunctionTool action for declarative workflows (#3716)
    * add(declarative): Declarative workflow InvokeFunctionTool feature
    
    * Cleanup
    
    * Address PR feedback
    
    * Remove InvokeTool kind, consolidate to InvokeFunctionTool
    
    * Fix sample locations
    
    * pin azure-ai-projects to 2.0.0b3 due to breaking changes
  • Python: Fixed declarative samples (#4051)
    * Updated declarative kind mapping
    
    * Fixed required property handling
    
    * Updated inline yaml sample
    
    * Fixed remaining declarative samples
    
    * Added lazy initialization for PowerFx engine
    
    * Small fix
  • Python: Fix declarative package powerfx import crash and response_format kwarg error (#3841)
    * Fix declarative package powerfx import crash and response_format kwarg error
    
    * Address PR feedback. Propagate kwargs for declarative workflows
    
    * move tests
    
    * Fix options merge logic
  • Python: [BREAKING] Replace Hosted*Tool classes with tool methods (#3634)
    * Replace Hosted*Tool classes with client static factory methods
    
    * fixed failing test
    
    * mypy fix
    
    * mypy fix 2
    
    * declarative mypy fix
    
    * addressed comments
    
    * ToolProtocol removal
    
    * fixed test
    
    * agents mypy fix
    
    * fix failing tests
    
    * mypy fix
    
    * addressed comments
    
    * fixed tests
    
    * addressed comments + added factory method overrides for azureai v2 client
    
    * mypy fix
    
    * added kwargs to azureai tool methods
    
    * fixed in test
    
    * _sessions fix
    
    * test fix
  • Python: [BREAKING] Simplify API: ChatAgent -> Agent, ChatMessage -> Message (#3747)
    * [BREAKING] Rename ChatAgent -> Agent, ChatMessage -> Message, ChatClientProtocol -> SupportsChatGetResponse
    
    Simplify the public API by removing redundant 'Chat' prefix from core types:
    - ChatAgent -> Agent
    - RawChatAgent -> RawAgent
    - ChatMessage -> Message
    - ChatClientProtocol -> SupportsChatGetResponse
    
    Also renamed internal WorkflowMessage (was Message in _runner_context) to avoid collision.
    
    No backward compatibility aliases - this is a clean breaking change.
    
    * [BREAKING] Rename Agent chat_client parameter to client
    
    * Fix rebase issues: WorkflowMessage references and broken markdown links
    
    * Fix formatting and lint issues from code quality checks
    
    * Fix import ordering in workflow sample files
    
    * fixed rebase
    
    * Fix test failures: use WorkflowMessage and A2AMessage after ChatMessage→Message rename
    
    - Replace Message(data=..., source_id=...) with WorkflowMessage(...) in workflow tests
    - Fix isinstance check in A2A agent to use A2AMessage instead of Message
    - Fix import in test_workflow_observability.py (Message→WorkflowMessage)
    
    * Fix lint, fmt, and sample errors after ChatMessage→Message rename
    
    - Auto-fix 70+ ruff lint issues across samples (ChatMessage→Message refs)
    - Fix HostedVectorStoreContent→Content.from_hosted_vector_store in file search sample
    - Fix _normalize_messages→normalize_messages in custom agent sample
    - Fix context.terminate→raise MiddlewareTermination in middleware samples
    - Fix with_update_hook→with_transform_hook in override middleware sample
    - Add TOptions_co import back to custom_chat_client sample
    - Add noqa for FastAPI File() default in chatkit sample
    - Fix B023 loop variable capture in weather agent sample
    
    * fix: update Agent constructor calls from chat_client to client in declaration-only tool tests
    
    * fix: add register_cleanup to devui lazy-loading proxy and type stub
    
    * fixed tests and updated new pieces
    
    * fix agui typevar
    
    * fix merge errors
    
    * fix merge conflicts
    
    * fiux merge
    
    * Remove unused links
    
    ---------
    
    Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
  • Python: fix(declarative): Fix MCP tool connection not passed from YAML to Azure AI agent creation API (#3248)
    * fix(declarative): Fix MCP tool connection not passed from YAML
    
    * Add samples to README
    
    * Fix mypy
    
    * Fix mypy again
    
    * Address PR comments
  • Python: Add declarative workflow runtime (#2815)
    * Further support for declarative python workflows
    
    * Add tests. Clean up for typing and formatting
    
    * Improvements and cleanup
    
    * Typing cleanup. Improve docstrings
    
    * Proper code in docstrings
    
    * Fix malformed code-block directive in docstring
    
    * Remove dead links
    
    * PR feedback
    
    * Address PR feedback
    
    * Address PR feedback
    
    * Remove sl
    
    * Update devui frontend
    
    * More cleanup
    
    * Fix uv lock
    
    * Skip Py 3.14 tests as powerfx doesn't support it
    
    * Fix mypy error
    
    * Fix for tool calls
    
    * Removed stale docstring
    
    * Fix lint
    
    * Standardize on .NET namespaces. Revert DevUI changes (bring in later)
    
    * Implement remaining items for Python declarative support to match dotnet
  • Python: add powerfx safe mode (#3028)
    * add powerfx safe mode
    
    * improved docstring and aligned env_file loading
    
    * ensured test uses reset
  • Python: Introducing support for declarative yaml spec (#2002)
    * first work on declarative
    
    * initial version of the declarative support
    
    * fix tests and mypy
    
    * fix parameters of functiontool
    
    * slight logic improvement
    
    * remove path until merge
    
    * updates from comments
    
    * create dispatcher and spec type, json_schema method
    
    * fix mypy, skipping model
    
    * updated lock
    
    * fixed declarative tests and renamed some other test files
    
    * refined loader
    
    * updated lock
    
    * fix mypy
    
    * added readme to samples folder
    
    * fixes from review
    
    * undid test file rename