mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-13 04:14:57 +00:00
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
/**
|
|
* Logging and preferences configuration types and defaults.
|
|
*
|
|
* Covers:
|
|
* - LoggingConfig: CCS-owned structured runtime logging
|
|
* - LoggingLevel: log severity levels
|
|
* - PreferencesConfig: user preferences (theme, telemetry, auto-update)
|
|
*/
|
|
|
|
export type LoggingLevel = 'error' | 'warn' | 'info' | 'debug';
|
|
|
|
/**
|
|
* CCS-owned structured logging configuration.
|
|
* Separate from cliproxy.logging, which controls CLIProxy runtime files.
|
|
*/
|
|
export interface LoggingConfig {
|
|
/** Enable CCS-owned structured runtime logging */
|
|
enabled: boolean;
|
|
/** Minimum level written to disk */
|
|
level: LoggingLevel;
|
|
/** Rotate current log when it reaches this size in MB */
|
|
rotate_mb: number;
|
|
/** Keep archived segments for this many days */
|
|
retain_days: number;
|
|
/** Redact sensitive values before persistence */
|
|
redact: boolean;
|
|
/** In-memory recent event buffer size for dashboard reads */
|
|
live_buffer_size: number;
|
|
}
|
|
|
|
/**
|
|
* Default logging configuration.
|
|
*/
|
|
export const DEFAULT_LOGGING_CONFIG: LoggingConfig = {
|
|
enabled: true,
|
|
level: 'info',
|
|
rotate_mb: 10,
|
|
retain_days: 7,
|
|
redact: true,
|
|
live_buffer_size: 250,
|
|
};
|
|
|
|
/**
|
|
* User preferences.
|
|
*/
|
|
export interface PreferencesConfig {
|
|
/** UI theme preference */
|
|
theme?: 'light' | 'dark' | 'system';
|
|
/** Enable anonymous telemetry */
|
|
telemetry?: boolean;
|
|
/** Enable automatic update checks */
|
|
auto_update?: boolean;
|
|
}
|