@intuned/runtime-dev 1.3.17-source.0 → 1.3.18-interface.0

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 (224) hide show
  1. package/InterfaceTemplate/index.playwright.ts +1 -1
  2. package/api/sample.ts +4 -0
  3. package/bin/intuned +0 -0
  4. package/bin/intuned-interface +7 -0
  5. package/package.json +10 -8
  6. package/dist/commands/api/run.d.ts +0 -6
  7. package/dist/commands/api/run.js +0 -119
  8. package/dist/commands/auth-sessions/load.d.ts +0 -2
  9. package/dist/commands/auth-sessions/load.js +0 -35
  10. package/dist/commands/auth-sessions/run-check.d.ts +0 -2
  11. package/dist/commands/auth-sessions/run-check.js +0 -74
  12. package/dist/commands/auth-sessions/run-create.d.ts +0 -2
  13. package/dist/commands/auth-sessions/run-create.js +0 -78
  14. package/dist/commands/browser/save-state.d.ts +0 -2
  15. package/dist/commands/browser/save-state.js +0 -17
  16. package/dist/commands/browser/start-browser.d.ts +0 -2
  17. package/dist/commands/browser/start-browser.js +0 -14
  18. package/dist/commands/build.d.ts +0 -1
  19. package/dist/commands/build.js +0 -85
  20. package/dist/commands/common/browserUtils.d.ts +0 -14
  21. package/dist/commands/common/browserUtils.js +0 -58
  22. package/dist/commands/common/getFirstLineNumber.d.ts +0 -9
  23. package/dist/commands/common/getFirstLineNumber.js +0 -101
  24. package/dist/commands/common/getFirstLineNumber.test.js +0 -228
  25. package/dist/commands/common/projectExclusions.d.ts +0 -2
  26. package/dist/commands/common/projectExclusions.js +0 -8
  27. package/dist/commands/common/sendMessageToClient.d.ts +0 -1
  28. package/dist/commands/common/sendMessageToClient.js +0 -10
  29. package/dist/commands/common/tsNodeImport.d.ts +0 -2
  30. package/dist/commands/common/tsNodeImport.js +0 -43
  31. package/dist/commands/common/utils/fileUtils.d.ts +0 -6
  32. package/dist/commands/common/utils/fileUtils.js +0 -33
  33. package/dist/commands/common/utils/settings.d.ts +0 -2
  34. package/dist/commands/common/utils/settings.js +0 -31
  35. package/dist/commands/common/utils/template.d.ts +0 -2
  36. package/dist/commands/common/utils/template.js +0 -31
  37. package/dist/commands/common/utils/unixSocket.d.ts +0 -23
  38. package/dist/commands/common/utils/unixSocket.js +0 -87
  39. package/dist/commands/get-headless-user-agent.d.ts +0 -1
  40. package/dist/commands/get-headless-user-agent.js +0 -18
  41. package/dist/commands/interface/run.d.ts +0 -1
  42. package/dist/commands/interface/run.js +0 -215
  43. package/dist/commands/intuned-cli/commands/attempt.command.d.ts +0 -1
  44. package/dist/commands/intuned-cli/commands/attempt.command.js +0 -8
  45. package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +0 -1
  46. package/dist/commands/intuned-cli/commands/attempt_api.command.js +0 -30
  47. package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +0 -1
  48. package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +0 -8
  49. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +0 -1
  50. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +0 -19
  51. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +0 -1
  52. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +0 -24
  53. package/dist/commands/intuned-cli/commands/authsession.command.d.ts +0 -1
  54. package/dist/commands/intuned-cli/commands/authsession.command.js +0 -8
  55. package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +0 -1
  56. package/dist/commands/intuned-cli/commands/authsession_record.command.js +0 -32
  57. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +0 -1
  58. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +0 -16
  59. package/dist/commands/intuned-cli/commands/build.command.d.ts +0 -1
  60. package/dist/commands/intuned-cli/commands/build.command.js +0 -12
  61. package/dist/commands/intuned-cli/commands/command.d.ts +0 -2
  62. package/dist/commands/intuned-cli/commands/command.js +0 -9
  63. package/dist/commands/intuned-cli/commands/deploy.command.d.ts +0 -1
  64. package/dist/commands/intuned-cli/commands/deploy.command.js +0 -42
  65. package/dist/commands/intuned-cli/commands/index.d.ts +0 -18
  66. package/dist/commands/intuned-cli/commands/index.js +0 -203
  67. package/dist/commands/intuned-cli/commands/provision.command.d.ts +0 -13
  68. package/dist/commands/intuned-cli/commands/provision.command.js +0 -50
  69. package/dist/commands/intuned-cli/commands/run.command.d.ts +0 -1
  70. package/dist/commands/intuned-cli/commands/run.command.js +0 -8
  71. package/dist/commands/intuned-cli/commands/run_api.command.d.ts +0 -1
  72. package/dist/commands/intuned-cli/commands/run_api.command.js +0 -46
  73. package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +0 -31
  74. package/dist/commands/intuned-cli/commands/run_authsession.command.js +0 -17
  75. package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +0 -1
  76. package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +0 -35
  77. package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +0 -1
  78. package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +0 -35
  79. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +0 -1
  80. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +0 -33
  81. package/dist/commands/intuned-cli/commands/types.d.ts +0 -35
  82. package/dist/commands/intuned-cli/commands/types.js +0 -31
  83. package/dist/commands/intuned-cli/constants/index.d.ts +0 -17
  84. package/dist/commands/intuned-cli/constants/index.js +0 -25
  85. package/dist/commands/intuned-cli/controller/__test__/api.test.js +0 -398
  86. package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +0 -1060
  87. package/dist/commands/intuned-cli/controller/api.d.ts +0 -42
  88. package/dist/commands/intuned-cli/controller/api.js +0 -194
  89. package/dist/commands/intuned-cli/controller/authSession.d.ts +0 -209
  90. package/dist/commands/intuned-cli/controller/authSession.js +0 -424
  91. package/dist/commands/intuned-cli/controller/build.d.ts +0 -1
  92. package/dist/commands/intuned-cli/controller/build.js +0 -36
  93. package/dist/commands/intuned-cli/controller/deploy.d.ts +0 -5
  94. package/dist/commands/intuned-cli/controller/deploy.js +0 -318
  95. package/dist/commands/intuned-cli/controller/index.d.ts +0 -1
  96. package/dist/commands/intuned-cli/controller/index.js +0 -46
  97. package/dist/commands/intuned-cli/controller/provision.d.ts +0 -21
  98. package/dist/commands/intuned-cli/controller/provision.js +0 -300
  99. package/dist/commands/intuned-cli/controller/scaffold.d.ts +0 -1
  100. package/dist/commands/intuned-cli/controller/scaffold.js +0 -77
  101. package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +0 -115
  102. package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +0 -41
  103. package/dist/commands/intuned-cli/helpers/api.d.ts +0 -3
  104. package/dist/commands/intuned-cli/helpers/api.js +0 -16
  105. package/dist/commands/intuned-cli/helpers/auth.d.ts +0 -46
  106. package/dist/commands/intuned-cli/helpers/auth.js +0 -147
  107. package/dist/commands/intuned-cli/helpers/backend.d.ts +0 -8
  108. package/dist/commands/intuned-cli/helpers/backend.js +0 -35
  109. package/dist/commands/intuned-cli/helpers/browser.d.ts +0 -15
  110. package/dist/commands/intuned-cli/helpers/browser.js +0 -64
  111. package/dist/commands/intuned-cli/helpers/context.d.ts +0 -3
  112. package/dist/commands/intuned-cli/helpers/context.js +0 -33
  113. package/dist/commands/intuned-cli/helpers/errors.d.ts +0 -16
  114. package/dist/commands/intuned-cli/helpers/errors.js +0 -44
  115. package/dist/commands/intuned-cli/helpers/index.d.ts +0 -12
  116. package/dist/commands/intuned-cli/helpers/index.js +0 -137
  117. package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +0 -39
  118. package/dist/commands/intuned-cli/helpers/intunedJson.js +0 -20
  119. package/dist/commands/intuned-cli/helpers/prompts.d.ts +0 -3
  120. package/dist/commands/intuned-cli/helpers/prompts.js +0 -71
  121. package/dist/commands/intuned-cli/helpers/proxy.d.ts +0 -5
  122. package/dist/commands/intuned-cli/helpers/proxy.js +0 -23
  123. package/dist/commands/intuned-cli/helpers/terminal.d.ts +0 -5
  124. package/dist/commands/intuned-cli/helpers/terminal.js +0 -13
  125. package/dist/commands/intuned-cli/helpers/timeout.d.ts +0 -1
  126. package/dist/commands/intuned-cli/helpers/timeout.js +0 -23
  127. package/dist/commands/intuned-cli/helpers/traces.d.ts +0 -2
  128. package/dist/commands/intuned-cli/helpers/traces.js +0 -32
  129. package/dist/commands/intuned-cli/helpers/validation.d.ts +0 -2
  130. package/dist/commands/intuned-cli/helpers/validation.js +0 -14
  131. package/dist/commands/intuned-cli/helpers/wrapper.d.ts +0 -2
  132. package/dist/commands/intuned-cli/helpers/wrapper.js +0 -76
  133. package/dist/commands/intuned-cli/index.d.ts +0 -1
  134. package/dist/commands/intuned-cli/index.js +0 -16
  135. package/dist/commands/intuned-cli/main.d.ts +0 -1
  136. package/dist/commands/intuned-cli/main.js +0 -36
  137. package/dist/commands/intuned-cli/types.d.ts +0 -70
  138. package/dist/commands/intuned-cli/types.js +0 -22
  139. package/dist/commands/ts-check.d.ts +0 -2
  140. package/dist/commands/ts-check.js +0 -56
  141. package/dist/common/Logger/Logger/index.d.ts +0 -12
  142. package/dist/common/Logger/Logger/index.js +0 -60
  143. package/dist/common/Logger/Logger/types.d.ts +0 -8
  144. package/dist/common/Logger/Logger/types.js +0 -5
  145. package/dist/common/Logger/index.d.ts +0 -12
  146. package/dist/common/Logger/index.js +0 -60
  147. package/dist/common/Logger/types.d.ts +0 -8
  148. package/dist/common/Logger/types.js +0 -5
  149. package/dist/common/assets/browser_scripts.js +0 -2580
  150. package/dist/common/asyncLocalStorage/index.d.ts +0 -16
  151. package/dist/common/asyncLocalStorage/index.js +0 -17
  152. package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +0 -1
  153. package/dist/common/backendFunctions/getAuthSessionParameters.js +0 -38
  154. package/dist/common/binStartupScript.d.ts +0 -1
  155. package/dist/common/binStartupScript.js +0 -37
  156. package/dist/common/cleanEnvironmentVariables.d.ts +0 -1
  157. package/dist/common/cleanEnvironmentVariables.js +0 -16
  158. package/dist/common/constants.d.ts +0 -10
  159. package/dist/common/constants.js +0 -16
  160. package/dist/common/contextStorageStateHelpers.d.ts +0 -21
  161. package/dist/common/contextStorageStateHelpers.js +0 -81
  162. package/dist/common/extension/extensionsHelpers.d.ts +0 -11
  163. package/dist/common/extension/extensionsHelpers.js +0 -147
  164. package/dist/common/extension/intunedExtensionServer.d.ts +0 -24
  165. package/dist/common/extension/intunedExtensionServer.js +0 -178
  166. package/dist/common/extension/types.d.ts +0 -212
  167. package/dist/common/extension/types.js +0 -51
  168. package/dist/common/formatZodError.d.ts +0 -2
  169. package/dist/common/formatZodError.js +0 -18
  170. package/dist/common/intunedJson.d.ts +0 -229
  171. package/dist/common/intunedJson.js +0 -133
  172. package/dist/common/jwtTokenManager.d.ts +0 -17
  173. package/dist/common/jwtTokenManager.js +0 -109
  174. package/dist/common/launchBrowser.d.ts +0 -33
  175. package/dist/common/launchBrowser.js +0 -235
  176. package/dist/common/playwrightContext.d.ts +0 -31
  177. package/dist/common/playwrightContext.js +0 -150
  178. package/dist/common/runApi/errors.d.ts +0 -72
  179. package/dist/common/runApi/errors.js +0 -169
  180. package/dist/common/runApi/importUsingImportFunction.d.ts +0 -9
  181. package/dist/common/runApi/importUsingImportFunction.js +0 -46
  182. package/dist/common/runApi/index.d.ts +0 -11
  183. package/dist/common/runApi/index.js +0 -203
  184. package/dist/common/runApi/types.d.ts +0 -830
  185. package/dist/common/runApi/types.js +0 -73
  186. package/dist/common/settingsSchema.d.ts +0 -533
  187. package/dist/common/settingsSchema.js +0 -58
  188. package/dist/common/setupContextHook.d.ts +0 -17
  189. package/dist/common/setupContextHook.js +0 -22
  190. package/dist/common/telemetry.d.ts +0 -3
  191. package/dist/common/telemetry.js +0 -32
  192. package/dist/index.d.ts +0 -5
  193. package/dist/index.js +0 -124
  194. package/dist/runtime/RunError.d.ts +0 -5
  195. package/dist/runtime/RunError.js +0 -19
  196. package/dist/runtime/attemptStore.d.ts +0 -2
  197. package/dist/runtime/attemptStore.js +0 -23
  198. package/dist/runtime/captcha.d.ts +0 -15
  199. package/dist/runtime/captcha.js +0 -191
  200. package/dist/runtime/captcha.test.js +0 -821
  201. package/dist/runtime/downloadDirectory.d.ts +0 -1
  202. package/dist/runtime/downloadDirectory.js +0 -19
  203. package/dist/runtime/enums.d.js +0 -5
  204. package/dist/runtime/enums.d.ts +0 -11
  205. package/dist/runtime/enums.js +0 -18
  206. package/dist/runtime/executionHelpers.test.js +0 -52
  207. package/dist/runtime/export.d.js +0 -5
  208. package/dist/runtime/export.d.ts +0 -284
  209. package/dist/runtime/extendPayload.d.ts +0 -2
  210. package/dist/runtime/extendPayload.js +0 -21
  211. package/dist/runtime/extendTimeout.d.ts +0 -1
  212. package/dist/runtime/extendTimeout.js +0 -23
  213. package/dist/runtime/getAiGatewayConfig.d.ts +0 -10
  214. package/dist/runtime/getAiGatewayConfig.js +0 -16
  215. package/dist/runtime/getAuthSessionParameters.d.ts +0 -1
  216. package/dist/runtime/getAuthSessionParameters.js +0 -20
  217. package/dist/runtime/index.d.ts +0 -10
  218. package/dist/runtime/index.js +0 -111
  219. package/dist/runtime/persistentStore.d.ts +0 -2
  220. package/dist/runtime/persistentStore.js +0 -37
  221. package/dist/runtime/persistentStore.test.js +0 -101
  222. package/dist/runtime/runInfo.d.ts +0 -2
  223. package/dist/runtime/runInfo.js +0 -21
  224. /package/InterfaceTemplate/{utils.ts → __utils.ts} +0 -0
