function truthy(key: string) { const value = process.env[key]?.toLowerCase() return value === "true" || value === "1"} export namespace Flag { export const OPENSCIENCE_AUTO_SHARE = truthy("OPENSCIENCE_AUTO_SHARE") export const OPENSCIENCE_GIT_BASH_PATH = process.env["OPENSCIENCE_GIT_BASH_PATH"] export const OPENSCIENCE_CONFIG = process.env["OPENSCIENCE_CONFIG"] export declare const OPENSCIENCE_CONFIG_DIR: string | undefined export const OPENSCIENCE_CONFIG_CONTENT = process.env["OPENSCIENCE_CONFIG_CONTENT"] export const OPENSCIENCE_DISABLE_AUTOUPDATE = truthy("OPENSCIENCE_DISABLE_AUTOUPDATE") export const OPENSCIENCE_DISABLE_PRUNE = truthy("OPENSCIENCE_DISABLE_PRUNE") export const OPENSCIENCE_DISABLE_TERMINAL_TITLE = truthy("OPENSCIENCE_DISABLE_TERMINAL_TITLE") export const OPENSCIENCE_PERMISSION = process.env["OPENSCIENCE_PERMISSION"] export const OPENSCIENCE_DISABLE_DEFAULT_PLUGINS = truthy("OPENSCIENCE_DISABLE_DEFAULT_PLUGINS") export const OPENSCIENCE_DISABLE_LSP_DOWNLOAD = truthy("OPENSCIENCE_DISABLE_LSP_DOWNLOAD") export const OPENSCIENCE_ENABLE_EXPERIMENTAL_MODELS = truthy("OPENSCIENCE_ENABLE_EXPERIMENTAL_MODELS") export const OPENSCIENCE_DISABLE_AUTOCOMPACT = truthy("OPENSCIENCE_DISABLE_AUTOCOMPACT") export const OPENSCIENCE_DISABLE_MODELS_FETCH = truthy("OPENSCIENCE_DISABLE_MODELS_FETCH") export const OPENSCIENCE_DISABLE_CLAUDE_CODE = truthy("OPENSCIENCE_DISABLE_CLAUDE_CODE") export const OPENSCIENCE_DISABLE_CLAUDE_CODE_PROMPT = OPENSCIENCE_DISABLE_CLAUDE_CODE || truthy("OPENSCIENCE_DISABLE_CLAUDE_CODE_PROMPT") export const OPENSCIENCE_DISABLE_CLAUDE_CODE_SKILLS = OPENSCIENCE_DISABLE_CLAUDE_CODE || truthy("OPENSCIENCE_DISABLE_CLAUDE_CODE_SKILLS") export const OPENSCIENCE_DISABLE_BUNDLED_SKILLS = truthy("OPENSCIENCE_DISABLE_BUNDLED_SKILLS") export declare const OPENSCIENCE_DISABLE_PROJECT_CONFIG: boolean export const OPENSCIENCE_FAKE_VCS = process.env["OPENSCIENCE_FAKE_VCS"] export const OPENSCIENCE_CLIENT = process.env["OPENSCIENCE_CLIENT"] ?? "cli" export const OPENSCIENCE_TRUST_PROXY = truthy("OPENSCIENCE_TRUST_PROXY") // Experimental export const OPENSCIENCE_EXPERIMENTAL = truthy("OPENSCIENCE_EXPERIMENTAL") export const OPENSCIENCE_EXPERIMENTAL_FILEWATCHER = truthy("OPENSCIENCE_EXPERIMENTAL_FILEWATCHER") export const OPENSCIENCE_EXPERIMENTAL_DISABLE_FILEWATCHER = truthy("OPENSCIENCE_EXPERIMENTAL_DISABLE_FILEWATCHER") export const OPENSCIENCE_EXPERIMENTAL_ICON_DISCOVERY = OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_ICON_DISCOVERY") export const OPENSCIENCE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT = truthy( "OPENSCIENCE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT", ) export const OPENSCIENCE_ENABLE_EXA = truthy("OPENSCIENCE_ENABLE_EXA") || OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_EXA") export const OPENSCIENCE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS = number( "OPENSCIENCE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS", ) export const OPENSCIENCE_EXPERIMENTAL_OUTPUT_TOKEN_MAX = number("OPENSCIENCE_EXPERIMENTAL_OUTPUT_TOKEN_MAX") export const OPENSCIENCE_EXPERIMENTAL_OXFMT = OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_OXFMT") export const OPENSCIENCE_EXPERIMENTAL_LSP_TY = truthy("OPENSCIENCE_EXPERIMENTAL_LSP_TY") export const OPENSCIENCE_EXPERIMENTAL_LSP_TOOL = OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_LSP_TOOL") export const OPENSCIENCE_DISABLE_FILETIME_CHECK = truthy("OPENSCIENCE_DISABLE_FILETIME_CHECK") export const OPENSCIENCE_EXPERIMENTAL_PLAN_MODE = OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_PLAN_MODE") export const OPENSCIENCE_EXPERIMENTAL_MARKDOWN = truthy("OPENSCIENCE_EXPERIMENTAL_MARKDOWN") export const OPENSCIENCE_MODELS_URL = process.env["OPENSCIENCE_MODELS_URL"] function number(key: string) { const value = process.env[key] if (!value) return undefined const parsed = Number(value) return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined }} // Dynamic getter for OPENSCIENCE_DISABLE_PROJECT_CONFIG// This must be evaluated at access time, not module load time,// because external tooling may set this env var at runtimeObject.defineProperty(Flag, "OPENSCIENCE_DISABLE_PROJECT_CONFIG", { get() { return truthy("OPENSCIENCE_DISABLE_PROJECT_CONFIG") }, enumerable: true, configurable: false,}) // Dynamic getter for OPENSCIENCE_CONFIG_DIR// This must be evaluated at access time, not module load time,// because external tooling may set this env var at runtimeObject.defineProperty(Flag, "OPENSCIENCE_CONFIG_DIR", { get() { return process.env["OPENSCIENCE_CONFIG_DIR"] }, enumerable: true, configurable: false,})
function truthy(key: string) {
const value = process.env[key]?.toLowerCase()
return value === "true" || value === "1"
}
export namespace Flag {
export const OPENSCIENCE_AUTO_SHARE = truthy("OPENSCIENCE_AUTO_SHARE")
export const OPENSCIENCE_GIT_BASH_PATH = process.env["OPENSCIENCE_GIT_BASH_PATH"]
export const OPENSCIENCE_CONFIG = process.env["OPENSCIENCE_CONFIG"]
export declare const OPENSCIENCE_CONFIG_DIR: string | undefined
export const OPENSCIENCE_CONFIG_CONTENT = process.env["OPENSCIENCE_CONFIG_CONTENT"]
export const OPENSCIENCE_DISABLE_AUTOUPDATE = truthy("OPENSCIENCE_DISABLE_AUTOUPDATE")
export const OPENSCIENCE_DISABLE_PRUNE = truthy("OPENSCIENCE_DISABLE_PRUNE")
export const OPENSCIENCE_DISABLE_TERMINAL_TITLE = truthy("OPENSCIENCE_DISABLE_TERMINAL_TITLE")
export const OPENSCIENCE_PERMISSION = process.env["OPENSCIENCE_PERMISSION"]
export const OPENSCIENCE_DISABLE_DEFAULT_PLUGINS = truthy("OPENSCIENCE_DISABLE_DEFAULT_PLUGINS")
export const OPENSCIENCE_DISABLE_LSP_DOWNLOAD = truthy("OPENSCIENCE_DISABLE_LSP_DOWNLOAD")
export const OPENSCIENCE_ENABLE_EXPERIMENTAL_MODELS = truthy("OPENSCIENCE_ENABLE_EXPERIMENTAL_MODELS")
export const OPENSCIENCE_DISABLE_AUTOCOMPACT = truthy("OPENSCIENCE_DISABLE_AUTOCOMPACT")
export const OPENSCIENCE_DISABLE_MODELS_FETCH = truthy("OPENSCIENCE_DISABLE_MODELS_FETCH")
export const OPENSCIENCE_DISABLE_CLAUDE_CODE = truthy("OPENSCIENCE_DISABLE_CLAUDE_CODE")
export const OPENSCIENCE_DISABLE_CLAUDE_CODE_PROMPT =
OPENSCIENCE_DISABLE_CLAUDE_CODE || truthy("OPENSCIENCE_DISABLE_CLAUDE_CODE_PROMPT")
export const OPENSCIENCE_DISABLE_CLAUDE_CODE_SKILLS =
OPENSCIENCE_DISABLE_CLAUDE_CODE || truthy("OPENSCIENCE_DISABLE_CLAUDE_CODE_SKILLS")
export const OPENSCIENCE_DISABLE_BUNDLED_SKILLS = truthy("OPENSCIENCE_DISABLE_BUNDLED_SKILLS")
export declare const OPENSCIENCE_DISABLE_PROJECT_CONFIG: boolean
export const OPENSCIENCE_FAKE_VCS = process.env["OPENSCIENCE_FAKE_VCS"]
export const OPENSCIENCE_CLIENT = process.env["OPENSCIENCE_CLIENT"] ?? "cli"
export const OPENSCIENCE_TRUST_PROXY = truthy("OPENSCIENCE_TRUST_PROXY")
// Experimental
export const OPENSCIENCE_EXPERIMENTAL = truthy("OPENSCIENCE_EXPERIMENTAL")
export const OPENSCIENCE_EXPERIMENTAL_FILEWATCHER = truthy("OPENSCIENCE_EXPERIMENTAL_FILEWATCHER")
export const OPENSCIENCE_EXPERIMENTAL_DISABLE_FILEWATCHER = truthy("OPENSCIENCE_EXPERIMENTAL_DISABLE_FILEWATCHER")
export const OPENSCIENCE_EXPERIMENTAL_ICON_DISCOVERY =
OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_ICON_DISCOVERY")
export const OPENSCIENCE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT = truthy(
"OPENSCIENCE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT",
)
export const OPENSCIENCE_ENABLE_EXA =
truthy("OPENSCIENCE_ENABLE_EXA") || OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_EXA")
export const OPENSCIENCE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS = number(
"OPENSCIENCE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS",
)
export const OPENSCIENCE_EXPERIMENTAL_OUTPUT_TOKEN_MAX = number("OPENSCIENCE_EXPERIMENTAL_OUTPUT_TOKEN_MAX")
export const OPENSCIENCE_EXPERIMENTAL_OXFMT = OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_OXFMT")
export const OPENSCIENCE_EXPERIMENTAL_LSP_TY = truthy("OPENSCIENCE_EXPERIMENTAL_LSP_TY")
export const OPENSCIENCE_EXPERIMENTAL_LSP_TOOL =
OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_LSP_TOOL")
export const OPENSCIENCE_DISABLE_FILETIME_CHECK = truthy("OPENSCIENCE_DISABLE_FILETIME_CHECK")
export const OPENSCIENCE_EXPERIMENTAL_PLAN_MODE =
OPENSCIENCE_EXPERIMENTAL || truthy("OPENSCIENCE_EXPERIMENTAL_PLAN_MODE")
export const OPENSCIENCE_EXPERIMENTAL_MARKDOWN = truthy("OPENSCIENCE_EXPERIMENTAL_MARKDOWN")
export const OPENSCIENCE_MODELS_URL = process.env["OPENSCIENCE_MODELS_URL"]
function number(key: string) {
const value = process.env[key]
if (!value) return undefined
const parsed = Number(value)
return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined
}
}
// Dynamic getter for OPENSCIENCE_DISABLE_PROJECT_CONFIG
// This must be evaluated at access time, not module load time,
// because external tooling may set this env var at runtime
Object.defineProperty(Flag, "OPENSCIENCE_DISABLE_PROJECT_CONFIG", {
get() {
return truthy("OPENSCIENCE_DISABLE_PROJECT_CONFIG")
},
enumerable: true,
configurable: false,
})
// Dynamic getter for OPENSCIENCE_CONFIG_DIR
// This must be evaluated at access time, not module load time,
// because external tooling may set this env var at runtime
Object.defineProperty(Flag, "OPENSCIENCE_CONFIG_DIR", {
get() {
return process.env["OPENSCIENCE_CONFIG_DIR"]
},
enumerable: true,
configurable: false,
})