Commit Graph

43 Commits

  • Python: Updated merge test jobs (#1578)
    * Updated merge test jobs
    
    * Small fix
  • Python: Updated package version (#1528)
    * Updated package version
    
    * Update python/CHANGELOG.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Updated metadata for Purview
    
    * Updated test
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Update uv requirement from <0.9.0,>=0.8.2 to >=0.8.2,<0.10.0 in /python (#1430)
    Updates the requirements on [uv](https://github.com/astral-sh/uv) to permit the latest version.
    - [Release notes](https://github.com/astral-sh/uv/releases)
    - [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/astral-sh/uv/compare/0.8.2...0.9.2)
    
    ---
    updated-dependencies:
    - dependency-name: uv
      dependency-version: 0.9.2
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: bump version and update changelog (#1277)
    * bump version and update changelog
    
    * undo lab package version bump
    
    * add changelog to exclude pattern for links
    
    * fix for ignore path
    
    * exclude file
  • Python: updated docstrings (#1225)
    * updated docstrings
    
    * fix tests and mypy
    
    * hosted file search docstring update
    
    * updated versions
  • Python: Packaging fixes (#1056)
    * small updates to setup
    
    * post1
    
    * reset version
    
    * updated package status
  • Python: semantic-kernel to agent-framework migration code samples (#1045)
    * wip migrations
    
    * Wip: workflow migrations
    
    * Add migration samples for sk to af
    
    * Fix typo
    
    * Fixes
  • Python: [BREAKING] added SerializationMixin and applied to contents, agents, chat client… (#1012)
    * added SerializationMixin and applied to contents, agents, chat clients, removed AFBaseModel
    
    * fix annotations type
    
    * mypy fixes
    
    * fix tests
    
    * fix serializable subvalues and added large docstring
    
    * updated indents in code block
    
    * fixed exported urls
  • Python: [BREAKING] Main to core (#983)
    * removed pydantic from types
    
    * fix assistants client
    
    * Remove Pydantic usage from workflow code.
    
    * updated lock and test fixes
    
    * moved main to core, and setup meta package
    
    * updated versions
    
    * updated lock
    
    * fixed agents dependency
    
    * added retry to merge tests
    
    ---------
    
    Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
  • Python: basic python a2a support (#906)
    * basic python a2a support
    
    * fixes
    
    * small fixes
    
    ---------
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: [BREAKING] cleanup of thread API and serialization (#893)
    * cleanup of threads and serialization
    
    * fix for sliding window
    
    * fix redis test
    
    * updated from comments
    
    * updated context provider and threads
    
    * updated lock
    
    * add asyncio default
    
    * fix redis tests
    
    * fix tests
    
    * fix tests
    
    * renamed to invoking
    
    * fixed tests
    
    * fix for instructions
  • Python: consolidate lab packages into a single one; update contribution guidelines (#940)
    * consolidate lab packages into a single one; update contribution guidelines
    
    * update dep list
    
    * add poe tasks; fix tests and lint erros
    
    * add lab tests for CI
    
    * fix test
    
    * update root pyproject.toml
  • Python: [BREAKING] updated structure and samples (#875)
    * updated structure and samples
    
    * updated names and removed cross tests
    
    * updated projects etc
    
    * updated tests
    
    * updated test
    
    * test fixes
    
    * removed devui for now
    
    * updated all-tests task
    
    * removed old style configs
    
    * remove coverage from tests
    
    * updated to unit tests with all-tests
    
    * updated foundry everywhere
    
    * fix azure ai tests
    
    * fix merge tests
    
    * fix mypy
  • Python: add RedisContextProvider (#716)
    * Setting up
    
    * Readme
    
    * Add redis tests path to all-tests
    
    * First pass integration
    
    * Keep provider convention
    
    * First pass integration
    
    * add redis integration tests
    
    * update README.md
    
    * Add basic sample for redis integration
    
    * Add partitioning, add partition-aware tests, improve sample script
    
    * Fix code quality check
    
    * Try to resolve pytest check
    
    * Try to identify if pytest is the cause of failed checks
    
    * Re-enable tests
    
    * Rename redis test file
    
    * Removing some tests to narrow down issue
    
    * Revert, no difference
    
    * Delete temp files
    
    * Starting refactor of RedisProvider
    
    * Build dynamic schema builder, still need to do dynamic embedding model config
    
    * Add scope control
    
    * Complete first pass functionality with OpenAI + HF vectors -> Tests, Samples, Demo to follow
    
    * Fix code quality
    
    * attempt to identify rootcause of failed test
    
    * attempt to identify rootcause of failed test
    
    * Attempt to resolve code quality fail
    
    * Update pyproject.toml for foundry to pin     azure-ai-projects == 1.1.0b3,azure-ai-agents == 1.2.0b3
    
    * Add tests for redisprovider
    
    * Remove invalid tests
    
    * Add API key handling for openai vectorizer
    
    * Update uv.locl
    
    * Use master uv.lock
    
    * Begin sample file, add lazy index creation, fix faulty override
    
    * Index drop and reinit depends on drop_redis_index not overwrite
    
    * Add samples, threading included, escaped queries, verify threading works, sample README.md
    
    * Refactor filters
    
    * Opinionated vars
    
    * Allow filter expression combination
    
    * Try inline stubs for mypy
    
    * Address mypy errors
    
    * Better docstrings, tweaks for feedback
    
    * Tweak example 3 in redis_threads.py sample
    
    * adjust confusing name
    
    * Enrich docstrings
    
    * Add descriptions and comments to samples, externalize vectorizer choice, remove nltk and sentencetransformers dependnecy
    
    * Add descriptions and comments to samples, externalize vectorizer choice, remove nltk and sentencetransformers dependnecy
    
    * Incorporate initial feedback from dmytrostruk
    
    * Fix uv.lock
    
    * Attempt to resolve conflict
    
    * Use remote .tomls
    
    * Sanity check
    
    * fix tests
    
    * Remove hardcoded API key from samples
    
    * Fix incorrect env var
    
    * Make add and redis_search private
    
    * Fix tests relying on private funcs
    
    * Expand tests
    
    * Explainer comments to each test
    
    * Add a 'get_conversation_history' function to RedisProvider - This just returns messages in sequential order. Added 'created_at_*' timestamps to facilitate sequential recovery. function has to be manually invoked by user
    
    * Add agent-framework-redis to  python/pyproject.toml
    
    * Remove get_conversation_history
    
    * improve redis context provider with pydantic techniques and safe index handling patterns
    
    * add RedisChatMessageStore
    
    * remove integration test :(
    
    * fix mypy error
    
    * Remove unused params
    
    * Redo schema validation to be order-invariant, handle attrs (previously throwing errors due to strict ==)
    
    * Expand explanation
    
    * Add ChatMessageStore example
    
    * Fix comments in redis_conversation.py
    
    * Resolving uv.lock conflict, update to match main
    
    * Fix test in redis provider
    
    * Apply suggestion from @ekzhu
    
    * Update python/packages/main/pyproject.toml
    
    ---------
    
    Co-authored-by: Tyler Hutcherson <tyler.hutcherson@redis.com>
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: Add DevUI to AgentFramework (#781)
    * add initial backend service code for devui
    
    * add tests
    
    * add frontendcode
    
    * ui updates
    
    * update readme
    
    * ui updates and tweaks
    
    * update ui bundle
    
    * improve ui, add react flow base
    
    * add react flow ui, fix background
    
    * update ui, fix introspection bug
    
    * update readme
    
    * update ui build
    
    * add support for multimodal input - both backend and frontend
    
    * update ui build
    
    * refactor as main framework package
    
    * backend and tests refactor
    
    * ui build update
    
    * ui build update and refactor
    
    * update pyproject.toml, update uv.lock
    
    * update ui build
    
    * ui update to fit oai responses types
    
    * add backend updat and readme update
    
    * mypy and other fixes
    
    * add intial dev guide
    
    * update ui and fix workflow bug
    
    * update ui build, add thread support
    
    * type fixes
    
    * update workflow view
    
    * update uv.lock
    
    * fix workflow iport errors
    
    * lint and other fixes
    
    * mypy fixes
    
    * minor update
    
    * update ui build
    
    * refactor to use oai dependencies directly, update examples to samples, improve typing
    
    * readme update
    
    * update ui and ui build
    
    * fix workflow pyright error
    
    * update ui, fix issues with run workflow placement, miniamp menu, etc
    
    * make samples integrate serve
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: OpenAI Responses Image Generation Tool (#842)
    * Image generation + Added Samples
    
    * extended image gen tool for responses
    
    * uv fix
    
    * removed hosted image gen
    
    * copilot suggestions
    
    * Update python/packages/main/agent_framework/openai/_responses_client.py
    
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
  • Python: Add tau2 benchmark integration with comprehensive testing and documentation (#817)
    * first commit to tau2-bench
    
    * tau2-bench agent
    
    * tau2 agent
    
    * add condition
    
    * checkpoint
    
    * bug fix
    
    * add tests
    
    * fix tests
    
    * add comments
    
    * add comments
    
    * minor fix
    
    * fix
    
    * batch test script
    
    * .
    
    * init.bak -> init.py
    
    * fix mypy
    
    * update readme
    
    * fix env
    
    * remove temp files
    
    * setup tests
    
    * fix gaia tasks
    
    * fix tau2 tests
    
    * fix coverage
    
    * fix default version
    
    * update cookiecutter template
    
    ---------
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: Introduce Agent Framework Lab with GAIA Benchmark and Lighting project for RL (#719)
    * prepare eval package
    
    * add gaia benchmark to eval package
    
    * update telemetry
    
    * renaming
    
    * organization
    
    * organize into namespace packages; rename to labs
    
    * update cookie cutter instruction
    
    * update gaia runner
    
    * use temp directory
    
    * Rename "labs" --> "lab"
    
    * update
    
    * update gaia sample
    
    * update status
    
    * Add lighting project
    
    * Add listing for lighting
  • Python: [BREAKING] Move workflow to main package (#767)
    * Move workflow to main package
    
    * Remove workflow specific unit test config
    
    * Remove workflow-specific version info
    
    * Revert unintended telemetry changes
    
    * Removed the obsolete packages/workflow/tests target
    
    * Rename dir workflow to _workflow
    
    * Fix test imports
  • 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 Copilot Studio Agent (#722)
    * Small fix in dotnet conformance tests
    
    * Added CopilotStudioAgent implementation
    
    * Added examples
    
    * Updated package README
    
    * Small fixes
    
    * Small improvements
    
    * Fixed dotnet tests
    
    * Add unit tests
    
    * Updated tests
    
    * Small updates
    
    * Small test fixes
    
    * Revert "Small test fixes"
    
    This reverts commit 983ac44a70.
    
    * Small fixes in documentation
    
    * Updated test configuration
    
    * Revert "Updated test configuration"
    
    This reverts commit 2a16fea815.
    
    * Small fix
    
    * Reverted TODO item
    
    * Small suppressions
    
    * More fixes
    
    * Small fixes
    
    * Fixed tests
    
    * Removed disallow_any_unimported rule in all packages
    
    * Fixes
  • Bump pydata-sphinx-theme from 0.16.0 to 0.16.1 in /python (#314)
    Bumps [pydata-sphinx-theme](https://github.com/pydata/pydata-sphinx-theme) from 0.16.0 to 0.16.1.
    - [Release notes](https://github.com/pydata/pydata-sphinx-theme/releases)
    - [Changelog](https://github.com/pydata/pydata-sphinx-theme/blob/main/RELEASE.md)
    - [Commits](https://github.com/pydata/pydata-sphinx-theme/compare/v0.16.0...v0.16.1)
    
    ---
    updated-dependencies:
    - dependency-name: pydata-sphinx-theme
      dependency-version: 0.16.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    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: add base_url parameter for openai chat client (#661)
    * added base_url option for openai chat client
    
    * fix test url
  • Python: Samples Integration Tests (#615)
    * Samples Tests
    
    * small fixes
    
    * job fix
    
    * telemetry dependency fix
    
    * job error fix
    
    * sorting provider specific tests
    
    * telemetry fixes
    
    * openai file search fix
    
    ---------
    
    Co-authored-by: Giles Odigwe <gilesodigwe@microsoft.com>
  • Python: Add Python agent runtime project infrastructure (#563)
    * Add Python agent runtime project infrastructure.
    
    * lint.
    
    * Rename agent_runtime dir to agent_framework_runtime.
    
    * fix uv.lock
    
    * Update pyproject for rename.
    
    * Update python/packages/runtime/agent_framework_runtime/agent_actor.py
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
    
    * Add runtime package to workspace and optional dependencies.
    
    ---------
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • 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: add better test coverage to individual tests, and all-tests task, gh … (#400)
    * add better test coverage to individual tests, and all-tests task, gh action to surface
    
    * remove cache location
    
    * test version-file
    
    * updated uv setup for consistency
    
    * mypy fix
    
    * update naming
    
    * temporarily removed mypy from workflow
  • Python: Define Workflow and Executor APIs (#272)
    * Workflow init commit
    
    * Add samples and clean up
    
    * ExecutionContext -> WorkflowContext
    
    * Address comments 1
    
    * Fix mypy
    
    * flatting folder structure, and rename contexts
    
    * Remove add_loop
    
    * Add map reduce sample, remove Activation conditions
    
    * Add AgentExecutor and allow multiple handlers per executor
    
    * Minor improvement
    
    * Add RequestInfoExecutor
    
    * Add unit tests part 1
    
    * Address comments 2
    
    * Pre-commit update
    
    * Add run method and more unit tests
    
    * Add xml docs
    
    * run_stream -> run_streaming
    
    * message_handler -> handler
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
  • Python: updated doc generation setup and some slight api enhancements (#267)
    * updated doc generation setup and some slight api enhancements
    
    * small fix in index
  • updated builds and release pipeline setup (without pypi publish) (#219)
    * updated builds and release pipeline setup (without pypi publish)
    
    * add label prefix action
    
    * updated uv versions
    
    * final uv updates
    
    * moved uv version semver into variable
  • 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: 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
  • Python: added poe setup and docs (#131)
    * added poe setup and docs
    
    * smaller bandit exclude
    
    * updated poe
    
    * updated naming
    
    * added something in samples
    
    * exclude docs from bandit
    
    * updated readme
    
    * removed ds_store
    
    * updated readme
  • feat: Model Client and associated Content Types (#53)
    * feat: ModelClient and content types
    
    * refactor: Pythonify ChatResponseFormat and ChatRole
    
    * feat: Add guardrail interfaces
    
    * refactor: Remove CancellationToken
    
    * feat: Solidify the Usage APIs
    
    * Adds well-known keys for additional_counts, and guidance for how to avoid collisions between providers
    * Implement sum-aggregation for usage
    
    * refactor: Move AITool out of model_client
    
    * refactor: Copy editing
    
    * fix: CI checks (pyupgrade, ruff, etc.)
    
    * ci: Fix pre-commit to use pyright in  uv venv
    
    The existing pyright precommit hook inside of python-pyright is no longer being maintained by the owner (see  https://github.com/RobertCraigie/pyright-python/issues/265)
    
    The fix is to define the hook ourselves, relying on `uv run` to drive it. In order for that to work right we need to use the "system" language to break out of the sandbox.
    
    * fix: Pyright error fixes
    
    * docs: Update models and types design docs
    
    * Python: Refinement of content types and model client  (#112)
    
    * refinement of structure and buildup
    with ports from semantigen
    
    * refined the data and uri contents
    
    * refined chat response and updates
    
    * moved things and added tests
    
    * moved out of src folder
    
    * fixed imports and tests
    
    * small tweaks
    
    * missing build system
    
    * upgrade
    
    * add mypy
    
    * fixed typing for types
    
    * fix tests
    
    * fixed tool
    
    * disable json checks on vscode
    
    * remove print
    
    ---------
    
    Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
    Co-authored-by: eavanvalkenburg <github@vanvalkenburg.eu>
  • Python: package setup with logger (#125)
    * package setup with logger
    
    * set config once
    
    * add unit test workflow
    
    * updated naming of workflows
    
    * add mypy check
    
    * renamed job
    
    * smaller name
    
    * ignore certain files for ruff
    
    * remove assignment
    
    * fix ruff config
    
    * removed pyright from pre-commit
    
    * fixed logging test
    
    * fix mypy setup
    
    * mypy fix
    
    * mypy
    
    * mypy
  • Add initial skeleton of package, including tooling setup and CI (#4)
    * Add initial skeleton of package, including tooling setup and CI
    
    * update workflow
    
    * update uv
    
    * add bandit