Files
ansiblings/packages/nopy/dist/nopy.history.d.ts
T
Benjamin Diedrichsen 736c01216a initial transfer
2026-07-27 13:09:00 +02:00

91 lines
2.5 KiB
TypeScript

/**
* Session history management
* @module nopy.history
*/
import type { NopySession } from './nopy.session.js';
/** Default number of sessions to keep in history */
export declare const DEFAULT_HISTORY_SIZE = 10;
/** History file name */
export declare const HISTORY_FILE = ".nopy.history.json";
/**
* A session entry in history
*/
export interface HistoryEntry {
/** Unique identifier (timestamp-based) */
id: string;
/** Human-readable name (timestamp + cube names) */
name: string;
/** ISO timestamp when session was executed */
timestamp: string;
/** The full session data */
session: NopySession;
}
/**
* History file structure
*/
export interface SessionHistory {
/** Array of session entries, newest first */
entries: HistoryEntry[];
}
/**
* Gets the path to the history file
*/
export declare function getHistoryPath(): string;
/**
* Loads the session history from disk
*
* @returns The session history or empty history if file doesn't exist
*/
export declare function loadHistory(): SessionHistory;
/**
* Saves the session history to disk
*
* @param history - The history to save
*/
export declare function saveHistory(history: SessionHistory): void;
/**
* Adds a session to the history
*
* @param session - The session to add
* @param maxEntries - Maximum number of entries to keep
* @returns The created history entry
*/
export declare function addToHistory(session: NopySession, maxEntries?: number): HistoryEntry;
/**
* Gets the most recent session from history
*
* @returns The last session or undefined if history is empty
*/
export declare function getLastSession(): HistoryEntry | undefined;
/**
* Gets a session by ID
*
* @param id - The session ID
* @returns The session entry or undefined
*/
export declare function getSessionById(id: string): HistoryEntry | undefined;
/**
* Lists all sessions in history
*
* @returns Array of history entries, newest first
*/
export declare function listHistory(): HistoryEntry[];
/**
* Clears all session history
*/
export declare function clearHistory(): void;
/**
* Removes a specific session from history
*
* @param id - The session ID to remove
* @returns true if removed, false if not found
*/
export declare function removeFromHistory(id: string): boolean;
/**
* Formats history entries for display
*
* @param entries - History entries to format
* @returns Formatted string for console output
*/
export declare function formatHistoryList(entries: HistoryEntry[]): string;