/** * Type definitions for Genspark Tool CLI */ export interface GlobalOptions { apiKey?: string; baseUrl: string; debug: boolean; timeout: number; output: 'json' | 'text'; projectId?: string; refresh?: boolean; /** --no-input: never prompt interactively (hosted approval y/n etc.). */ noInput?: boolean; /** * --yes/-y: assume "yes" at pre-call confirmation prompts (confirm.ts). * Interactive-only actions still prompt — see decideConfirmation. */ yes?: boolean; } export interface ApiResponse { status: 'ok' | 'error'; message: string; data: T | null; session_state?: Record | null; http_status?: number; error_code?: string; retry_after?: number; instruction_for_agent?: string; } export interface ToolParameter { type: string | string[]; description?: string; enum?: string[]; items?: { type: string; }; default?: unknown; } export interface ConfirmationExempt { param: string; values: string[]; default?: string; } export interface ToolActionInfo { description: string; parameters: string[]; required: string[]; requires_confirmation?: boolean; /** * The action's skip parameters are schema-locked (e.g. slack send), so * --yes is rejected and confirmation must happen interactively. */ interactive_only?: boolean; confirmation_exempt?: ConfirmationExempt; } export interface ToolSchema { name: string; description: string; requires_project: boolean; parameters: { type: 'object'; properties: Record; required?: string[]; }; actions?: Record | null; cli: { aliases: string[]; primary_arg?: string | null; parameter_aliases?: Record; output_file_keys?: string[]; group?: string | null; subcommand?: string | null; legacy_top_level?: boolean; path?: string[] | null; requires_confirmation?: boolean; interactive_only?: boolean; confirmation_exempt?: ConfirmationExempt; }; } export interface ToolListResponse { tools: ToolSchema[]; features?: Record; } export interface UserInfo { email: string | null; name: string | null; plan: string | null; personal_plan: string | null; org_plan: string | null; org_role: string | null; } export interface FileUploadUrlRequest { content_type: string; name?: string; project_id?: string; } export interface FileUploadUrlResponse { upload_url: string; file_wrapper_url: string; } export interface FileDownloadRequest { file_wrapper_url: string; } export interface FileDownloadResponse { download_url: string; file_name?: string; content_type?: string; original_url: string; } export interface CodeSkillFile { path: string; content: string; } export interface CodeSkill { name: string; files: CodeSkillFile[]; } export interface GensparkCodeSkillsResponse { skills: CodeSkill[]; } //# sourceMappingURL=types.d.ts.map