export namespace Flag { // Snow-Code branding with backwards compatibility fallback to OPENCODE_* export const SNOWCODE_AUTO_SHARE = truthy("SNOWCODE_AUTO_SHARE") || truthy("OPENCODE_AUTO_SHARE") export const SNOWCODE_CONFIG = process.env["SNOWCODE_CONFIG"] || process.env["OPENCODE_CONFIG"] export const SNOWCODE_CONFIG_DIR = process.env["SNOWCODE_CONFIG_DIR"] || process.env["OPENCODE_CONFIG_DIR"] export const SNOWCODE_CONFIG_CONTENT = process.env["SNOWCODE_CONFIG_CONTENT"] || process.env["OPENCODE_CONFIG_CONTENT"] export const SNOWCODE_DISABLE_AUTOUPDATE = truthy("SNOWCODE_DISABLE_AUTOUPDATE") || truthy("OPENCODE_DISABLE_AUTOUPDATE") export const SNOWCODE_DISABLE_PRUNE = truthy("SNOWCODE_DISABLE_PRUNE") || truthy("OPENCODE_DISABLE_PRUNE") export const SNOWCODE_PERMISSION = process.env["SNOWCODE_PERMISSION"] || process.env["OPENCODE_PERMISSION"] export const SNOWCODE_DISABLE_DEFAULT_PLUGINS = truthy("SNOWCODE_DISABLE_DEFAULT_PLUGINS") || truthy("OPENCODE_DISABLE_DEFAULT_PLUGINS") export const SNOWCODE_DISABLE_LSP_DOWNLOAD = truthy("SNOWCODE_DISABLE_LSP_DOWNLOAD") || truthy("OPENCODE_DISABLE_LSP_DOWNLOAD") export const SNOWCODE_ENABLE_EXPERIMENTAL_MODELS = truthy("SNOWCODE_ENABLE_EXPERIMENTAL_MODELS") || truthy("OPENCODE_ENABLE_EXPERIMENTAL_MODELS") export const SNOWCODE_DISABLE_AUTOCOMPACT = truthy("SNOWCODE_DISABLE_AUTOCOMPACT") || truthy("OPENCODE_DISABLE_AUTOCOMPACT") export const SNOWCODE_DISABLE_LARGE_OUTPUT_HANDLER = truthy("SNOWCODE_DISABLE_LARGE_OUTPUT_HANDLER") || truthy("OPENCODE_DISABLE_LARGE_OUTPUT_HANDLER") // Experimental features export const SNOWCODE_EXPERIMENTAL_WATCHER = truthy("SNOWCODE_EXPERIMENTAL_WATCHER") || truthy("OPENCODE_EXPERIMENTAL_WATCHER") export const SNOWCODE_EXPERIMENTAL_TURN_SUMMARY = truthy("SNOWCODE_EXPERIMENTAL_TURN_SUMMARY") || truthy("OPENCODE_EXPERIMENTAL_TURN_SUMMARY") export const SNOWCODE_EXPERIMENTAL_NO_BOOTSTRAP = truthy("SNOWCODE_EXPERIMENTAL_NO_BOOTSTRAP") || truthy("OPENCODE_EXPERIMENTAL_NO_BOOTSTRAP") // Debug features export const SNOWCODE_DEBUG_TOKENS = truthy("SNOWCODE_DEBUG_TOKENS") || truthy("OPENCODE_DEBUG_TOKENS") export const SNOWCODE_DEBUG_TOOLS = truthy("SNOWCODE_DEBUG_TOOLS") || truthy("OPENCODE_DEBUG_TOOLS") // Legacy aliases for backwards compatibility (deprecated - map to SNOWCODE_) export const OPENCODE_AUTO_SHARE = SNOWCODE_AUTO_SHARE export const OPENCODE_CONFIG = SNOWCODE_CONFIG export const OPENCODE_CONFIG_DIR = SNOWCODE_CONFIG_DIR export const OPENCODE_CONFIG_CONTENT = SNOWCODE_CONFIG_CONTENT export const OPENCODE_DISABLE_AUTOUPDATE = SNOWCODE_DISABLE_AUTOUPDATE export const OPENCODE_DISABLE_PRUNE = SNOWCODE_DISABLE_PRUNE export const OPENCODE_PERMISSION = SNOWCODE_PERMISSION export const OPENCODE_DISABLE_DEFAULT_PLUGINS = SNOWCODE_DISABLE_DEFAULT_PLUGINS export const OPENCODE_DISABLE_LSP_DOWNLOAD = SNOWCODE_DISABLE_LSP_DOWNLOAD export const OPENCODE_ENABLE_EXPERIMENTAL_MODELS = SNOWCODE_ENABLE_EXPERIMENTAL_MODELS export const OPENCODE_DISABLE_AUTOCOMPACT = SNOWCODE_DISABLE_AUTOCOMPACT export const OPENCODE_EXPERIMENTAL_WATCHER = SNOWCODE_EXPERIMENTAL_WATCHER export const OPENCODE_EXPERIMENTAL_TURN_SUMMARY = SNOWCODE_EXPERIMENTAL_TURN_SUMMARY export const OPENCODE_EXPERIMENTAL_NO_BOOTSTRAP = SNOWCODE_EXPERIMENTAL_NO_BOOTSTRAP function truthy(key: string) { const value = process.env[key]?.toLowerCase() return value === "true" || value === "1" } }