/** * Startup notices and update/telemetry checks extracted from interactive-mode. * * These render the "What's New" changelog notice and the untrusted-project * warning, probe for package/tmux configuration issues, surface update * notifications, and report anonymous install telemetry. They read * session/settings state and render into the chat container through a narrow * `StartupChecksHost` seam (`startupNoticesShown` is threaded via get/set); * interactive-mode keeps thin delegating wrappers. */ import type { SessionManager } from "@caupulican/pi-agent-core/node"; import type { Container, MarkdownTheme, TUI } from "@caupulican/pi-tui"; import type { AgentSession } from "../../core/agent-session.ts"; import type { SettingsManager } from "../../core/settings-manager.ts"; import type { LatestPiRelease } from "../../utils/version-check.ts"; export interface StartupChecksHost { readonly sessionManager: Pick; readonly settingsManager: SettingsManager; readonly session: Pick; readonly chatContainer: Container; readonly ui: Pick; readonly version: string; readonly changelogMarkdown: string | undefined; startupNoticesShown: boolean; getMarkdownThemeWithSettings(): MarkdownTheme; } export declare function checkForPackageUpdates(host: StartupChecksHost): Promise; export declare function checkTmuxKeyboardSetup(): Promise; /** * Get changelog entries to display on startup. * Only shows new entries since last seen version, skips for resumed sessions. */ export declare function getChangelogForDisplay(host: StartupChecksHost): string | undefined; export declare function showStartupNoticesIfNeeded(host: StartupChecksHost): void; export declare function renderProjectTrustWarningIfNeeded(host: StartupChecksHost): void; export declare function showNewVersionNotification(host: StartupChecksHost, release: LatestPiRelease): void; export declare function showPackageUpdateNotification(host: StartupChecksHost, packages: string[]): void; //# sourceMappingURL=startup-checks.d.ts.map