Commit Graph

26 Commits

  • Python: Added chat middleware and more examples (#883)
    * Added example with stateful middleware
    
    * Added chat middleware
    
    * Updated middleware example with override scenario
    
    * Small revert
    
    * Small fixes
    
    * Added kwargs to context objects
    
    * Added README
    
    * Added function middleware to chat client
    
    * Small refactoring
    
    * Reverted example files
    
    * Made MiddlewareWrapper generic
    
    * Added Middleware exception
    
    * Small refactoring
    
    * Small fix
  • Python: Telemetry and observability follow-up (#833)
    * updated telemetry work
    
    * updated telemetry
    
    * slight improvement
    
    * updated tests
    
    * fixes for telemetry
    
    * fixes for mypy
    
    * added settings setup to runner to avoid error
    
    * streamline usage
    
    * updated tests
    
    * updated tests
    
    * further refinement
    
    * fix dumped item for otel
    
    * removed enable_workflow_otel
    
    * final fixes
    
    * final fixes
    
    * updated samples
    
    * removed exporters
    
    * fix tests
    
    * fixed last import'
    
    * fixed devui
  • Python: Agent and Function middleware (#770)
    * Initial middleware implementation
    
    * Small fixes
    
    * Small updates
    
    * Small updates in samples
    
    * Moved middleware functionality to decorator
    
    * Removed obsolete file
    
    * Renamed AgentInvocationContext to AzureRunContext
    
    * Added unit tests
    
    * Small settings update for test discovery in VS Code
    
    * Added unit tests
    
    * Reverted changes in environment settings
    
    * Added context result override
    
    * Renaming and updates to logic
    
    * Added more samples
    
    * Updated DEV_SETUP.md
    
    * Addressed PR feedback
    
    * Addressed PR feedback
    
    * Removed unused parameter
    
    * Small fix
    
    * Small fix in telemetry logic
    
    * Revert "Small fix in telemetry logic"
    
    This reverts commit 6f82660d2d.
    
    * Small fix
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Python: Context providers abstraction and Mem0 implementation (#631)
    * Added context provider abstractions
    
    * Added mem0 implementation
    
    * Example and small fixes
    
    * Added unit tests for agent
    
    * Added unit tests for mem0 provider
    
    * Updated README
    
    * Small doc updates
    
    * Update python/packages/mem0/agent_framework_mem0/_provider.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Small fixes in tests
    
    * Renaming based on PR feedback
    
    * Small fixes
    
    * Added tests for AggregateContextProvider
    
    * Small improvements
    
    * More improvements based on PR feedback
    
    * Small constant update
    
    * Added more examples
    
    * Added README for Mem0 examples
    
    * Small updates to API
    
    * Updated initialization logic
    
    * Updates for context manager
    
    * Updated Context class
    
    * Dependency update
    
    * Revert changes
    
    * Fixed tests
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Python: Improved telemetry setup (#421)
    * test with stack and simplified names
    
    * quick demo of agent decorator
    
    * moved builder to protocol to enhance functionality
    
    * undid chatclientAgent -> agent rename
    
    * one more
    
    * reverted AIAgent rename
    
    * final reverts
    
    * fixed foundry import
    
    * revert changes
    
    * streamlined otel and fcc decorators
    
    * cleanup of telemetry
    
    * further refinement
    
    * lots of updates
    
    * fixed typing
    
    * fix for mypy
    
    * added input and output atttributes
    
    * fix import
    
    * initial work on baking in otel
    
    * major update to telemetry
    
    * final fixes after rename
    
    * fix
    
    * fix test
    
    * updated tests
    
    * fix for tests
    
    * fixes for tests
    
    * updated based on comments
    
    * removed agent decorator
    
    * fix for Python: ServiceResponseException when using multiple tools
    Fixes #649
    
    * addressed comments
    
    * fix tests
    
    * fix tests
    
    * fix tools tests
    
    * fix for conversation_id in assistants client
    
    * fix responses test
    
    * fix tests and mypy
    
    * updated test
    
    * foundry fix
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Python: Introducing UserInputRequest and Response types and HostedMcpTool (#405)
    * initial work on User Approval (and hosted mcp to validate)
    
    * small update to the comments in the sample
    
    * enable local MCP tools in chatClient get methods
    
    * working streaming and improved setup
    
    * fix for pyright
    
    * updated create_approval -> create_response method
    
    * added tests
    
    * updated HostedMcpTool and addressed feedback
    
    * update type name
    
    * naming updates
    
    * small docstring update
    
    * mypy fix
    
    * fixes and updates
    
    * fixes for responses
    
    * fix int tests
    
    * removed broken tests
    
    * updated test running
    
    * removed specific content check on websearch
    
    * increased timeout
    
    * split slow foundry test
    
    * don't parallel run samples
    
    * add dist load to unit tests
    
    ---------
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: name changes executed (#607)
    * name changes executed
    
    * updated adr to accepted
    
    * renamed openai base config
    
    * renamed openai config to mixin
    
    * added renames in user docs
    
    * reverted mcperror
    
    * fix tests
    
    * remove sse from tests
  • Python: Request cancellation sample (#459)
    * request cancellation via tasks
    
    * fix missing kwargs
  • Python: Web search file search tools (#395)
    * Add web and file search tools
    
    * add tests
    
    * PR comments
    
    * Add tools support for chat and assistants clients
    
    * fix code checks
    
    * add tests for assistants client
    
    * Add samples
    
    * fix fn descriptions
    
    * Add openai responses model id to environment variables
    
    ---------
    
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
  • Python: Thread storage and serialization (#394)
    * Updates for message store support
    
    * Added unit tests
    
    * Added suspend-resume example
    
    * Added example with custom chat message store
    
    * Small fix
    
    * Addressed PR feedback
    
    * Renaming and documentation
    
    * More renaming
    
    * Addressed more PR feedback
    
    * Small fixes in Foundry chat client and examples
    
    * Small update
    
    * Addressed PR feedback
    
    * Increased timeout for Azure tests
  • Python: Introducing Local MCP Servers (#389)
    * mcp parts
    
    * mcp parts 2
    
    * removed structured output in favor of handling in chatresponse, mcp as AITool and running samples
    
    * updated naming
    
    * fixed test
  • Python: openai updates (#388)
    * openai updates
    
    * rebuild of openai structure
    
    * updated responses structure
    
    * renamed sample
    
    * added file id support to code interpreter
    
    * added hosted file ids to code interpretor
    
    * mypy fixes
    
    * removed default az cred from codebase
    
    * updated agent name setup
    
    * added kwargs to entra methods
    
    * and further kwargs
    
    * extra comment
    
    * updated all samples
    
    * readded custom get methods for responses
    
    * updated int tests with ad credential
    
    * missed one
  • Python: added AIAnnotation types and extra tests (#374)
    * added AIAnnotation types and extra tests
    
    * fixed typing and such
    
    * use copy
    
    * fix raw representation for add
    
    * handle annotations in add
    
    * clarified concat
    
    * self to first
  • Python: added create_agent and removed need for Field in annotations (#380)
    * added create_agent
    
    * add minimal sample
    
    * allow multiple annotations
    
    * improved docstring
  • Python: updated doc generation setup and some slight api enhancements (#267)
    * updated doc generation setup and some slight api enhancements
    
    * small fix in index
  • Python telemetry (#223)
    * initial work on telemetry
    
    * moved tool operation const
    
    * missing quotes
    
    * working otel with samples
    
    * updated readme and other assets
    
    * added tests
    
    * added tests
    
    * small updates
    
    * updated genaiattributes docs
    
    * updated tests
    
    * additional warning
    
    * cleanup of tests
  • Python: moved prepare tools into class (#215)
    * moved prepare tools into class
    
    * moved test
    
    * changed tool handling
    
    * fix test
    
    * second fix
  • Python: Implemented FoundryChatClient (#193)
    * Initial version of FoundryChatClient
    
    * Updates to the tool call streaming wrapper
    
    * Small fixes
    
    * Small updates and addressed PR feedback
    
    * Handle automatic client creation
    
    * Small improvement
    
    * Added credential parameter
    
    * Small improvements
    
    * Made FoundryChatClient disposable
    
    * Small fixes
    
    * Added unit tests
    
    * Refactored samples
    
    * Small improvements
    
    * Small fix
    
    * Addressed PR feedback
    
    * Small fixes
    
    * Small updates
    
    * Small fix
    
    * Addressed PR feedback
  • Python: improved loading (#202)
    * improved loading
    
    * updated openai folder imports
    
    * fixed import
  • Python: Azure chat client (#185)
    * updated openai, fcc works, with sample
    
    * reduced files in openai
    
    * Add azure chat client
    
    * fix tests
    
    * Update python/packages/main/tests/unit/test_openai_chat_completion_base.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update python/packages/azure/agent_framework/azure/__init__.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update python/packages/azure/agent_framework/azure/_azure_openai_settings.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * PR comments
    
    * fix bad merge
    
    * disable tests for now
    
    * actually disable tests for azure
    
    * fix tests, align test files with merge changes
    
    * update code for new project structure
    
    * PR comments
    
    * add streaming integration tests. Fix flakiness
    
    ---------
    
    Co-authored-by: eavanvalkenburg <github@vanvalkenburg.eu>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Python: simple Agent sample (#180)
    * tweaks to agents and sample
    
    * updated clients and agents
    
    * single line run and print
    
    * improved tool handling
    
    * added note on setting max iterations
    
    * fixed streaming param name
    
    * updated tools test
    
    * made kwargs alphabetical
    
    * added params to run methods
    
    * tweak to ensure right overload
  • Python: follow on work on OpenAI (#169)
    * updated openai, fcc works, with sample
    
    * reduced files in openai
  • Python: Added ChatClientAgentThread and ChatClientAgent implementations (#150)
    * Added ChatClientAgentThread
    
    * Initial version of ChatClientAgent
    
    * Completed ChatClientAgent
    
    * Small fixes and unit tests
    
    * Fixes based on pre-commit
    
    * Small fixes
    
    * Small renaming
    
    * Small improvement
    
    * Small fixes
    
    * Addressed PR feedback
    
    * Small fix
    
    * Added method for AgentRunResponse from streaming conversion
    
    * Addressed PR feedback
    
    * Addressed PR feedback
    
    * Addressed PR feedback
    
    * Small fix
    
    * More fixes
  • Python: added ChatClientBase with function calling (#147)
    * added ChatClientBase with function calling
    
    * streaming update
    
    * fixed typing
    
    * test setup
    
    * small update
    
    * src setup
    
    * removed src, updated test naming
    
    * fixed test command
    
    * alolow args
    
    * updated test run
    
    * added unit test folder to azure
    
    * added init and unit test to azure
    
    * added other cross tests
    
    * restructured
    
    * reset test run
    
    * fix name
    
    * removed always
    
    * updated test
    
    * extend pytest.xml locations
    
    * run surface always
    
    * added decorators for FC and marked tests
    
    * fixed mypy settings and added tests
    
    * fix override import
    
    * removed import