Commit Graph

21 Commits

  • [BREAKING] Python: Observability cleanup (#905)
    * Further observability cleanup and update telemetry samples
    
    * Add VS Code Extension config
    
    * Fix unit tests
    
    * Fix unit tests
    
    * Add more comments
    
    * Remove live metric
  • Python: additional Foundry Tools (#611)
    * initial work on additional foundry tools
    
    * fixes
    
    * fix tests
    
    * fix import
    
    * updated lock
    
    * added hosted MCP for foundry
    
    * fixes
    
    * fix for test
    
    * updated samples
    
    * fix result parsing
  • 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: Fixing the OpenAI Responses Client to be able to persist and interact with server-side threads (#818)
    * Fix options_dict handling in response client
    
    * Update python/packages/main/agent_framework/openai/_responses_client.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update condition for storing chat options
    
    Fixes issue where, when using server-side threads, AF would pass back the function call message due to store being in chat_options in kwargs, not at the kwargs level. Means the appending of only the tool execution result never happens.
    
    Resulted in a "tool output not found error" as we replied with the call not the result first.
    
    * Refactor chat_options access for clarity
    
    * Refactor store option assignment in responses client
    
    * Small fixes
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
  • 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: api doc generation setup (#342)
    * api doc generation setup
    
    * remove old log file
    
    * improved check md function
    
    * update with sample code in docstring
    
    * updated script
    
    * docs update
    
    * docs update and action
    
    * removed all-extras
    
    * fixed sync command
    
    * moved install
    
    * moved action
    
    * renamed folder
    
    * fixed syntax
    
    * add python path
    
    * fix mypy and reused steps
    
    * updated merge test
    
    * undo change
    
    * slight update in poe commands
    
    * dev setup update
    
    * updated uvlock
  • Python: added args and results to function call span (#733)
    * added args and results to function call span
    
    * add ignores for mypy
    
    * improved serialization
    
    * also add None result
    
    * improved handling
    
    * log args when None
    
    * slight tweak
    
    * fix tests
  • 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: 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: 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 HostedFileContent and HostedVectorStoreContent (#379)
    * added HostedFileContent and HostedVectorStoreContent
    
    * added convenience functions for hostedcodeinterpretertools
    
    * fix docstrings
    
    * udpated docstring
    
    * clarified parsing logic
    
    * updated type names
    
    * updated test
    
    * and vector stores
  • 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: Added fixes and more examples for Foundry agent (#217)
    * Added non-streaming and streaming examples
    
    * Updated resource management
    
    * Added examples with thread management
    
    * Added function tools examples
    
    * Small rename
    
    * Added code interpreter example
    
    * Updated example
    
    * Addressed PR feedback
    
    * Addressed PR feedback
  • Python: improved loading (#202)
    * improved loading
    
    * updated openai folder imports
    
    * fixed import
  • 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 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