Files
microsoft--agent-framework/python/packages
Giles Odigwe 7e5ba70884 Python: Stop swallowing skill script and resource errors so the model can self-correct (#6755)
* Python: Add include_detailed_errors option for skill script execution

Port the .NET fix from #6680. SkillsProvider previously swallowed
exceptions from skill script execution and resource reading, returning a
generic error string so the model could not self-correct.

- Add an include_detailed_errors option to SkillsProvider.__init__ and
  from_paths. When True, script-execution failures return an error string
  with the exception message appended; when False (default), the exception
  is logged and re-raised, delegating to the function-invocation pipeline's
  own include_detailed_errors policy.
- _read_skill_resource now logs and re-raises instead of returning a
  generic error string. Resources take no model arguments, so a swallowed
  generic error is not actionable by the model.
- Update and add tests covering the new propagation and detailed-error
  behavior.

Fixes #6681

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Re-raise skill script/resource errors instead of adding a provider option

Address PR review: returning a plain error string from the skill provider
bypassed the shared tool-error contract (no exception metadata, not counted
toward consecutive-error limits), risking infinite retries.

Instead of porting the .NET provider-level IncludeDetailedErrors option,
_run_skill_script and _read_skill_resource now always log and re-raise on
failure. This delegates error handling to the function-invocation pipeline,
whose existing include_detailed_errors policy is the Python equivalent of
.NET's FunctionInvokingChatClient.IncludeDetailedErrors and correctly
preserves exception metadata and consecutive-error counting.

Validation failures (empty/unknown skill, script, or resource names) still
return user-facing error strings. Tests updated accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-29 19:10:42 +00:00
..