@pod-protocol/cli
Version:
Command-line interface for PoD Protocol (Prompt or Die) AI Agent Communication Protocol
54 lines • 2.04 kB
TypeScript
import { Ora } from "ora";
import { PodComClient } from "@pod-protocol/sdk";
import { Command } from "commander";
export interface GlobalOptions {
network?: string;
keypair?: string;
dryRun?: boolean;
}
/**
* Common error handler for CLI commands
*/
export declare function handleCommandError(error: any, action: string): never;
/**
* Create wrapped command handler with common error handling
*/
export declare function createCommandHandler<T extends any[]>(action: string, handler: (client: PodComClient, wallet: any, globalOpts: GlobalOptions, ...args: T) => Promise<void>): (globalOpts: GlobalOptions, ...args: T) => Promise<void>;
/**
* Handle dry run logic with spinner
*/
export declare function handleDryRun(globalOpts: GlobalOptions, spinner: Ora, action: string, details?: Record<string, any>): boolean;
/**
* Create spinner with consistent messaging
*/
export declare function createSpinner(message: string): Ora;
/**
* Success message with spinner
*/
export declare function showSuccess(spinner: Ora, message: string, details?: Record<string, any>): void;
/**
* Common table configuration
*/
export declare const getTableConfig: (title: string) => {
header: {
alignment: "center";
content: string;
};
};
/**
* Format value for display with appropriate styling
*/
export declare function formatValue(value: any, type?: "address" | "number" | "text" | "boolean"): string;
/**
* Common validation for public key addresses
*/
export declare function validatePublicKey(address: string, fieldName: string): void;
/**
* Get command options in a compatible way across Commander.js versions
*/
export declare function getCommandOpts(cmd: Command): GlobalOptions;
/**
* Enhanced command handler with centralized error handling
*/
export declare function createSafeCommandHandler(description: string, handler: (client: PodComClient, wallet: any, globalOpts: GlobalOptions, ...args: any[]) => Promise<void>): (...args: any[]) => Promise<void>;
//# sourceMappingURL=shared.d.ts.map