@vigilbase/cli
Version:
Vigilbase CLI — security scanners, agent tools, and Vigilbase One from the terminal.
47 lines (46 loc) • 1.99 kB
TypeScript
import { type AgentToolExecuteResponse, type AgentToolsCatalogResponse } from '../types.js';
import type { CliConfig } from './config.js';
export declare class VigilbaseApiError extends Error {
readonly status: number;
readonly body: unknown;
readonly retryAfterSec?: number;
readonly code?: string;
/** The server's sanitised explanation, set only for known vigilbase.com problem errors. */
readonly reason?: string;
/** CLI-authored remediation, never server text (see one-error-hints.ts). */
readonly hint?: string;
/**
* The message is the CLI's own text, never the server's, so formatError prints it although the
* error carries a body. Unmarked errors with a body print only a generic `Request failed`.
*/
readonly isCliAuthored: boolean;
/** The One tool run a failed scan recorded. */
readonly toolRunId?: string;
constructor(message: string, options: {
status: number;
body?: unknown;
retryAfterSec?: number;
code?: string;
reason?: string;
hint?: string;
isCliAuthored?: boolean;
toolRunId?: string;
});
}
export declare function retryAfterSeconds(response: Response, body: unknown): number | undefined;
/** The versioned public tools API. The unversioned /api/agent/tools aliases sunset on 2027-09-01. */
export declare const PUBLIC_TOOLS_PATH = "/api/v1/agent/tools";
/**
* Public (unauthenticated) vigilbase.com tools client.
* Vigilbase One authenticated calls will use a separate client + device-auth tokens.
*/
export declare class VigilbaseClient {
private readonly config;
constructor(config: CliConfig);
private get origin();
private request;
listTools(): Promise<AgentToolsCatalogResponse>;
executeTool(toolName: string, target: string): Promise<AgentToolExecuteResponse>;
fetchSkillMarkdown(skillUrl: string): Promise<string>;
badgeUrl(domain: string, style?: 'default' | 'compact' | 'mini'): string;
}