@loadmill/executer 0.1.161 → 0.1.163

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 (84) hide show
  1. package/dist/ai-assertion/index.d.ts +3 -0
  2. package/dist/ai-assertion/index.js +113 -0
  3. package/dist/ai-assertion/index.js.map +1 -0
  4. package/dist/ai-assertion/prompts.d.ts +2 -0
  5. package/dist/ai-assertion/prompts.js +56 -0
  6. package/dist/ai-assertion/prompts.js.map +1 -0
  7. package/dist/ai-assertion/types.d.ts +16 -0
  8. package/dist/ai-assertion/types.js +3 -0
  9. package/dist/ai-assertion/types.js.map +1 -0
  10. package/dist/asserter.d.ts +4 -2
  11. package/dist/asserter.js +63 -47
  12. package/dist/asserter.js.map +1 -1
  13. package/dist/block-request.d.ts +1 -1
  14. package/dist/block-request.js +12 -22
  15. package/dist/block-request.js.map +1 -1
  16. package/dist/cookies.d.ts +1 -1
  17. package/dist/cookies.js +6 -8
  18. package/dist/cookies.js.map +1 -1
  19. package/dist/errors.js +2 -16
  20. package/dist/errors.js.map +1 -1
  21. package/dist/extraction-combiner.js +5 -43
  22. package/dist/extraction-combiner.js.map +1 -1
  23. package/dist/failures.js +3 -13
  24. package/dist/failures.js.map +1 -1
  25. package/dist/grpc.js +15 -72
  26. package/dist/grpc.js.map +1 -1
  27. package/dist/iteration-stats.js +5 -7
  28. package/dist/iteration-stats.js.map +1 -1
  29. package/dist/mill-version.js +1 -1
  30. package/dist/mill-version.js.map +1 -1
  31. package/dist/parameter-pools.js +6 -44
  32. package/dist/parameter-pools.js.map +1 -1
  33. package/dist/performance.js +2 -4
  34. package/dist/performance.js.map +1 -1
  35. package/dist/post-script/post-script-executor.js +7 -25
  36. package/dist/post-script/post-script-executor.js.map +1 -1
  37. package/dist/post-sequence.js +17 -55
  38. package/dist/post-sequence.js.map +1 -1
  39. package/dist/redact-data.js +9 -11
  40. package/dist/redact-data.js.map +1 -1
  41. package/dist/request-sequence-result.js +2 -12
  42. package/dist/request-sequence-result.js.map +1 -1
  43. package/dist/res-keeper.d.ts +1 -1
  44. package/dist/res-keeper.js +3 -21
  45. package/dist/res-keeper.js.map +1 -1
  46. package/dist/sampler.js +13 -75
  47. package/dist/sampler.js.map +1 -1
  48. package/dist/sequence-executor-like.d.ts +1 -1
  49. package/dist/sequence.d.ts +3 -1
  50. package/dist/sequence.js +272 -233
  51. package/dist/sequence.js.map +1 -1
  52. package/dist/single-runner.d.ts +2 -0
  53. package/dist/single-runner.js +12 -81
  54. package/dist/single-runner.js.map +1 -1
  55. package/dist/step-handlers/code-step-handler.js +6 -41
  56. package/dist/step-handlers/code-step-handler.js.map +1 -1
  57. package/dist/step-handlers/extract-step-handler.js +12 -43
  58. package/dist/step-handlers/extract-step-handler.js.map +1 -1
  59. package/dist/step-handlers/playwright/constants.js +3 -5
  60. package/dist/step-handlers/playwright/constants.js.map +1 -1
  61. package/dist/step-handlers/playwright/files-manager.js +13 -34
  62. package/dist/step-handlers/playwright/files-manager.js.map +1 -1
  63. package/dist/step-handlers/playwright/index.js +9 -44
  64. package/dist/step-handlers/playwright/index.js.map +1 -1
  65. package/dist/step-handlers/playwright/transformer.js +8 -8
  66. package/dist/step-handlers/playwright/transformer.js.map +1 -1
  67. package/dist/step-handlers/playwright-step-handler.js +11 -49
  68. package/dist/step-handlers/playwright-step-handler.js.map +1 -1
  69. package/dist/step-handlers/request-step-handler.js +6 -41
  70. package/dist/step-handlers/request-step-handler.js.map +1 -1
  71. package/dist/step-handlers/wait-step-handler.js +11 -46
  72. package/dist/step-handlers/wait-step-handler.js.map +1 -1
  73. package/dist/step-handlers/web-socket-step-handler.js +18 -75
  74. package/dist/step-handlers/web-socket-step-handler.js.map +1 -1
  75. package/dist/test-run-event-emitter.js +2 -4
  76. package/dist/test-run-event-emitter.js.map +1 -1
  77. package/dist/types/integrations.d.ts +4 -0
  78. package/dist/types/integrations.js +3 -0
  79. package/dist/types/integrations.js.map +1 -0
  80. package/dist/utils.js +2 -20
  81. package/dist/utils.js.map +1 -1
  82. package/dist/ws.js +20 -58
  83. package/dist/ws.js.map +1 -1
  84. package/package.json +3 -3
