Commit Graph

79 Commits

  • .NET: Workflow observability (#959)
    * Add basic Workflow telemetry
    
    * Add sample
    
    * Add source propagation for executor spans
    
    * Fix tests and address comments
    
    * Fix formatting
    
    * Fix declarative unit tests
    
    * Address comments
    
    * Remove Microsoft.Extensions.AI.Agents.EnableTelemetry
    
    * Formatting
    
    * Formatting
    
    * Formatting
    
    * fix solution
    
    * Address comments
    
    * Add workflow json definition for serialization
    
    * Formmating
    
    * Address comments
  • .NET: Nuget update (#987)
    * Update README with enhanced highlights and streamlined getting started
    
    - Added banner image for professional branding
    - Updated highlights section to focus on key features: multi-agent orchestration, workflows, AF Labs, DevUI, Python/C# support, observability, multiple providers, and middleware
    - Streamlined getting started section with direct links to comprehensive guides
    - Fixed file paths in samples section and removed outdated Azure integration reference
    - Improved overall structure and readability
    
    * Update NuGet package documentation and add framework icon
    
    - Added comprehensive high-level summary for Microsoft Agent Framework
    - Included key features highlighting multi-agent orchestration, workflows, observability, and cross-platform support
    - Added agent-framework-icon.png for NuGet package branding
    
    * Update README.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update dotnet/nuget/NUGET.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Add Agent Filtering Middleware (#478)
    * WIP
    
    * Wip
    
    * Updated ADR
    
    * Updated ADR
    
    * Update files
    
    * Address copilot comments
    
    * Update filters from Task<T> to Task only
    
    * Project endpoint
    
    * Add agent ctor filter
    
    * Other Agent Framework investigation
    
    * Remove SK Java, no support
    
    * Update LlamaIndex info
    
    * Removing unrelated files
    
    * Implementation with specialization
    
    * Remove the specialization option as extra unecessary complexity
    
    * Move middleware responsibility to a decorator
    
    * Update readme
    
    * Function invocation wip
    
    * Add Agent Builder
    
    * Adding comparison samples
    
    * Reorganize Samples and Processor vs Decorator
    
    * Remove merge files
    
    * Address formating warnigs
    
    * Update ADR
    
    * Step13 README's update
    
    * Address PR feedback
    
    * Address PR feedback
    
    * Remove configure await from ADR samples
    
    * Update variables
    
    * Address feedback
    
    * Address Agent level tool invocation with Options.ToolsTransformer strategy
    
    * Removing the Processor approach
    
    * Proposal design for Middleware in CreateAIAgent extensions
    
    * Examples clean up and consolitation
    
    * Update middlewares to work with ApprovalREquiredFunction
    
    * Clean-up sample
    
    * Update override function call sample
    
    * Drop configuration from the extensions, looks overkill
    
    * Builder interface ..
    
    * Revert IAIBuilder interface approach
    
    * Cleanup sample
    
    * Adding unit tests
    
    * Fix UT
    
    * Cleanup sample
    
    * Remove unneeded dependency
    
    * Address PR comment + Readme Samples
    
    * Add missing comments for Program.cs Middleware
    
    * Address mor PR comments + add client factory for OpenAI extensions
    
    * Add OpenAI UnitTests for extensions
    
    * Add AzureAI PersistentChatClient UT
    
    * Addess feedback
    
    * Add function invoking UT
    
    * Add builder extension UT
    
    * Address feedback + Rearange abstractions + UT fixes
    
    * Drop context based middleware for full decorating impl
    
    * Update unit tests
    
    * Update UT coverage
    
    * Removing Middelware namespace
    
    * Add missing UT
    
    * Remove internal ToolTransformation Property
    
    * Adjust xmldoc
    
    * Remove transient file
    
    * Address merge conflict
    
    * Add xmldoc remark for clarity
    
    * Address comment
    
    * Address feedback
    
    * Update UT
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Rename AI Agent packages to use Microsoft.Agents.AI (#913)
    * Rename AI Agent packages to use Microsoft.Agents.AI
    
    * Fix for build
    
    * Fix formatting
    
    * Fix formatting
    
    * Ignore in VSTHRD200 in migration samples
    
    * Ignore in VSTHRD200 in migration samples
    
    * Add some missing projects and run format
    
    * Fix build errors
    
    * Address code review feedback
    
    * Fix merge issues
    
    ---------
    
    Co-authored-by: Mark Wallace <markwallace@microsoft.com>
  • Python: update to packaging section of python package design doc (#727)
    * update to packaging section
    
    * added options
    
    * clarification and typo
    
    * updated python packaging guidance, moved discussion to appendix
    
    * moved discussion into ADR
    
    * updated folder strcutre
  • Add user approval ADR document (#731)
    * Add user approval adr
    
    * Address PR comments
  • 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
  • ADR: python naming changes (#599)
    * python naming changes
    
    * small updates
    
    ---------
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Move package installation instructions to user-guide (#572)
    * Move package installation instructions to user-guide
    
    * Update user-documentation-dotnet/getting-started/README.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update docs/docs-templates/getting-started/README.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Add docs contribution instructions (#527)
    * Add docs contribution instructions
    
    * Add pivot example.
    
    * Fix casing.
  • Add a script to produce docs by language, and add multi-turn-conversation docs (#510)
    * Add a script to produce docs by language, and add multi-turn-conversation docs.
    
    * Fix typo.
    
    * Remove java pivots, move source templates and update comments.
    
    * Add links to docs from root readme
  • .NET: API specification for Foundry SDK alignment (#359)
    * API specification for Foundry SDK alignment
    
    * Add descriptions to the samples
    
    * Add descriptions to the samples
    
    * Address some review feedback
    
    * Remove sample
    
    * Remove sample
    
    * Update docs/specs/001-foundry-sdk-alignment.md
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
    
    * Update docs/specs/001-foundry-sdk-alignment.md
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
    
    * Update docs/specs/001-foundry-sdk-alignment.md
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
    
    * Update docs/specs/001-foundry-sdk-alignment.md
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
    
    * Address code review feedback
    
    ---------
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
  • Adding draft version of workflows design doc. (#271)
    * Adding draft version of workflows design doc.
    
    * Adding message flow diagrams and fixing group chat sample.
    
    * Added sequence diagram for fan_in with WhenAny
    
    * Updating workflows design
    
    * clean up
    
    * Clean up request & response contents
    
    * Add more future enhacements
    
    * message_handler -> handler
    
    * remove mention of visual designer
    
    * Minor updates and rename
    
    * Name reformat
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Tao Chen <taochen@microsoft.com>
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Python: Adding support for nested workflows (#460)
    * Adding design documents and data flow descriptions for sub-workflows
    
    * Updating docs.
    
    * Sub-workflow implementation #1. Stuck because of singleton RequestInfoExecutor, going to make a change to remove that restrivtion.
    
    * Removed the singleton restriction on RequestInfoExecutor so enable sub-workflows.
    
    * Scenarios seem to be working.
    
    * Sample improved.
    
    * going to have intern add generic response wrappers.
    
    * Wrapped responses working.
    
    * Non-hardcoded routing is working.
    
    * Sample showing external approved and not approved.
    
    * Cleaning up.
    
    * Updating some samples and user guide.
    
    * Removing old design doc.
    
    * Cleaning up.
    
    * Adding python-package-setup.md back.
    
    * Update python/packages/workflow/agent_framework_workflow/_executor.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update python/packages/workflow/agent_framework_workflow/_validation.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Removing prints.
    
    * Fixing lint and type issues.
    
    * Fixing lint and type issues.
    
    * Update python/packages/workflow/agent_framework_workflow/_executor.py
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
    
    * Adding type hints to intercepts decorator.
    
    * Removing unused files.
    
    * Fixing issue with sample 5 groupchat with hil.
    
    * Removing redundent samples.
    
    * Updates to ensure no conflicting request interceptors and to support a subflow with multiple requests in a single super step.
    
    * Fixing pypi errors.
    
    * clean up samples
    
    * update samples to make it more clear
    
    * warning for unhandled request info from sub workflow
    
    * add logger info
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
  • Decision on where Foundry SDK extensions should live (#442)
    * Decision on where Foundry SDK extensions should live
    
    * Address code review feedback
  • Add FAQS (#290)
    * Add FAQS
    
    * Update docs/FAQS.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update docs/FAQS.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Python: updated python design and dev setup (#171)
    * updated python design and dev setup
    
    * updated dev setup
    
    * updated dev setup
  • .Net: Add OpenTelemetry Support and Samples (#182)
    * Adding sample and implementation similar to MEAI approach
    
    * Add Telemetry UnitTests
    
    * Fix Async suffix
    
    * Add ADR with the proposal
    
    * Address merge changes
    
    * Fixing const visibility + coverage
    
    * Increase test coverage, add metrics collection code paths
    
    * Fix warnings
    
    * WIp
    
    * Convention adeherence
    
    * Add gen-ai.system logic + UT
    
    * Add convetion reference
    
    * Address PR comments
    
    * Addressing PR comments, Agent name optional
    
    * Remove constant
    
    * Update dotnet/src/Microsoft.Extensions.AI.Agents/ChatCompletion/ChatClientAgent.cs
    
    Co-authored-by: westey <164392973+westey-m@users.noreply.github.com>
    
    * GetLoggingName
    
    ---------
    
    Co-authored-by: westey <164392973+westey-m@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>
  • ADR for Agent Tools (#103)
    * Added ADR templates and README
    
    * First version
    
    * Added remaining sections and commonalities across different providers
    
    * Small formatting update
    
    * Small formatting fix
    
    * Updates for code interpreter tool
    
    * Small update
    
    ---------
    
    Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
  • 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 design (#108)
    * initial draft of python package design
    
    * typo
    
    * revision
    
    * further updates
    
    * refinement
    
    * refinement
    
    * refinment
    
    * added open q
    
    * small edits
    
    * type checking update
    
    * refinement
    
    * extended the logging section
    
    * updates based on review
    
    * added note on Otel
    
    * restructured for even less verbosity
  • Add decisions folder and ADR templates (#101)
    * Add decisions folder and ADR templates
    
    * Update docs/decisions/README.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Memory, RAG, and other Context Providers (#54)
    * initial draft
    
    * fixes
    
    * fixes
    
    * incorporate reviewer feedback
    
    * Remove attachment of context providers to threads. A separate issue now tracks this design question.
  • Thread interfacce (#50)
    * Thread interfacce
    
    * Update to address comments
    
    * Update
    
    * Update
  • Design doc draft (#5)
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * Update docs/design/main.md
    
    Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
    
    * Update docs/design/main.md
    
    Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * update
    
    * update
    
    * update
    
    * wip
    
    * wip
    
    * wip
    
    * wip
    
    * address comment
    
    * update
    
    * add custom agent example
    
    * address comment
    
    * update code teaser
    
    * Update docs/design/main.md
    
    Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
    
    * update
    
    * address comments
    
    * update guardrails
    
    * address some of mark's comments
    
    * add new separate sections for agents and workflows
    
    * update agent doc
    
    * Update agent.md
    
    Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
    
    * add foundry agent doc
    
    * wip
    
    * refine the component registration interface with agent runtime
    
    * update
    
    * workflows
    
    * update
    
    * update
    
    * Update
    
    * Update
    
    * update
    
    * Update design doc to remove runtime
    
    * Update
    
    * Update
    
    * Update
    
    * update
    
    * Add eval section notes (#9)
    
    * add notes on eval
    
    * remove duplicate title
    
    * update docs
    
    * update docs
    
    * save updates before merge
    
    * update evaluation script
    
    * Update agents.md
    
    * update workflows
    
    * Update
    
    Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
    
    * update workflow
    
    * Updated design doc
    
    * Update
    
    * Update
    
    * update
    
    * update
    
    * Update
    
    * update
    
    * update
    
    * Update
    
    * update
    
    * Update with agent abstraction alternatives
    
    * Update discussion
    
    * Update
    
    * update
    
    * Update
    
    * Update
    
    * Update
    
    * Update
    
    ---------
    
    Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
    Co-authored-by: Jack Gerrits <jackgerrits@users.noreply.github.com>
    Co-authored-by: Victor Dibia <chuvidi2003@gmail.com>