async function shouldAutoStartGuidedTour(oRootControl, sLayer) {
		const aConnectors = FlexUtils.getConnectors();
		const aProhibitedConnectors = ["LocalStorageConnector", "SessionStorageConnector"];
		const bHasConnectors = aConnectors.length > 0;
		const bHasOnlyAllowedConnectors = bHasConnectors
		&& aConnectors.every((sConnector) => !aProhibitedConnectors.includes(sConnector));
		const sUIAdaptationTourReloadFlag = "sap.ui.rta.dontShowUIAdaptationTourAfterReload";

		if (
			!bHasOnlyAllowedConnectors
			|| LayerUtils.isDeveloperLayer(sLayer)
			|| window.sessionStorage.getItem(sUIAdaptationTourReloadFlag)
		) {
			return false;
		}

		// We need this check to differentiate between our test systems and real customer systems.
		const sUserId = await FlexRuntimeInfoAPI.getUserId();
		if (sUserId === "DEFAULT_USER" || !sUserId) {
			return false;
		}

		const aHasOwnChanges = await PersistenceWriteAPI._getFlexObjectsForUser({
			selector: oRootControl,
			layer: sLayer,
			includeManifestChanges: true,
			includeAnnotationChanges: true
		});

		const aVersionsFromUser = VersionsAPI.getCreatedVersionsByUser(
			{
				layer: sLayer,
				control: oRootControl
			},
			sUserId
		);

		if (!aHasOwnChanges || aHasOwnChanges.length > 0 || aVersionsFromUser.length > 0) {
			return false;
		}

		const bHasSeenWNFeatures = (await FeaturesAPI.getSeenFeatureIds({ layer: sLayer })).length > 0;

		// UI Adaptation Tour should only be shown once per session
		if (!bHasSeenWNFeatures) {
			window.sessionStorage.setItem(sUIAdaptationTourReloadFlag, true);
		}
		return !bHasSeenWNFeatures;
	}
Checks if the guided tour should be started automatically.

@param {sap.ui.core.Control} oRootControl - Root control of the application
@param {string} sLayer - Layer to get the correct connector
@returns {Promise<boolean>} Resolves to a boolean indicating if the guided tour should be started automatically
@ui5-restricted sap.ui.rta