Commit Graph

534 Commits

  • .NET: NET Workflows - Skip conversation initialization when identifier is provided (#1087)
    * Fix
    
    * Code-gen case
    
    * Tests
    
    * Autosend logic
    
    * Build fix
    
    * Namespace
    
    * Validation enhancement
  • .NET: Move the AsAIAgent extension methods to the correct class (#1106)
    * Move the AsAIAgent extension methods to the correct class
    
    * Fix format issue
    
    * Disable unit test, see issue #1109
    
    ---------
    
    Co-authored-by: Mark Wallace <markwallace@microsoft.com>
  • Tweak AgentAbstractionsJsonUtilities to better match AIJsonUtilities (#1094)
    Functional change includes setting the encoder used by the options and employing JsonStringEnumConverter.
  • .NET Workflows - Re-enable Declarative Integration Tests (#1080)
    * Investigate
    
    * Next
    
    * Update initialization
    
    * Should be ok
    
    * Agent definition dx
    
    * Link agent definitions
    
    * Link agent definitions
    
    * Path resolution #2
    
    * Fix path resolution
    
    * Another pass
    
    * Another
    
    * Better
    
    * One more
    
    * Whoopsie
    
    * Update dotnet/tests/Microsoft.Agents.AI.Workflows.Declarative.IntegrationTests/Framework/AgentFactory.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Namespace
    
    * Cleanup
    
    * Temp config for pipeline
    
    * Another temp workaround
    
    * Test config: Bing Grounding Tool
    
    * Update template
    
    * Next pass
    
    * Ok now
    
    * Cleanup
    
    * Test note
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Re-enable ImplicitUsings in samples and clean up NoWarns (#1060)
    * Re-enable ImplicitUsings in samples and clean up NoWarns
    
    * Fix dotnet format
    
    * More dotnet format
    
    * More dotnet format
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • Remove System.Linq.Async dependency from src assemblies (#1069)
    We shouldn't be shipping any more dependencies on this package, as it's becoming legacy, replaced by System.Linq.AsyncEnumerable.
    
    We'll eventually want to replace it with System.Linq.AsyncEnumerable in all tests/samples, too, but that's hard to do until SK updates to use S.L.AsyncEnumerable once its 10.0.0 version is released. I did remove the package reference from tests/samples where it's not needed.
  • .NET Workflows -Fix Declarative Workflow Tests (#1065)
    * Fixed
    
    * Restore generated workflow
    
    * Project
    
    * Fine tune
    
    * Update baseline
    
    * Adjust test-case
  • .NET: Use copilot to improve XML docs for M.Agents.AI{.Abstractions} (#1042)
    * Use copilot to improve XML docs for M.Agents.AI{.Abstractions}
    
    Asked copilot to help improve some of the docs, then I reviewed them.
    
    I also cleaned up a few things along the way, like a couple of extension method types that should be combined.
    
    * Update dotnet/src/Microsoft.Agents.AI.Abstractions/InMemoryChatMessageStore.cs
    
    ---------
    
    Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
  • .Net: Bugfix FunctionInvocation Middleware not working when no ChatOptions provided (#1030)
    * Bugfix FunctionInvocation Middleware
    
    * Throw when specialized RunOptions are used for Function Invocation middleware + UT
  • .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: Fix some more static analysis diagnostics (#1025)
    * S1006
    
    * S2219
    
    * S3236
    
    * S3260
    
    * S1125
    
    * IDE0063
    
    * IDE0062
    
    * IDE0028
  • .NET Workflows - Code Generation for Declarative Workflow (#655)
    * Notes
    
    * Readme typo
    
    * Update readme
    
    * Checkpoint
    
    * Namespace fix
    
    * Fix ID and namespace
    
    * Checkpoint
    
    * Verified
    
    * Comments
    
    * Isolate "Kit"
    
    * Address note: static
    
    * Checkpoint
    
    * Checkpoint "Executor<>"
    
    * Prefix and internal executors
    
    * Test passing
    
    * Cleanup
    
    * Rename "session" concept
    
    * Revert workflow debug
    
    * Fix template base / pragma
    
    * Tune system scope
    
    * Update dotnet/src/Microsoft.Agents.Workflows.Declarative/CodeGen/ResetVariableTemplate.tt
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Fix empty template
    
    * Add validation for codegen ut
    
    * Fix test
    
    * Codegen baselines
    
    * Constant
    
    * Prep
    
    * Mark TODO
    
    * Fix
    
    * Namespace
    
    * One more
    
    * Update baselines
    
    * Checkpoint
    
    * Checkpoint
    
    * Checkpoint
    
    * fme
    
    * Checkpoint
    
    * Another step
    
    * Fixed up
    
    * Roslyn
    
    * Fix
    
    * More cleaning
    
    * Async
    
    * Fix
    
    * Enum checkpoint
    
    * Refine enum
    
    * Checkpoint
    
    * Sync templates
    
    * Checkpoint
    
    * Streamline
    
    * Pre-merge analyzer updates
    
    * Foreach
    
    * Placeholders
    
    * Checkpoint
    
    * Clean-up
    
    * Sample path resolution
    
    * Checkpoint
    
    * Checkpoint - Workflow Code Building
    
    * Validation
    
    * Test cleanup
    
    * Update test basline
    
    * Update test baseline
    
    * Fix DefaultTemplate usage
    
    * Validation checkpoint
    
    * Fix break/continue edges
    
    * Verify generated code builds
    
    * Fix merge
    
    * Fix build validation
    
    * Update template handling of literal string values.
    
    * Test for metadata case
    
    * Update baselines
    
    * Fix merge
    
    * Checkpoint
    
    * Checkpoint: Conditions
    
    * Invoke Agent Checkpoint
    
    * Namespace
    
    * Address code-analysis issues
    
    * Cross platform test support
    
    * Invoke agent checkpoint
    
    * Clean sample
    
    * Checkpoint: Agent Invoke Input Messages
    
    * Checkpoint - Passing
    
    * Checkpoint
    
    * Regenerate all template + port conversation fix
    
    * Checkpoint: Tests good
    
    * Fix test for unbuntu
    
    * Fix build command
    
    * Checkpoint - E2E
    
    * Test fix
    
    * Update integration tests
    
    * Fix merge
    
    * Update
    
    * Checkpoint !!!
    
    * Baby steps
    
    * Checkpoint
    
    * Checkpoint E2E !!!
    
    * So close...
    
    * Integrate test validation
    
    * Fix merge
    
    * Rebase tests
    
    * Namespace
    
    * Namespace
    
    * Test cleanup
    
    * Sample comment cleanup
    
    * Checkpoint: List conversion
    
    * Include these
    
    * CheckPoint: ParseValue
    
    * Namespace
    
    * Fix sampel
    
    * More namspace
    
    * Comments
    
    * Test updates
    
    * Test fix
    
    * Better build
    
    * Shared code
    
    * Sort solution
    
    * Fix build
    
    * Prune solution
    
    * One more
    
    * Conversion matrix
    
    * Final table conversion
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .Net: Visualizing dotnet workflows (#882)
    * Adding more test for workflow vizualization.
    
    * Improving README for sample.
    
    * More cleanup.
    
    * Removing rendering of workflow visualization and adding basic support for mermaid format.
    
    * Adding basic mermaid tests.
    
    * Improving sample. Switching to another branch.
    
    * About to merge from main.
    
    * Formatting.
    
    * More fromatting.
    
    * Removng uneeded call to ToUpper.
    
    * Adding README.
    
    * Moving samples under workflow to workflows.
    
    * Removing uneeded README for map-reduce sample.
  • Python: .NET: [BREAKING] Remove Actor-based runtime (#977)
    * Remove Actor-based runtime
    
    * Fix formatting
    
    * Remove cosmos db vestigials
    
    ---------
    
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
  • .NET: Update OpenTelemetryAgent to latest spec (#967)
    * Update OpenTelemetryAgent to latest spec
    
    It was stale. Rather than try to keep it up-to-date manually, I've changed it to piggy back on OpenTelemetryChatClient, so that it inherits everything OpenTelemetryChatClient does and then augments it just with agent-specific tags.
    
    * Address feedback / merge
  • .NET: Clean up some CancellationToken usage (#996)
    * Clean up some CancellationToken usage
    
    * Unused usings
  • .NET: Clean up stale mentions of M.E.AI.Agents (#997)
    * Clean up stale mentions of M.E.AI.Agents
    
    * Unused usings
  • Update M.E.AI and MCP versions (#992)
    But not yet M.E.AI.OpenAI, which depends on the latest OpenAI, which conflicts with the latest Azure.AI.OpenAI.
  • .NET: Rename workflows projects (#975)
    * Renaming Microsoft.Agent.Workflows to Microsoft.Agents.AI.Workflows
    
    * Removing local settings.
    
    * Removing remining old files from merge.
  • .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>
  • .NET Workflows - Declarative Workflow Integration Tests (#956)
    * Checkpoint / 100% Pass
    
    * Checkpoint: ActionExecutorResult
    
    * Update dotnet/tests/Microsoft.Agents.Workflows.Declarative.IntegrationTests/Testcases/Marketing.json
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Namespace
    
    * Sync updates
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Make serialize methods sync and rename one to match others. (#946)
    * Make serialize methods sync and rename one to match others.
    
    * Remove unnecessary async postfixes.
    
    * Remove nullability of ChatMessageStore.Serialize return type, since the default JsonElement already represents an undefined json element.
    
    * Fix unit test
  • .NET: Change Runtime namespaces to Microsoft.Agents.AI.Runtime (#957)
    * Rename MEAI.Runtime to MAAI.Runtime.
    
    * Missed.
  • .NET: Change Hosting namespaces to Microsoft.Agents.AI.Hosting (#953)
    * Rename MEAI.Hosting to MAAI.Hosting.
    
    * dotnet format.
  • .NET Workflows - Introduce support for Local variable scope (#944)
    * Prepare for update
    
    * Checkpoint
    
    * Comments
    
    * All fixed
    
    * Mixed casre test added
    
    * Rollback nuget
    
    * Remove redundant restorable
    
    * Namespace
  • feat: Solidify Concurrency Model for Inproc Workflows (#925)
    * Disallow execution of multiple workflows at once
    * Define notion of executor Reset() to allow reuse of workflows with shared executor instances
    * Switch to delivering all messages to a single executor sequentially, with executors running in parallel
  • 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>
  • .NET Workflows - Declarative update for AzureAgentProvider usage (#907)
    * Updated
    
    * Update dotnet/src/Microsoft.Agents.Workflows.Declarative/Extensions/IWorkflowContextExtensions.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Constant / override
    
    * Namespace
    
    * Protect against race
    
    * Simplify collection usage
    
    * Rollback name resolution
    
    * One more rollback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: Update Workflow Input/Output Redesign (#881)
    * feat: Make Executor id field mandatory
    
    When checkpointing is involved, it is critical to keep executor ids consistent between runs, even when recreating a new object tree for the workflow.
    
    The default id-setting mechanism generated a guid for part of the id, making it not work when restoring from a checkpoint.
    
    This change prevents this situation from arising.
    
    * feat: Enable running untyped Workflows
    
    With the change to enable delay-instantiation of executors and support for async Executor factory methods, we must instantiate the starting executor to know what are the valid input types for the workflow.
    
    To avoid forcing instantiation every time, and to better support workflows with multiple input types, we enable support for build and interacting with the base Workflow type without type annotations, and remove the requirement to know a valid input type when initiating a run.
    
    * feat: Support Output from any executor and multiple outputs.
  • .NET: Add AgentWorkflowBuilder group chat (#861)
    * Add AgentWorkflowBuilder group chat
    
    And fix a variety of issues along the way:
    - Use DateTime{Offset}.UtcNow rather than Now
    - AIAgentHostExecutor shouldn't be publishing empty messages
    - Sequential workflows should be flowing all history and not just the output from the previous agent as the input into the next agent
    - Renamed some of the new agent workflow methods... still not super happy with the shape, though
    - Simplified handoffs builder, e.g. using a hashset with a custom comparer instead of a dictionary
    - Improved multi-service use by trying to change assistant->user role for messages created by other agents
    - Changed MessageMerger to rely on M.E.AI's coalescing more and to avoid empty contents / text
    - Ensured that messages from ChatClientAgent include MessageId and CreatedAt timestamps
    - Avoided including instructions for agents in a handoff workflow that don't have any handoffs
    - Removed the unnecessary end function in handoffs
    - Improved naming of executors to include agent name for debuggability
    - Use "N" formatting with Guid.ToString everywhere, to avoid the unnecessary extra dash character which is also not valid in various places (like function tool names)
    - Replace `params T[]` with `params IEnumerable<T>` to make public APIs more flexible in what they consume
    
    * Address feedback
    
    - Fix unintentional provider change in sample
  • .NET: [BREAKING] Add GetService for AIContextProviders and ChatMessageStore (#874)
    * Add GetService for AIContextProviders and ChatMessageStore
    
    * Change styling and fix format issues
    
    * Update sample code to allow for missing memory component.
  • .NET Workflows - Improvements to Declarative Framework (#838)
    * Closure
    
    * Verified
    
    * Update dotnet/src/Microsoft.Agents.Workflows.Declarative/Interpreter/DeclarativeWorkflowContext.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Sample folder
    
    * System scope fix
    
    * Fix link
    
    * Integrate Foundry SDK fix
    
    * File naming fix
    
    * Update dotnet/src/Microsoft.Agents.Workflows.Declarative/Interpreter/DeclarativeWorkflowContext.cs
    
    Co-authored-by: Tao Chen <taochen@microsoft.com>
    
    * Namespace
    
    * Optimize bind
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Tao Chen <taochen@microsoft.com>
  • .NET Workflows - Integrate Element Aliasing (#835)
    * Checkpoint
    
    * Update test workflows
    
    * Update workflows/MathChat.yaml
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update folder
    
    * Cleanup
    
    * Signed package version
    
    * Rollback nuget.config
    
    * Cleanup
    
    * Set `ProductContext`
    
    * Move product initialization.
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: [BREAKING] Subclass AgentThread so that different agents have their own threads with their own typed settings. (#798)
    * Subclass AgentThread so that different agents have their own threads with their own typed settings.
    
    * Address PR comment.
    
    * Add unit tests for base abstract threads
    
    * Fix style warning
    
    * Fix stlying
    
    * FIx and suppress warnings as needed.
    
    * Remove covariant thread response types and fix some styling.
    
    * Remove unecessary json property name attributes and make OrchestratingAgentThread private
    
    * Fix break from merge from main.
    
    * Fix formatting
    
    * Fix deserialization bug in Memory sample
    
    * Remove thread deletion from basic samples.
    
    * Remove public constructors for thread subclasses and add more factory methods to concrete agent types.
    
    * Update AgentProxy thread constructors to be internal as well.
    
    * Revert AgentProxyThread to internal
    
    * Change AIContextProvider to internal set
    
    * Change conversation id and message store properties to internal set
    
    * Update styling.
    
    * Seal various thread types.
    
    * Add thread type check for thread deletion
    
    * Fix tests after latest merge from main
    
    * Add thread type checks for thread deletion.
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET: [BREAKING] Support Checkpoint Serialization (#735)
    * feat: Support Checkpoint Serialization
    
    * Implements serialization roundtripping for checkpoints.
    * Adds support for JSON serialization
    * Adds FileSystem-based checkpoint persistence
    
    * fix: Executor State does not deserialize correctly
    
    The StateManager was not properly handling delay-deserialized values.
    
    * Fix PortableValue handling in StateManager (this makes it delegate to PortableValue the uwnrapping)
    * Fix UnitTest to actually test checkpoint serialization
    * Additional review comment fixes
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET: Update AgentThread, MessageStores and Context Providers to deserialize via constructor. (#779)
    * Update AgentThread, MessageStores and Context Providers to deserialize via constructor.
    
    * Fix pr comment.
    
    * Add additional validation for AgentThread deserialization
    
    * Update WorkflowMessageStore desreialize to improve error checking.
    
    * Reduce allocations in InMemoryChatMessageStore
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
  • .NET Workflow - Declarative Workflow Event Fix (#765)
    * Checkpoint
    
    * Update workflows/DeepResearch.yaml
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Comment
    
    * Fix comment
    
    * Update package version
    
    * Fix nuget haxx
    
    * Checkpoint
    
    * Code complete
    
    * Testing
    
    * Message content workaround
    
    * Add sequential flow
    
    * Checkpoint
    
    * Integration test project
    
    * Checkpoint
    
    * Checkpoint cleanup
    
    * Complete
    
    * Checkpoint
    
    * Fix tests
    
    * Comment cleanup
    
    * Namespace
    
    * Formatting
    
    * Analyzer updates
    
    * Workflow update
    
    * Fixed!
    
    * Update dotnet/tests/Microsoft.Agents.Workflows.Declarative.UnitTests/DeclarativeWorkflowTest.cs
    
    Co-authored-by: Tao Chen <taochen@microsoft.com>
    
    * Fix build error
    
    * Purge "immutable" set and dictionary
    
    * Fix as task
    
    * Collection expression
    
    * Another
    
    * Frozen => Readonly (perf)
    
    * Fix
    
    * Namespace
    
    * Checkpoint
    
    * Add test
    
    * Fix
    
    * Rollback workflow edit
    
    * nitty
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Tao Chen <taochen@microsoft.com>
  • .NET: Add AIContextProvider support (#691)
    * Add AIContextProvider support
    
    * Address feedback.
    
    * Address PR comments.
    
    * Switch to valuetask and remove parallel calls for AIContextProvider
    
    * Remove Model from ModelInvokingAsync method name
    
    * Remove agent thread id again and remove it from context provider interface
    
    * Add AIContextProvider serialization support to AgentThread and update sample to show this feature
    
    * Address PR comments
    
    * Improve memory sample
    
    * Update sample comment.
    
    * Remove AggregateAIContextProvider for now since it makes too many assumptions.  We can include it later as a sample if needed.
    
    * Update AIContextProviders to have an Invoked method instead of MessagesAddingAsync.
    
    * Remove unused using.
    
    * Address PR comments.
    
    * Address PR comment.
    
    * Update comment.
    
    * Update comment
    
    * Address PR comments.
  • .NET Workflow - Declarative State Consolidation (#759)
    * Checkpoint
    
    * Update workflows/DeepResearch.yaml
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Comment
    
    * Fix comment
    
    * Update package version
    
    * Fix nuget haxx
    
    * Checkpoint
    
    * Code complete
    
    * Testing
    
    * Message content workaround
    
    * Add sequential flow
    
    * Checkpoint
    
    * Integration test project
    
    * Checkpoint
    
    * Checkpoint cleanup
    
    * Complete
    
    * Checkpoint
    
    * Fix tests
    
    * Comment cleanup
    
    * Namespace
    
    * Formatting
    
    * Analyzer updates
    
    * Workflow update
    
    * Fixed!
    
    * Update dotnet/tests/Microsoft.Agents.Workflows.Declarative.UnitTests/DeclarativeWorkflowTest.cs
    
    Co-authored-by: Tao Chen <taochen@microsoft.com>
    
    * Fix build error
    
    * Purge "immutable" set and dictionary
    
    * Fix as task
    
    * Collection expression
    
    * Another
    
    * Frozen => Readonly (perf)
    
    * Fix
    
    * Namespace
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Co-authored-by: Tao Chen <taochen@microsoft.com>
  • .NET Workflow - Integrated updated CPS Object Model (#681)
    * Checkpoint
    
    * Update workflows/DeepResearch.yaml
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Comment
    
    * Fix comment
    
    * Update package version
    
    * Fix nuget haxx
    
    * Checkpoint
    
    * Code complete
    
    * Testing
    
    * Message content workaround
    
    * Add sequential flow
    
    * Checkpoint
    
    * Integration test project
    
    * Checkpoint
    
    * Checkpoint cleanup
    
    * Complete
    
    * Update package
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • .NET: [BREAKING] Change implementation to use AsFunctionTool extension method to create a function from an agent (#686)
    * Change implementation to use AsFunctionTool extension method to create a function from an agent
    
    * Update dotnet/tests/Microsoft.Extensions.AI.Agents.UnitTests/AgentExtensionsTests.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Address code review feedback and add a new sample
    
    * Address some code review feedback
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>