UNPKG

@toolprint/hypertool-mcp

Version:

HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers

87 lines • 2.69 kB
/** * Persona Installer * * This module handles the installation of personas from both folder paths and .htp archives * into the standard personas directory. It provides atomic operations with rollback * capabilities and comprehensive validation. * * @fileoverview Persona installation and management functionality */ import type { PersonaReference } from "./types.js"; /** * Installation options */ export interface InstallOptions { /** Whether to overwrite existing personas */ force?: boolean; /** Whether to validate before installation */ skipValidation?: boolean; /** Whether to create backup of existing persona */ backup?: boolean; /** Custom installation directory (defaults to standard personas directory) */ installDir?: string; } /** * Installation result */ export interface InstallResult { /** Installation success status */ success: boolean; /** Name of installed persona */ personaName?: string; /** Final installation path */ installPath?: string; /** Backup path if backup was created */ backupPath?: string; /** Any warnings encountered */ warnings: string[]; /** Any errors encountered */ errors: string[]; /** Whether this was an overwrite operation */ wasOverwrite: boolean; } /** * Installation source type detection */ export declare enum SourceType { FOLDER = "folder", ARCHIVE = "archive" } /** * Installation source info */ export interface SourceInfo { /** Path to source */ path: string; /** Source type */ type: SourceType; /** Persona name if detectable */ personaName?: string; /** Whether source exists and is accessible */ accessible: boolean; } /** * Get the configured personas installation directory */ export declare function getStandardPersonasDir(): string; /** * Analyze installation source to determine type and basic info */ export declare function analyzeSource(sourcePath: string): Promise<SourceInfo>; /** * Check if a persona with the given name already exists */ export declare function checkPersonaExists(personaName: string, installDir?: string): Promise<boolean>; /** * Install a persona from a source path (folder or archive) */ export declare function installPersona(sourcePath: string, options?: InstallOptions): Promise<InstallResult>; /** * List all installed personas */ export declare function listInstalledPersonas(installDir?: string): Promise<PersonaReference[]>; /** * Uninstall a persona by name */ export declare function uninstallPersona(personaName: string, installDir?: string, createBackup?: boolean): Promise<InstallResult>; //# sourceMappingURL=installer.d.ts.map