Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
38a5ae2
Build(deps-dev): Bump prek in /python/packages/lab in the basics grou…
dependabot[bot] Sep 22, 2026
4583705
Build(deps-dev): Bump prek (#8610)
dependabot[bot] Sep 22, 2026
4f0cc5b
Python: [BREAKING] Preserve MCP runtime and approval context (#8589)
jpalvarezl Sep 22, 2026
624ae01
Python: skip empty and whitespace-only instructions in prepend (#8524)
ManoharPaturi Sep 22, 2026
bb53fe1
test(ollama): narrow pytest.raises blocks to wrap only get_response i…
ManoharPaturi Sep 22, 2026
7b62670
ci: removes workflow based PR limit to use GitHub native feature (#8603)
baywet Sep 22, 2026
02bd1ba
fix(ag-ui): allow text events when response_format is a json schema d…
ManoharPaturi Sep 22, 2026
eb74c8c
fix(core): ensure add_usage_details returns copies and filters non-in…
ManoharPaturi Sep 22, 2026
17b349f
docs(core): fix positional invocations in detect_media_type_from_base…
ManoharPaturi Sep 22, 2026
334bc31
Python: preserve Redis memory vectorizer data types (#8629)
Shy7777 Sep 22, 2026
13b6ffe
Revert "ci: switches to a dedicated solution for dependabot (#8486)" …
baywet Sep 22, 2026
c5a8c8d
fix(core): distinguish absent tool call arguments from parse failures…
ManoharPaturi Sep 22, 2026
bd379d1
Python: preserve Unicode file store display paths (#8630)
Shy7777 Sep 22, 2026
ec7114f
.NET: fix: a bug where invoke function tool could bypass approval (#8…
baywet Sep 22, 2026
c760fc6
Python: preserve integer precision in in-memory Hamming search (#8637)
Shy7777 Sep 22, 2026
a8781d7
Python: add non-blocking Python 3.15 CI (#8652)
eavanvalkenburg Sep 22, 2026
925f4f2
.NET: ci/dotnet vscode configuration (#8537)
baywet Sep 22, 2026
9ad34d9
Python: Support short flags in docker command (#8644)
westey-m Sep 22, 2026
646e116
.NET: [BREAKING] Fix DevUI approval continuation (#8423)
rogerbarreto Sep 22, 2026
bf93c53
.NET: [BREAKING] Enforce approval response binding consistently (#8641)
SergeyMenshykh Sep 22, 2026
173978e
.NET: Add function replace support for function middleware (#8615)
westey-m Sep 22, 2026
736e838
Python: .NET: Keep A2A streaming session state current (#8646)
SergeyMenshykh Sep 22, 2026
74e8fe6
Use the workflow token for fix-ci evidence (#8667)
moonbox3 Sep 23, 2026
11b8b80
Use review App permissions for repair reactions (#8669)
moonbox3 Sep 23, 2026
9225e8d
Python: Preserve structured output on streaming harness tool-approval…
Shivani767 Sep 23, 2026
e636a72
Python: scope executor activity IDs to workflow runs (#8549)
1aifanatic Sep 23, 2026
23d5d25
Python: Keep null fields out of Azure DocumentDB membership filters (…
saquibjawedbit Sep 23, 2026
975493a
Python: Build(deps-dev): Bump the python-type-checkers group across 1…
dependabot[bot] Sep 23, 2026
f42ff01
fix(python): treat Any as compatible with any target type (#8660)
Aditya-XR Sep 23, 2026
76ccf3c
fix(dotnet): forward declarative Azure agent version (#8658)
baywet Sep 23, 2026
a638ce1
.NET: Fix forwarded request-port type validation (#8657)
baywet Sep 23, 2026
0bbb724
.NET: [BREAKING] fix: use allow list for configuration keys (#8200)
baywet Sep 23, 2026
834eb7f
fix(dotnet): persist function results as user messages (#8655)
baywet Sep 23, 2026
30b9b8e
.NET: Only consume stored approval state when the run succeeds (#8692)
westey-m Sep 23, 2026
6227372
Set better expecations for contributors (#8706)
westey-m Sep 23, 2026
7fb41d6
Python: add option to disable return-to-previous handoff routing (#8639)
eavanvalkenburg Sep 23, 2026
4f4e722
Python: Scope workflow invocation kwargs by executor graph (#8596)
eavanvalkenburg Sep 24, 2026
2055e66
Python: settle fatal unknown function calls (#8640)
eavanvalkenburg Sep 24, 2026
6233788
Python: fix Foundry background local tool replay (#8670)
eavanvalkenburg Sep 24, 2026
b20927b
Python: fix(python): validate settings and expose agent lifecycle met…
eavanvalkenburg Sep 24, 2026
2191c60
Python: Preserve compaction through middleware rewrites (#8671)
eavanvalkenburg Sep 24, 2026
17a733b
Python: Protect custom AG-UI approval state namespaces
eavanvalkenburg Sep 24, 2026
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
11 changes: 7 additions & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ version: 2
updates:
# Maintain dependencies for nuget
- package-ecosystem: "nuget"
# Use the Dependabot-only solution in this folder so NuGet discovery does
# not expand the full developer solution, which includes samples and times
# out before creating update PRs.
directory: "dotnet/dependabot/"
directory: "dotnet/"
# The samples tree contains most of the .NET package manifests and causes
# the NuGet updater to exceed Dependabot's fixed execution timeout. Keep the
# production source, tests, and central package versions in scope so updates
# can be opened again.
exclude-paths:
- "samples/**"
schedule:
interval: "cron"
cronjob: "0 8 * * 4,0" # Every Thursday(4) and Sunday(0) at 8:00 UTC
Expand Down
181 changes: 0 additions & 181 deletions .github/scripts/pr_limit_moderation.js

This file was deleted.

47 changes: 47 additions & 0 deletions .github/tests/test_devflow_fix_ci_workflow.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,57 @@ describe('DevFlow PR repair entrypoint', () => {
const intake = workflow.indexOf('Validate and bind the authorized request');
const reaction = workflow.indexOf('Acknowledge accepted repair command');
assert.ok(reaction > intake);
const authStep = workflow.slice(
workflow.indexOf('Get source-repository App token'),
workflow.indexOf('Authorize the frozen command requester'),
);
assert.match(authStep, /pull-requests-permission: write/);
assert.doesNotMatch(workflow, /id: reaction-auth/);
const reactionStep = workflow.slice(reaction, workflow.indexOf('\n repair:'));
assert.match(reactionStep, /github-token: \$\{\{ steps\.auth\.outputs\.token \}\}/);
assert.match(reactionStep, /continue-on-error: true/);
assert.match(workflow, /steps\.intake\.outputs\.mode == 'repair'/);
assert.match(workflow, /content: 'eyes'/);
});

it('uses the review-proven App grant and the job token for Actions reads', () => {
assert.doesNotMatch(workflow, /actions-permission: read/);
assert.ok([...workflow.matchAll(/GITHUB_TOKEN: \$\{\{ github\.token \}\}/g)].length >= 3);
const authorization = workflow.slice(
workflow.indexOf('Get source-repository App token'),
workflow.indexOf('Authorize the frozen command requester'),
);
assert.match(authorization, /contents-permission: read/);
assert.match(authorization, /issues-permission: write/);
assert.match(authorization, /pull-requests-permission: write/);

const repair = workflow.slice(workflow.indexOf('\n repair:'), workflow.indexOf('\n approve:'));
assert.match(repair, /permissions:\n contents: read\n actions: read\n checks: read/);
assert.doesNotMatch(repair.slice(0, repair.indexOf(' outputs:')), /issues: write/);
const repairRead = repair.slice(
repair.indexOf('Get read-only source-repository App token'),
repair.indexOf('Generate and verify the bounded repair'),
);
assert.match(repairRead, /contents-permission: read/);
assert.match(repairRead, /issues-permission: read/);
assert.match(repairRead, /pull-requests-permission: read/);
const report = repair.slice(repair.indexOf('Get issue-reporting token'));
assert.match(report, /pull-requests-permission: write/);

const publish = workflow.slice(workflow.indexOf('\n publish:'));
assert.doesNotMatch(publish.slice(0, publish.indexOf(' env:')), /issues: write/);
const publishRead = publish.slice(
publish.indexOf('Get read-only source-repository App token'),
publish.indexOf('Revalidate exact candidate and approval before write authority'),
);
assert.match(publishRead, /issues-permission: read/);
assert.match(publishRead, /pull-requests-permission: read/);
const publishWrite = publish.slice(publish.indexOf('Get source-repository write token'));
assert.match(publishWrite, /contents-permission: write/);
assert.match(publishWrite, /issues-permission: write/);
assert.match(publishWrite, /pull-requests-permission: write/);
});

it('runs private policy code and preserves the exact-diff publication gate', () => {
assert.match(workflow, /scripts\/trigger_fix_ci\.py --phase run/);
assert.match(workflow, /environment: devflow-pr-repair-publish/);
Expand Down
Loading
Loading