feat(guardrails_service): complete flow #751
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new
GuardrailsServicefor validating and enforcing guardrails on agent input, integrates guardrail support into agent models, and improves the handling of metadata during human-in-the-loop (HITL) escalation flows. Additionally, it expands test coverage for these new behaviors. The most important changes are summarized below:Guardrails Service and Enforcement:
Added a new
GuardrailsServiceclass (src/uipath/_services/guardrails_service.py) that provides methods to evaluate, execute, and process guardrails for agent input, including support for escalation, blocking, logging, and filtering actions. This service is now available throughout the codebase. [1] [2] [3]Introduced the
GuardrailViolationErrorexception and logic for handling escalation via HITL, including re-evaluation and rejection flows.Agent Model Integration:
guardrailsfield toBaseAgentDefinition, and refactored escalation recipient types to use the shared models inuipath.models.guardrails. [1] [2] [3]Human-in-the-Loop (HITL) Improvements:
include_metadataflag, allowing the full action object to be returned when requested. This is controlled via the payload and propagated through theCreateActionandWaitActionmodels. [1] [2]Testing Enhancements:
include_metadata=Trueis set during interruption, the full action object is returned as expected. [1] [2]These changes collectively enable robust guardrail processing and escalation handling for agent-based workflows, with improved test coverage and model consistency.
Development Package