ff-automationv2 2.2.32 → 2.2.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/llmprompts/llmPromptTypes/systemPromptTypes.d.ts +3 -0
- package/dist/ai/llmprompts/promptRegistry.js +4 -0
- package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +16 -12
- package/dist/ai/llmprompts/systemPrompts/arithmeticPrompt.d.ts +2 -0
- package/dist/ai/llmprompts/systemPrompts/arithmeticPrompt.js +48 -0
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +1 -1
- package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +1 -1
- package/dist/ai/llmprompts/systemPrompts/inputContextPrompt.js +2 -0
- package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +2 -2
- package/dist/ai/llmprompts/userPrompts/userPrompt.js +1 -0
- package/dist/automation/actions/executor.d.ts +1 -0
- package/dist/automation/actions/executor.js +25 -0
- package/dist/automation/actions/interaction/alert/enterDataToAlert.js +2 -2
- package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +2 -2
- package/dist/automation/actions/interaction/arithmetic/arithmeticOperations.d.ts +2 -0
- package/dist/automation/actions/interaction/arithmetic/arithmeticOperations.js +61 -0
- package/dist/automation/actions/interaction/clear/clearAndEnter.js +3 -3
- package/dist/automation/actions/interaction/elementlessActions/getOtp.js +5 -5
- package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +2 -2
- package/dist/automation/actions/interaction/enterActions/enterInput.js +3 -3
- package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +3 -3
- package/dist/automation/actions/interaction/enterActions/enterUrl.js +3 -3
- package/dist/automation/actions/interaction/enterActions/enterusingJs.js +2 -2
- package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +3 -3
- package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +3 -3
- package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +2 -2
- package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +2 -2
- package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +2 -2
- package/dist/automation/actions/interaction/get/getAllBrokenImages.js +2 -2
- package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +2 -2
- package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +2 -2
- package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +2 -2
- package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +2 -2
- package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +2 -2
- package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +2 -2
- package/dist/automation/actions/interaction/get/getAllCookieNames.js +2 -2
- package/dist/automation/actions/interaction/get/getAllCookieValues.js +2 -2
- package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +2 -2
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +2 -2
- package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +2 -2
- package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +2 -2
- package/dist/automation/actions/interaction/get/getAllWindowHandles.js +2 -2
- package/dist/automation/actions/interaction/get/getAttribute.js +3 -3
- package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +2 -2
- package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +2 -2
- package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +2 -2
- package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +2 -2
- package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +2 -2
- package/dist/automation/actions/interaction/get/getAudioMediaLength.js +2 -2
- package/dist/automation/actions/interaction/get/getAudioMediaSource.js +2 -2
- package/dist/automation/actions/interaction/get/getBestPracticesScore.js +2 -2
- package/dist/automation/actions/interaction/get/getBrowserCount.js +2 -2
- package/dist/automation/actions/interaction/get/getBrowserVersion.js +2 -2
- package/dist/automation/actions/interaction/get/getCapabilityNames.js +2 -2
- package/dist/automation/actions/interaction/get/getClipBoardText.js +2 -2
- package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +2 -2
- package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +2 -2
- package/dist/automation/actions/interaction/get/getCssValue.js +2 -2
- package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +2 -2
- package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +2 -2
- package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +2 -2
- package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +2 -2
- package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +2 -2
- package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +2 -2
- package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +2 -2
- package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +2 -2
- package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +2 -2
- package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +2 -2
- package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +2 -2
- package/dist/automation/actions/interaction/get/getDriverInstance.js +2 -2
- package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +2 -2
- package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +2 -2
- package/dist/automation/actions/interaction/get/getFullPaintTime.js +2 -2
- package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +2 -2
- package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +2 -2
- package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +2 -2
- package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +2 -2
- package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +2 -2
- package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +2 -2
- package/dist/automation/actions/interaction/get/getListBoxSize.js +2 -2
- package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +3 -3
- package/dist/automation/actions/interaction/get/getLocation.js +3 -3
- package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +2 -2
- package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +2 -2
- package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +2 -2
- package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +2 -2
- package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +2 -2
- package/dist/automation/actions/interaction/get/getOptions.js +2 -2
- package/dist/automation/actions/interaction/get/getPageTitle.js +2 -2
- package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +2 -2
- package/dist/automation/actions/interaction/get/getPwaScore.js +2 -2
- package/dist/automation/actions/interaction/get/getRect.js +3 -3
- package/dist/automation/actions/interaction/get/getScreenshot.js +2 -2
- package/dist/automation/actions/interaction/get/getScreenshotAs.js +2 -2
- package/dist/automation/actions/interaction/get/getSeoScore.js +2 -2
- package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +2 -2
- package/dist/automation/actions/interaction/get/getSingleApiResponse.js +2 -2
- package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +2 -2
- package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +2 -2
- package/dist/automation/actions/interaction/get/getSize.js +3 -3
- package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +2 -2
- package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +2 -2
- package/dist/automation/actions/interaction/get/getSystemProperty.js +2 -2
- package/dist/automation/actions/interaction/get/getTagName.js +3 -3
- package/dist/automation/actions/interaction/get/getText.js +3 -3
- package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +2 -2
- package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +2 -2
- package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +2 -2
- package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +2 -2
- package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +2 -2
- package/dist/automation/actions/interaction/get/getValueByCookieName.js +2 -2
- package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +2 -2
- package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +2 -2
- package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +2 -2
- package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +2 -2
- package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +2 -2
- package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +2 -2
- package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +2 -2
- package/dist/automation/actions/interaction/get/getVideoMediaLength.js +2 -2
- package/dist/automation/actions/interaction/get/getVideoMediaSource.js +2 -2
- package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +2 -2
- package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +2 -2
- package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +2 -2
- package/dist/automation/actions/interaction/get/getWrappedElement.js +2 -2
- package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +2 -2
- package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +2 -2
- package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +3 -3
- package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +2 -2
- package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +3 -3
- package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +2 -2
- package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +2 -2
- package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +13 -0
- package/dist/automation/actions/interface/FireFlinkResponseSchema.js +10 -1
- package/dist/automation/actions/interface/arithmeticActionInterface.d.ts +18 -0
- package/dist/automation/actions/interface/arithmeticActionInterface.js +2 -0
- package/dist/core/constants/allAction.js +2 -1
- package/dist/core/constants/supportedActions.js +2 -1
- package/dist/core/interfaces/actionInterface.d.ts +2 -0
- package/dist/core/interfaces/promptInterface.d.ts +3 -0
- package/dist/core/main/actionHandlerFactory.js +3 -0
- package/dist/core/main/runAutomationScript.js +40 -5
- package/dist/core/types/promptType.d.ts +2 -1
- package/dist/core/types/promptType.js +1 -0
- package/package.json +1 -1
- /package/dist/utils/helpers/{getHelper.d.ts → saveStepInputData.d.ts} +0 -0
- /package/dist/utils/helpers/{getHelper.js → saveStepInputData.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getWidthOfWebElement = void 0;
|
|
4
|
-
const
|
|
4
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
5
5
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
6
6
|
const logData_js_1 = require("../../../../utils/logger/logData.js");
|
|
7
7
|
const getWidthOfWebElement = async (args) => {
|
|
@@ -10,7 +10,7 @@ const getWidthOfWebElement = async (args) => {
|
|
|
10
10
|
const _size = await element.getSize();
|
|
11
11
|
const _width = _size.width;
|
|
12
12
|
logData_js_1.logger.info('width --', _width);
|
|
13
|
-
(0,
|
|
13
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, _size.width);
|
|
14
14
|
(0, appendScriptData_js_1.appendScriptData)({
|
|
15
15
|
scriptDataAppender: args.scriptDataAppender,
|
|
16
16
|
nlpName: "GetWidthOfWebElement",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getWorkingLinksFromCurrentPage = void 0;
|
|
4
4
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
5
|
-
const
|
|
5
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
6
6
|
const getWorkingLinksFromCurrentPage = async (args) => {
|
|
7
7
|
try {
|
|
8
8
|
const workingLinks = await args.driver.execute(() => {
|
|
@@ -16,7 +16,7 @@ const getWorkingLinksFromCurrentPage = async (args) => {
|
|
|
16
16
|
nlpName: "GetWorkingLinksFromCurrentPage",
|
|
17
17
|
returnTypeVariableName: args.returnTypeVariableName
|
|
18
18
|
});
|
|
19
|
-
(0,
|
|
19
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, workingLinks);
|
|
20
20
|
}
|
|
21
21
|
catch (error) {
|
|
22
22
|
args.scriptDataAppender.setErrorNLP("GetWorkingLinksFromCurrentPage");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getWrappedElement = void 0;
|
|
4
|
-
const
|
|
4
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
5
5
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
6
6
|
const getWrappedElement = async (args) => {
|
|
7
7
|
try {
|
|
@@ -9,7 +9,7 @@ const getWrappedElement = async (args) => {
|
|
|
9
9
|
// In WDIO, this is already the wrapped element
|
|
10
10
|
const _wrappedElement = element;
|
|
11
11
|
const res = args.selector;
|
|
12
|
-
(0,
|
|
12
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, res);
|
|
13
13
|
(0, appendScriptData_js_1.appendScriptData)({
|
|
14
14
|
scriptDataAppender: args.scriptDataAppender,
|
|
15
15
|
nlpName: "GetWrappedElement",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getWrappedOptionFromListBoxAsText = getWrappedOptionFromListBoxAsText;
|
|
4
|
-
const
|
|
4
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
5
5
|
const logData_js_1 = require("../../../../utils/logger/logData.js");
|
|
6
6
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
7
7
|
async function getWrappedOptionFromListBoxAsText(args) {
|
|
@@ -29,7 +29,7 @@ async function getWrappedOptionFromListBoxAsText(args) {
|
|
|
29
29
|
platform: args.platform,
|
|
30
30
|
returnTypeVariableName: args.returnTypeVariableName
|
|
31
31
|
});
|
|
32
|
-
(0,
|
|
32
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, optionTexts);
|
|
33
33
|
}
|
|
34
34
|
catch (error) {
|
|
35
35
|
args.scriptDataAppender.setErrorNLP("GetWrappedOptionFromListBoxAsText");
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getXLocationOfBrowserWindow = void 0;
|
|
4
|
-
const
|
|
4
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
5
5
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
6
6
|
const getXLocationOfBrowserWindow = async (args) => {
|
|
7
7
|
try {
|
|
8
8
|
const position = await args.driver.getWindowRect();
|
|
9
|
-
(0,
|
|
9
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, position.x);
|
|
10
10
|
(0, appendScriptData_js_1.appendScriptData)({
|
|
11
11
|
scriptDataAppender: args.scriptDataAppender,
|
|
12
12
|
nlpName: "GetXLocationOfBrowserWindow",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getXLocationOfWebElement = void 0;
|
|
4
|
-
const
|
|
4
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
5
5
|
const logData_js_1 = require("../../../../utils/logger/logData.js");
|
|
6
6
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
7
7
|
const getXLocationOfWebElement = async (args) => {
|
|
@@ -14,7 +14,7 @@ const getXLocationOfWebElement = async (args) => {
|
|
|
14
14
|
const _location = await element.getLocation();
|
|
15
15
|
const _x = _location.x;
|
|
16
16
|
logData_js_1.logger.info(`X Location of element: ${_x}`);
|
|
17
|
-
(0,
|
|
17
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, _x);
|
|
18
18
|
(0, appendScriptData_js_1.appendScriptData)({
|
|
19
19
|
scriptDataAppender: args.scriptDataAppender,
|
|
20
20
|
nlpName: nlpName,
|
|
@@ -41,7 +41,7 @@ const getXLocationOfWebElement = async (args) => {
|
|
|
41
41
|
const _location = await element.getLocation();
|
|
42
42
|
const _x = _location.x;
|
|
43
43
|
logData_js_1.logger.info(`X Location of element: ${_x}`);
|
|
44
|
-
(0,
|
|
44
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, _x);
|
|
45
45
|
(0, appendScriptData_js_1.appendScriptData)({
|
|
46
46
|
scriptDataAppender: args.scriptDataAppender,
|
|
47
47
|
nlpName: "GetXLocationOfWebElement",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getYLocationOfBrowserWindow = void 0;
|
|
4
4
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
5
|
-
const
|
|
5
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
6
6
|
const getYLocationOfBrowserWindow = async (args) => {
|
|
7
7
|
try {
|
|
8
8
|
const rect = await args.driver.getWindowRect();
|
|
@@ -12,7 +12,7 @@ const getYLocationOfBrowserWindow = async (args) => {
|
|
|
12
12
|
nlpName: "GetYLocationOfBrowserWindow",
|
|
13
13
|
returnTypeVariableName: args.returnTypeVariableName
|
|
14
14
|
});
|
|
15
|
-
(0,
|
|
15
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, y);
|
|
16
16
|
}
|
|
17
17
|
catch (error) {
|
|
18
18
|
args.scriptDataAppender.setErrorNLP("GetYLocationOfBrowserWindow");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getYLocationOfWebElement = void 0;
|
|
4
|
-
const
|
|
4
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
5
5
|
const logData_js_1 = require("../../../../utils/logger/logData.js");
|
|
6
6
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
7
7
|
const getYLocationOfWebElement = async (args) => {
|
|
@@ -14,7 +14,7 @@ const getYLocationOfWebElement = async (args) => {
|
|
|
14
14
|
const _location = await element.getLocation();
|
|
15
15
|
const _y = _location.y;
|
|
16
16
|
logData_js_1.logger.info(`X Location of element: ${_y}`);
|
|
17
|
-
(0,
|
|
17
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, _y);
|
|
18
18
|
(0, appendScriptData_js_1.appendScriptData)({
|
|
19
19
|
scriptDataAppender: args.scriptDataAppender,
|
|
20
20
|
nlpName: nlpName,
|
|
@@ -40,7 +40,7 @@ const getYLocationOfWebElement = async (args) => {
|
|
|
40
40
|
const element = await args.driver.$(args.selector);
|
|
41
41
|
const _location = await element.getLocation();
|
|
42
42
|
const _y = _location.y;
|
|
43
|
-
(0,
|
|
43
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, _y);
|
|
44
44
|
(0, appendScriptData_js_1.appendScriptData)({
|
|
45
45
|
scriptDataAppender: args.scriptDataAppender,
|
|
46
46
|
nlpName: "GetYLocationOfWebElement",
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.enterInputShadow = enterInputShadow;
|
|
4
4
|
const jsForShadowRoot_js_1 = require("../../../../utils/javascript/jsForShadowRoot.js");
|
|
5
5
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
6
|
-
const
|
|
6
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
7
7
|
async function enterInputShadow(args) {
|
|
8
8
|
try {
|
|
9
9
|
const executableJS = jsForShadowRoot_js_1.SHADOW_DOM_ENTER_JS.replace("arguments[0]", `"${args.selector}"`).replace("arguments[1]", `"${args.value}"`);
|
|
@@ -13,7 +13,7 @@ async function enterInputShadow(args) {
|
|
|
13
13
|
nlpName: "ExecuteJavaScript",
|
|
14
14
|
stepInputs: [executableJS]
|
|
15
15
|
});
|
|
16
|
-
(0,
|
|
16
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, args.value);
|
|
17
17
|
}
|
|
18
18
|
catch (error) {
|
|
19
19
|
args.scriptDataAppender.setErrorNLP("ExecuteJavaScript");
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getTextShadowElement = getTextShadowElement;
|
|
4
4
|
const jsForShadowRoot_js_1 = require("../../../../utils/javascript/jsForShadowRoot.js");
|
|
5
5
|
const appendScriptData_js_1 = require("../../../../fireflinkData/fireflinkScript/appendScriptData.js");
|
|
6
|
-
const
|
|
6
|
+
const saveStepInputData_js_1 = require("../../../../utils/helpers/saveStepInputData.js");
|
|
7
7
|
async function getTextShadowElement(args) {
|
|
8
8
|
try {
|
|
9
9
|
const executableJS = jsForShadowRoot_js_1.SHADOW_DOM_GET_TEXT_JS.replace("arguments[0]", `"${args.selector}"`);
|
|
@@ -14,7 +14,7 @@ async function getTextShadowElement(args) {
|
|
|
14
14
|
stepInputs: [executableJS],
|
|
15
15
|
returnTypeVariableName: args.returnTypeVariableName
|
|
16
16
|
});
|
|
17
|
-
(0,
|
|
17
|
+
(0, saveStepInputData_js_1.saveStepInputData)(args, text);
|
|
18
18
|
}
|
|
19
19
|
catch (error) {
|
|
20
20
|
args.scriptDataAppender.setErrorNLP("ExecuteJavaScript");
|
|
@@ -195,4 +195,17 @@ export declare const InputContextSchema: z.ZodObject<{
|
|
|
195
195
|
inputText: z.ZodString;
|
|
196
196
|
variableName: z.ZodString;
|
|
197
197
|
}, z.core.$strip>;
|
|
198
|
+
export declare const ArithmeticSchema: z.ZodObject<{
|
|
199
|
+
operandOne: z.ZodString;
|
|
200
|
+
operandTwo: z.ZodString;
|
|
201
|
+
operandOneVariableName: z.ZodNullable<z.ZodString>;
|
|
202
|
+
operandTwoVariableName: z.ZodNullable<z.ZodString>;
|
|
203
|
+
operation: z.ZodEnum<{
|
|
204
|
+
multiply: "multiply";
|
|
205
|
+
divide: "divide";
|
|
206
|
+
add: "add";
|
|
207
|
+
subtract: "subtract";
|
|
208
|
+
}>;
|
|
209
|
+
variableName: z.ZodString;
|
|
210
|
+
}, z.core.$strip>;
|
|
198
211
|
export declare function getSchemaForPrompt(type: string, platform: string, args?: any): any;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InputContextSchema = exports.OtpExtractorSchema = exports.ErrorDescriptionSchema = exports.UserStorySchema = exports.VisionSchema = exports.DefaultInteractionSchema = exports.MouseActionSchema = exports.UploadActionSchema = exports.GetOtpActionSchema = exports.ClearTextActionSchema = exports.EnterActionSchema = exports.TapActionSchema = exports.ClickActionSchema = exports.SwitchActionSchema = exports.MobileScrollSchema = exports.WebScrollSchema = exports.DragDropActionSchema = exports.MobileCombinedSchema = exports.CombinedActionSchema = exports.WaitActionSchema = exports.MobileGetSchema = exports.MobileFileVerifySchema = exports.MobileVerifySchema = exports.WebGetSchema = exports.WebFileVerifySchema = exports.WebVerifySchema = exports.AlertShema = exports.KeywordSchema = exports.StepItemSchema = void 0;
|
|
3
|
+
exports.ArithmeticSchema = exports.InputContextSchema = exports.OtpExtractorSchema = exports.ErrorDescriptionSchema = exports.UserStorySchema = exports.VisionSchema = exports.DefaultInteractionSchema = exports.MouseActionSchema = exports.UploadActionSchema = exports.GetOtpActionSchema = exports.ClearTextActionSchema = exports.EnterActionSchema = exports.TapActionSchema = exports.ClickActionSchema = exports.SwitchActionSchema = exports.MobileScrollSchema = exports.WebScrollSchema = exports.DragDropActionSchema = exports.MobileCombinedSchema = exports.CombinedActionSchema = exports.WaitActionSchema = exports.MobileGetSchema = exports.MobileFileVerifySchema = exports.MobileVerifySchema = exports.WebGetSchema = exports.WebFileVerifySchema = exports.WebVerifySchema = exports.AlertShema = exports.KeywordSchema = exports.StepItemSchema = void 0;
|
|
4
4
|
exports.getSchemaForPrompt = getSchemaForPrompt;
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const promptType_js_1 = require("../../../core/types/promptType.js");
|
|
@@ -192,6 +192,14 @@ exports.InputContextSchema = zod_1.z.object({
|
|
|
192
192
|
inputText: zod_1.z.string(),
|
|
193
193
|
variableName: zod_1.z.string(),
|
|
194
194
|
});
|
|
195
|
+
exports.ArithmeticSchema = zod_1.z.object({
|
|
196
|
+
operandOne: zod_1.z.string(),
|
|
197
|
+
operandTwo: zod_1.z.string(),
|
|
198
|
+
operandOneVariableName: zod_1.z.string().nullable(),
|
|
199
|
+
operandTwoVariableName: zod_1.z.string().nullable(),
|
|
200
|
+
operation: zod_1.z.enum(["add", "subtract", "multiply", "divide"]),
|
|
201
|
+
variableName: zod_1.z.string(),
|
|
202
|
+
});
|
|
195
203
|
const schemaMap = {
|
|
196
204
|
[promptType_js_1.PromptType.KEYWORD_EXTRACTOR]: exports.KeywordSchema,
|
|
197
205
|
[promptType_js_1.PromptType.VISION_PROMPT]: exports.VisionSchema,
|
|
@@ -201,6 +209,7 @@ const schemaMap = {
|
|
|
201
209
|
[promptType_js_1.PromptType.COMBINED_ACTION_EXTRACTOR_PROMPT]: exports.CombinedActionSchema,
|
|
202
210
|
[promptType_js_1.PromptType.OTP_EXTRACTOR]: exports.OtpExtractorSchema,
|
|
203
211
|
[promptType_js_1.PromptType.INPUT_CONTEXT_PROMPT]: exports.InputContextSchema,
|
|
212
|
+
[promptType_js_1.PromptType.ARITHMETIC_PROMPT]: exports.ArithmeticSchema,
|
|
204
213
|
};
|
|
205
214
|
function getSchemaForPrompt(type, platform, args) {
|
|
206
215
|
let schemaToUse = schemaMap[type];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ScriptDataAppender } from "../../../fireflinkData/fireflinkScript/scriptGenrationData.js";
|
|
2
|
+
import { ElementGetter } from "../../../fireflinkData/fireflinkLocators/getListOfLocators.js";
|
|
3
|
+
export interface ArithmeticActionInterface {
|
|
4
|
+
operandOne: string;
|
|
5
|
+
operandTwo?: string;
|
|
6
|
+
operandOneVariableName?: string | null;
|
|
7
|
+
operandTwoVariableName?: string | null;
|
|
8
|
+
operation: "add" | "subtract" | "multiply" | "divide" | string;
|
|
9
|
+
variableName: string;
|
|
10
|
+
stepIndex?: any;
|
|
11
|
+
currentStep?: string;
|
|
12
|
+
manualStep?: string;
|
|
13
|
+
stepsInputData?: any[];
|
|
14
|
+
scriptDataAppender?: ScriptDataAppender;
|
|
15
|
+
platform?: string;
|
|
16
|
+
elementGetter: ElementGetter;
|
|
17
|
+
returnTypeVariableName?: string;
|
|
18
|
+
}
|
|
@@ -348,5 +348,7 @@ export interface IActionExecutor {
|
|
|
348
348
|
otp: string;
|
|
349
349
|
regex: string;
|
|
350
350
|
} | null>, returnTypeVariableName?: string): Promise<void>;
|
|
351
|
+
verifyPDF(value: string): Promise<void>;
|
|
352
|
+
arithmetic(result: any): Promise<void>;
|
|
351
353
|
setStepContext?(stepIndex?: any, currentStep?: string, stepsInputData?: any[], manualStep?: string, returnTypeVariableName?: string, variableName?: string): void;
|
|
352
354
|
}
|
|
@@ -1481,6 +1481,9 @@ function createActionHandlers(context) {
|
|
|
1481
1481
|
const isDownload = result?.isDownload ?? true;
|
|
1482
1482
|
const filePath = result?.path ?? null;
|
|
1483
1483
|
await executor.verifyPDF(expectedText, isDownload, filePath);
|
|
1484
|
+
}),
|
|
1485
|
+
arithmetic: withExecutor(async (executor, result) => {
|
|
1486
|
+
await executor.arithmetic(result);
|
|
1484
1487
|
})
|
|
1485
1488
|
};
|
|
1486
1489
|
}
|
|
@@ -266,7 +266,7 @@ class AutomationRunner {
|
|
|
266
266
|
stepsInputData.currentStepIndex = currentStepIndex;
|
|
267
267
|
context.executor?.setStepContext(currentStepIndex, currentStep, stepsInputData, step);
|
|
268
268
|
logData_js_1.logger.info("stepsInputData", stepsInputData);
|
|
269
|
-
const inputContextPromise = isStepValueDependable && stepsInputData.length > 0
|
|
269
|
+
const inputContextPromise = action !== "arithmetic" && isStepValueDependable && stepsInputData.length > 0
|
|
270
270
|
? stepProcessor.getLLMResponse({
|
|
271
271
|
platform: currentPlatform,
|
|
272
272
|
type: promptType_js_1.PromptType.INPUT_CONTEXT_PROMPT,
|
|
@@ -297,6 +297,36 @@ class AutomationRunner {
|
|
|
297
297
|
stepCount++;
|
|
298
298
|
continue;
|
|
299
299
|
}
|
|
300
|
+
if (action === "arithmetic") {
|
|
301
|
+
const arithmeticResult = await stepProcessor.getLLMResponse({
|
|
302
|
+
platform: currentPlatform,
|
|
303
|
+
type: promptType_js_1.PromptType.ARITHMETIC_PROMPT,
|
|
304
|
+
args: {
|
|
305
|
+
inputStepsContext: isStepValueDependable ? stepsInputData : [],
|
|
306
|
+
},
|
|
307
|
+
input: { currentStep },
|
|
308
|
+
});
|
|
309
|
+
let targetVarName = arithmeticResult?.response?.variableName?.trim() || "";
|
|
310
|
+
if (targetVarName) {
|
|
311
|
+
targetVarName = (0, elementSelectorResolver_js_1.generateUniqueName)(targetVarName, usedVariableNames);
|
|
312
|
+
}
|
|
313
|
+
handler = actionHandlers["arithmetic"];
|
|
314
|
+
await handler({
|
|
315
|
+
operandOne: arithmeticResult?.response?.operandOne,
|
|
316
|
+
operandTwo: arithmeticResult?.response?.operandTwo,
|
|
317
|
+
operandOneVariableName: arithmeticResult?.response?.operandOneVariableName,
|
|
318
|
+
operandTwoVariableName: arithmeticResult?.response?.operandTwoVariableName,
|
|
319
|
+
operation: arithmeticResult?.response?.operation,
|
|
320
|
+
variableName: targetVarName,
|
|
321
|
+
returnTypeVariableName: targetVarName,
|
|
322
|
+
stepIndex: currentStepIndex,
|
|
323
|
+
currentStep,
|
|
324
|
+
manualStep: step,
|
|
325
|
+
stepsInputData,
|
|
326
|
+
});
|
|
327
|
+
stepCount++;
|
|
328
|
+
continue;
|
|
329
|
+
}
|
|
300
330
|
if (action === "getOtp") {
|
|
301
331
|
if (!isWebMobile) {
|
|
302
332
|
throw new Error(`Selected platform is invalid for the step: ${step}`);
|
|
@@ -410,10 +440,15 @@ class AutomationRunner {
|
|
|
410
440
|
if (inputContextResult?.response?.variableName && inputContextResult.response.variableName.trim() !== "") {
|
|
411
441
|
currentVariableName = inputContextResult.response.variableName.trim();
|
|
412
442
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
443
|
+
if (action === "verify") {
|
|
444
|
+
inputValue = stepResult?.response?.inputText;
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
inputValue =
|
|
448
|
+
inputText && inputText.trim().length > 0
|
|
449
|
+
? inputText
|
|
450
|
+
: stepResult?.response?.inputText;
|
|
451
|
+
}
|
|
417
452
|
if (supportedActions_js_1.SKIPPED_ACTIONS.includes(stepAction)) {
|
|
418
453
|
handler = actionHandlers[stepAction];
|
|
419
454
|
await handler();
|
|
@@ -10,5 +10,6 @@ export declare enum PromptType {
|
|
|
10
10
|
COMBINED_ACTION_EXTRACTOR_PROMPT = "combinedActionExtractorPrompt",
|
|
11
11
|
OTP_EXTRACTOR = "otpExtractorPrompt",
|
|
12
12
|
FILE_VERIFY_PROMPT = "fileVerifyActionExtractorPrompt",
|
|
13
|
-
INPUT_CONTEXT_PROMPT = "inputContextPrompt"
|
|
13
|
+
INPUT_CONTEXT_PROMPT = "inputContextPrompt",
|
|
14
|
+
ARITHMETIC_PROMPT = "arithmeticPrompt"
|
|
14
15
|
}
|
|
@@ -15,4 +15,5 @@ var PromptType;
|
|
|
15
15
|
PromptType["OTP_EXTRACTOR"] = "otpExtractorPrompt";
|
|
16
16
|
PromptType["FILE_VERIFY_PROMPT"] = "fileVerifyActionExtractorPrompt";
|
|
17
17
|
PromptType["INPUT_CONTEXT_PROMPT"] = "inputContextPrompt";
|
|
18
|
+
PromptType["ARITHMETIC_PROMPT"] = "arithmeticPrompt";
|
|
18
19
|
})(PromptType || (exports.PromptType = PromptType = {}));
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|