import type { HTTPRPCOptions } from '../index.js'; /** * Options for `ipfs.provide.stat`. */ export interface ProvideStatOptions extends HTTPRPCOptions { /** * Return all statistics (recommended). */ all?: boolean; /** * Return LAN-specific statistics. */ lan?: boolean; } /** * Response returned by the Kubo RPC endpoint: * /api/v0/provide/stat * * Depending on the provider system in use, either `Sweep` * or `Legacy` statistics will be populated. */ export interface ProvideStats { /** * Stats for the sweep provider (default in modern Kubo). */ Sweep?: SweepProvideStats; /** * Stats for the legacy provider (deprecated). * Present only when legacy provider is enabled. */ Legacy?: LegacyProvideStats | null; /** * Whether the node is using Full Routing Table (FullRT) DHT. */ FullRT?: boolean; } /** * Sweep provider stats (modern provider system). */ export interface SweepProvideStats { closed: boolean; connectivity: ProvideConnectivity; queues: ProvideQueues; schedule: ProvideSchedule; workers: ProvideWorkers; timing: ProvideTiming; operations: ProvideOperations; network: ProvideNetwork; } /** * Legacy provider stats (older provider system). */ export interface LegacyProvideStats { total_reprovides: number; avg_reprovide_duration: string; last_reprovide_duration: string; last_run?: string; reprovide_interval?: string; } /** * Connectivity status of the provider to the DHT. */ export interface ProvideConnectivity { status: string; since: string; } /** * Pending provide and reprovide queue sizes. */ export interface ProvideQueues { pending_key_provides: number; pending_region_provides: number; pending_region_reprovides: number; } /** * Scheduling information for reprovides. */ export interface ProvideSchedule { keys: number; regions: number; avg_prefix_length: number; next_reprovide_at: string; next_reprovide_prefix: string; } /** * Worker pool state for provider operations. */ export interface ProvideWorkers { max: number; active: number; active_periodic: number; active_burst: number; dedicated_periodic: number; dedicated_burst: number; queued_periodic: number; queued_burst: number; max_provide_conns_per_worker: number; } /** * Timing and lifecycle information for the provider. */ export interface ProvideTiming { uptime: number; reprovides_interval: number; cycle_start: string; current_time_offset: number; max_reprovide_delay: number; } /** * Ongoing and historical provide operations. */ export interface ProvideOperations { ongoing: { key_provides: number; region_provides: number; key_reprovides: number; region_reprovides: number; }; past: { keys_provided: number; records_provided: number; keys_failed: number; keys_provided_per_minute?: number; keys_reprovided_per_minute?: number; reprovide_duration?: number; avg_keys_per_reprovide?: number; regions_reprovided_last_cycle?: number; }; } /** * DHT and network-related provider metrics. */ export interface ProvideNetwork { peers: number; reachable: number; complete_keyspace_coverage: boolean; avg_region_size: number; avg_holders: number; replication_factor: number; } //# sourceMappingURL=types.d.ts.map