@apiquest/fracture 1.0.2 → 1.0.4

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 (168) hide show
  1. package/README.md +119 -0
  2. package/bin/cli.js +2 -2
  3. package/dist/CollectionRunner.js +3 -3
  4. package/dist/ScriptEngine.js +4 -4
  5. package/dist/cli/plugin-commands.d.ts.map +1 -1
  6. package/dist/cli/plugin-commands.js +2 -1
  7. package/dist/cli/plugin-commands.js.map +1 -1
  8. package/package.json +55 -50
  9. package/src/CollectionAnalyzer.ts +102 -102
  10. package/src/CollectionRunner.ts +1423 -1423
  11. package/src/CollectionRunner.types.ts +9 -9
  12. package/src/CollectionValidator.ts +289 -289
  13. package/src/ConsoleReporter.ts +143 -143
  14. package/src/CookieJar.ts +258 -258
  15. package/src/DagScheduler.ts +439 -439
  16. package/src/Logger.ts +85 -85
  17. package/src/PluginLoader.ts +126 -126
  18. package/src/PluginManager.ts +208 -208
  19. package/src/PluginResolver.ts +154 -154
  20. package/src/QuestAPI.ts +764 -764
  21. package/src/QuestAPI.types.ts +33 -33
  22. package/src/QuestTestAPI.ts +164 -164
  23. package/src/RequestFilter.ts +224 -224
  24. package/src/ScriptEngine.ts +219 -219
  25. package/src/ScriptValidator.ts +428 -428
  26. package/src/TaskGraph.ts +598 -598
  27. package/src/TestCounter.ts +109 -109
  28. package/src/VariableResolver.ts +114 -114
  29. package/src/cli/index.ts +480 -480
  30. package/src/cli/plugin-commands.ts +342 -341
  31. package/src/cli/plugin-discovery.ts +44 -44
  32. package/src/index.ts +24 -24
  33. package/src/utils.ts +52 -52
  34. package/tsconfig.json +20 -20
  35. package/tsconfig.test.json +5 -5
  36. package/vitest.config.ts +22 -22
  37. package/dist/ExecutionTree.d.ts +0 -77
  38. package/dist/ExecutionTree.d.ts.map +0 -1
  39. package/dist/ExecutionTree.js +0 -265
  40. package/dist/ExecutionTree.js.map +0 -1
  41. package/dist/fracture/src/CollectionAnalyzer.d.ts +0 -17
  42. package/dist/fracture/src/CollectionAnalyzer.d.ts.map +0 -1
  43. package/dist/fracture/src/CollectionAnalyzer.js +0 -70
  44. package/dist/fracture/src/CollectionAnalyzer.js.map +0 -1
  45. package/dist/fracture/src/CollectionRunner.d.ts +0 -39
  46. package/dist/fracture/src/CollectionRunner.d.ts.map +0 -1
  47. package/dist/fracture/src/CollectionRunner.js +0 -802
  48. package/dist/fracture/src/CollectionRunner.js.map +0 -1
  49. package/dist/fracture/src/CollectionRunner.types.d.ts +0 -8
  50. package/dist/fracture/src/CollectionRunner.types.d.ts.map +0 -1
  51. package/dist/fracture/src/CollectionRunner.types.js +0 -2
  52. package/dist/fracture/src/CollectionRunner.types.js.map +0 -1
  53. package/dist/fracture/src/CollectionValidator.d.ts +0 -14
  54. package/dist/fracture/src/CollectionValidator.d.ts.map +0 -1
  55. package/dist/fracture/src/CollectionValidator.js +0 -145
  56. package/dist/fracture/src/CollectionValidator.js.map +0 -1
  57. package/dist/fracture/src/ConsoleReporter.d.ts +0 -24
  58. package/dist/fracture/src/ConsoleReporter.d.ts.map +0 -1
  59. package/dist/fracture/src/ConsoleReporter.js +0 -123
  60. package/dist/fracture/src/ConsoleReporter.js.map +0 -1
  61. package/dist/fracture/src/CookieJar.d.ts +0 -70
  62. package/dist/fracture/src/CookieJar.d.ts.map +0 -1
  63. package/dist/fracture/src/CookieJar.js +0 -233
  64. package/dist/fracture/src/CookieJar.js.map +0 -1
  65. package/dist/fracture/src/ExecutionTree.d.ts +0 -77
  66. package/dist/fracture/src/ExecutionTree.d.ts.map +0 -1
  67. package/dist/fracture/src/ExecutionTree.js +0 -258
  68. package/dist/fracture/src/ExecutionTree.js.map +0 -1
  69. package/dist/fracture/src/Logger.d.ts +0 -25
  70. package/dist/fracture/src/Logger.d.ts.map +0 -1
  71. package/dist/fracture/src/Logger.js +0 -78
  72. package/dist/fracture/src/Logger.js.map +0 -1
  73. package/dist/fracture/src/PluginLoader.d.ts +0 -23
  74. package/dist/fracture/src/PluginLoader.d.ts.map +0 -1
  75. package/dist/fracture/src/PluginLoader.js +0 -102
  76. package/dist/fracture/src/PluginLoader.js.map +0 -1
  77. package/dist/fracture/src/PluginManager.d.ts +0 -64
  78. package/dist/fracture/src/PluginManager.d.ts.map +0 -1
  79. package/dist/fracture/src/PluginManager.js +0 -162
  80. package/dist/fracture/src/PluginManager.js.map +0 -1
  81. package/dist/fracture/src/PluginResolver.d.ts +0 -35
  82. package/dist/fracture/src/PluginResolver.d.ts.map +0 -1
  83. package/dist/fracture/src/PluginResolver.js +0 -128
  84. package/dist/fracture/src/PluginResolver.js.map +0 -1
  85. package/dist/fracture/src/QuestAPI.d.ts +0 -9
  86. package/dist/fracture/src/QuestAPI.d.ts.map +0 -1
  87. package/dist/fracture/src/QuestAPI.js +0 -679
  88. package/dist/fracture/src/QuestAPI.js.map +0 -1
  89. package/dist/fracture/src/QuestAPI.types.d.ts +0 -35
  90. package/dist/fracture/src/QuestAPI.types.d.ts.map +0 -1
  91. package/dist/fracture/src/QuestAPI.types.js +0 -3
  92. package/dist/fracture/src/QuestAPI.types.js.map +0 -1
  93. package/dist/fracture/src/QuestTestAPI.d.ts +0 -12
  94. package/dist/fracture/src/QuestTestAPI.d.ts.map +0 -1
  95. package/dist/fracture/src/QuestTestAPI.js +0 -133
  96. package/dist/fracture/src/QuestTestAPI.js.map +0 -1
  97. package/dist/fracture/src/ScriptEngine.d.ts +0 -21
  98. package/dist/fracture/src/ScriptEngine.d.ts.map +0 -1
  99. package/dist/fracture/src/ScriptEngine.js +0 -183
  100. package/dist/fracture/src/ScriptEngine.js.map +0 -1
  101. package/dist/fracture/src/ScriptValidator.d.ts +0 -68
  102. package/dist/fracture/src/ScriptValidator.d.ts.map +0 -1
  103. package/dist/fracture/src/ScriptValidator.js +0 -351
  104. package/dist/fracture/src/ScriptValidator.js.map +0 -1
  105. package/dist/fracture/src/TestCounter.d.ts +0 -18
  106. package/dist/fracture/src/TestCounter.d.ts.map +0 -1
  107. package/dist/fracture/src/TestCounter.js +0 -82
  108. package/dist/fracture/src/TestCounter.js.map +0 -1
  109. package/dist/fracture/src/VariableResolver.d.ts +0 -20
  110. package/dist/fracture/src/VariableResolver.d.ts.map +0 -1
  111. package/dist/fracture/src/VariableResolver.js +0 -100
  112. package/dist/fracture/src/VariableResolver.js.map +0 -1
  113. package/dist/fracture/src/cli/index.d.ts +0 -3
  114. package/dist/fracture/src/cli/index.d.ts.map +0 -1
  115. package/dist/fracture/src/cli/index.js +0 -347
  116. package/dist/fracture/src/cli/index.js.map +0 -1
  117. package/dist/fracture/src/cli/plugin-commands.d.ts +0 -6
  118. package/dist/fracture/src/cli/plugin-commands.d.ts.map +0 -1
  119. package/dist/fracture/src/cli/plugin-commands.js +0 -263
  120. package/dist/fracture/src/cli/plugin-commands.js.map +0 -1
  121. package/dist/fracture/src/cli/plugin-discovery.d.ts +0 -11
  122. package/dist/fracture/src/cli/plugin-discovery.d.ts.map +0 -1
  123. package/dist/fracture/src/cli/plugin-discovery.js +0 -64
  124. package/dist/fracture/src/cli/plugin-discovery.js.map +0 -1
  125. package/dist/fracture/src/index.d.ts +0 -13
  126. package/dist/fracture/src/index.d.ts.map +0 -1
  127. package/dist/fracture/src/index.js +0 -17
  128. package/dist/fracture/src/index.js.map +0 -1
  129. package/dist/fracture/src/utils.d.ts +0 -28
  130. package/dist/fracture/src/utils.d.ts.map +0 -1
  131. package/dist/fracture/src/utils.js +0 -48
  132. package/dist/fracture/src/utils.js.map +0 -1
  133. package/dist/plugin-auth/src/apikey-auth.d.ts +0 -3
  134. package/dist/plugin-auth/src/apikey-auth.d.ts.map +0 -1
  135. package/dist/plugin-auth/src/apikey-auth.js +0 -73
  136. package/dist/plugin-auth/src/apikey-auth.js.map +0 -1
  137. package/dist/plugin-auth/src/basic-auth.d.ts +0 -3
  138. package/dist/plugin-auth/src/basic-auth.d.ts.map +0 -1
  139. package/dist/plugin-auth/src/basic-auth.js +0 -61
  140. package/dist/plugin-auth/src/basic-auth.js.map +0 -1
  141. package/dist/plugin-auth/src/bearer-auth.d.ts +0 -3
  142. package/dist/plugin-auth/src/bearer-auth.d.ts.map +0 -1
  143. package/dist/plugin-auth/src/bearer-auth.js +0 -49
  144. package/dist/plugin-auth/src/bearer-auth.js.map +0 -1
  145. package/dist/plugin-auth/src/helpers.d.ts +0 -3
  146. package/dist/plugin-auth/src/helpers.d.ts.map +0 -1
  147. package/dist/plugin-auth/src/helpers.js +0 -8
  148. package/dist/plugin-auth/src/helpers.js.map +0 -1
  149. package/dist/plugin-auth/src/index.d.ts +0 -10
  150. package/dist/plugin-auth/src/index.d.ts.map +0 -1
  151. package/dist/plugin-auth/src/index.js +0 -25
  152. package/dist/plugin-auth/src/index.js.map +0 -1
  153. package/dist/plugin-auth/src/oauth2-auth.d.ts +0 -35
  154. package/dist/plugin-auth/src/oauth2-auth.d.ts.map +0 -1
  155. package/dist/plugin-auth/src/oauth2-auth.js +0 -266
  156. package/dist/plugin-auth/src/oauth2-auth.js.map +0 -1
  157. package/dist/plugin-http/src/index.d.ts +0 -4
  158. package/dist/plugin-http/src/index.d.ts.map +0 -1
  159. package/dist/plugin-http/src/index.js +0 -266
  160. package/dist/plugin-http/src/index.js.map +0 -1
  161. package/dist/plugin-vault-file/src/index.d.ts +0 -67
  162. package/dist/plugin-vault-file/src/index.d.ts.map +0 -1
  163. package/dist/plugin-vault-file/src/index.js +0 -171
  164. package/dist/plugin-vault-file/src/index.js.map +0 -1
  165. package/dist/types.d.ts +0 -374
  166. package/dist/types.d.ts.map +0 -1
  167. package/dist/types.js +0 -13
  168. package/dist/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuestAPI.js","sourceRoot":"","sources":["../../../src/QuestAPI.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- export interface RequestConfig {
2
- url: string;
3
- method?: string;
4
- header?: Record<string, string>;
5
- headers?: Record<string, string>;
6
- body?: string | RequestBody;
7
- }
8
- export interface RequestBody {
9
- mode?: 'raw' | 'urlencoded' | 'formdata';
10
- raw?: string;
11
- urlencoded?: Array<{
12
- key: string;
13
- value: string;
14
- }>;
15
- formdata?: Array<{
16
- key: string;
17
- value: string;
18
- }>;
19
- }
20
- export interface ResponseObject {
21
- status: number;
22
- statusText: string;
23
- body: string;
24
- headers: Record<string, string | string[]>;
25
- time: number;
26
- json(): unknown | null;
27
- text(): string;
28
- }
29
- export interface HistoryFilterCriteria {
30
- path?: string;
31
- name?: string;
32
- iteration?: number;
33
- id?: string;
34
- }
35
- //# sourceMappingURL=QuestAPI.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuestAPI.types.d.ts","sourceRoot":"","sources":["../../../src/QuestAPI.types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC;IACvB,IAAI,IAAI,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
@@ -1,3 +0,0 @@
1
- // Type definitions for Quest API
2
- export {};
3
- //# sourceMappingURL=QuestAPI.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuestAPI.types.js","sourceRoot":"","sources":["../../../src/QuestAPI.types.ts"],"names":[],"mappings":"AAAA,iCAAiC"}
@@ -1,12 +0,0 @@
1
- import type { TestResult } from '@apiquest/types';
2
- import { ScriptType } from '@apiquest/types';
3
- /**
4
- * Creates the test API methods (quest.test, quest.skip, quest.fail)
5
- * These methods allow scripts to define and control test assertions
6
- */
7
- export declare function createQuestTestAPI(tests: TestResult[], scriptType: ScriptType, emitAssertion: (test: TestResult) => void): {
8
- test: (name: string, fn: () => void | Promise<void>) => void;
9
- skip: (reason: string) => never;
10
- fail: (message: string) => never;
11
- };
12
- //# sourceMappingURL=QuestTestAPI.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuestTestAPI.d.ts","sourceRoot":"","sources":["../../../src/QuestTestAPI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAsB7C;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GACxC;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC7D,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;CAClC,CAkHA"}
@@ -1,133 +0,0 @@
1
- import { ScriptType } from '@apiquest/types';
2
- /**
3
- * Special error class for quest.skip()
4
- */
5
- class SkipError extends Error {
6
- skipReason;
7
- constructor(message) {
8
- super(message);
9
- this.name = 'SkipError';
10
- this.skipReason = message;
11
- }
12
- }
13
- function isPromise(value) {
14
- return value !== null &&
15
- value !== undefined &&
16
- typeof value === 'object' &&
17
- typeof value.then === 'function';
18
- }
19
- /**
20
- * Creates the test API methods (quest.test, quest.skip, quest.fail)
21
- * These methods allow scripts to define and control test assertions
22
- */
23
- export function createQuestTestAPI(tests, scriptType, emitAssertion) {
24
- let isInsideTest = false;
25
- return {
26
- /**
27
- * Define a test assertion
28
- * Can only be called in postRequestScript or plugin event scripts
29
- */
30
- test(name, fn) {
31
- // Enforce: tests can only be called in request post scripts (never pre, folder, or collection)
32
- const allowedScriptTypes = [
33
- ScriptType.PostRequest,
34
- ScriptType.PluginEvent
35
- ];
36
- if (!allowedScriptTypes.includes(scriptType)) {
37
- throw new Error(`quest.test() can only be called in request post scripts. ` +
38
- `Current script type: ${scriptType}. ` +
39
- `Tests require request/response context and cannot be used in ` +
40
- `collectionPost, folderPost, or pre-request scripts.`);
41
- }
42
- isInsideTest = true;
43
- try {
44
- const result = fn();
45
- // If fn returns a Promise, handle it
46
- if (isPromise(result)) {
47
- result
48
- .then(() => {
49
- const testResult = {
50
- name,
51
- passed: true,
52
- skipped: false
53
- };
54
- tests.push(testResult);
55
- emitAssertion(testResult);
56
- })
57
- .catch((error) => {
58
- // Check if this is a skip error
59
- const testResult = error instanceof SkipError
60
- ? {
61
- name,
62
- passed: false,
63
- skipped: true,
64
- error: error.skipReason
65
- }
66
- : {
67
- name,
68
- passed: false,
69
- skipped: false,
70
- error: error.message ?? String(error)
71
- };
72
- tests.push(testResult);
73
- emitAssertion(testResult);
74
- })
75
- .finally(() => {
76
- isInsideTest = false;
77
- });
78
- }
79
- else {
80
- // Synchronous test
81
- const testResult = {
82
- name,
83
- passed: true,
84
- skipped: false
85
- };
86
- tests.push(testResult);
87
- emitAssertion(testResult);
88
- isInsideTest = false;
89
- }
90
- }
91
- catch (error) {
92
- // Check if this is a skip error
93
- const testResult = error instanceof SkipError
94
- ? {
95
- name,
96
- passed: false,
97
- skipped: true,
98
- error: error.skipReason // Include skip reason in error field
99
- }
100
- : {
101
- name,
102
- passed: false,
103
- skipped: false,
104
- error: error.message ?? String(error)
105
- };
106
- tests.push(testResult);
107
- emitAssertion(testResult);
108
- isInsideTest = false;
109
- }
110
- },
111
- /**
112
- * Skip the current test
113
- * Must be called inside quest.test() callback
114
- */
115
- skip(reason) {
116
- if (!isInsideTest) {
117
- throw new Error('quest.skip() must be called inside quest.test() callback');
118
- }
119
- throw new SkipError(reason);
120
- },
121
- /**
122
- * Fail the current test with custom message
123
- * Must be called inside quest.test() callback
124
- */
125
- fail(message) {
126
- if (!isInsideTest) {
127
- throw new Error('quest.fail() must be called inside quest.test() callback');
128
- }
129
- throw new Error(message);
130
- }
131
- };
132
- }
133
- //# sourceMappingURL=QuestTestAPI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuestTestAPI.js","sourceRoot":"","sources":["../../../src/QuestTestAPI.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { ExecutionContext, ScriptResult, TestResult, ILogger } from '@apiquest/types';
2
- import { ScriptType } from '@apiquest/types';
3
- export declare class ScriptEngine {
4
- private tests;
5
- private consoleOutput;
6
- private logger;
7
- constructor(logger?: ILogger);
8
- /**
9
- * Execute a script in VM context with quest API
10
- */
11
- execute(script: string, context: ExecutionContext, scriptType: ScriptType, emitAssertion: (test: TestResult) => void): Promise<ScriptResult>;
12
- /**
13
- * Create console API that captures output
14
- */
15
- private createConsoleAPI;
16
- /**
17
- * Create minimal require function
18
- */
19
- private createRequire;
20
- }
21
- //# sourceMappingURL=ScriptEngine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptEngine.d.ts","sourceRoot":"","sources":["../../../src/ScriptEngine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAY,MAAM,iBAAiB,CAAC;AAYvD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,OAAO;IAI5B;;OAEG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GACxC,OAAO,CAAC,YAAY,CAAC;IAoGxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+DxB;;OAEG;IACH,OAAO,CAAC,aAAa;CAetB"}
@@ -1,183 +0,0 @@
1
- // Script Engine - Executes JavaScript in VM with quest API
2
- import vm from 'vm';
3
- import { expect } from 'chai';
4
- import _ from 'lodash';
5
- import { LogLevel } from '@apiquest/types';
6
- import { Logger } from './Logger.js';
7
- import { createQuestAPI } from './QuestAPI.js';
8
- import { isNullOrWhitespace } from './utils.js';
9
- export class ScriptEngine {
10
- tests = [];
11
- consoleOutput = [];
12
- logger;
13
- constructor(logger) {
14
- this.logger = logger instanceof Logger ? logger : new Logger('ScriptEngine', LogLevel.INFO);
15
- }
16
- /**
17
- * Execute a script in VM context with quest API
18
- */
19
- async execute(script, context, scriptType, emitAssertion) {
20
- if (isNullOrWhitespace(script)) {
21
- this.logger.trace('Empty script, skipping execution');
22
- return {
23
- success: true,
24
- tests: [],
25
- consoleOutput: []
26
- };
27
- }
28
- const scriptPreview = script.length > 100 ? script.substring(0, 100) + '...' : script;
29
- this.logger.debug(`Executing ${scriptType} script (${script.length} chars)`);
30
- this.logger.trace(`Script preview: ${scriptPreview}`);
31
- this.tests = [];
32
- this.consoleOutput = [];
33
- try {
34
- // Create quest API
35
- this.logger.trace('Creating quest API sandbox');
36
- const questAPI = createQuestAPI(context, scriptType, this.tests, emitAssertion);
37
- // Create sandbox
38
- const sandbox = {
39
- // Quest API
40
- quest: questAPI,
41
- // Chai assertions
42
- expect,
43
- // Lodash utility library
44
- _,
45
- // Console (captured)
46
- console: this.createConsoleAPI(),
47
- // Built-in libraries
48
- require: this.createRequire(),
49
- // Globals
50
- setTimeout,
51
- setInterval,
52
- clearTimeout,
53
- clearInterval,
54
- Promise,
55
- Buffer
56
- };
57
- // Create VM context
58
- const vmContext = vm.createContext(sandbox);
59
- this.logger.trace('VM context created');
60
- // Wrap script in async function to support top-level await
61
- const wrappedScript = `
62
- (async () => {
63
- ${script}
64
- })()
65
- `;
66
- // Execute script and get the promise
67
- const startTime = Date.now();
68
- const result = vm.runInContext(wrappedScript, vmContext, {
69
- timeout: 30000,
70
- displayErrors: true
71
- });
72
- // If result is a promise, wait for it
73
- if (result !== null && result !== undefined && typeof result.then === 'function') {
74
- await result;
75
- }
76
- // Wait for any other pending promises
77
- await new Promise(resolve => setImmediate(resolve));
78
- const duration = Date.now() - startTime;
79
- this.logger.debug(`Script executed successfully in ${duration}ms`);
80
- this.logger.trace(`Tests collected: ${this.tests.length}, Console output: ${this.consoleOutput.length} lines`);
81
- return {
82
- success: true,
83
- tests: this.tests,
84
- consoleOutput: this.consoleOutput
85
- };
86
- }
87
- catch (error) {
88
- const errorMsg = error.message ?? String(error);
89
- const errorStack = error.stack;
90
- this.logger.error(`Script execution failed: ${errorMsg}`);
91
- if (errorStack !== undefined) {
92
- this.logger.trace(`Error stack: ${errorStack}`);
93
- }
94
- return {
95
- success: false,
96
- tests: this.tests,
97
- error: errorMsg,
98
- consoleOutput: this.consoleOutput
99
- };
100
- }
101
- }
102
- /**
103
- * Create console API that captures output
104
- */
105
- createConsoleAPI() {
106
- const self = this;
107
- const safeStringify = (value) => {
108
- if (typeof value === 'string')
109
- return value;
110
- if (value === null || value === undefined)
111
- return String(value);
112
- if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint')
113
- return String(value);
114
- if (typeof value === 'symbol')
115
- return value.toString();
116
- if (typeof value === 'function')
117
- return '[Function]';
118
- try {
119
- const seen = new WeakSet();
120
- return JSON.stringify(value, (_key, val) => {
121
- if (typeof val === 'bigint') {
122
- return val.toString();
123
- }
124
- if (typeof val === 'function') {
125
- return '[Function]';
126
- }
127
- if (typeof val === 'symbol') {
128
- return val.toString();
129
- }
130
- if (typeof val === 'object' && val !== null) {
131
- if (seen.has(val)) {
132
- return '[Circular]';
133
- }
134
- seen.add(val);
135
- }
136
- return val;
137
- }, 2);
138
- }
139
- catch {
140
- return String(value);
141
- }
142
- };
143
- return {
144
- log(...args) {
145
- const message = args.map(safeStringify).join(' ');
146
- self.consoleOutput.push(message);
147
- console.log(message);
148
- },
149
- info(...args) {
150
- const message = args.map(safeStringify).join(' ');
151
- self.consoleOutput.push(`[INFO] ${message}`);
152
- console.info(message);
153
- },
154
- warn(...args) {
155
- const message = args.map(safeStringify).join(' ');
156
- self.consoleOutput.push(`[WARN] ${message}`);
157
- console.warn(message);
158
- },
159
- error(...args) {
160
- const message = args.map(safeStringify).join(' ');
161
- self.consoleOutput.push(`[ERROR] ${message}`);
162
- console.error(message);
163
- }
164
- };
165
- }
166
- /**
167
- * Create minimal require function
168
- */
169
- createRequire() {
170
- return (moduleName) => {
171
- const allowedModules = {
172
- 'chai': require('chai'),
173
- 'lodash': require('lodash'),
174
- 'moment': require('moment')
175
- };
176
- if (moduleName in allowedModules) {
177
- return allowedModules[moduleName];
178
- }
179
- throw new Error(`Module '${moduleName}' is not allowed in scripts`);
180
- };
181
- }
182
- }
183
- //# sourceMappingURL=ScriptEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptEngine.js","sourceRoot":"","sources":["../../../src/ScriptEngine.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- import { ValidationError, ScriptType, PluginEventDefinition, IProtocolPlugin } from '@apiquest/types';
2
- /**
3
- * ScriptValidator provides AST-based validation and analysis of collection scripts
4
- * - Validates quest.test() placement (disallowed in pre-scripts, certain plugin events)
5
- * - Validates quest.expectMessages() placement (only in preRequestScript)
6
- * - Detects conditional test declarations (breaks determinism)
7
- * - Counts expected tests for progress reporting
8
- */
9
- export declare class ScriptValidator {
10
- /**
11
- * Validate that quest.test() calls are only in allowed script types
12
- * @param script - JavaScript code to validate
13
- * @param scriptType - Type of script (collection-pre, request-post, etc.)
14
- * @param path - Request path for error reporting
15
- * @returns Array of validation errors (empty if valid)
16
- */
17
- static validateTestLocation(script: string, scriptType: ScriptType, path: string): ValidationError[];
18
- /**
19
- * Validate that quest.test() is NOT inside conditional statements (breaks determinism)
20
- * @param script - JavaScript code to validate
21
- * @param scriptType - Type of script
22
- * @param path - Request path for error reporting
23
- * @returns Array of validation errors (empty if valid)
24
- */
25
- static validateNoConditionalTests(script: string, scriptType: ScriptType, path: string): ValidationError[];
26
- /**
27
- * Validate quest.expectMessages() is only called in preRequestScript
28
- * and validates protocol supports plugin events with canHaveTests
29
- * @param script - JavaScript code to validate
30
- * @param scriptType - Type of script
31
- * @param path - Request path for error reporting
32
- * @param protocolPlugin - Protocol plugin to check for event support (optional)
33
- * @param eventName - Specific event name if this is a plugin event script (optional)
34
- * @returns Array of validation errors (empty if valid)
35
- */
36
- static validateExpectMessages(script: string, scriptType: ScriptType, path: string, protocolPlugin?: IProtocolPlugin, eventName?: string): ValidationError[];
37
- /**
38
- * Validate plugin event script can have tests (based on PluginEventDefinition)
39
- * @param script - JavaScript code to validate
40
- * @param eventDefinition - Plugin event definition with canHaveTests flag
41
- * @param path - Request path for error reporting
42
- * @returns Array of validation errors (empty if valid)
43
- */
44
- static validatePluginEventScript(script: string, eventDefinition: PluginEventDefinition, path: string): ValidationError[];
45
- /**
46
- * Count total quest.test() calls in a script (for deterministic test counting)
47
- * @param script - JavaScript code to analyze
48
- * @returns Number of quest.test() calls found
49
- */
50
- static countTests(script: string): number;
51
- /**
52
- * Extract expected message count from quest.expectMessages() call in preRequestScript
53
- * @param script - JavaScript code to analyze (must be preRequestScript)
54
- * @returns Expected message count, or null if not specified
55
- */
56
- static extractExpectedMessages(script: string): number | null;
57
- /**
58
- * Validate all aspects of a script (comprehensive validation)
59
- * @param script - JavaScript code to validate
60
- * @param scriptType - Type of script
61
- * @param path - Request path for error reporting
62
- * @param eventDefinition - Optional plugin event definition (for PluginEvent scripts)
63
- * @param protocolPlugin - Optional protocol plugin for protocol-specific validation
64
- * @returns Array of validation errors (empty if valid)
65
- */
66
- static validateScript(script: string, scriptType: ScriptType, path: string, eventDefinition?: PluginEventDefinition, protocolPlugin?: IProtocolPlugin, strictMode?: boolean): ValidationError[];
67
- }
68
- //# sourceMappingURL=ScriptValidator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptValidator.d.ts","sourceRoot":"","sources":["../../../src/ScriptValidator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtG;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,eAAe,EAAE;IA4DpB;;;;;;OAMG;IACH,MAAM,CAAC,0BAA0B,CAC/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,eAAe,EAAE;IA8CpB;;;;;;;;;OASG;IACH,MAAM,CAAC,sBAAsB,CAC3B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,eAAe,EAChC,SAAS,CAAC,EAAE,MAAM,GACjB,eAAe,EAAE;IA6GpB;;;;;;OAMG;IACH,MAAM,CAAC,yBAAyB,CAC9B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,qBAAqB,EACtC,IAAI,EAAE,MAAM,GACX,eAAe,EAAE;IAyCpB;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA2BzC;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgC7D;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,qBAAqB,EACvC,cAAc,CAAC,EAAE,eAAe,EAChC,UAAU,GAAE,OAAc,GACzB,eAAe,EAAE;CAyBrB"}