@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
58 lines (57 loc) • 2.29 kB
TypeScript
/**
* Update State Persistence
* Manages persistent state for the proxy auto-update feature.
* Tracks check timestamps, suppressed versions, and update history.
*
* State file location: ~/.neurolink/update-state.json
* Suppressed versions expire after 24 hours.
*/
import type { UpdateState } from "../types/index.js";
/**
* Return an empty/initial UpdateState.
*/
export declare function getDefaultUpdateState(): UpdateState;
/**
* Load the update state from disk.
* Returns null if the file does not exist.
* Returns the default state if the file contains corrupt JSON.
*
* @param stateFilePath - Override path for testing (default: ~/.neurolink/update-state.json)
*/
export declare function loadUpdateState(stateFilePath?: string): UpdateState | null;
/**
* Save the update state to disk.
*
* @param state - The UpdateState to persist
* @param stateFilePath - Override path for testing (default: ~/.neurolink/update-state.json)
*/
export declare function saveUpdateState(state: UpdateState, stateFilePath?: string): void;
/**
* Check whether a version is currently suppressed (i.e., suppressed AND within the 24-hour window).
*
* @param version - Semver version string to check
* @param stateFilePath - Override path for testing
*/
export declare function isVersionSuppressed(version: string, stateFilePath?: string): boolean;
/**
* Add a version to the suppressed list and persist.
*
* @param version - Semver version string to suppress
* @param reason - Human-readable reason for suppression
* @param stateFilePath - Override path for testing
*/
export declare function suppressVersion(version: string, reason: string, stateFilePath?: string): void;
/**
* Record a successful update: set lastUpdateAt and lastUpdateVersion, then persist.
*
* @param version - The version that was successfully installed
* @param stateFilePath - Override path for testing
*/
export declare function recordSuccessfulUpdate(version: string, stateFilePath?: string): void;
/**
* Record an update check: set lastCheckAt and lastCheckVersion, then persist.
*
* @param latestVersion - The latest version found during the check
* @param stateFilePath - Override path for testing
*/
export declare function recordCheck(latestVersion: string, stateFilePath?: string): void;