Skip to content

@pgege/kaboo-runtime


Interface: ApprovalDecision

Defined in: src/approvals.ts:79

A person's answer to one approval request, matched against what the agent actually asked (kaboo_sessions.approvals), never against client claims.

Properties

decision

decision: "approved" | "denied" | "skipped" | "expired"

Defined in: src/approvals.ts:92

approved, denied (with an optional reason), skipped (the Skip button or dismissing a card), or expired (answered after the deadline).


input

input: unknown

Defined in: src/approvals.ts:98

The input the call runs with: the agent's, or the person's edit.


interruptId

interruptId: string

Defined in: src/approvals.ts:81

The AG-UI interrupt id answered.


reason?

optional reason?: string

Defined in: src/approvals.ts:96

The person's reason for a denial.


request?

optional request?: string

Defined in: src/approvals.ts:106

The tool's own request id, when the tool asked for this approval itself (a kaboo_approval reply). Read from the request the agent published, never from the client. Forward the decision to that tool's service in KabooApprovalOptions.onDecision; the runner never saves it as a grant, because the service remembers it.


scope

scope: ApprovalScope

Defined in: src/approvals.ts:94

For an approval, how far it reaches; once otherwise.


subject

subject: ApprovalSubject

Defined in: src/approvals.ts:87

What a remembered decision covers.


tool

tool: string

Defined in: src/approvals.ts:85

The gated tool.


toolCallId

toolCallId: string | null

Defined in: src/approvals.ts:83

The tool call the request was raised for, when known.