mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
3a49b1d6dd
* [BREAKING] Remove deprecated Python OpenAI/Azure AI surfaces Also clean up follow-on docs, environment guidance, package metadata, and lab test stability. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix deleted semantic-kernel sample links Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR review feedback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * improve foundry language * Fix A2A Foundry sample regression Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3a49b1d6dd
·
2026-03-31 20:36:21 +00:00
History
Script Approval — Human-in-the-Loop for Skill Scripts
This sample demonstrates how to require human approval before executing skill scripts using the require_script_approval=True option on SkillsProvider.
How It Works
When require_script_approval=True is set, the agent pauses before executing any skill script and returns approval requests instead:
- The agent tries to call
run_skill_script— execution is paused result.user_input_requestscontains approval request(s) with function name and arguments- The application inspects each request and decides to approve or reject
request.to_function_approval_response(approved=True|False)creates the response- The response is sent back via
agent.run(approval_response, session=session) - If approved, the script executes; if rejected, the agent receives an error
Key Components
require_script_approval=True— Gates all script execution on human approvalresult.user_input_requests— Contains pending approval requests afteragent.run()request.to_function_approval_response()— Creates an approval or rejection response
Running the Sample
Prerequisites
- An Azure AI Foundry project with a deployed model (e.g.
gpt-4o-mini)
Environment Variables
Set the required environment variables in a .env file (see python/.env.example):
FOUNDRY_PROJECT_ENDPOINT: Your Azure AI Foundry project endpointAZURE_OPENAI_DEPLOYMENT_NAME: The name of your model deployment (defaults togpt-4o-mini)
Authentication
This sample uses AzureCliCredential for authentication. Run az login in your terminal before running the sample.
Run
cd python
uv run samples/02-agents/skills/script_approval/script_approval.py