automation_model 1.0.547-dev → 1.0.547-stage

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/lib/utils.js CHANGED
@@ -3,6 +3,7 @@ import objectPath from "object-path";
3
3
  import path from "path";
4
4
  import { TOTP } from "totp-generator";
5
5
  import fs from "fs";
6
+ import axios from "axios";
6
7
  // Function to encrypt a string
7
8
  function encrypt(text, key = null) {
8
9
  if (!key) {
@@ -38,6 +39,85 @@ async function decrypt(encryptedText, key = null, totpWait = true) {
38
39
  const bytes = CryptoJS.AES.decrypt(encryptedText, key);
39
40
  return bytes.toString(CryptoJS.enc.Utf8);
40
41
  }
42
+ export function testForRegex(text) {
43
+ const regexEndPattern = /\/([gimuy]*)$/;
44
+ if (text.startsWith("/")) {
45
+ const match = regexEndPattern.test(text);
46
+ if (match) {
47
+ try {
48
+ const regex = new RegExp(text.substring(1, text.lastIndexOf("/")), text.match(regexEndPattern)[1]);
49
+ return true;
50
+ }
51
+ catch {
52
+ // not regex
53
+ }
54
+ }
55
+ }
56
+ return false;
57
+ }
58
+ function _convertToRegexQuery(text, isRegex, fullMatch, ignoreCase) {
59
+ let query = "internal:text=/";
60
+ let queryEnd = "/";
61
+ let pattern = "";
62
+ const regexEndPattern = /\/([gimuy]*)$/;
63
+ if (text.startsWith("/")) {
64
+ const match = regexEndPattern.test(text);
65
+ if (match) {
66
+ try {
67
+ const regex = new RegExp(text.substring(1, text.lastIndexOf("/")), text.match(regexEndPattern)[1]);
68
+ return "internal:text=" + text;
69
+ }
70
+ catch {
71
+ // not regex
72
+ }
73
+ }
74
+ }
75
+ if (isRegex) {
76
+ pattern = text;
77
+ }
78
+ else {
79
+ // first remove \n then split the text by any white space,
80
+ let parts = text.replace(/\\n/g, "").split(/\s+/);
81
+ // escape regex split part
82
+ parts = parts.map((part) => escapeRegex(part));
83
+ pattern = parts.join("\\s*");
84
+ }
85
+ if (fullMatch) {
86
+ pattern = "^\\s*" + pattern + "\\s*$";
87
+ }
88
+ if (ignoreCase) {
89
+ queryEnd += "i";
90
+ }
91
+ return query + pattern + queryEnd;
92
+ }
93
+ function escapeRegex(str) {
94
+ // Special regex characters that need to be escaped
95
+ const specialChars = [
96
+ "/",
97
+ ".",
98
+ "*",
99
+ "+",
100
+ "?",
101
+ "^",
102
+ "$",
103
+ "(",
104
+ ")",
105
+ "[",
106
+ "]",
107
+ "{",
108
+ "}",
109
+ "|",
110
+ "\\",
111
+ "-",
112
+ "'",
113
+ '"',
114
+ ">", // added to avoid confusion with pw selectorsxw
115
+ ];
116
+ // Create a regex that will match all special characters
117
+ const escapedRegex = new RegExp(specialChars.map((char) => `\\${char}`).join("|"), "g");
118
+ // Escape special characters by prefixing them with a backslash
119
+ return str.replace(escapedRegex, "\\$&");
120
+ }
41
121
  function _findKey() {
42
122
  if (process.env.PROJECT_ID) {
43
123
  return process.env.PROJECT_ID;
@@ -86,17 +166,75 @@ async function replaceWithLocalTestData(value, world, _decrypt = true, totpWait
86
166
  for (let i = 0; i < matches.length; i++) {
87
167
  let match = matches[i];
88
168
  let key = match.substring(2, match.length - 2);
89
- let newValue = objectPath.get(testData, key, null);
90
- if (newValue !== null) {
91
- value = value.replace(match, newValue);
169
+ if (key && key.trim().startsWith("date:")) {
170
+ const dateQuery = key.substring(5);
171
+ const parts = dateQuery.split(">>");
172
+ const returnTemplate = parts[1] || null;
173
+ let serviceUrl = _getServerUrl();
174
+ const config = {
175
+ method: "post",
176
+ url: `${serviceUrl}/api/runs/find-date/find`,
177
+ headers: {
178
+ "x-source": "true",
179
+ "Content-Type": "application/json",
180
+ Authorization: `Bearer ${process.env.TOKEN}`,
181
+ },
182
+ data: JSON.stringify({
183
+ value: parts[0],
184
+ }),
185
+ };
186
+ let result = await axios.request(config);
187
+ //console.log(JSON.stringify(frameDump[0]));
188
+ if (result.status !== 200 || !result.data || result.data.status !== true || !result.data.result) {
189
+ console.error("Failed to find date");
190
+ throw new Error("Failed to find date");
191
+ }
192
+ value = formatDate(result.data.result, returnTemplate);
193
+ }
194
+ else {
195
+ let newValue = objectPath.get(testData, key, null);
196
+ if (newValue !== null) {
197
+ value = value.replace(match, newValue);
198
+ }
92
199
  }
93
200
  }
94
201
  }
95
202
  if ((value.startsWith("secret:") || value.startsWith("totp:") || value.startsWith("mask:")) && _decrypt) {
96
203
  return await decrypt(value, null, totpWait);
97
204
  }
205
+ // check if the value is ${}
206
+ if (value.startsWith("${") && value.endsWith("}")) {
207
+ value = evaluateString(value, context.examplesRow);
208
+ }
98
209
  return value;
99
210
  }
211
+ function evaluateString(template, parameters) {
212
+ if (!parameters) {
213
+ parameters = {};
214
+ }
215
+ try {
216
+ return new Function(...Object.keys(parameters), `return \`${template}\`;`)(...Object.values(parameters));
217
+ }
218
+ catch (e) {
219
+ console.error(e);
220
+ return template;
221
+ }
222
+ }
223
+ function formatDate(dateStr, format) {
224
+ if (!format) {
225
+ return dateStr;
226
+ }
227
+ // Split the input date string
228
+ const [dd, mm, yyyy] = dateStr.split("-");
229
+ // Define replacements
230
+ const replacements = {
231
+ dd: dd,
232
+ mm: mm,
233
+ yyyy: yyyy,
234
+ };
235
+ // Replace format placeholders with actual values
236
+ return format.replace(/dd|mm|yyyy/g, (match) => replacements[match]);
237
+ }
100
238
  function maskValue(value) {
101
239
  if (!value) {
102
240
  return value;
@@ -112,7 +250,278 @@ function maskValue(value) {
112
250
  }
113
251
  return value;
114
252
  }
115
- // console.log(encrypt("Hello, World!", null));
116
- // console.log(decrypt("U2FsdGVkX1+6mavadgkMgJPIhR3IO1pDkx36TjTyoyE=", null));
117
- export { encrypt, decrypt, replaceWithLocalTestData, maskValue };
253
+ function _copyContext(from, to) {
254
+ to.browser = from.browser;
255
+ to.page = from.page;
256
+ to.context = from.context;
257
+ }
258
+ async function scrollPageToLoadLazyElements(page) {
259
+ let lastHeight = await page.evaluate(() => document.body.scrollHeight);
260
+ let retry = 0;
261
+ while (true) {
262
+ await page.evaluate(() => window.scrollBy(0, window.innerHeight));
263
+ await new Promise((resolve) => setTimeout(resolve, 1000));
264
+ let newHeight = await page.evaluate(() => document.body.scrollHeight);
265
+ if (newHeight === lastHeight) {
266
+ break;
267
+ }
268
+ lastHeight = newHeight;
269
+ retry++;
270
+ if (retry > 10) {
271
+ break;
272
+ }
273
+ }
274
+ await page.evaluate(() => window.scrollTo(0, 0));
275
+ }
276
+ function _fixUsingParams(text, _params) {
277
+ if (!_params || typeof text !== "string") {
278
+ return text;
279
+ }
280
+ for (let key in _params) {
281
+ let regValue = key;
282
+ if (key.startsWith("_")) {
283
+ // remove the _ prefix
284
+ regValue = key.substring(1);
285
+ }
286
+ text = text.replaceAll(new RegExp("{" + regValue + "}", "g"), _params[key]);
287
+ }
288
+ return text;
289
+ }
290
+ function getWebLogFile(logFolder) {
291
+ if (!fs.existsSync(logFolder)) {
292
+ fs.mkdirSync(logFolder, { recursive: true });
293
+ }
294
+ let nextIndex = 1;
295
+ while (fs.existsSync(path.join(logFolder, nextIndex.toString() + ".json"))) {
296
+ nextIndex++;
297
+ }
298
+ const fileName = nextIndex + ".json";
299
+ return path.join(logFolder, fileName);
300
+ }
301
+ function _fixLocatorUsingParams(locator, _params) {
302
+ // check if not null
303
+ if (!locator) {
304
+ return locator;
305
+ }
306
+ // clone the locator
307
+ locator = JSON.parse(JSON.stringify(locator));
308
+ scanAndManipulate(locator, _params);
309
+ return locator;
310
+ }
311
+ function _isObject(value) {
312
+ return value && typeof value === "object" && value.constructor === Object;
313
+ }
314
+ function scanAndManipulate(currentObj, _params) {
315
+ for (const key in currentObj) {
316
+ if (typeof currentObj[key] === "string") {
317
+ // Perform string manipulation
318
+ currentObj[key] = _fixUsingParams(currentObj[key], _params);
319
+ }
320
+ else if (_isObject(currentObj[key])) {
321
+ // Recursively scan nested objects
322
+ scanAndManipulate(currentObj[key], _params);
323
+ }
324
+ }
325
+ }
326
+ function extractStepExampleParameters(step) {
327
+ if (!step ||
328
+ !step.gherkinDocument ||
329
+ !step.pickle ||
330
+ !step.pickle.astNodeIds ||
331
+ !(step.pickle.astNodeIds.length > 1) ||
332
+ !step.gherkinDocument.feature ||
333
+ !step.gherkinDocument.feature.children) {
334
+ return {};
335
+ }
336
+ try {
337
+ const scenarioId = step.pickle.astNodeIds[0];
338
+ const exampleId = step.pickle.astNodeIds[1];
339
+ // find the scenario in the gherkin document
340
+ const scenario = step.gherkinDocument.feature.children.find((child) => child.scenario.id === scenarioId).scenario;
341
+ if (!scenario || !scenario.examples || !scenario.examples[0].tableBody) {
342
+ return {};
343
+ }
344
+ // find the table body in the examples
345
+ const row = scenario.examples[0].tableBody.find((r) => r.id === exampleId);
346
+ if (!row) {
347
+ return {};
348
+ }
349
+ // extract the cells values (row.cells.value) into an array
350
+ const values = row.cells.map((cell) => cell.value);
351
+ // extract the table headers keys (scenario.examples.tableHeader.cells.value) into an array
352
+ const keys = scenario.examples[0].tableHeader.cells.map((cell) => cell.value);
353
+ // create a dictionary of the keys and values
354
+ const params = {};
355
+ for (let i = 0; i < keys.length; i++) {
356
+ params[keys[i]] = values[i];
357
+ }
358
+ return params;
359
+ }
360
+ catch (e) {
361
+ console.error(e);
362
+ return {};
363
+ }
364
+ }
365
+ const KEYBOARD_EVENTS = [
366
+ "ALT",
367
+ "AltGraph",
368
+ "CapsLock",
369
+ "Control",
370
+ "Fn",
371
+ "FnLock",
372
+ "Hyper",
373
+ "Meta",
374
+ "NumLock",
375
+ "ScrollLock",
376
+ "Shift",
377
+ "Super",
378
+ "Symbol",
379
+ "SymbolLock",
380
+ "Enter",
381
+ "Tab",
382
+ "ArrowDown",
383
+ "ArrowLeft",
384
+ "ArrowRight",
385
+ "ArrowUp",
386
+ "End",
387
+ "Home",
388
+ "PageDown",
389
+ "PageUp",
390
+ "Backspace",
391
+ "Clear",
392
+ "Copy",
393
+ "CrSel",
394
+ "Cut",
395
+ "Delete",
396
+ "EraseEof",
397
+ "ExSel",
398
+ "Insert",
399
+ "Paste",
400
+ "Redo",
401
+ "Undo",
402
+ "Accept",
403
+ "Again",
404
+ "Attn",
405
+ "Cancel",
406
+ "ContextMenu",
407
+ "Escape",
408
+ "Execute",
409
+ "Find",
410
+ "Finish",
411
+ "Help",
412
+ "Pause",
413
+ "Play",
414
+ "Props",
415
+ "Select",
416
+ "ZoomIn",
417
+ "ZoomOut",
418
+ "BrightnessDown",
419
+ "BrightnessUp",
420
+ "Eject",
421
+ "LogOff",
422
+ "Power",
423
+ "PowerOff",
424
+ "PrintScreen",
425
+ "Hibernate",
426
+ "Standby",
427
+ "WakeUp",
428
+ "AllCandidates",
429
+ "Alphanumeric",
430
+ "CodeInput",
431
+ "Compose",
432
+ "Convert",
433
+ "Dead",
434
+ "FinalMode",
435
+ "GroupFirst",
436
+ "GroupLast",
437
+ "GroupNext",
438
+ "GroupPrevious",
439
+ "ModeChange",
440
+ "NextCandidate",
441
+ "NonConvert",
442
+ "PreviousCandidate",
443
+ "Process",
444
+ "SingleCandidate",
445
+ "HangulMode",
446
+ "HanjaMode",
447
+ "JunjaMode",
448
+ "Eisu",
449
+ "Hankaku",
450
+ "Hiragana",
451
+ "HiraganaKatakana",
452
+ "KanaMode",
453
+ "KanjiMode",
454
+ "Katakana",
455
+ "Romaji",
456
+ "Zenkaku",
457
+ "ZenkakuHanaku",
458
+ "F1",
459
+ "F2",
460
+ "F3",
461
+ "F4",
462
+ "F5",
463
+ "F6",
464
+ "F7",
465
+ "F8",
466
+ "F9",
467
+ "F10",
468
+ "F11",
469
+ "F12",
470
+ "Soft1",
471
+ "Soft2",
472
+ "Soft3",
473
+ "Soft4",
474
+ "ChannelDown",
475
+ "ChannelUp",
476
+ "Close",
477
+ "MailForward",
478
+ "MailReply",
479
+ "MailSend",
480
+ "MediaFastForward",
481
+ "MediaPause",
482
+ "MediaPlay",
483
+ "MediaPlayPause",
484
+ "MediaRecord",
485
+ "MediaRewind",
486
+ "MediaStop",
487
+ "MediaTrackNext",
488
+ "MediaTrackPrevious",
489
+ "AudioBalanceLeft",
490
+ "AudioBalanceRight",
491
+ "AudioBassBoostDown",
492
+ "AudioBassBoostToggle",
493
+ "AudioBassBoostUp",
494
+ "AudioFaderFront",
495
+ "AudioFaderRear",
496
+ "AudioSurroundModeNext",
497
+ "AudioTrebleDown",
498
+ "AudioTrebleUp",
499
+ "AudioVolumeDown",
500
+ "AudioVolumeMute",
501
+ "AudioVolumeUp",
502
+ "MicrophoneToggle",
503
+ "MicrophoneVolumeDown",
504
+ "MicrophoneVolumeMute",
505
+ "MicrophoneVolumeUp",
506
+ "TV",
507
+ "TV3DMode",
508
+ "TVAntennaCable",
509
+ "TVAudioDescription",
510
+ ];
511
+ function unEscapeString(str) {
512
+ const placeholder = "__NEWLINE__";
513
+ str = str.replace(new RegExp(placeholder, "g"), "\n");
514
+ return str;
515
+ }
516
+ function _getServerUrl() {
517
+ let serviceUrl = "https://api.blinq.io";
518
+ if (process.env.NODE_ENV_BLINQ === "dev") {
519
+ serviceUrl = "https://dev.api.blinq.io";
520
+ }
521
+ else if (process.env.NODE_ENV_BLINQ === "stage") {
522
+ serviceUrl = "https://stage.api.blinq.io";
523
+ }
524
+ return serviceUrl;
525
+ }
526
+ export { encrypt, decrypt, replaceWithLocalTestData, maskValue, _copyContext, scrollPageToLoadLazyElements, _fixUsingParams, getWebLogFile, _fixLocatorUsingParams, _isObject, scanAndManipulate, KEYBOARD_EVENTS, unEscapeString, _getServerUrl, _convertToRegexQuery, _getDataFile, extractStepExampleParameters };
118
527
  //# sourceMappingURL=utils.js.map
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,28 +1,28 @@
1
1
  {
2
2
  "name": "automation_model",
3
- "version": "1.0.547-dev",
3
+ "version": "1.0.547-stage",
4
4
  "description": "An automation infrastructure module to be use for generative AI automation projects.",
5
5
  "main": "lib/index.js",
6
6
  "type": "module",
7
7
  "types": "lib/index.d.ts",
8
8
  "directories": {
9
- "lib": "lib",
10
- "patches": "patches"
9
+ "lib": "lib"
11
10
  },
12
11
  "scripts": {
13
12
  "compile": "tsc",
14
13
  "pack": "mkdir build && mkdir build/bin && cp ./src/auto_page.js ./build/bin/auto_page.js && cp ./src/environment.js ./build/bin/environment.js && cp ./src/browser_manager.js ./build/bin/browser_manager.js && cp ./src/test_context.js ./build/bin/test_context.js && cp ./src/init_browser.js ./build/bin/init_browser.js && cp ./src/stable_browser.js ./build/bin/stable_browser.js && cp ./package.json ./build/package.json",
15
14
  "clean": "rimraf -g build && rimraf -g types",
16
- "build": "npm run clean && npm run compile && ncp package.json build/package.json && mkdir build/lib/axe && ncp axe/axe.mini.js build/lib/axe/axe.mini.js",
15
+ "build": "npm run clean && npm run compile && ncp package.json build/package.json && ncp README.md build/README.md && mkdir build/lib/scripts && ncp scripts/axe.mini.js build/lib/scripts/axe.mini.js",
17
16
  "test": "cross-env HEADLESS=true npx mocha --parallel --jobs=8 ./regression/ --timeout 180000",
18
17
  "debug": "node tests/debug.test.js",
19
18
  "types": "tsc --declaration --allowJs --emitDeclarationOnly --outDir types",
20
- "regression": "cross-env HEADLESS=true npx mocha --parallel --jobs=12 ./regression/ --timeout 120000"
19
+ "regression": "cross-env HEADLESS=true npx mocha --bail --parallel --jobs=12 ./regression/ --timeout 120000",
20
+ "reg": "npm run build && npm run compile && npm run regression"
21
21
  },
22
22
  "author": "",
23
23
  "license": "ISC",
24
24
  "dependencies": {
25
- "@playwright/test": "1.45.3",
25
+ "@playwright/test": "1.50.1",
26
26
  "@types/jimp": "^0.2.28",
27
27
  "axios": "^1.7.4",
28
28
  "crypto-js": "^4.2.0",
@@ -30,7 +30,7 @@
30
30
  "dayjs": "^1.11.10",
31
31
  "jimp": "^1.6.0",
32
32
  "object-path": "^0.11.8",
33
- "playwright": "1.45.3",
33
+ "playwright": "1.50.1",
34
34
  "pureimage": "^0.4.13",
35
35
  "readline": "^1.3.0",
36
36
  "regex-parser": "^2.2.11",
@@ -46,7 +46,7 @@
46
46
  "cross-env": "^7.0.3",
47
47
  "husky": "^8.0.0",
48
48
  "lint-staged": "^15.2.7",
49
- "mocha": "^10.6.0",
49
+ "mocha": "^11.1.0",
50
50
  "msw": "^2.6.8",
51
51
  "ncp": "^2.0.0",
52
52
  "prettier": "^3.3.2",
File without changes