Interface Internal

All Superinterfaces:
org.aeonbits.owner.Config, EngineProperties<Internal>, Serializable

@Sources({"system:properties","file:src/main/resources/properties/internal.properties","file:src/main/resources/properties/default/internal.properties","classpath:internal.properties"}) public interface Internal extends EngineProperties<Internal>
Configuration properties interface for internal engine metadata in the SHAFT framework. Exposes internal defaults such as the framework version, build timestamp, and the version coordinates used to bootstrap the Allure 3 CLI at report-generation time. These values are typically populated from build-time defaults, but they may also be supplied or overridden through the configured OWNER property sources, such as system properties or internal properties files.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.aeonbits.owner.Config

    org.aeonbits.owner.Config.ConverterClass, org.aeonbits.owner.Config.DecryptorClass, org.aeonbits.owner.Config.DefaultValue, org.aeonbits.owner.Config.DisableableFeature, org.aeonbits.owner.Config.DisableFeature, org.aeonbits.owner.Config.EncryptedValue, org.aeonbits.owner.Config.HotReload, org.aeonbits.owner.Config.HotReloadType, org.aeonbits.owner.Config.Key, org.aeonbits.owner.Config.LoadPolicy, org.aeonbits.owner.Config.LoadType, org.aeonbits.owner.Config.PreprocessorClasses, org.aeonbits.owner.Config.Separator, org.aeonbits.owner.Config.Sources, org.aeonbits.owner.Config.TokenizerClass

    Nested classes/interfaces inherited from interface EngineProperties

    EngineProperties.SetProperty
  • Method Summary

    Modifier and Type
    Method
    Description
    Version of the Allure 3 npm package used when the CLI is not already on PATH.
    Android command-line tools build number used by SHAFT MCP when no Android SDK tools are already available on the machine.
    int
    Default Android API level proposed for SHAFT-managed emulator creation.
    int
    Default Android emulator CPU core count.
    Default Android virtual device profile proposed for SHAFT-managed emulators.
    Default Android system image tag proposed for SHAFT-managed emulators.
    int
    Default Android emulator memory size in MB.
    Appium Inspector plugin npm package version used by SHAFT MCP for wrapped mobile recording sessions.
    Appium server npm package version used by SHAFT MCP when it needs to bootstrap a local Appium server without requiring administrator-installed tools.
    Appium UiAutomator2 driver npm package version used by SHAFT MCP for Android.
    Appium XCUITest driver npm package version used by SHAFT MCP for iOS attach and recording flows on macOS.
    Google Analytics 4 API Secret used for the Measurement Protocol.
    Google Analytics 4 Measurement ID used for anonymous telemetry.
    Version of the portable Node.js LTS distribution that SHAFT downloads when neither allure nor npx is available on PATH.
     
     

    Methods inherited from interface EngineProperties

    set
  • Method Details

    • shaftEngineVersion

      @Key("shaftEngineVersion") @DefaultValue("10.2.20260623") String shaftEngineVersion()
    • watermarkImagePath

      @Key("watermarkImagePath") @DefaultValue("https://raw.githubusercontent.com/ShaftHQ/SHAFT_ENGINE/main/shaft-engine/src/main/resources/images/shaft_white_bg.png") String watermarkImagePath()
    • allure3Version

      @Key("allure3Version") @DefaultValue("3.13.0") String allure3Version()
      Version of the Allure 3 npm package used when the CLI is not already on PATH. SHAFT invokes npx --yes allure@<version> to download and cache the package automatically. Update this value here to upgrade the bundled CLI across the engine without changing AllureManager or any CI script. Use this url for the latest version Allure3Releases
    • nodeLtsVersion

      @Key("nodeLtsVersion") @DefaultValue("24.17.0") String nodeLtsVersion()
      Version of the portable Node.js LTS distribution that SHAFT downloads when neither allure nor npx is available on PATH. The archive is cached in ~/.m2/repository/nodejs/ so it is only downloaded once per machine. Update this value here to upgrade the bundled Node.js runtime. Use this url for the latest version NodeJsLTS
    • appiumServerVersion

      @Key("appiumServerVersion") @DefaultValue("3.5.2") String appiumServerVersion()
      Appium server npm package version used by SHAFT MCP when it needs to bootstrap a local Appium server without requiring administrator-installed tools.
    • appiumInspectorPluginVersion

      @Key("appiumInspectorPluginVersion") @DefaultValue("2026.5.1") String appiumInspectorPluginVersion()
      Appium Inspector plugin npm package version used by SHAFT MCP for wrapped mobile recording sessions.
    • appiumUiAutomator2DriverVersion

      @Key("appiumUiAutomator2DriverVersion") @DefaultValue("7.6.2") String appiumUiAutomator2DriverVersion()
      Appium UiAutomator2 driver npm package version used by SHAFT MCP for Android.
    • appiumXcuitestDriverVersion

      @Key("appiumXcuitestDriverVersion") @DefaultValue("11.12.2") String appiumXcuitestDriverVersion()
      Appium XCUITest driver npm package version used by SHAFT MCP for iOS attach and recording flows on macOS.
    • androidCommandLineToolsVersion

      @Key("androidCommandLineToolsVersion") @DefaultValue("14742923") String androidCommandLineToolsVersion()
      Android command-line tools build number used by SHAFT MCP when no Android SDK tools are already available on the machine.
    • androidEmulatorApiLevel

      @Key("androidEmulatorApiLevel") @DefaultValue("36") int androidEmulatorApiLevel()
      Default Android API level proposed for SHAFT-managed emulator creation.
    • androidEmulatorDeviceProfile

      @Key("androidEmulatorDeviceProfile") @DefaultValue("pixel_8") String androidEmulatorDeviceProfile()
      Default Android virtual device profile proposed for SHAFT-managed emulators.
    • androidEmulatorImageTag

      @Key("androidEmulatorImageTag") @DefaultValue("google_apis") String androidEmulatorImageTag()
      Default Android system image tag proposed for SHAFT-managed emulators.
    • androidEmulatorRamMb

      @Key("androidEmulatorRamMb") @DefaultValue("4096") int androidEmulatorRamMb()
      Default Android emulator memory size in MB.
    • androidEmulatorCores

      @Key("androidEmulatorCores") @DefaultValue("2") int androidEmulatorCores()
      Default Android emulator CPU core count.
    • ga4MeasurementId

      @Key("ga4MeasurementId") @DefaultValue("G-4L9L79WZBV") String ga4MeasurementId()
      Google Analytics 4 Measurement ID used for anonymous telemetry. Found in the GA4 console under Admin > Data Streams > choose your stream > Measurement ID. Override in internal.properties to route telemetry to a different GA4 property.
    • ga4ApiSecret

      @Key("ga4ApiSecret") @DefaultValue("nzK22pHiTZWu8FGgvDVtnA") String ga4ApiSecret()
      Google Analytics 4 API Secret used for the Measurement Protocol. Found in the GA4 console under Admin > Data Streams > choose your stream > Measurement Protocol > Create. Override in internal.properties to supply a fresh secret after rotation.

      Note: if you override this with your own GA4 property's secret, rotate the secret regularly via the GA4 console to prevent abuse; the new value can then be supplied via internal.properties without a SHAFT release.