/** * Early SDK logger for components that operate before/outside of `ClineCore` * sessions, plus a secret-hashing helper for credential diagnostics. * * `ClineCore.create({ logger })` receives a `BasicLogger` but it is only * threaded to session-scoped components. `ProviderSettingsManager`, * `RuntimeOAuthTokenManager`, and the Cline auth functions in `cline.ts` are * constructed or called before `ClineCore` exists or outside a session. * Hosts call `setSdkLogger()` once at startup and every early component picks * it up without threading loggers through every constructor. * * When no logger is registered, every call is a no-op. * * Secrets are never logged in cleartext; {@link hashSecret} produces an * 8-hex-digit fingerprint that is stable for the same value but irreversible. */ import type { BasicLogger } from "@cline/shared"; /** * Register the logger used by {@link sdkDebug}. Pass `undefined` to disable. */ export declare function setSdkLogger(logger: BasicLogger | undefined): void; /** @internal Returns the currently registered early logger (for testing). */ export declare function getSdkLogger(): BasicLogger | undefined; /** * Short, stable fingerprint of a secret for debug logging (8 hex digits of a * SHA-256 digest). The same input always yields the same hash, making it easy * to eyeball whether a token changed across log entries without leaking it. * * Returns `"unset"` for undefined/null/empty so absence is still visible. */ export declare function hashSecret(value: unknown): string; /** * Emit a debug-level SDK diagnostic message (already a formatted string). * Best-effort: swallows errors from the underlying logger so logging never * breaks auth/storage flows. */ export declare function sdkDebug(message: string): void;