Skip to main content
Dotset CLI API Documentation / tollgate / TerminalApprovalHandler

Class: TerminalApprovalHandler

Defined in: src/tollgate/approval/terminal.ts:54 Terminal approval handler that prompts users via stdin/stdout. Supports session-based approvals where users can approve for a duration:
  • y or yes - Approve once (no session grant)
  • 5 - Approve and grant for 5 minutes
  • 15 - Approve and grant for 15 minutes
  • s or session - Approve for the entire session
  • n or no - Deny
  • d - Show details (future feature)

Example

const handler = new TerminalApprovalHandler(60000);
const response = await handler.prompt(request);

if (response.result === 'approved') {
  if (response.sessionGrant) {
    // User approved with a session duration
    console.log(`Granted for ${response.sessionGrant.duration}`);
  }
}

Implements

Constructors

Constructor

new TerminalApprovalHandler(timeoutMs): TerminalApprovalHandler;
Defined in: src/tollgate/approval/terminal.ts:58

Parameters

timeoutMs
number = DEFAULT_TIMEOUT_MS

Returns

TerminalApprovalHandler

Methods

close()

close(): void;
Defined in: src/tollgate/approval/terminal.ts:294 Closes any open resources (readline interfaces, etc).

Returns

void

Implementation of

prompt()

prompt(request): Promise<ApprovalResponse>;
Defined in: src/tollgate/approval/terminal.ts:62 Prompts the user for approval.

Parameters

request
The approval request

Returns

Promise<ApprovalResponse> Promise resolving to the user’s response

Implementation of