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.
Files changed (176) hide show
  1. package/dist/ai/llmprompts/llmPromptTypes/systemPromptTypes.d.ts +3 -0
  2. package/dist/ai/llmprompts/promptRegistry.js +4 -0
  3. package/dist/ai/llmprompts/systemPrompts/actionExtractorPrompt.js +16 -12
  4. package/dist/ai/llmprompts/systemPrompts/arithmeticPrompt.d.ts +2 -0
  5. package/dist/ai/llmprompts/systemPrompts/arithmeticPrompt.js +48 -0
  6. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPrompt.js +1 -1
  7. package/dist/ai/llmprompts/systemPrompts/getActionExtractorPromptMob.js +1 -1
  8. package/dist/ai/llmprompts/systemPrompts/inputContextPrompt.js +2 -0
  9. package/dist/ai/llmprompts/systemPrompts/mobileKeywordExtractor.js +2 -2
  10. package/dist/ai/llmprompts/userPrompts/userPrompt.js +1 -0
  11. package/dist/automation/actions/executor.d.ts +1 -0
  12. package/dist/automation/actions/executor.js +25 -0
  13. package/dist/automation/actions/interaction/alert/enterDataToAlert.js +2 -2
  14. package/dist/automation/actions/interaction/alert/getTextPresentOnAlertPopup.js +2 -2
  15. package/dist/automation/actions/interaction/arithmetic/arithmeticOperations.d.ts +2 -0
  16. package/dist/automation/actions/interaction/arithmetic/arithmeticOperations.js +61 -0
  17. package/dist/automation/actions/interaction/clear/clearAndEnter.js +3 -3
  18. package/dist/automation/actions/interaction/elementlessActions/getOtp.js +5 -5
  19. package/dist/automation/actions/interaction/enterActions/EnterInputIntoElementFromClipBoardInterface_mob.js +2 -2
  20. package/dist/automation/actions/interaction/enterActions/enterInput.js +3 -3
  21. package/dist/automation/actions/interaction/enterActions/enterInputAndPress.js +3 -3
  22. package/dist/automation/actions/interaction/enterActions/enterUrl.js +3 -3
  23. package/dist/automation/actions/interaction/enterActions/enterusingJs.js +2 -2
  24. package/dist/automation/actions/interaction/enterActions/waitAndEnter.js +3 -3
  25. package/dist/automation/actions/interaction/get/MOB_GetADBLogsForGivenAppPackage.js +2 -2
  26. package/dist/automation/actions/interaction/get/MOB_GetAllContexts.js +2 -2
  27. package/dist/automation/actions/interaction/get/MOB_GetAllWindowHandles.js +3 -3
  28. package/dist/automation/actions/interaction/get/MOB_GetAltitude.js +2 -2
  29. package/dist/automation/actions/interaction/get/MOB_GetBatteryPercentage.js +2 -2
  30. package/dist/automation/actions/interaction/get/MOB_GetBatteryStatus.js +2 -2
  31. package/dist/automation/actions/interaction/get/MOB_GetClipBoardText.js +2 -2
  32. package/dist/automation/actions/interaction/get/MOB_GetCurrentActivity.js +2 -2
  33. package/dist/automation/actions/interaction/get/MOB_GetCurrentAppPackage.js +2 -2
  34. package/dist/automation/actions/interaction/get/MOB_GetCurrentContext.js +2 -2
  35. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceDate.js +2 -2
  36. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSettings.js +2 -2
  37. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceStatus.js +2 -2
  38. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceSystemBars.js +2 -2
  39. package/dist/automation/actions/interaction/get/MOB_GetCurrentDeviceTime.js +2 -2
  40. package/dist/automation/actions/interaction/get/MOB_GetCurrentOrientation.js +2 -2
  41. package/dist/automation/actions/interaction/get/MOB_GetCurrentSessionId.js +2 -2
  42. package/dist/automation/actions/interaction/get/MOB_GetDeviceLocation.js +2 -2
  43. package/dist/automation/actions/interaction/get/MOB_GetDeviceName.js +2 -2
  44. package/dist/automation/actions/interaction/get/MOB_GetDeviceOsVersion.js +2 -2
  45. package/dist/automation/actions/interaction/get/MOB_GetDeviceUdid.js +2 -2
  46. package/dist/automation/actions/interaction/get/MOB_GetHeightOfElement.js +2 -2
  47. package/dist/automation/actions/interaction/get/MOB_GetHeightOfScreen.js +2 -2
  48. package/dist/automation/actions/interaction/get/MOB_GetHourFromCurrentDeviceTime.js +2 -2
  49. package/dist/automation/actions/interaction/get/MOB_GetLatitude.js +2 -2
  50. package/dist/automation/actions/interaction/get/MOB_GetLongitude.js +2 -2
  51. package/dist/automation/actions/interaction/get/MOB_GetMinuteFromCurrentDeviceTime.js +2 -2
  52. package/dist/automation/actions/interaction/get/MOB_GetSecondFromCurrentDeviceTime.js +2 -2
  53. package/dist/automation/actions/interaction/get/MOB_GetSizeOfScreen.js +2 -2
  54. package/dist/automation/actions/interaction/get/MOB_GetSupportedPerformanceDataTypes.js +2 -2
  55. package/dist/automation/actions/interaction/get/MOB_GetTextFromElementAndSetToClipBoard.js +2 -2
  56. package/dist/automation/actions/interaction/get/MOB_GetWidthOfElement.js +2 -2
  57. package/dist/automation/actions/interaction/get/MOB_GetWidthOfScreen.js +2 -2
  58. package/dist/automation/actions/interaction/get/browserWindowGetPosition.js +2 -2
  59. package/dist/automation/actions/interaction/get/getAllBrokenImages.js +2 -2
  60. package/dist/automation/actions/interaction/get/getAllBrokenLinkCount.js +2 -2
  61. package/dist/automation/actions/interaction/get/getAllBrokenLinks.js +2 -2
  62. package/dist/automation/actions/interaction/get/getAllConsoleErrors.js +2 -2
  63. package/dist/automation/actions/interaction/get/getAllConsoleInformation.js +2 -2
  64. package/dist/automation/actions/interaction/get/getAllConsoleLogs.js +2 -2
  65. package/dist/automation/actions/interaction/get/getAllConsoleWarnings.js +2 -2
  66. package/dist/automation/actions/interaction/get/getAllCookieNames.js +2 -2
  67. package/dist/automation/actions/interaction/get/getAllCookieValues.js +2 -2
  68. package/dist/automation/actions/interaction/get/getAllSelectedOptions.js +2 -2
  69. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsText.js +2 -2
  70. package/dist/automation/actions/interaction/get/getAllTheOptionsFromListBoxAsTextInSortedOrder.js +2 -2
  71. package/dist/automation/actions/interaction/get/getAllTheSelectedOptionsFromListBoxAsText.js +2 -2
  72. package/dist/automation/actions/interaction/get/getAllWindowHandles.js +2 -2
  73. package/dist/automation/actions/interaction/get/getAttribute.js +3 -3
  74. package/dist/automation/actions/interaction/get/getAudioCurrentPlaybackRate.js +2 -2
  75. package/dist/automation/actions/interaction/get/getAudioCurrentSeekTime.js +2 -2
  76. package/dist/automation/actions/interaction/get/getAudioCurrentVolume.js +2 -2
  77. package/dist/automation/actions/interaction/get/getAudioDecodedByte.js +2 -2
  78. package/dist/automation/actions/interaction/get/getAudioDefaultPlaybackRate.js +2 -2
  79. package/dist/automation/actions/interaction/get/getAudioMediaLength.js +2 -2
  80. package/dist/automation/actions/interaction/get/getAudioMediaSource.js +2 -2
  81. package/dist/automation/actions/interaction/get/getBestPracticesScore.js +2 -2
  82. package/dist/automation/actions/interaction/get/getBrowserCount.js +2 -2
  83. package/dist/automation/actions/interaction/get/getBrowserVersion.js +2 -2
  84. package/dist/automation/actions/interaction/get/getCapabilityNames.js +2 -2
  85. package/dist/automation/actions/interaction/get/getClipBoardText.js +2 -2
  86. package/dist/automation/actions/interaction/get/getCollectiveApiResponseTime.js +2 -2
  87. package/dist/automation/actions/interaction/get/getCollectiveApiStatusCode.js +2 -2
  88. package/dist/automation/actions/interaction/get/getCssValue.js +2 -2
  89. package/dist/automation/actions/interaction/get/getCurrentDayOfTheWeek.js +2 -2
  90. package/dist/automation/actions/interaction/get/getCurrentSecondsFromCurrentSystemTime.js +2 -2
  91. package/dist/automation/actions/interaction/get/getCurrentSystemDate.js +2 -2
  92. package/dist/automation/actions/interaction/get/getCurrentSystemDay.js +2 -2
  93. package/dist/automation/actions/interaction/get/getCurrentSystemMonth.js +2 -2
  94. package/dist/automation/actions/interaction/get/getCurrentSystemTime.js +2 -2
  95. package/dist/automation/actions/interaction/get/getCurrentSystemYear.js +2 -2
  96. package/dist/automation/actions/interaction/get/getCurrentWindowHandle.js +2 -2
  97. package/dist/automation/actions/interaction/get/getDataFromApiRequestHeaderForJsonPath.js +2 -2
  98. package/dist/automation/actions/interaction/get/getDataFromApiResponseForJsonPath.js +2 -2
  99. package/dist/automation/actions/interaction/get/getDateWithGivenFormat.js +2 -2
  100. package/dist/automation/actions/interaction/get/getDriverInstance.js +2 -2
  101. package/dist/automation/actions/interaction/get/getFirstContentfulPaint.js +2 -2
  102. package/dist/automation/actions/interaction/get/getFirstSelectedOption.js +2 -2
  103. package/dist/automation/actions/interaction/get/getFullPaintTime.js +2 -2
  104. package/dist/automation/actions/interaction/get/getHTMLCodeOfPage.js +2 -2
  105. package/dist/automation/actions/interaction/get/getHeightOfBrowserWindow.js +2 -2
  106. package/dist/automation/actions/interaction/get/getHeightOfWebElement.js +2 -2
  107. package/dist/automation/actions/interaction/get/getHourFromCurrentSystemTime.js +2 -2
  108. package/dist/automation/actions/interaction/get/getImplicitTimeOut.js +2 -2
  109. package/dist/automation/actions/interaction/get/getLargestContentfulPaint.js +2 -2
  110. package/dist/automation/actions/interaction/get/getListBoxSize.js +2 -2
  111. package/dist/automation/actions/interaction/get/getListOfElementsFromLocatorTypeLocatorValue.js +3 -3
  112. package/dist/automation/actions/interaction/get/getLocation.js +3 -3
  113. package/dist/automation/actions/interaction/get/getMinuteFromCurrentSystemTime.js +2 -2
  114. package/dist/automation/actions/interaction/get/getNetworkRouteTime.js +2 -2
  115. package/dist/automation/actions/interaction/get/getNumberOfBrokenImages.js +2 -2
  116. package/dist/automation/actions/interaction/get/getNumberOfLinksPresentInCurrentPage.js +2 -2
  117. package/dist/automation/actions/interaction/get/getNumberOfWorkingLinksFromCurrentPage.js +2 -2
  118. package/dist/automation/actions/interaction/get/getOptions.js +2 -2
  119. package/dist/automation/actions/interaction/get/getPageTitle.js +2 -2
  120. package/dist/automation/actions/interaction/get/getPerformanceMetrics.js +2 -2
  121. package/dist/automation/actions/interaction/get/getPwaScore.js +2 -2
  122. package/dist/automation/actions/interaction/get/getRect.js +3 -3
  123. package/dist/automation/actions/interaction/get/getScreenshot.js +2 -2
  124. package/dist/automation/actions/interaction/get/getScreenshotAs.js +2 -2
  125. package/dist/automation/actions/interaction/get/getSeoScore.js +2 -2
  126. package/dist/automation/actions/interaction/get/getSingleApiRequestPayload.js +2 -2
  127. package/dist/automation/actions/interaction/get/getSingleApiResponse.js +2 -2
  128. package/dist/automation/actions/interaction/get/getSingleApiResponseTime.js +2 -2
  129. package/dist/automation/actions/interaction/get/getSingleApiStatusCode.js +2 -2
  130. package/dist/automation/actions/interaction/get/getSize.js +3 -3
  131. package/dist/automation/actions/interaction/get/getSizeOfBrowserWindow.js +2 -2
  132. package/dist/automation/actions/interaction/get/getStringDataFromLocalFile.js +2 -2
  133. package/dist/automation/actions/interaction/get/getSystemProperty.js +2 -2
  134. package/dist/automation/actions/interaction/get/getTagName.js +3 -3
  135. package/dist/automation/actions/interaction/get/getText.js +3 -3
  136. package/dist/automation/actions/interaction/get/getTheFirstSelectedOptionFromListBoxAsText.js +2 -2
  137. package/dist/automation/actions/interaction/get/getTotalNumberOfCookies.js +2 -2
  138. package/dist/automation/actions/interaction/get/getTunnelIdentifier.js +2 -2
  139. package/dist/automation/actions/interaction/get/getURLPresentInAddressBar.js +2 -2
  140. package/dist/automation/actions/interaction/get/getUserHomeDirectory.js +2 -2
  141. package/dist/automation/actions/interaction/get/getValueByCookieName.js +2 -2
  142. package/dist/automation/actions/interaction/get/getValueFromLocalStorage.js +2 -2
  143. package/dist/automation/actions/interaction/get/getValueOfSystemVariable.js +2 -2
  144. package/dist/automation/actions/interaction/get/getVideoCurrentPlaybackRate.js +2 -2
  145. package/dist/automation/actions/interaction/get/getVideoCurrentSeekTime.js +2 -2
  146. package/dist/automation/actions/interaction/get/getVideoCurrentVolume.js +2 -2
  147. package/dist/automation/actions/interaction/get/getVideoDecodedByte.js +2 -2
  148. package/dist/automation/actions/interaction/get/getVideoDefaultPlaybackRate.js +2 -2
  149. package/dist/automation/actions/interaction/get/getVideoMediaLength.js +2 -2
  150. package/dist/automation/actions/interaction/get/getVideoMediaSource.js +2 -2
  151. package/dist/automation/actions/interaction/get/getWidthOfBrowser.js +2 -2
  152. package/dist/automation/actions/interaction/get/getWidthOfWebElement.js +2 -2
  153. package/dist/automation/actions/interaction/get/getWorkingLinksFromCurrentPage.js +2 -2
  154. package/dist/automation/actions/interaction/get/getWrappedElement.js +2 -2
  155. package/dist/automation/actions/interaction/get/getWrappedOptionFromListBoxAsText.js +2 -2
  156. package/dist/automation/actions/interaction/get/getXLocationOfBrowserWindow.js +2 -2
  157. package/dist/automation/actions/interaction/get/getXLocationOfWebElement.js +3 -3
  158. package/dist/automation/actions/interaction/get/getYLocationOfBrowserWindow.js +2 -2
  159. package/dist/automation/actions/interaction/get/getYLocationOfWebElement.js +3 -3
  160. package/dist/automation/actions/interaction/shadowDom/shadowDomEnter.js +2 -2
  161. package/dist/automation/actions/interaction/shadowDom/shadowDomGetText.js +2 -2
  162. package/dist/automation/actions/interface/FireFlinkResponseSchema.d.ts +13 -0
  163. package/dist/automation/actions/interface/FireFlinkResponseSchema.js +10 -1
  164. package/dist/automation/actions/interface/arithmeticActionInterface.d.ts +18 -0
  165. package/dist/automation/actions/interface/arithmeticActionInterface.js +2 -0
  166. package/dist/core/constants/allAction.js +2 -1
  167. package/dist/core/constants/supportedActions.js +2 -1
  168. package/dist/core/interfaces/actionInterface.d.ts +2 -0
  169. package/dist/core/interfaces/promptInterface.d.ts +3 -0
  170. package/dist/core/main/actionHandlerFactory.js +3 -0
  171. package/dist/core/main/runAutomationScript.js +40 -5
  172. package/dist/core/types/promptType.d.ts +2 -1
  173. package/dist/core/types/promptType.js +1 -0
  174. package/package.json +1 -1
  175. /package/dist/utils/helpers/{getHelper.d.ts → saveStepInputData.d.ts} +0 -0
  176. /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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, _size.width);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, workingLinks);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, res);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, optionTexts);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, position.x);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, _x);
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, getHelper_js_1.saveStepInputData)(args, _x);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, y);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, _y);
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, getHelper_js_1.saveStepInputData)(args, _y);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, args.value);
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 getHelper_js_1 = require("../../../../utils/helpers/getHelper.js");
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, getHelper_js_1.saveStepInputData)(args, text);
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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -27,5 +27,6 @@ exports.allKeywordAction = [
27
27
  "switchToAndroid",
28
28
  "switchToWeb",
29
29
  "getOtp",
30
- "enterOtp"
30
+ "enterOtp",
31
+ "arithmetic"
31
32
  ];
@@ -230,5 +230,6 @@ exports.ELEMENTLESS_ACTION = [
230
230
  "MouseClickOnCurrentCursorPoint",
231
231
  "MouseDoubleClickAtCursorPoint",
232
232
  "MouseClickOnCurrentCursorPointNTimes",
233
- "getOtp"
233
+ "getOtp",
234
+ "arithmetic",
234
235
  ];
@@ -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
  }
@@ -44,4 +44,7 @@ export interface PromptArgsMap {
44
44
  inputStepsContext: string[];
45
45
  priorAndNextSteps: string[];
46
46
  };
47
+ [PromptType.ARITHMETIC_PROMPT]: {
48
+ inputStepsContext: any[];
49
+ };
47
50
  }
@@ -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
- inputValue =
414
- inputText && inputText.trim().length > 0
415
- ? inputText
416
- : stepResult?.response?.inputText;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ff-automationv2",
3
- "version": "2.2.32",
3
+ "version": "2.2.33",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "description": "This lib is used to automate the manual testcase",