Skip to main content

Enumeration: EToolCallVerdict

Defined in: contracts/types.ts:241

What a tool's policy can say about one call (D87).

Enumeration Members​

ALLOW​

ALLOW: "ALLOW"

Defined in: contracts/types.ts:243

The call runs now, without a human. The same as a tool without policy.


DENY​

DENY: "DENY"

Defined in: contracts/types.ts:253

The call is refused before it runs.

The model is told it was refused and why, so it can recover (correct the input, ask the user, do something else).

The tool never executes; the result the model reads is DEFAULT_TOOL_DENIAL_TEXT plus the policy's reason. The other calls of the same step still run, and the run goes on. A denied call counts as not executed for requires and never ends the run.


NEEDS_APPROVAL​

NEEDS_APPROVAL: "NEEDS_APPROVAL"

Defined in: contracts/types.ts:262

The app's policy accepts the call, but a human must approve it before it runs.

The policy's job is done; the decision is now the user's, through the human gate.

The run pauses with the call in a TOOL_APPROVAL envelope. APPROVE or EDIT executes it; REJECT sends the result's rejectionText (or DEFAULT_TOOL_REJECTION_TEXT) with the human's reason to the model, and the tool never ran.