Skip to main content

Interface: HitlConfig

Defined in: packages/agentos/src/api/types.ts:205

Human-in-the-loop (HITL) configuration. Gates specific lifecycle events behind an async approval handler before the agent proceeds.

Properties

approvals?

optional approvals: object

Defined in: packages/agentos/src/api/types.ts:210

Declarative approval triggers. All are opt-in; omitting a field means no pause at that lifecycle point.

beforeAgent?

optional beforeAgent: string[]

Agent names whose invocations require approval before execution.

beforeEmergent?

optional beforeEmergent: boolean

Whether emergent agent creation requires approval.

beforeReturn?

optional beforeReturn: boolean

Whether returning the final answer requires approval.

beforeStrategyOverride?

optional beforeStrategyOverride: boolean

Whether a runtime strategy override requires approval.

beforeTool?

optional beforeTool: string[]

Tool names whose invocations require approval before execution.


guardrailOverride?

optional guardrailOverride: boolean

Defined in: packages/agentos/src/api/types.ts:252

Run guardrails AFTER HITL approval to catch destructive actions.

When enabled (default), even after a tool call is approved by the HITL handler (auto-approve, LLM judge, or human), the configured guardrails run a final safety check against the tool call arguments. If any guardrail returns action: 'block', the approval is overridden and the tool call is denied.

Set to false to disable this safety net and give full autonomy to the HITL handler's decision.

Default

true

handler()?

optional handler: (request) => Promise<ApprovalDecision>

Defined in: packages/agentos/src/api/types.ts:227

Custom async handler invoked for every approval request. Must resolve to an ApprovalDecision within timeoutMs or the onTimeout policy is applied.

Parameters

request

ApprovalRequest

Returns

Promise<ApprovalDecision>


onTimeout?

optional onTimeout: "error" | "reject" | "approve"

Defined in: packages/agentos/src/api/types.ts:236

Policy applied when the handler does not respond within timeoutMs.

  • "reject" — treat as denied; the action is blocked.
  • "approve" — treat as approved; the action proceeds automatically.
  • "error" — throw an error and halt the run.

postApprovalGuardrails?

optional postApprovalGuardrails: string[]

Defined in: packages/agentos/src/api/types.ts:263

Guardrail IDs to run as a post-approval safety check.

Only evaluated when guardrailOverride is not false. These guardrails are invoked after the HITL handler approves a tool call and can veto the approval if they detect destructive patterns.

Default

['pii-redaction', 'code-safety']

timeoutMs?

optional timeoutMs: number

Defined in: packages/agentos/src/api/types.ts:229

Maximum milliseconds to wait for the handler to resolve. Defaults to 30_000.