-
Notifications
You must be signed in to change notification settings - Fork 62
Human in the loop - WIP #2696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Human in the loop - WIP #2696
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
| tools_requiring_approval: list[str] = [] # empty list = all tools require approval | ||
| auto_approve_read_only: bool = True # auto-approve GET/list/describe operations | ||
| default_on_timeout: Literal["approve", "reject"] = "reject" | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the cofiguration does not belong here. It is configuration for the specific MCP headers and should be added there
|
|
||
|
|
||
| @router.post("/approve", responses=approve_responses) | ||
| async def submit_approval( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is cool, but... How does the client knows to invoke this? We have a request/reply paradigm in both OLS and LCOre. So the client makes a request and while waiting for a reply should invoke this? Does not seem right
|
Overall Human in the loop does not seem quite appropriate for request-reply. It is typically used in fire and forget scenarios |
Description
Human-in-the-Loop (HITL) Feature
What
Adds human-in-the-loop approval workflow for AI tool execution. Users can now approve, deny, or modify tool calls before they execute.
Why
Provides safety controls for agentic AI operations. Critical for production environments where AI-initiated actions (like applying YAML or modifying resources) should require human oversight.
How It Works
approval_requiredevent containing tool name, arguments, and an approval IDPOST /v1/hitl/approvewith decision:approve,deny, ormodifyAPI
POST /v1/hitl/approve- Submit approval decisionGET /v1/hitl/pending/{conversation_id}- List pending approvalsConfiguration
Type of change
Related Tickets & Documents
Checklist before requesting a review
Testing