Skip to content

fix(deps): bump Microsoft.Agents.AI to 1.23.0 and keep skill tools approval-free by default - #88

Open
CasperGN wants to merge 4 commits into
masterfrom
fix/deps-agents-ai-1.23
Open

CasperGN wants to merge 4 commits into
masterfrom
fix/deps-agents-ai-1.23

Conversation

@CasperGN

@CasperGN CasperGN commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

This bumps Microsoft.Agents.AI from 1.9.0 to 1.23.0, along with Microsoft.Extensions.AI 10.10.0, which 1.23 requires. It also fixes the build break that turns #85 and #86 red.

What 1.23 changed:

  • AgentSkillsProviderBuilder.UseScriptApproval() has been removed. This is the CS1061 error in examples/SkillsDemo and in the skills tests.
  • All three skill tools (load_skill, read_skill_resource, run_skill_script) now require approval by default. The opt-out flags are AgentSkillsProviderOptions.Disable{LoadSkill,ReadSkillResource,RunSkillScript}Approval.

Why the code change is needed: this library registers DenyingToolApprovalHandler by default. With 1.23's defaults, every load_skill call would be denied, and skills would stop working for anyone who has not registered their own handler.

What this PR does:

  • Both WithSkills overloads keep the 1.9 behaviour: skill tools need no approval unless the caller opts in.
  • Callers can turn approval back on per tool through UseOptions, for example UseOptions(o => o.DisableRunSkillScriptApproval = false), which replaces UseScriptApproval().
  • An AgentSkillsProvider that a caller builds and attaches through WithContextProviders(...) keeps MAF's own default. The README says so.
  • The README, the package README, the SkillsDemo example and its README, and the XML doc comments are updated.

Tested:

  • Build passes. 293 AgentFramework unit tests and 131 Identity unit tests pass on net10.0.
  • New tests resolve the provider's actual tools and check three cases: no approval wrappers by default for both overloads, re-enabling script approval, and re-enabling load/read approval.
  • Mutation check: reverting the defaults makes the new tests fail.
  • Two independent reviews were done, and all findings are fixed.
  • Integration tests and net8/net9 were not run locally (no Docker), so CI covers those.

Once this merges, the other updates in Dependabot's grouped #85/#86 should rebase cleanly.

🤖 Generated with Claude Code

CasperGN and others added 3 commits October 5, 2026 09:49
…proval-free by default

MAF 1.23 removes AgentSkillsProviderBuilder.UseScriptApproval and makes
every skill tool require approval by default. With the denying default
IToolApprovalHandler that would block load_skill outright, so WithSkills
now disables the three approvals unless the caller re-enables them via
UseOptions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Casper Nielsen <casper@diagrid.io>
… skill tool names in tests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Casper Nielsen <casper@diagrid.io>
…lt; test load/read re-enable

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Casper Nielsen <casper@diagrid.io>
…tors

Microsoft.Agents.AI 1.23 puts ApprovalResponseBindingChatClient and
ApprovalNotRequiredFunctionBypassingChatClient above the
FunctionInvokingChatClient in a ChatClientAgent's pipeline.
UnwrapFunctionInvoking only stripped a FunctionInvokingChatClient at the
top, so it returned the full pipeline and tools ran in-process inside
the LLM activity, without the agent context or tool telemetry baggage
that the tool activity sets.

Walk the whole delegating chain and return the client below the
innermost FunctionInvokingChatClient.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Casper Nielsen <casper@diagrid.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant