2
0

flag.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. export namespace Flag {
  2. export const OPENCODE_AUTO_SHARE = truthy("OPENCODE_AUTO_SHARE")
  3. export const OPENCODE_CONFIG = process.env["OPENCODE_CONFIG"]
  4. export const OPENCODE_CONFIG_DIR = process.env["OPENCODE_CONFIG_DIR"]
  5. export const OPENCODE_CONFIG_CONTENT = process.env["OPENCODE_CONFIG_CONTENT"]
  6. export const OPENCODE_DISABLE_AUTOUPDATE = truthy("OPENCODE_DISABLE_AUTOUPDATE")
  7. export const OPENCODE_DISABLE_PRUNE = truthy("OPENCODE_DISABLE_PRUNE")
  8. export const OPENCODE_PERMISSION = process.env["OPENCODE_PERMISSION"]
  9. export const OPENCODE_DISABLE_DEFAULT_PLUGINS = truthy("OPENCODE_DISABLE_DEFAULT_PLUGINS")
  10. export const OPENCODE_DISABLE_LSP_DOWNLOAD = truthy("OPENCODE_DISABLE_LSP_DOWNLOAD")
  11. export const OPENCODE_ENABLE_EXPERIMENTAL_MODELS = truthy("OPENCODE_ENABLE_EXPERIMENTAL_MODELS")
  12. export const OPENCODE_DISABLE_AUTOCOMPACT = truthy("OPENCODE_DISABLE_AUTOCOMPACT")
  13. export const OPENCODE_FAKE_VCS = process.env["OPENCODE_FAKE_VCS"]
  14. export const OPENCODE_CLIENT = process.env["OPENCODE_CLIENT"] ?? "cli"
  15. // Experimental
  16. export const OPENCODE_EXPERIMENTAL = truthy("OPENCODE_EXPERIMENTAL")
  17. export const OPENCODE_EXPERIMENTAL_ICON_DISCOVERY =
  18. OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_ICON_DISCOVERY")
  19. export const OPENCODE_EXPERIMENTAL_WATCHER = OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_WATCHER")
  20. export const OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT = truthy("OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT")
  21. export const OPENCODE_ENABLE_EXA =
  22. truthy("OPENCODE_ENABLE_EXA") || OPENCODE_EXPERIMENTAL || truthy("OPENCODE_EXPERIMENTAL_EXA")
  23. export const OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH = number("OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH")
  24. export const OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS = number("OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS")
  25. function truthy(key: string) {
  26. const value = process.env[key]?.toLowerCase()
  27. return value === "true" || value === "1"
  28. }
  29. function number(key: string) {
  30. const value = process.env[key]
  31. if (!value) return undefined
  32. const parsed = Number(value)
  33. return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined
  34. }
  35. }