Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
191779c
Python: Add factory pattern to concurrent orchestration builder (#2738)
TaoChenOSU Dec 11, 2025
4c6a5d4
Python: fix: GroupChat ManagerSelectionResponse JSON Schema for OpenA…
q33566 Dec 11, 2025
3481914
Capture file IDs from code interpreter in streaming responses (#2741)
moonbox3 Dec 11, 2025
989b6eb
.NET: [BREAKING] Prevent nulls in AIAgent property (#2719)
SergeyMenshykh Dec 11, 2025
5da1c2f
code ql sm04598 (#2723)
DeagleGross Dec 11, 2025
67e8304
.NET: Add Conversation State Sample (Step05) (#2697)
Copilot Dec 11, 2025
0413f42
Bump AWSSDK.Extensions.Bedrock.MEAI from 4.0.4.7 to 4.0.4.11 (#2777)
dependabot[bot] Dec 11, 2025
194486c
Bump Azure.Identity from 1.17.0 to 1.17.1 (#2780)
dependabot[bot] Dec 11, 2025
8bb9927
Bump Azure.AI.AgentServer.AgentFramework from 1.0.0-beta.4 to 1.0.0-b…
dependabot[bot] Dec 11, 2025
c376868
Python: added more complete parsing for mcp tool arguments (#2756)
eavanvalkenburg Dec 11, 2025
8d53b20
Python: Updated package versions (#2784)
dmytrostruk Dec 11, 2025
16230d3
Bump actions/checkout from 5 to 6 (#2404)
dependabot[bot] Dec 11, 2025
eb1117f
.NET: adds support for labels in edges, fixes rendering of labels in…
joslat Dec 12, 2025
d7434d5
Python: Added custom args and thread object to ai_function kwargs (#2…
dmytrostruk Dec 12, 2025
0fc7933
Fix WorkflowAgent to include thread convo history. Enable checkpointi…
moonbox3 Dec 12, 2025
e008144
Update OpenAIResponses.yaml to match AgentSchema (#2598)
richardjortega Dec 12, 2025
e0ff153
Python: Remove warnings from workflow builder on not using factories …
TaoChenOSU Dec 12, 2025
0dcebc6
Python: Filter framework kwargs from MCP tool invocations (#2870)
moonbox3 Dec 16, 2025
a729875
Python: Fix WorkflowAgent to emit yield_output as agent response (#2866)
moonbox3 Dec 16, 2025
3c37971
Python: Use agent description in HandoffBuilder auto-generated tools …
lbbniu Dec 16, 2025
3139347
Python: [BREAKING] Observability updates (#2782)
eavanvalkenburg Dec 16, 2025
11d6dcf
Python: Fix middleware terminate flag to exit function calling loop i…
moonbox3 Dec 16, 2025
958a488
Python: Fix context duplication in handoff workflows when restoring f…
moonbox3 Dec 16, 2025
3c322c9
.NET: Update to latest Azure.AI.*, OpenAI, and M.E.AI* (#2850)
stephentoub Dec 16, 2025
a53a3c7
Bump actions/download-artifact from 6 to 7 (#2862)
dependabot[bot] Dec 16, 2025
0132cf6
Bump actions/cache from 4 to 5 (#2861)
dependabot[bot] Dec 16, 2025
1dbf3fd
Bump actions/upload-artifact from 5 to 6 (#2860)
dependabot[bot] Dec 16, 2025
2f06fe5
Python : Ollama Connector for Agent Framework (#1104)
nmoeller Dec 16, 2025
3a7047f
Skip failing IT (#2904)
rogerbarreto Dec 16, 2025
b15466f
.NET: Cosmos DB UT Fast Skip (For Non-Configured Local envs) (#2906)
rogerbarreto Dec 16, 2025
754dfb2
.NET: Add TTLs to durable agent sessions (#2679)
cgillum Dec 16, 2025
54f482d
Python: Update Mem0Provider to use v2 search API `filters` parameter…
giles17 Dec 16, 2025
e319707
Updated package versions (#2913)
dmytrostruk Dec 16, 2025
03a403d
.NET: Switch to new "Run" method name. (#2843)
philliphoff Dec 16, 2025
2bde58f
Python: Switch to new "run" method name. (#2890)
philliphoff Dec 16, 2025
8fca71e
[BREAKING] Python: Add factory pattern to handoff orchestration build…
TaoChenOSU Dec 16, 2025
6adcac2
Python: Flow custom kwargs to agents via Workflow SharedState (#2894)
moonbox3 Dec 17, 2025
06cdcb9
Fix Pydantic error when using Literal type for tool params (#2893)
moonbox3 Dec 17, 2025
ec1c5e9
Updated Ollama package version (#2920)
dmytrostruk Dec 17, 2025
d552798
Python: Azure AI Agent with Bing Grounding Citations Sample (#2892)
giles17 Dec 17, 2025
c7ddb8a
.NET: Make DelegatingAIAgent abstract (#2797)
Copilot Dec 17, 2025
3cd805f
Added additional arguments for Azure AI agent (#2922)
dmytrostruk Dec 17, 2025
ee53fe4
Python: Correction of MCP image type conversion in _mcp.py (#2901)
egeozanozyedek Dec 17, 2025
daf5484
merge with latest changes
larohra Dec 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/upgrades/prompts/SemanticKernelToAgentFramework.md
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,7 @@ var agentOptions = new ChatClientAgentRunOptions(new ChatOptions
{
MaxOutputTokens = 8000,
// Breaking glass to access provider-specific options
RawRepresentationFactory = (_) => new OpenAI.Responses.ResponseCreationOptions()
RawRepresentationFactory = (_) => new OpenAI.Responses.CreateResponseOptions()
{
ReasoningOptions = new()
{
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
persist-credentials: false

Expand Down
36 changes: 21 additions & 15 deletions .github/workflows/dotnet-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,25 @@ jobs:
contents: read
pull-requests: read
outputs:
dotnetChanges: ${{ steps.filter.outputs.dotnet}}
dotnetChanges: ${{ steps.filter.outputs.dotnet }}
cosmosDbChanges: ${{ steps.filter.outputs.cosmosdb }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
dotnet:
- 'dotnet/**'
cosmosdb:
- 'dotnet/src/Microsoft.Agents.AI.CosmosNoSql/**'
# run only if 'dotnet' files were changed
- name: dotnet tests
if: steps.filter.outputs.dotnet == 'true'
run: echo "Dotnet file"
- name: dotnet CosmosDB tests
if: steps.filter.outputs.cosmosdb == 'true'
run: echo "Dotnet CosmosDB changes"
# run only if not 'dotnet' files were changed
- name: not dotnet tests
if: steps.filter.outputs.dotnet != 'true'
Expand All @@ -68,7 +74,7 @@ jobs:
runs-on: ${{ matrix.os }}
environment: ${{ matrix.environment }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
persist-credentials: false
sparse-checkout: |
Expand All @@ -77,6 +83,16 @@ jobs:
dotnet
python
workflow-samples

# Start Cosmos DB Emulator for all integration tests and only for unit tests when CosmosDB changes happened)
- name: Start Azure Cosmos DB Emulator
if: ${{ runner.os == 'Windows' && (needs.paths-filter.outputs.cosmosDbChanges == 'true' || (github.event_name != 'pull_request' && matrix.integration-tests)) }}
shell: pwsh
run: |
Write-Host "Launching Azure Cosmos DB Emulator"
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
Start-CosmosDbEmulator -NoUI -Key "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
echo "COSMOS_EMULATOR_AVAILABLE=true" >> $env:GITHUB_ENV

- name: Setup dotnet
uses: actions/setup-dotnet@v5.0.1
Expand Down Expand Up @@ -123,17 +139,7 @@ jobs:
popd
popd
rm -rf "$TEMP_DIR"

# Start Cosmos DB Emulator for Cosmos-based unit tests (only on Windows)
- name: Start Azure Cosmos DB Emulator
if: runner.os == 'Windows'
shell: pwsh
run: |
Write-Host "Launching Azure Cosmos DB Emulator"
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
Start-CosmosDbEmulator -NoUI -Key "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="
echo "COSMOS_EMULATOR_AVAILABLE=true" >> $env:GITHUB_ENV


- name: Run Unit Tests
shell: bash
run: |
Expand Down Expand Up @@ -225,7 +231,7 @@ jobs:

- name: Upload coverage report artifact
if: matrix.targetFramework == env.COVERAGE_FRAMEWORK
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: CoverageReport-${{ matrix.os }}-${{ matrix.targetFramework }}-${{ matrix.configuration }} # Artifact name
path: ./TestResults/Reports # Directory containing files to upload
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dotnet-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

steps:
- name: Check out code
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0
persist-credentials: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/markdown-link-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-22.04
# check out the latest version of the code
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
persist-credentials: false

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
env:
UV_PYTHON: ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up python and install the project
Expand All @@ -39,7 +39,7 @@ jobs:
env:
# Configure a constant location for the uv cache
UV_CACHE_DIR: /tmp/.uv-cache
- uses: actions/cache@v4
- uses: actions/cache@v5
with:
path: ~/.cache/pre-commit
key: pre-commit|${{ matrix.python-version }}|${{ hashFiles('python/.pre-commit-config.yaml') }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/python-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
run:
working-directory: python
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Set up uv
uses: astral-sh/setup-uv@v7
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-lab-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
outputs:
pythonChanges: ${{ steps.filter.outputs.python}}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v3
id: filter
with:
Expand Down Expand Up @@ -59,7 +59,7 @@ jobs:
run:
working-directory: python
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Set up python and install the project
id: python-setup
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/python-merge-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
outputs:
pythonChanges: ${{ steps.filter.outputs.python}}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v3
id: filter
with:
Expand Down Expand Up @@ -75,7 +75,7 @@ jobs:
run:
working-directory: python
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Set up python and install the project
id: python-setup
uses: ./.github/actions/python-setup
Expand Down Expand Up @@ -135,7 +135,7 @@ jobs:
run:
working-directory: python
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Set up python and install the project
id: python-setup
uses: ./.github/actions/python-setup
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/python-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
run:
working-directory: python
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Set up python and install the project
id: python-setup
uses: ./.github/actions/python-setup
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-test-coverage-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
run:
working-directory: python
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Download coverage report
uses: actions/download-artifact@v6
uses: actions/download-artifact@v7
with:
github-token: ${{ secrets.GH_ACTIONS_PR_WRITE }}
run-id: ${{ github.event.workflow_run.id }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-test-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
env:
UV_PYTHON: "3.10"
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
# Save the PR number to a file since the workflow_run event
# in the coverage report workflow does not have access to it
- name: Save PR number
Expand All @@ -38,7 +38,7 @@ jobs:
- name: Run all tests with coverage report
run: uv run poe all-tests-cov --cov-report=xml:python-coverage.xml -q --junitxml=pytest.xml
- name: Upload coverage report
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
path: |
python/python-coverage.xml
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/python-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run:
working-directory: python
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Set up python and install the project
id: python-setup
uses: ./.github/actions/python-setup
Expand Down
10 changes: 5 additions & 5 deletions agent-samples/openai/OpenAIResponses.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ model:
temperature: 0.9
topP: 0.95
connection:
kind: ApiKey
key: =Env.OPENAI_API_KEY
kind: key
apiKey: =Env.OPENAI_APIKEY
outputSchema:
properties:
language:
type: string
kind: string
required: true
description: The language of the answer.
answer:
type: string
kind: string
required: true
description: The answer text.
type:
type: string
kind: string
required: true
description: The type of the response.
Loading
Loading