@@ -0,0 +1,3 @@
1
+ import { AIAssertionResponse } from './types';
2
+ export declare const assertUsingAI: (openaiApiKey: string | undefined, value: any, AIVerify: string) => Promise<boolean>;
3
+ export declare const _assertUsingAI: (openaiApiKey: string | undefined, value: any, AIVerify: string) => Promise<AIAssertionResponse>;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._assertUsingAI = exports.assertUsingAI = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var superagent_1 = tslib_1.__importDefault(require("superagent"));
6
+ var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
7
+ var string_utils_1 = require("@loadmill/universal/dist/string-utils");
8
+ var errors_1 = require("../errors");
9
+ var prompts_1 = require("./prompts");
10
+ var OPENAI_API_URL = 'https://api.openai.com/v1/responses';
11
+ var MAX_EXPLANATION_LENGTH = 1000;
12
+ var TIMEOUT_MS = 60000; // 1 minute timeout
13
+ var assertUsingAI = function (openaiApiKey, value, AIVerify) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
14
+ var _a, evaluation, explanation;
15
+ return tslib_1.__generator(this, function (_b) {
16
+ switch (_b.label) {
17
+ case 0:
18
+ if (AIVerify === '') {
19
+ return [2 /*return*/, true];
20
+ }
21
+ return [4 /*yield*/, (0, exports._assertUsingAI)(openaiApiKey, value, AIVerify)];
22
+ case 1:
23
+ _a = _b.sent(), evaluation = _a.evaluation, explanation = _a.explanation;
24
+ log_1.default.debug('Assert AIVerify:', { value: value, AIVerify: AIVerify, evaluation: evaluation, explanation: explanation });
25
+ if (evaluation === false) {
26
+ throw new errors_1.RequestFailuresError("AI assertion failed: ".concat((0, string_utils_1.truncateString)(explanation, MAX_EXPLANATION_LENGTH)));
27
+ }
28
+ return [2 /*return*/, true];
29
+ }
30
+ });
31
+ }); };
32
+ exports.assertUsingAI = assertUsingAI;
33
+ var _assertUsingAI = function (openaiApiKey, value, AIVerify) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
34
+ var err_1, errMsg;
35
+ return tslib_1.__generator(this, function (_a) {
36
+ switch (_a.label) {
37
+ case 0:
38
+ _a.trys.push([0, 2, , 3]);
39
+ if (!openaiApiKey) {
40
+ return [2 /*return*/, _failAssertion('AI assertions require providing an OpenAI API key.')];
41
+ }
42
+ return [4 /*yield*/, _getAIResponse(openaiApiKey, (0, prompts_1.getAIAssertionConfiguration)(value, AIVerify))];
43
+ case 1: return [2 /*return*/, _a.sent()];
44
+ case 2:
45
+ err_1 = _a.sent();
46
+ log_1.default.error('AI assertion error:', err_1);
47
+ errMsg = void 0;
48
+ if (err_1.status === 401) {
49
+ errMsg = 'Invalid OpenAI API key.';
50
+ }
51
+ else if (err_1.timeout) {
52
+ errMsg = 'Received timeout from OpenAI.';
53
+ }
54
+ return [2 /*return*/, _failAssertion(errMsg)];
55
+ case 3: return [2 /*return*/];
56
+ }
57
+ });
58
+ }); };
59
+ exports._assertUsingAI = _assertUsingAI;
60
+ /**
61
+ * Once the new openai package is supported, the following will replace the current code:
62
+ * const response = await openai.responses.parse(configuration);
63
+ * return response.output_parsed;
64
+ */
65
+ var _getAIResponse = function (openaiApiKey, configuration) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
66
+ var response, parsedResponse, _a, text, refusal;
67
+ return tslib_1.__generator(this, function (_b) {
68
+ switch (_b.label) {
69
+ case 0: return [4 /*yield*/, _callOpenAI(openaiApiKey, configuration)];
70
+ case 1:
71
+ response = _b.sent();
72
+ parsedResponse = JSON.parse(response.text);
73
+ _a = parsedResponse.output[0].content[0], text = _a.text, refusal = _a.refusal;
74
+ if (refusal) {
75
+ log_1.default.error('AI assertion refusal:', refusal);
76
+ return [2 /*return*/, _failAssertion()];
77
+ }
78
+ return [2 /*return*/, JSON.parse(text)];
79
+ }
80
+ });
81
+ }); };
82
+ var _callOpenAI = function (openaiApiKey, configuration) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
83
+ var request, err_2;
84
+ return tslib_1.__generator(this, function (_a) {
85
+ switch (_a.label) {
86
+ case 0:
87
+ request = superagent_1.default
88
+ .post(OPENAI_API_URL)
89
+ .set('Authorization', "Bearer ".concat(openaiApiKey))
90
+ .set('Content-Type', 'application/json')
91
+ .send(configuration)
92
+ .timeout(TIMEOUT_MS);
93
+ _a.label = 1;
94
+ case 1:
95
+ _a.trys.push([1, 3, , 6]);
96
+ return [4 /*yield*/, request];
97
+ case 2: return [2 /*return*/, _a.sent()];
98
+ case 3:
99
+ err_2 = _a.sent();
100
+ if (!err_2.timeout) return [3 /*break*/, 5];
101
+ log_1.default.debug('AI assertion timeout, retrying...');
102
+ return [4 /*yield*/, request];
103
+ case 4: return [2 /*return*/, _a.sent()];
104
+ case 5: throw err_2;
105
+ case 6: return [2 /*return*/];
106
+ }
107
+ });
108
+ }); };
109
+ var _failAssertion = function (explanation) {
110
+ if (explanation === void 0) { explanation = 'Something went wrong.'; }
111
+ return ({ evaluation: false, explanation: explanation });
112
+ };
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-assertion/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAoC;AAEpC,6EAA+C;AAC/C,sEAAuE;AAEvE,oCAAiD;AAEjD,qCAAwD;AAGxD,IAAM,cAAc,GAAG,qCAAqC,CAAC;AAC7D,IAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,IAAM,UAAU,GAAG,KAAK,CAAC,CAAC,mBAAmB;AAEtC,IAAM,aAAa,GAAG,UAC3B,YAAgC,EAChC,KAAU,EACV,QAAgB;;;;;gBAEhB,IAAI,QAAQ,KAAK,EAAE,EAAE;oBACnB,sBAAO,IAAI,EAAC;iBACb;gBAEmC,qBAAM,IAAA,sBAAc,EAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAA;;gBAAjF,KAA8B,SAAmD,EAA/E,UAAU,gBAAA,EAAE,WAAW,iBAAA;gBAC/B,aAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,UAAU,YAAA,EAAE,WAAW,aAAA,EAAE,CAAC,CAAC;gBAC5E,IAAI,UAAU,KAAK,KAAK,EAAE;oBACxB,MAAM,IAAI,6BAAoB,CAAC,+BAAwB,IAAA,6BAAc,EAAC,WAAW,EAAE,sBAAsB,CAAC,CAAE,CAAC,CAAC;iBAC/G;gBAED,sBAAO,IAAI,EAAC;;;KACb,CAAC;AAhBW,QAAA,aAAa,iBAgBxB;AAEK,IAAM,cAAc,GAAG,UAC5B,YAAgC,EAChC,KAAU,EACV,QAAgB;;;;;;gBAGd,IAAI,CAAC,YAAY,EAAE;oBACjB,sBAAO,cAAc,CAAC,oDAAoD,CAAC,EAAC;iBAC7E;gBAEM,qBAAM,cAAc,CAAC,YAAY,EAAE,IAAA,qCAA2B,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAA;oBAAvF,sBAAO,SAAgF,EAAC;;;gBAGxF,aAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAG,CAAC,CAAC;gBAElC,MAAM,SAAA,CAAC;gBACX,IAAI,KAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBACtB,MAAM,GAAG,yBAAyB,CAAC;iBACpC;qBAAM,IAAI,KAAG,CAAC,OAAO,EAAE;oBACtB,MAAM,GAAG,+BAA+B,CAAC;iBAC1C;gBAED,sBAAO,cAAc,CAAC,MAAM,CAAC,EAAC;;;;KAEjC,CAAC;AAxBW,QAAA,cAAc,kBAwBzB;AAEF;;;;GAIG;AACH,IAAM,cAAc,GAAG,UACrB,YAAoB,EACpB,aAAuC;;;;oBAEtB,qBAAM,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,EAAA;;gBAAzD,QAAQ,GAAG,SAA8C;gBACzD,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC3C,KAAoB,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAArD,IAAI,UAAA,EAAE,OAAO,aAAA,CAAyC;gBAC9D,IAAI,OAAO,EAAE;oBACX,aAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;oBAC5C,sBAAO,cAAc,EAAE,EAAC;iBACzB;gBAED,sBAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC;;;KACzB,CAAC;AAEF,IAAM,WAAW,GAAG,UAClB,YAAoB,EACpB,aAAuC;;;;;gBAEjC,OAAO,GAAG,oBAAU;qBACvB,IAAI,CAAC,cAAc,CAAC;qBACpB,GAAG,CAAC,eAAe,EAAE,iBAAU,YAAY,CAAE,CAAC;qBAC9C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;qBACvC,IAAI,CAAC,aAAa,CAAC;qBACnB,OAAO,CAAC,UAAU,CAAC,CAAC;;;;gBAGd,qBAAM,OAAO,EAAA;oBAApB,sBAAO,SAAa,EAAC;;;qBAEjB,KAAG,CAAC,OAAO,EAAX,wBAAW;gBACb,aAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACxC,qBAAM,OAAO,EAAA;oBAApB,sBAAO,SAAa,EAAC;oBAEvB,MAAM,KAAG,CAAC;;;;KAEb,CAAC;AAEF,IAAM,cAAc,GAAG,UAAC,WAA6C;IAA7C,4BAAA,EAAA,qCAA6C;IACnE,OAAA,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,aAAA,EAAE,CAAC;AAApC,CAAoC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { AIAssertionConfiguration } from './types';
2
+ export declare const getAIAssertionConfiguration: (value: any, AIVerify: string) => AIAssertionConfiguration;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAIAssertionConfiguration = void 0;
4
+ var constants_1 = require("@loadmill/universal/dist/openai/constants");
5
+ var getAIAssertionConfiguration = function (value, AIVerify) {
6
+ return {
7
+ model: constants_1.OPENAI_CHAT_MODELS.GPT_4_O,
8
+ input: _getAIAssertionInput(value, AIVerify),
9
+ text: {
10
+ format: AIAssertionResponseFormat,
11
+ },
12
+ };
13
+ };
14
+ exports.getAIAssertionConfiguration = getAIAssertionConfiguration;
15
+ var AIAssertionSystemMessage = [
16
+ 'You are an assistant for a test automation tool.',
17
+ 'Your task is to evaluate an assertion about provided data, i.e. the "value".',
18
+ 'You will be given a statement about the value, and you need to determine if it is true or false.',
19
+ 'You will also provide a short explanation of your reasoning.',
20
+ 'The evaluation should be a boolean value (true or false).',
21
+ 'The explanation should be a short text that explains the evaluation.',
22
+ ].join('\n');
23
+ var _getAIAssertionUserMessage = function (value, AIVerify) {
24
+ return [
25
+ "value: ".concat(JSON.stringify(value)),
26
+ "statement: \"".concat(AIVerify, "\""),
27
+ 'Respond ONLY using the evaluation (true / false) and explanation.',
28
+ ].join('\n');
29
+ };
30
+ var _getAIAssertionInput = function (value, AIVerify) {
31
+ return [
32
+ {
33
+ role: constants_1.AI_CHAT_ROLES.SYSTEM,
34
+ content: AIAssertionSystemMessage,
35
+ },
36
+ {
37
+ role: constants_1.AI_CHAT_ROLES.USER,
38
+ content: _getAIAssertionUserMessage(value, AIVerify),
39
+ },
40
+ ];
41
+ };
42
+ var AIAssertionResponseFormat = {
43
+ type: 'json_schema',
44
+ name: 'analysis',
45
+ schema: {
46
+ type: 'object',
47
+ properties: {
48
+ evaluation: { type: 'boolean' },
49
+ explanation: { type: 'string' },
50
+ },
51
+ required: ['evaluation', 'explanation'],
52
+ additionalProperties: false,
53
+ },
54
+ strict: true,
55
+ };
56
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai-assertion/prompts.ts"],"names":[],"mappings":";;;AAAA,uEAA8F;AAIvF,IAAM,2BAA2B,GAAG,UACzC,KAAU,EACV,QAAgB;IAEhB,OAAO;QACL,KAAK,EAAE,8BAAkB,CAAC,OAAO;QACjC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC5C,IAAI,EAAE;YACJ,MAAM,EAAE,yBAAyB;SAClC;KACF,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,2BAA2B,+BAWtC;AAEF,IAAM,wBAAwB,GAAG;IAC/B,kDAAkD;IAClD,8EAA8E;IAC9E,kGAAkG;IAClG,8DAA8D;IAC9D,2DAA2D;IAC3D,sEAAsE;CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,IAAM,0BAA0B,GAAG,UACjC,KAAU,EACV,QAAgB;IAEhB,OAAO;QACL,iBAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE;QACjC,uBAAe,QAAQ,OAAG;QAC1B,mEAAmE;KACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,IAAM,oBAAoB,GAAG,UAC3B,KAAU,EACV,QAAgB;IAEhB,OAAO;QACL;YACE,IAAI,EAAE,yBAAa,CAAC,MAAM;YAC1B,OAAO,EAAE,wBAAwB;SAClC;QACD;YACE,IAAI,EAAE,yBAAa,CAAC,IAAI;YACxB,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC;SACrD;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,yBAAyB,GAAG;IAChC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;QACvC,oBAAoB,EAAE,KAAK;KAC5B;IACD,MAAM,EAAE,IAAI;CACb,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AI_CHAT_ROLES, OPENAI_CHAT_MODELS } from '@loadmill/universal/dist/openai/constants';
2
+ export declare type AIResponseInput = {
3
+ role: AI_CHAT_ROLES;
4
+ content: string;
5
+ }[];
6
+ export declare type AIAssertionResponse = {
7
+ evaluation: boolean;
8
+ explanation: string;
9
+ };
10
+ export declare type AIAssertionConfiguration = {
11
+ model: OPENAI_CHAT_MODELS;
12
+ input: AIResponseInput;
13
+ text: {
14
+ format: object;
15
+ };
16
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai-assertion/types.ts"],"names":[],"mappings":""}
@@ -1,9 +1,11 @@
1
1
  import { Parameters } from '@loadmill/core/dist/parameters';
2
2
  import { Assertion } from '@loadmill/core/dist/assertions';
3
+ import { ExecutableConfIntegrations } from './types/integrations';
3
4
  export declare class Asserter {
4
5
  private parameters;
5
- constructor(parameters: Parameters);
6
- assert({ check, equals, notEquals, contains, notContains, matches, falsy, greater, lesser, JSONSchema, JSONContains, XMLContains, }: Assertion): boolean;
6
+ private integrations;
7
+ constructor(parameters: Parameters, integrations: ExecutableConfIntegrations);
8
+ assert({ check, equals, notEquals, contains, notContains, matches, falsy, greater, lesser, JSONSchema, JSONContains, XMLContains, AIVerify, }: Assertion): Promise<boolean>;
7
9
  private resolve;
8
10
  private check;
9
11
  }
package/dist/asserter.js CHANGED
@@ -1,65 +1,81 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.Asserter = void 0;
4
+ var tslib_1 = require("tslib");
7
5
  var parameters_1 = require("@loadmill/core/dist/parameters");
8
6
  var subset_1 = require("@loadmill/core/dist/subset");
9
7
  var xml_to_json_1 = require("@loadmill/core/dist/xml/xml-to-json");
10
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
8
+ var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
9
+ var ai_assertion_1 = require("./ai-assertion");
11
10
  var Asserter = /** @class */ (function () {
12
- function Asserter(parameters) {
11
+ function Asserter(parameters, integrations) {
13
12
  Object.defineProperty(this, "parameters", {
14
13
  enumerable: true,
15
14
  configurable: true,
16
15
  writable: true,
17
16
  value: parameters
18
17
  });
18
+ Object.defineProperty(this, "integrations", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: integrations
23
+ });
19
24
  }
20
25
  Object.defineProperty(Asserter.prototype, "assert", {
21
26
  enumerable: false,
22
27
  configurable: true,
23
28
  writable: true,
24
29
  value: function (_a) {
25
- var check = _a.check, equals = _a.equals, notEquals = _a.notEquals, contains = _a.contains, notContains = _a.notContains, matches = _a.matches, falsy = _a.falsy, greater = _a.greater, lesser = _a.lesser, JSONSchema = _a.JSONSchema, JSONContains = _a.JSONContains, XMLContains = _a.XMLContains;
26
- var actual = parameters_1.parameterUtils.resolveParameter(check, this.parameters) || '';
27
- if (contains == null &&
28
- notContains == null &&
29
- equals == null &&
30
- notEquals == null &&
31
- matches == null &&
32
- greater == null &&
33
- lesser == null &&
34
- JSONSchema == null &&
35
- JSONContains == null &&
36
- XMLContains == null) {
37
- // only if no other assertions exist, the target expression is to check
38
- // for "truthfulness" or "falslyness"(in case falsy flag is on).
39
- // Note that failed/null extractions evaluate to an empty string while
40
- // other nonexistent parameters are left untouched in the resolved expression
41
- var result = void 0;
42
- if (falsy) {
43
- result = parameters_1.valueUtils.isFalsyParameterValue(actual);
44
- log_1.default.debug('Assert False:', { actual: actual, result: result });
45
- }
46
- else {
47
- result = parameters_1.valueUtils.isTruthyParameterValue(actual);
48
- log_1.default.debug('Assert True:', { actual: actual, result: result });
49
- }
50
- return result;
51
- }
52
- // short circuiting with approximate increasing complexity:
53
- return (this.check(actual, checkContains, contains) ||
54
- this.check(actual, checkNotContains, notContains) ||
55
- this.check(actual, checkEquals, equals) ||
56
- this.check(actual, checkNotEquals, notEquals) ||
57
- this.check(actual, checkMatches, matches) ||
58
- this.check(actual, checkGreater, greater) ||
59
- this.check(actual, checkLesser, lesser) ||
60
- this.check(actual, checkJSONSchema, JSONSchema) ||
61
- this.check(actual, checkJSONContains, JSONContains) ||
62
- this.check(actual, checkXMLContains, XMLContains));
30
+ var _b;
31
+ var check = _a.check, equals = _a.equals, notEquals = _a.notEquals, contains = _a.contains, notContains = _a.notContains, matches = _a.matches, falsy = _a.falsy, greater = _a.greater, lesser = _a.lesser, JSONSchema = _a.JSONSchema, JSONContains = _a.JSONContains, XMLContains = _a.XMLContains, AIVerify = _a.AIVerify;
32
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
33
+ var actual, result, resolved;
34
+ return tslib_1.__generator(this, function (_c) {
35
+ switch (_c.label) {
36
+ case 0:
37
+ actual = parameters_1.parameterUtils.resolveParameter(check, this.parameters) || '';
38
+ if (contains == null &&
39
+ notContains == null &&
40
+ equals == null &&
41
+ notEquals == null &&
42
+ matches == null &&
43
+ greater == null &&
44
+ lesser == null &&
45
+ JSONSchema == null &&
46
+ JSONContains == null &&
47
+ XMLContains == null &&
48
+ AIVerify == null) {
49
+ result = void 0;
50
+ if (falsy) {
51
+ result = parameters_1.valueUtils.isFalsyParameterValue(actual);
52
+ log_1.default.debug('Assert False:', { actual: actual, result: result });
53
+ }
54
+ else {
55
+ result = parameters_1.valueUtils.isTruthyParameterValue(actual);
56
+ log_1.default.debug('Assert True:', { actual: actual, result: result });
57
+ }
58
+ return [2 /*return*/, result];
59
+ }
60
+ if (!(AIVerify != null)) return [3 /*break*/, 2];
61
+ resolved = this.resolve(AIVerify);
62
+ return [4 /*yield*/, (0, ai_assertion_1.assertUsingAI)((_b = this.integrations.openai) === null || _b === void 0 ? void 0 : _b.apiKey, actual, resolved)];
63
+ case 1: return [2 /*return*/, _c.sent()];
64
+ case 2:
65
+ // short circuiting with approximate increasing complexity:
66
+ return [2 /*return*/, (this.check(actual, checkContains, contains) ||
67
+ this.check(actual, checkNotContains, notContains) ||
68
+ this.check(actual, checkEquals, equals) ||
69
+ this.check(actual, checkNotEquals, notEquals) ||
70
+ this.check(actual, checkMatches, matches) ||
71
+ this.check(actual, checkGreater, greater) ||
72
+ this.check(actual, checkLesser, lesser) ||
73
+ this.check(actual, checkJSONSchema, JSONSchema) ||
74
+ this.check(actual, checkJSONContains, JSONContains) ||
75
+ this.check(actual, checkXMLContains, XMLContains))];
76
+ }
77
+ });
78
+ });
63
79
  }
64
80
  });
65
81
  Object.defineProperty(Asserter.prototype, "resolve", {
@@ -137,7 +153,7 @@ function checkJSONSchema(actual, expected) {
137
153
  return result;
138
154
  }
139
155
  function checkJSONContains(actual, expected) {
140
- var result = subset_1.isJSONContains(actual, expected);
156
+ var result = (0, subset_1.isJSONContains)(actual, expected);
141
157
  log_1.default.debug('Assert JSONContains:', { actual: actual, expected: expected, result: result });
142
158
  return result;
143
159
  }
@@ -146,12 +162,12 @@ function checkXMLContains(actual, expected) {
146
162
  var onParseError = function (err, result, xml) {
147
163
  log_1.default.debug('Failed to convert XML to JSON while asserting', { result: result, xml: xml }, err);
148
164
  };
149
- var actualAsJson = xml_to_json_1.xmlToJson(actual, parserOptions, onParseError);
150
- var expectedAsJson = xml_to_json_1.xmlToJson(expected, parserOptions, onParseError);
165
+ var actualAsJson = (0, xml_to_json_1.xmlToJson)(actual, parserOptions, onParseError);
166
+ var expectedAsJson = (0, xml_to_json_1.xmlToJson)(expected, parserOptions, onParseError);
151
167
  if (!actualAsJson || !expectedAsJson) {
152
168
  return false;
153
169
  }
154
- var result = subset_1.isJSONContains(JSON.stringify(actualAsJson), JSON.stringify(expectedAsJson));
170
+ var result = (0, subset_1.isJSONContains)(JSON.stringify(actualAsJson), JSON.stringify(expectedAsJson));
155
171
  log_1.default.debug('Assert XMLContains:', { actual: actual, expected: expected, result: result });
156
172
  return result;
157
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"asserter.js","sourceRoot":"","sources":["../src/asserter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asserter.js","sourceRoot":"","sources":["../src/asserter.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { ExecutionBlocker } from '@loadmill/core/dist/team-options/types';
2
- export declare const enforceExecutionBlockers: (executionBlockers: ExecutionBlocker[], request: any) => void;
2
+ export declare const enforceExecutionBlockers: (executionBlockers: ExecutionBlocker[], request: superagent.agent) => void;
@@ -1,23 +1,13 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
3
  exports.enforceExecutionBlockers = void 0;
4
+ var tslib_1 = require("tslib");
15
5
  var types_1 = require("@loadmill/core/dist/team-options/types");
16
6
  var errors_1 = require("./errors");
17
7
  var lodash_1 = require("lodash");
18
8
  var enforceExecutionBlockers = function (executionBlockers, request) {
19
9
  var _a, _b;
20
- if (lodash_1.isEmpty(executionBlockers)) {
10
+ if ((0, lodash_1.isEmpty)(executionBlockers)) {
21
11
  return;
22
12
  }
23
13
  var requestBody;
@@ -28,12 +18,12 @@ var enforceExecutionBlockers = function (executionBlockers, request) {
28
18
  catch (_c) {
29
19
  failedToExtractBody = true;
30
20
  }
31
- var headers = __assign(__assign({}, request.header), { cookie: mergeSuperagentCookieWithConfCookie(request) });
21
+ var headers = tslib_1.__assign(tslib_1.__assign({}, request.header), { cookie: mergeSuperagentCookieWithConfCookie(request) });
32
22
  for (var _i = 0, executionBlockers_1 = executionBlockers; _i < executionBlockers_1.length; _i++) {
33
23
  var blocker = executionBlockers_1[_i];
34
24
  var isRequestBlocked = enforceExecutionBlocker(blocker, { url: request.url, method: request.method, requestBody: requestBody, headers: headers }, failedToExtractBody);
35
25
  if (isRequestBlocked) {
36
- throw new errors_1.RequestFailuresError("Request blocked: " + isRequestBlocked.reason);
26
+ throw new errors_1.RequestFailuresError("Request blocked: ".concat(isRequestBlocked.reason));
37
27
  }
38
28
  }
39
29
  };
@@ -48,24 +38,24 @@ var enforceExecutionBlocker = function (blocker, requestDetails, failedToExtract
48
38
  if (!isUrlMatch(blocker.urlRegex, requestDetails.url)) {
49
39
  return;
50
40
  }
51
- var shouldCheckHeaders = !lodash_1.isEmpty(blocker.headers);
41
+ var shouldCheckHeaders = !(0, lodash_1.isEmpty)(blocker.headers);
52
42
  var shouldCheckBody = !!blocker.bodyRegex;
53
43
  if (!shouldCheckBody && !shouldCheckHeaders) {
54
- return { reason: "The request's method and URL match the execution blocker defined in \"" + blocker.description + "\"" };
44
+ return { reason: "The request's method and URL match the execution blocker defined in \"".concat(blocker.description, "\"") };
55
45
  }
56
46
  if (shouldCheckBody && failedToExtractBody) {
57
- return { reason: "The request's method and URL match the execution blocker defined in \"" + blocker.description + "\", but the body could not be extracted" };
47
+ return { reason: "The request's method and URL match the execution blocker defined in \"".concat(blocker.description, "\", but the body could not be extracted") };
58
48
  }
59
49
  var isHeadersMatch = shouldCheckHeaders && checkHeaders(blocker, requestDetails);
60
50
  var isBodyMatch = shouldCheckBody && checkBody(blocker.bodyRegex, requestDetails.requestBody);
61
51
  if (isHeadersMatch && isBodyMatch) {
62
- return { reason: "The request's method, URL, body and headers match the execution blocker defined in \"" + blocker.description + "\"" };
52
+ return { reason: "The request's method, URL, body and headers match the execution blocker defined in \"".concat(blocker.description, "\"") };
63
53
  }
64
54
  if (isHeadersMatch && !shouldCheckBody) {
65
- return { reason: "The request's method, URL and headers match the execution blocker defined in \"" + blocker.description + "\"" };
55
+ return { reason: "The request's method, URL and headers match the execution blocker defined in \"".concat(blocker.description, "\"") };
66
56
  }
67
57
  if (isBodyMatch && !shouldCheckHeaders) {
68
- return { reason: "The request's method, URL and body match the execution blocker defined in \"" + blocker.description + "\"" };
58
+ return { reason: "The request's method, URL and body match the execution blocker defined in \"".concat(blocker.description, "\"") };
69
59
  }
70
60
  };
71
61
  var isMethodMatch = function (blockerMethod, requestMethod) {
@@ -92,7 +82,7 @@ var getHeadersWithLowerCaseNames = function (headers) {
92
82
  var mergeSuperagentCookieWithConfCookie = function (request) {
93
83
  var confCookie = appendTrailingSemicolon(getHeadersWithLowerCaseNames(request.header).cookie);
94
84
  var superagentCookie = request.cookies;
95
- return superagentCookie && confCookie ? confCookie + " " + superagentCookie : superagentCookie || confCookie;
85
+ return superagentCookie && confCookie ? "".concat(confCookie, " ").concat(superagentCookie) : superagentCookie || confCookie;
96
86
  };
97
- var appendTrailingSemicolon = function (cookie) { return cookie && (cookie.endsWith(';') ? cookie : cookie + ";"); };
87
+ var appendTrailingSemicolon = function (cookie) { return cookie && (cookie.endsWith(';') ? cookie : "".concat(cookie, ";")); };
98
88
  //# sourceMappingURL=block-request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-request.js","sourceRoot":"","sources":["../src/block-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-request.js","sourceRoot":"","sources":["../src/block-request.ts"],"names":[],"mappings":"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"}
package/dist/cookies.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ResolvedRequest } from './request-sequence-result';
2
2
  import { CookieDetails, CookiesDetails } from '@loadmill/core/dist/conf/types';
3
- export declare const setCookies: (httpAgent: any, cookiesList?: CookiesDetails | undefined) => void;
3
+ export declare const setCookies: (httpAgent: any, cookiesList?: CookiesDetails) => void;
4
4
  export declare const getCookies: (httpAgent: any, requests: ResolvedRequest[]) => CookiesDetails;
5
5
  export declare const appendCookie: (cookiesToSend: CookiesDetails, cookieDetails: CookieDetails) => void;
6
6
  export declare const cookieDoesNotExist: (cookieList: CookieDetails[], cookieDetails: CookieDetails) => boolean;
package/dist/cookies.js CHANGED
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.cookieDoesNotExist = exports.appendCookie = exports.getCookies = exports.setCookies = void 0;
7
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
4
+ var tslib_1 = require("tslib");
5
+ var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
8
6
  var lodash_1 = require("lodash");
9
7
  var setCookies = function (httpAgent, cookiesList) {
10
8
  if (cookiesList) {
11
9
  for (var _i = 0, _a = Object.values(cookiesList); _i < _a.length; _i++) {
12
10
  var cookies = _a[_i];
13
- if (lodash_1.isArray(cookies)) {
11
+ if ((0, lodash_1.isArray)(cookies)) {
14
12
  for (var _b = 0, cookies_1 = cookies; _b < cookies_1.length; _b++) {
15
13
  var cookieDetails = cookies_1[_b];
16
14
  var _c = cookieDetails || {}, cookie = _c.cookie, domain = _c.domain, path = _c.path;
@@ -46,7 +44,7 @@ var getCookies = function (httpAgent, requests) {
46
44
  domain: domain,
47
45
  path: path,
48
46
  };
49
- exports.appendCookie(cookiesToSend, cookieDetails);
47
+ (0, exports.appendCookie)(cookiesToSend, cookieDetails);
50
48
  });
51
49
  }
52
50
  }
@@ -64,8 +62,8 @@ var getCookies = function (httpAgent, requests) {
64
62
  exports.getCookies = getCookies;
65
63
  var appendCookie = function (cookiesToSend, cookieDetails) {
66
64
  var domain = cookieDetails.domain, path = cookieDetails.path;
67
- if (!lodash_1.isEmpty(cookiesToSend[domain + path])) {
68
- if (exports.cookieDoesNotExist(cookiesToSend[domain + path], cookieDetails)) {
65
+ if (!(0, lodash_1.isEmpty)(cookiesToSend[domain + path])) {
66
+ if ((0, exports.cookieDoesNotExist)(cookiesToSend[domain + path], cookieDetails)) {
69
67
  cookiesToSend[domain + path].push(cookieDetails);
70
68
  }
71
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../src/cookies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../src/cookies.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -1,23 +1,9 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.RequestFailuresError = void 0;
4
+ var tslib_1 = require("tslib");
19
5
  var RequestFailuresError = /** @class */ (function (_super) {
20
- __extends(RequestFailuresError, _super);
6
+ tslib_1.__extends(RequestFailuresError, _super);
21
7
  function RequestFailuresError(message, histogram) {
22
8
  var _a;
23
9
  if (histogram === void 0) { histogram = (_a = {}, _a[message] = 1, _a); }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;IAA0C,wCAAK;IAC7C,8BAAY,OAAe,EAAS,SAAuC;;QAAvC,0BAAA,EAAA,sBAAyB,GAAC,OAAO,IAAG,CAAC,KAAE;QAA3E,YACE,kBAAM,OAAO,CAAC,SAIf;;;;;mBALmC;;QAGlC,wKAAwK;QACxK,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;;IAC9D,CAAC;IACH,2BAAC;AAAD,CAAC,AAPD,CAA0C,KAAK,GAO9C;AAPY,oDAAoB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;;AAEA;IAA0C,gDAAK;IAC7C,8BAAY,OAAe,EAAS,SAAuC;;QAAvC,0BAAA,EAAA,sBAAyB,GAAC,OAAO,IAAG,CAAC,KAAE;QAA3E,YACE,kBAAM,OAAO,CAAC,SAIf;;;;;mBALmC;;QAGlC,wKAAwK;QACxK,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;;IAC9D,CAAC;IACH,2BAAC;AAAD,CAAC,AAPD,CAA0C,KAAK,GAO9C;AAPY,oDAAoB"}