@hivetechs/hive-ai
Version:
Real-time streaming AI consensus platform with HTTP+SSE MCP integration for Claude Code, VS Code, Cursor, and Windsurf - powered by OpenRouter's unified API
123 lines • 3.7 kB
TypeScript
/**
* Interactive License Configuration Tool
*
* Restores the license gate functionality that was accidentally removed during OpenRouter simplification.
* Provides interactive prompts for license key input, validation, and tier detection.
*/
import { z } from 'zod';
import * as readline from 'readline';
import { FeatureTier } from '../../core/license-gate.js';
export declare const licenseConfigurationToolName = "license_configuration";
export declare const licenseConfigurationToolDescription = "Interactive license key configuration and validation";
export declare const LicenseConfigurationSchema: z.ZodObject<{
force_reconfigure: z.ZodDefault<z.ZodBoolean>;
license_key: z.ZodOptional<z.ZodString>;
use_modern_gate: z.ZodDefault<z.ZodBoolean>;
skip_validation: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
force_reconfigure: boolean;
use_modern_gate: boolean;
skip_validation: boolean;
license_key?: string | undefined;
}, {
license_key?: string | undefined;
force_reconfigure?: boolean | undefined;
use_modern_gate?: boolean | undefined;
skip_validation?: boolean | undefined;
}>;
interface LicenseConfigResult {
success: boolean;
tier: FeatureTier;
message: string;
features: string[];
daily_limit?: number;
user_id?: string;
error?: string;
}
export declare class LicenseConfigurationWizard {
private rl;
private useModernGate;
private externalReadline;
constructor(useModernGate?: boolean, existingReadline?: readline.Interface);
private initializeReadline;
private prompt;
/**
* Main interactive license configuration flow
*/
configureInteractively(forceReconfigure?: boolean): Promise<LicenseConfigResult>;
/**
* Non-interactive license validation
*/
validateLicenseKey(licenseKey: string, skipValidation?: boolean): Promise<LicenseConfigResult>;
/**
* Check if license key already exists
*/
private checkExistingLicense;
/**
* Check for modern encrypted license file
*/
private checkModernLicenseFile;
/**
* Check for legacy license files
*/
private checkLegacyLicenseFiles;
/**
* Validate existing license without prompting
*/
private validateExistingLicense;
/**
* Show license information and pricing
*/
private showLicenseInformation;
/**
* Interactive prompt for license key input with full validation
*/
private promptForLicenseKey;
/**
* Validate license with D1 backend and store locally
*/
private validateAndStoreLicense;
/**
* Store license key securely
*/
private storeLicenseKey;
/**
* Get appropriate license gate instance
*/
private getLicenseGate;
close(): void;
}
export declare function runLicenseConfigurationTool(args: z.infer<typeof LicenseConfigurationSchema>): Promise<{
success: boolean;
tier: FeatureTier;
message: string;
features: string[];
daily_limit: number | undefined;
user_id: string | undefined;
error: string | undefined;
} | {
success: boolean;
tier: FeatureTier;
message: string;
features: never[];
error: string;
daily_limit?: undefined;
user_id?: undefined;
}>;
/**
* Quick license status check
*/
export declare function checkLicenseStatus(): Promise<{
hasLicense: boolean;
isValid: boolean;
tier: FeatureTier;
message: string;
email?: string;
version?: string;
}>;
/**
* CLI helper for license configuration
*/
export declare function configureLicenseFromCLI(): Promise<void>;
export {};
//# sourceMappingURL=license-configuration.d.ts.map