/** * Detect if we're running as a Bun compiled binary. * Bun binaries have import.meta.url containing "$bunfs", "~BUN", or "%7EBUN" (Bun's virtual filesystem path) */ export declare const isBunBinary: boolean; /** Detect if Bun is the runtime (compiled binary or bun run) */ export declare const isBunRuntime: boolean; export declare const APP_NAME: string; export declare const CONFIG_DIR_NAME: string; export declare const VERSION: string; export declare const PACKAGE_NAME: string; export declare const FILE_PREFIX: string; export declare const ENV_PREFIX: string; /** * Detect if we're running from source (development mode) rather than an installed package. * True when the package directory contains a `src/` directory (i.e., a development checkout). */ export declare function isDevMode(): boolean; export interface StrictVersion { major: number; minor: number; patch: number; } /** * Parse a strict stable semver core string. * * Accepts only the exact form major.minor.patch where each component is * either the single digit 0 or a positive integer with no leading zero. * * Returns null for anything else, including: * - missing components ("2", "1.1") * - extra components ("1.1.8.1") * - leading zeros ("01.1.9") * - prefixes / suffixes ("v1.1.8", "1.1.8-beta.1", "1.1.8+build.1") * - whitespace, non-string types */ export declare function parseStrictStableVersion(version: string): StrictVersion | null; /** * Compare two version strings using strict stable semver ordering. * Returns true if a > b. * * Malformed versions (anything other than major.minor.patch) are * rejected and comparison returns false — no update is shown. */ export declare function semverGt(a: string, b: string): boolean; /** Supported npm dist-tag channels for the Apholdings Jensen Code fork. */ export declare const VALID_RELEASE_CHANNELS: readonly ["fork", "latest"]; export type ReleaseChannel = (typeof VALID_RELEASE_CHANNELS)[number]; /** * Get the release channel from environment variable. * * Uses own-property presence checks, not truthiness, to distinguish * "absent" from "explicitly set to empty string". An explicitly set * empty variable is invalid configuration and must fail closed. * * Returns undefined when neither environment variable is present. */ export declare function getReleaseChannelEnv(): string | undefined; /** * Resolve a raw release channel value to a valid ReleaseChannel or undefined. * * When explicitValue is undefined (neither env nor persisted setting is set), * this Apholdings fork defaults to "fork". * * An explicit but invalid value returns undefined (fail-closed). The caller * must not fall through to another channel source. */ export declare function resolveReleaseChannel(explicitValue: string | undefined): ReleaseChannel | undefined; export type InstallMethod = "bun-binary" | "npm" | "pnpm" | "yarn" | "bun" | "unknown"; export declare function detectInstallMethod(): InstallMethod; export declare function getUpdateInstruction(packageName: string, channel?: ReleaseChannel): string; /** * Get the base directory for resolving package assets (themes, package.json, README.md, CHANGELOG.md). * - For Bun binary: returns the directory containing the executable * - For Node.js (dist/): returns __dirname (the dist/ directory) * - For tsx (src/): returns parent directory (the package root) */ export declare function getPackageDir(): string; /** * Get path to built-in themes directory (shipped with package) * - For Bun binary: theme/ next to executable * - For Node.js (dist/): dist/modes/interactive/theme/ * - For tsx (src/): src/modes/interactive/theme/ */ export declare function getThemesDir(): string; /** * Get path to HTML export template directory (shipped with package) * - For Bun binary: export-html/ next to executable * - For Node.js (dist/): dist/core/export-html/ * - For tsx (src/): src/core/export-html/ */ export declare function getExportTemplateDir(): string; /** Get path to package.json */ export declare function getPackageJsonPath(): string; /** Get path to README.md */ export declare function getReadmePath(): string; /** Get path to docs directory */ export declare function getDocsPath(): string; /** Get path to examples directory */ export declare function getExamplesPath(): string; /** Get path to CHANGELOG.md */ export declare function getChangelogPath(): string; export declare const ENV_AGENT_DIR: string; /** Get the share viewer URL for a gist ID */ export declare function getShareViewerUrl(gistId: string): string; /** Get if offline mode is enabled via environment variable */ export declare function getOfflineEnv(): string | undefined; /** Get if version check should be skipped via environment variable */ export declare function getSkipVersionCheckEnv(): string | undefined; /** Get if timings should be enabled via environment variable */ export declare function getTimingEnv(): string | undefined; /** Get if hardware cursor should be shown via environment variable */ export declare function getHardwareCursorEnv(): string | undefined; /** Get if clear on shrink is enabled via environment variable */ export declare function getClearOnShrinkEnv(): string | undefined; /** Get the agent config directory (e.g., ~/.jensen/agent/) */ export declare function getAgentDir(): string; /** Get path to user's custom themes directory */ export declare function getCustomThemesDir(): string; /** Get path to models.json */ export declare function getModelsPath(): string; /** Get path to auth.json */ export declare function getAuthPath(): string; /** Get path to settings.json */ export declare function getSettingsPath(): string; /** Get path to tools directory */ export declare function getToolsDir(): string; /** Get path to managed binaries directory (fd, rg) */ export declare function getBinDir(): string; /** Get path to prompt templates directory */ export declare function getPromptsDir(): string; /** Get path to sessions directory */ export declare function getSessionsDir(): string; /** Get path to debug log file */ export declare function getDebugLogPath(): string; //# sourceMappingURL=config.d.ts.map