"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mobilePlatformAdapter = void 0;
const execution_1 = require("@mablhq-internal/runtime/execution");
const TapStep_1 = require("@mablhq/test-model/mobile/steps/TapStep");
const EnterTextStep_1 = require("@mablhq/test-model/mobile/steps/EnterTextStep");
const SetOrientationStep_1 = require("@mablhq/test-model/mobile/steps/SetOrientationStep");
const ScrollStep_1 = require("@mablhq/test-model/mobile/steps/ScrollStep");
const CreateVariableMobileStep_1 = require("@mablhq/test-model/mobile/steps/CreateVariableMobileStep");
const NavigateBackStep_1 = require("@mablhq/test-model/mobile/steps/NavigateBackStep");
const NavigateHomeStep_1 = require("@mablhq/test-model/mobile/steps/NavigateHomeStep");
const IfConditionStep_1 = require("@mablhq/test-model/steps/IfConditionStep");
const ElseIfConditionStep_1 = require("@mablhq/test-model/steps/ElseIfConditionStep");
const PushFileStep_1 = require("@mablhq/test-model/mobile/steps/PushFileStep");
const InstallAppStep_1 = require("@mablhq/test-model/mobile/steps/InstallAppStep");
const UninstallAppStep_1 = require("@mablhq/test-model/mobile/steps/UninstallAppStep");
const PrepareSessionStep_1 = require("@mablhq/test-model/mobile/steps/PrepareSessionStep");
const OpenLinkStep_1 = require("@mablhq/test-model/mobile/steps/OpenLinkStep");
const HideKeyboardStep_1 = require("@mablhq/test-model/mobile/steps/HideKeyboardStep");
const OpenEmailStep_1 = require("@mablhq/test-model/steps/OpenEmailStep");
const OpenAppStep_1 = require("@mablhq/test-model/mobile/steps/OpenAppStep");
const EnterAuthCodeStep_1 = require("@mablhq/test-model/steps/EnterAuthCodeStep");
const TapExecutor_1 = require("../execution/mobile/steps/TapExecutor");
const EnterTextExecutor_1 = require("../execution/mobile/steps/EnterTextExecutor");
const SetOrientationExecutor_1 = require("../execution/mobile/steps/SetOrientationExecutor");
const ScrollExecutor_1 = require("../execution/mobile/steps/ScrollExecutor");
const CreateVariableMobileExecutor_1 = require("../execution/mobile/steps/CreateVariableMobileExecutor");
const AssertMobileExecutor_1 = require("../execution/mobile/steps/AssertMobileExecutor");
const NavigateBackExecutor_1 = require("../execution/mobile/steps/NavigateBackExecutor");
const NavigateHomeExecutor_1 = require("../execution/mobile/steps/NavigateHomeExecutor");
const PushFileExecutor_1 = require("../execution/mobile/steps/PushFileExecutor");
const InstallAppExecutor_1 = require("../execution/mobile/steps/InstallAppExecutor");
const UninstallAppExecutor_1 = require("../execution/mobile/steps/UninstallAppExecutor");
const PrepareSessionExecutor_1 = require("../execution/mobile/steps/PrepareSessionExecutor");
const OpenLinkExecutor_1 = require("../execution/mobile/steps/OpenLinkExecutor");
const HideKeyboardExecutor_1 = require("../execution/mobile/steps/HideKeyboardExecutor");
const OpenEmailExecutor_1 = require("../execution/mobile/steps/OpenEmailExecutor");
const OpenAppExecutor_1 = require("../execution/mobile/steps/OpenAppExecutor");
const EnterAuthCodeExecutor_1 = require("../execution/mobile/steps/EnterAuthCodeExecutor");
function buildExecutors() {
    const map = new Map();
    const assertOnFailure = new AssertMobileExecutor_1.AssertMobileExecutor(execution_1.AssertRetryBehavior.RetryOnFailure);
    const assertLimitedRetry = new AssertMobileExecutor_1.AssertMobileExecutor(execution_1.AssertRetryBehavior.LimitedRetryOnFailure);
    map.set('assert', assertOnFailure);
    map.set(ElseIfConditionStep_1.ElseIfConditionStep.stepName, assertLimitedRetry);
    map.set(IfConditionStep_1.IfConditionStep.stepName, assertLimitedRetry);
    map.set(CreateVariableMobileStep_1.CreateVariableMobileStep.stepName, new CreateVariableMobileExecutor_1.CreateVariableMobileExecutor());
    map.set(EnterAuthCodeStep_1.EnterAuthCodeStep.stepName, new EnterAuthCodeExecutor_1.EnterAuthCodeExecutor());
    map.set(EnterTextStep_1.EnterTextStep.stepName, new EnterTextExecutor_1.EnterTextExecutor());
    map.set(HideKeyboardStep_1.HideKeyboardStep.stepName, new HideKeyboardExecutor_1.HideKeyboardExecutor());
    map.set(InstallAppStep_1.InstallAppStep.stepName, new InstallAppExecutor_1.InstallAppExecutor());
    map.set(NavigateBackStep_1.NavigateBackStep.stepName, new NavigateBackExecutor_1.NavigateBackExecutor());
    map.set(NavigateHomeStep_1.NavigateHomeStep.stepName, new NavigateHomeExecutor_1.NavigateHomeExecutor());
    map.set(OpenAppStep_1.OpenAppStep.stepName, new OpenAppExecutor_1.OpenAppExecutor());
    map.set(OpenEmailStep_1.OpenEmailStep.stepName, new OpenEmailExecutor_1.OpenEmailExecutor());
    map.set(OpenLinkStep_1.OpenLinkStep.stepName, new OpenLinkExecutor_1.OpenLinkExecutor());
    map.set(PrepareSessionStep_1.PrepareSessionStep.stepName, new PrepareSessionExecutor_1.PrepareSessionExecutor());
    map.set(PushFileStep_1.PushFileStep.stepName, new PushFileExecutor_1.PushFileExecutor());
    map.set(ScrollStep_1.ScrollStep.stepName, new ScrollExecutor_1.ScrollExecutor());
    map.set(SetOrientationStep_1.SetOrientationStep.stepName, new SetOrientationExecutor_1.SetOrientationExecutor());
    map.set(TapStep_1.TapStep.stepName, new TapExecutor_1.TapExecutor());
    map.set(UninstallAppStep_1.UninstallAppStep.stepName, new UninstallAppExecutor_1.UninstallAppExecutor());
    return map;
}
exports.mobilePlatformAdapter = {
    platformId: 'mobile',
    executors: buildExecutors(),
};