@@ -1,398 +0,0 @@
1
- "use strict";
2
-
3
- var _vitest = require("vitest");
4
- var _api = require("../api");
5
- var _authSession = require("../authSession");
6
- var _helpers = require("../../helpers");
7
- var _neverthrow = require("neverthrow");
8
- var _runApi = require("../../../../common/runApi");
9
- var _fsExtra = require("fs-extra");
10
- var _browser = require("../../helpers/browser");
11
- function getTerminal() {
12
- return new Proxy(() => ({}), {
13
- get: () => getTerminal(),
14
- apply: () => ({})
15
- });
16
- }
17
- _vitest.vi.mock("fs-extra", () => ({
18
- ensureDir: _vitest.vi.fn(),
19
- writeJSON: _vitest.vi.fn(),
20
- exists: _vitest.vi.fn().mockResolvedValue(true)
21
- }));
22
- _vitest.vi.mock("../authSession", async importOriginal => {
23
- const original = await importOriginal();
24
- return {
25
- ...original,
26
- executeRunValidateAuthSessionCLI: _vitest.vi.fn()
27
- };
28
- });
29
- _vitest.vi.mock("../../../../common/runApi", async importOriginal => {
30
- const original = await importOriginal();
31
- return {
32
- ...original,
33
- runApi: _vitest.vi.fn().mockImplementation(() => (0, _neverthrow.ok)({}))
34
- };
35
- });
36
- _vitest.vi.mock("../../helpers/terminal", () => ({
37
- terminal: getTerminal()
38
- }));
39
- _vitest.vi.mock("../../helpers/proxy", async () => {
40
- return {
41
- parseUrlProxy: _vitest.vi.fn()
42
- };
43
- });
44
- _vitest.vi.mock("../../helpers/browser", async importOriginal => {
45
- const original = await importOriginal();
46
- return {
47
- getCLIRunOptions: _vitest.vi.fn(({
48
- keepBrowserOpen: _,
49
- ...rest
50
- }) => original.getCLIRunOptions({
51
- keepBrowserOpen: false,
52
- ...rest
53
- }))
54
- };
55
- });
56
- _vitest.vi.mock("../../helpers", async importOriginal => {
57
- const original = await importOriginal();
58
- return {
59
- ...original,
60
- terminal: getTerminal(),
61
- assertApiFileExists: _vitest.vi.fn(),
62
- withCLIContext: _vitest.vi.fn(fn => fn()),
63
- withTimeout: _vitest.vi.fn(fn => fn()),
64
- withCLITrace: _vitest.vi.fn(original.withCLITrace),
65
- registerGetAuthSessionParameters: _vitest.vi.fn()
66
- };
67
- });
68
- (0, _vitest.describe)("API controller", () => {
69
- (0, _vitest.beforeEach)(() => {
70
- _vitest.vi.clearAllMocks();
71
- });
72
- (0, _vitest.describe)("attemptApi", () => {
73
- (0, _vitest.it)("calls timeout middleware with timeout", async () => {
74
- await (0, _api._attemptApi)({
75
- apiName: "testApi",
76
- inputData: {},
77
- headless: false,
78
- timeout: 6000,
79
- keepBrowserOpen: false
80
- });
81
- (0, _vitest.expect)(_helpers.withTimeout).toHaveBeenCalledWith(_vitest.expect.any(Function), 6000);
82
- });
83
- (0, _vitest.it)("uses tracing wrapper with trace id", async () => {
84
- await (0, _api._attemptApi)({
85
- apiName: "testApi",
86
- inputData: {},
87
- headless: false,
88
- timeout: 6000,
89
- keepBrowserOpen: false
90
- });
91
- (0, _vitest.expect)(_helpers.withCLITrace).toHaveBeenCalledWith(_vitest.expect.any(Function), undefined);
92
- _vitest.vi.mocked(_helpers.withCLITrace).mockClear();
93
- _vitest.vi.mocked(_runApi.runApi).mockClear();
94
- await (0, _api._attemptApi)({
95
- apiName: "testApi",
96
- inputData: {},
97
- headless: false,
98
- timeout: 6000,
99
- keepBrowserOpen: false,
100
- traceId: "trace-id"
101
- });
102
- (0, _vitest.expect)(_helpers.withCLITrace).toHaveBeenCalledWith(_vitest.expect.any(Function), "trace-id");
103
- });
104
- (0, _vitest.it)("uses cli browser helper", async () => {
105
- await (0, _api._attemptApi)({
106
- apiName: "testApi",
107
- inputData: {},
108
- headless: false,
109
- timeout: 6000,
110
- keepBrowserOpen: false
111
- });
112
- (0, _vitest.expect)(_browser.getCLIRunOptions).toHaveBeenCalledWith(_vitest.expect.objectContaining({
113
- headless: false,
114
- keepBrowserOpen: false
115
- }));
116
- _vitest.vi.mocked(_helpers.withCLITrace).mockClear();
117
- _vitest.vi.mocked(_runApi.runApi).mockClear();
118
- await (0, _api._attemptApi)({
119
- apiName: "testApi",
120
- inputData: {},
121
- headless: true,
122
- timeout: 6000,
123
- keepBrowserOpen: true
124
- });
125
- (0, _vitest.expect)(_browser.getCLIRunOptions).toHaveBeenCalledWith(_vitest.expect.objectContaining({
126
- headless: true,
127
- keepBrowserOpen: true
128
- }));
129
- });
130
- (0, _vitest.it)("calls runApi with correct parameters and parses proxy", async () => {
131
- _vitest.vi.mocked(_helpers.parseUrlProxy).mockReturnValueOnce("parsed-proxy");
132
- await (0, _api._attemptApi)({
133
- apiName: "testApi",
134
- inputData: "inputData",
135
- headless: "headless",
136
- auth: "auth",
137
- proxy: "proxy",
138
- timeout: 999999999,
139
- keepBrowserOpen: false
140
- });
141
- (0, _vitest.expect)(_helpers.parseUrlProxy).toHaveBeenCalledWith("proxy");
142
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
143
- automationFunction: {
144
- name: "api/testApi",
145
- params: "inputData"
146
- },
147
- runOptions: {
148
- headless: "headless",
149
- environment: "standalone",
150
- proxy: "parsed-proxy"
151
- },
152
- auth: {
153
- session: {
154
- type: "state",
155
- state: "auth"
156
- }
157
- },
158
- importFunction: _vitest.expect.anything()
159
- }));
160
- });
161
- (0, _vitest.it)("returns the result and extended payloads if runApi succeeds", async () => {
162
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.ok)({
163
- result: "result",
164
- extendedPayloads: "extendedPayloads"
165
- }));
166
- const result = await (0, _api._attemptApi)({
167
- apiName: "testApi",
168
- inputData: "inputData",
169
- headless: "headless",
170
- auth: "auth",
171
- timeout: 999999999,
172
- keepBrowserOpen: false
173
- });
174
- (0, _vitest.expect)(result).toEqual({
175
- result: "result",
176
- payloadToAppend: "extendedPayloads"
177
- });
178
- });
179
- (0, _vitest.it)("throws the error runApi fails with an error", async () => {
180
- const error = new Error("runApi failed");
181
- _vitest.vi.mocked(_runApi.runApi).mockRejectedValueOnce(error);
182
- await (0, _vitest.expect)((0, _api._attemptApi)({
183
- apiName: "testApi",
184
- inputData: "inputData",
185
- headless: "headless",
186
- auth: "auth",
187
- timeout: 999999999,
188
- keepBrowserOpen: false
189
- })).rejects.toThrow(error);
190
- });
191
- });
192
- (0, _vitest.describe)("executeRunApiCLI", () => {
193
- (0, _vitest.it)("enables tracing correctly", async () => {
194
- await (0, _api.executeRunApiCLI)({
195
- apiName: "testApi",
196
- inputData: {},
197
- retries: 1,
198
- trace: false
199
- });
200
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
201
- tracing: {
202
- enabled: false
203
- }
204
- }));
205
- _vitest.vi.mocked(_runApi.runApi).mockClear();
206
- await (0, _api.executeRunApiCLI)({
207
- apiName: "testApi",
208
- inputData: {},
209
- retries: 1,
210
- trace: true
211
- });
212
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
213
- tracing: _vitest.expect.objectContaining({
214
- enabled: true
215
- })
216
- }));
217
- });
218
- (0, _vitest.it)("calls attemptApi once if success", async () => {
219
- await (0, _api.executeRunApiCLI)({
220
- apiName: "testApi",
221
- inputData: {},
222
- retries: 3
223
- });
224
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
225
- });
226
- (0, _vitest.it)("stops retrying after max retries", async () => {
227
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.err)(new _runApi.AutomationError("runApi failed")));
228
- await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
229
- apiName: "testApi",
230
- inputData: {},
231
- retries: 10
232
- })).rejects.toThrow(_helpers.CLIError);
233
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(10);
234
- });
235
- (0, _vitest.it)("stops retrying on non-automation errors", async () => {
236
- _vitest.vi.mocked(_runApi.runApi).mockRejectedValue(new Error("runApi failed"));
237
- await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
238
- apiName: "testApi",
239
- inputData: {},
240
- retries: 3
241
- })).rejects.toThrow("runApi failed");
242
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
243
- });
244
- (0, _vitest.it)("stops retrying on success", async () => {
245
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.err)(new _runApi.AutomationError("runApi failed"))).mockResolvedValue((0, _neverthrow.ok)({
246
- result: "success"
247
- }));
248
- await (0, _api.executeRunApiCLI)({
249
- apiName: "testApi",
250
- inputData: {},
251
- retries: 10
252
- });
253
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(2);
254
- });
255
- (0, _vitest.it)("validates AuthSession before each attempt if provided", async () => {
256
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.err)(new _runApi.AutomationError("runApi failed"))).mockResolvedValue((0, _neverthrow.ok)({
257
- result: "success"
258
- }));
259
- await (0, _api.executeRunApiCLI)({
260
- apiName: "testApi",
261
- inputData: {},
262
- authSession: {
263
- id: "authSessionId",
264
- autoRecreate: false,
265
- checkRetries: 1,
266
- createRetries: 2
267
- },
268
- retries: 10
269
- });
270
- (0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toBeCalledTimes(2);
271
- (0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toHaveBeenCalledWith(_vitest.expect.objectContaining({
272
- id: "authSessionId",
273
- autoRecreate: false,
274
- checkRetries: 1,
275
- createRetries: 2
276
- }));
277
- });
278
- (0, _vitest.it)("doesn't validate AuthSession if not provided", async () => {
279
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
280
- result: "success"
281
- }));
282
- await (0, _api.executeRunApiCLI)({
283
- apiName: "testApi",
284
- inputData: {},
285
- retries: 1
286
- });
287
- (0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).not.toHaveBeenCalled();
288
- });
289
- (0, _vitest.it)("fails if AuthSession is provided but not valid", async () => {
290
- _vitest.vi.mocked(_authSession.executeRunValidateAuthSessionCLI).mockRejectedValue(new _helpers.CLIError("AuthSession validation failed"));
291
- await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
292
- apiName: "testApi",
293
- inputData: {},
294
- authSession: {
295
- id: "authSessionId",
296
- autoRecreate: false,
297
- checkRetries: 1,
298
- createRetries: 2
299
- },
300
- retries: 10
301
- })).rejects.toThrow("AuthSession validation failed");
302
- (0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toHaveBeenCalledWith(_vitest.expect.objectContaining({
303
- id: "authSessionId",
304
- autoRecreate: false,
305
- checkRetries: 1,
306
- createRetries: 2
307
- }));
308
- (0, _vitest.expect)(_runApi.runApi).not.toHaveBeenCalled();
309
- });
310
- (0, _vitest.it)("writes result to file if outputFile is provided", async () => {
311
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
312
- result: "result",
313
- extendedPayloads: "extendedPayloads"
314
- }));
315
- await (0, _api.executeRunApiCLI)({
316
- apiName: "testApi",
317
- inputData: {},
318
- outputFile: "output.json",
319
- retries: 1
320
- });
321
- (0, _vitest.expect)(_fsExtra.writeJSON).toHaveBeenCalledWith("output.json", {
322
- result: "result",
323
- extendedPayloads: "extendedPayloads"
324
- }, _vitest.expect.anything());
325
- });
326
- (0, _vitest.it)("asserts API file exists", async () => {
327
- await (0, _api.executeRunApiCLI)({
328
- apiName: "testApi",
329
- inputData: {},
330
- retries: 1
331
- });
332
- (0, _vitest.expect)(_helpers.assertApiFileExists).toHaveBeenCalledWith("api", "testApi");
333
- });
334
- });
335
- (0, _vitest.describe)("executeAttemptApiCLI", () => {
336
- (0, _vitest.it)("enables tracing correctly", async () => {
337
- await (0, _api.executeAttemptApiCLI)({
338
- apiName: "testApi",
339
- inputData: {},
340
- trace: false
341
- });
342
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
343
- tracing: {
344
- enabled: false
345
- }
346
- }));
347
- _vitest.vi.mocked(_runApi.runApi).mockClear();
348
- await (0, _api.executeAttemptApiCLI)({
349
- apiName: "testApi",
350
- inputData: {},
351
- trace: true
352
- });
353
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
354
- tracing: _vitest.expect.objectContaining({
355
- enabled: true
356
- })
357
- }));
358
- });
359
- (0, _vitest.it)("calls attemptApi once", async () => {
360
- await (0, _api.executeAttemptApiCLI)({
361
- apiName: "testApi",
362
- inputData: {},
363
- retries: 3
364
- });
365
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
366
- _vitest.vi.mocked(_runApi.runApi).mockReset();
367
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.err)(new _runApi.AutomationError("runApi failed")));
368
- await (0, _vitest.expect)((0, _api.executeAttemptApiCLI)({
369
- apiName: "testApi",
370
- inputData: {}
371
- })).rejects.toThrow(_runApi.AutomationError);
372
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
373
- });
374
- (0, _vitest.it)("writes result to file if outputFile is provided", async () => {
375
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
376
- result: "result",
377
- extendedPayloads: "extendedPayloads"
378
- }));
379
- await (0, _api.executeAttemptApiCLI)({
380
- apiName: "testApi",
381
- inputData: {},
382
- outputFile: "output.json"
383
- });
384
- (0, _vitest.expect)(_fsExtra.writeJSON).toHaveBeenCalledWith("output.json", {
385
- result: "result",
386
- extendedPayloads: "extendedPayloads"
387
- }, _vitest.expect.anything());
388
- });
389
- (0, _vitest.it)("asserts API file exists", async () => {
390
- await (0, _api.executeRunApiCLI)({
391
- apiName: "testApi",
392
- inputData: {},
393
- retries: 1
394
- });
395
- (0, _vitest.expect)(_helpers.assertApiFileExists).toHaveBeenCalledWith("api", "testApi");
396
- });
397
- });
398
- });