@intuned/runtime-dev 0.1.0-test.10 → 0.1.0-test.12

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 (103) hide show
  1. package/.babelrc +1 -2
  2. package/dist/commands/api/run.js +170 -105
  3. package/dist/commands/api/run.ts +105 -0
  4. package/dist/commands/auth-sessions/load.js +26 -28
  5. package/dist/commands/auth-sessions/load.ts +30 -0
  6. package/dist/commands/auth-sessions/run-check.js +53 -52
  7. package/dist/commands/auth-sessions/run-check.ts +51 -0
  8. package/dist/commands/auth-sessions/run-create.js +96 -91
  9. package/dist/commands/auth-sessions/run-create.ts +91 -0
  10. package/dist/commands/browser/save-state.js +16 -14
  11. package/dist/commands/browser/save-state.ts +14 -0
  12. package/dist/commands/browser/start-browser.js +11 -11
  13. package/dist/commands/browser/start-browser.ts +11 -0
  14. package/dist/commands/build.js +108 -75
  15. package/dist/commands/build.ts +78 -0
  16. package/dist/commands/common/browserUtils.js +51 -53
  17. package/dist/commands/common/browserUtils.ts +45 -0
  18. package/dist/commands/common/getDefaultExportFromFile.js +12 -17
  19. package/dist/commands/common/getDefaultExportFromFile.ts +11 -0
  20. package/dist/commands/common/getFirstLineNumber.js +93 -93
  21. package/dist/commands/common/{getFirstLineNumber.test.js → getFirstLineNumber.test.ts} +46 -51
  22. package/dist/commands/common/getFirstLineNumber.ts +96 -0
  23. package/dist/commands/common/sendMessageToClient.js +4 -9
  24. package/dist/commands/common/sendMessageToClient.ts +3 -0
  25. package/dist/commands/common/utils/fileUtils.js +22 -32
  26. package/dist/commands/common/utils/fileUtils.ts +23 -0
  27. package/dist/commands/common/utils/settings.js +19 -27
  28. package/dist/commands/common/utils/settings.ts +22 -0
  29. package/dist/commands/common/utils/unixSocket.js +43 -43
  30. package/dist/commands/common/utils/unixSocket.ts +38 -0
  31. package/dist/commands/common/utils/webTemplate.js +27 -29
  32. package/dist/commands/common/utils/webTemplate.ts +22 -0
  33. package/dist/commands/interface/run.js +151 -150
  34. package/dist/commands/interface/run.ts +156 -0
  35. package/dist/commands/ts-check.js +49 -49
  36. package/dist/commands/ts-check.ts +50 -0
  37. package/dist/common/Logger/Logger/index.d.ts +1 -1
  38. package/dist/common/Logger/Logger/index.js +42 -55
  39. package/dist/common/Logger/Logger/index.ts +53 -0
  40. package/dist/common/Logger/Logger/types.js +1 -5
  41. package/dist/common/Logger/Logger/types.ts +1 -0
  42. package/dist/common/Logger/index.d.ts +1 -1
  43. package/dist/common/Logger/index.js +42 -55
  44. package/dist/common/Logger/index.ts +53 -0
  45. package/dist/common/Logger/types.js +1 -5
  46. package/dist/common/Logger/types.ts +1 -0
  47. package/dist/common/asyncLocalStorage/index.js +8 -16
  48. package/dist/common/asyncLocalStorage/index.ts +9 -0
  49. package/dist/common/cleanEnvironmentVariables.js +12 -16
  50. package/dist/common/cleanEnvironmentVariables.ts +10 -0
  51. package/dist/common/constants.js +1 -7
  52. package/dist/common/constants.ts +1 -0
  53. package/dist/common/contextStorageStateHelpers.js +38 -47
  54. package/dist/common/contextStorageStateHelpers.ts +43 -0
  55. package/dist/common/getPlaywrightConstructs.d.ts +1 -1
  56. package/dist/common/getPlaywrightConstructs.js +196 -177
  57. package/dist/common/getPlaywrightConstructs.ts +181 -0
  58. package/dist/common/jwtTokenManager.js +79 -76
  59. package/dist/common/jwtTokenManager.ts +71 -0
  60. package/dist/common/runApi/errors.d.ts +1 -1
  61. package/dist/common/runApi/errors.js +150 -159
  62. package/dist/common/runApi/errors.ts +154 -0
  63. package/dist/common/runApi/index.d.ts +4 -4
  64. package/dist/common/runApi/index.js +220 -269
  65. package/dist/common/runApi/index.ts +253 -0
  66. package/dist/common/runApi/types.d.ts +1 -1
  67. package/dist/common/runApi/types.js +56 -49
  68. package/dist/common/runApi/types.ts +43 -0
  69. package/dist/common/settingsSchema.js +10 -15
  70. package/dist/common/settingsSchema.ts +9 -0
  71. package/dist/common/telemetry.js +30 -28
  72. package/dist/common/telemetry.ts +23 -0
  73. package/dist/index.d.ts +4 -4
  74. package/dist/index.js +4 -69
  75. package/dist/index.ts +4 -0
  76. package/dist/runtime/RunError.d.ts +1 -1
  77. package/dist/runtime/RunError.js +11 -18
  78. package/dist/runtime/RunError.ts +12 -0
  79. package/dist/runtime/downloadDirectory.js +13 -19
  80. package/dist/runtime/downloadDirectory.ts +13 -0
  81. package/dist/runtime/enums.d.ts +1 -11
  82. package/dist/runtime/enums.js +12 -18
  83. package/dist/runtime/enums.ts +12 -0
  84. package/dist/runtime/executionHelpers.test.ts +51 -0
  85. package/dist/runtime/export.d.ts +1 -202
  86. package/dist/runtime/extendPayload.d.ts +1 -1
  87. package/dist/runtime/extendPayload.js +15 -21
  88. package/dist/runtime/extendPayload.ts +15 -0
  89. package/dist/runtime/extendTimeout.js +21 -28
  90. package/dist/runtime/extendTimeout.ts +24 -0
  91. package/dist/runtime/index.d.ts +7 -7
  92. package/dist/runtime/index.js +6 -53
  93. package/dist/runtime/index.ts +6 -0
  94. package/dist/runtime/requestMoreInfo.js +16 -23
  95. package/dist/runtime/requestMoreInfo.ts +18 -0
  96. package/dist/runtime/runInfo.d.ts +1 -1
  97. package/dist/runtime/runInfo.js +14 -21
  98. package/dist/runtime/runInfo.ts +15 -0
  99. package/package.json +3 -2
  100. package/tsconfig.json +1 -1
  101. package/dist/runtime/enums.d.js +0 -5
  102. package/dist/runtime/executionHelpers.test.js +0 -53
  103. package/dist/runtime/export.d.js +0 -5
@@ -0,0 +1,253 @@
1
+ import { getDownloadDirectoryPath } from "../../runtime/downloadDirectory";
2
+ import { getExecutionContext } from "../asyncLocalStorage";
3
+ import * as fs from "fs-extra";
4
+ import { backendFunctionsTokenManager } from "../jwtTokenManager";
5
+ import { getContextStorageState, setContextStorageState } from "../contextStorageStateHelpers";
6
+ import { remove } from "fs-extra";
7
+ import { ok, err } from "neverthrow";
8
+ import { AbortedError, ApiNotFoundError, AutomationError, InvalidApiError, InvalidCheckError, MaxLevelsExceededError } from "./errors.js";
9
+ import { AUTH_SESSIONS_FOLDER_NAME } from "../constants";
10
+ import { getPlaywrightConstructsForMode, getProductionPlaywrightConstructs } from "../getPlaywrightConstructs";
11
+ import { runApiParametersSchema } from "./types.js";
12
+ export * from "./types.js";
13
+ export * from "./errors.js";
14
+ export async function* runApiGenerator({
15
+ retrieveSession = false,
16
+ abortSignal,
17
+ ...input
18
+ }) {
19
+ let traceStarted = false;
20
+ const {
21
+ automationFunction,
22
+ runOptions,
23
+ tracing,
24
+ auth,
25
+ functionsToken
26
+ } = runApiParametersSchema.parse(input);
27
+ backendFunctionsTokenManager.token = functionsToken;
28
+ const downloadsPath = getDownloadDirectoryPath();
29
+ let page;
30
+ let context;
31
+ if (runOptions.environment === "deployed") {
32
+ const {
33
+ headless,
34
+ proxy
35
+ } = runOptions;
36
+ ({
37
+ page,
38
+ context
39
+ } = await getProductionPlaywrightConstructs({
40
+ headless,
41
+ proxy,
42
+ downloadsPath,
43
+ storageState: auth === null || auth === void 0 ? void 0 : auth.session
44
+ }));
45
+ } else {
46
+ const {
47
+ mode,
48
+ cdpAddress
49
+ } = runOptions;
50
+ ({
51
+ page,
52
+ context
53
+ } = await getPlaywrightConstructsForMode(mode, cdpAddress, auth === null || auth === void 0 ? void 0 : auth.session));
54
+ }
55
+ const executionContext = getExecutionContext();
56
+ if (!executionContext) {
57
+ throw "";
58
+ }
59
+ async function saveTraceIfNeeded({
60
+ errorMessage
61
+ }) {
62
+ if (!tracing.enabled || !traceStarted) {
63
+ return;
64
+ }
65
+ try {
66
+ await context.tracing.stop({
67
+ path: tracing.filePath
68
+ });
69
+ } catch (error) {
70
+ console.log(errorMessage, error === null || error === void 0 ? void 0 : error.message);
71
+ await remove(tracing.filePath);
72
+ }
73
+ }
74
+ if (tracing.enabled) {
75
+ await context.tracing.start({
76
+ screenshots: true,
77
+ snapshots: true,
78
+ sources: true
79
+ });
80
+ traceStarted = true;
81
+ }
82
+ const abortSymbol = Symbol("abort");
83
+ const abortPromise = new Promise(resolve => {
84
+ if (!abortSignal) return;
85
+ abortSignal.addEventListener("abort", () => {
86
+ resolve(abortSymbol);
87
+ });
88
+ });
89
+ if (auth && auth.session.type === "state") {
90
+ await setContextStorageState(context, auth.session.state);
91
+ }
92
+ async function* runAutomation() {
93
+ var _getExecutionContext;
94
+ if (auth !== null && auth !== void 0 && auth.runCheck) {
95
+ if (!auth.session) {
96
+ return err({
97
+ code: "AuthRequiredError"
98
+ });
99
+ }
100
+ console.log("Running auth check");
101
+ const authCheckResult = await checkAuthSessionWithRetries(page, context, 2);
102
+ if (authCheckResult.isErr()) {
103
+ const error = authCheckResult.error;
104
+ if (["APINotFoundError", "InvalidAPIError"].includes(error.code)) {
105
+ return err(new InvalidCheckError(`Auth session check function failed`, error));
106
+ }
107
+ return authCheckResult;
108
+ }
109
+ if (!authCheckResult.value) {
110
+ return err({
111
+ code: "AuthCheckFailedError"
112
+ });
113
+ }
114
+ }
115
+ console.log("Running function", automationFunction.name);
116
+ const args = [...(automationFunction.params ? [automationFunction.params] : []), page, context];
117
+ const importResult = await importFunction(automationFunction.name);
118
+ if (importResult.isErr()) {
119
+ return importResult;
120
+ }
121
+ let result;
122
+ if (importResult.value.type === "async-generator") {
123
+ const generator = importResult.value.generator(...args);
124
+ let next = undefined;
125
+ while (true) {
126
+ const generatorResult = await generator.next(...(next ? [next] : []));
127
+ if (!generatorResult.done) {
128
+ next = yield generatorResult.value;
129
+ continue;
130
+ }
131
+ result = generatorResult.value;
132
+ break;
133
+ }
134
+ } else {
135
+ result = await importResult.value.func(...args);
136
+ }
137
+ return ok({
138
+ result,
139
+ extendedPayloads: (_getExecutionContext = getExecutionContext()) === null || _getExecutionContext === void 0 ? void 0 : _getExecutionContext.extendedPayloads,
140
+ session: retrieveSession ? await getContextStorageState(context) : undefined
141
+ });
142
+ }
143
+ try {
144
+ const generator = runAutomation();
145
+ let next = undefined;
146
+ while (true) {
147
+ const result = await Promise.race([generator.next(await next), abortPromise]);
148
+ if (result === abortSymbol) {
149
+ return err(new AbortedError());
150
+ }
151
+ if (!result.done) {
152
+ next = yield result.value;
153
+ continue;
154
+ }
155
+ return result.value;
156
+ }
157
+ } catch (error) {
158
+ console.log("run errored", error);
159
+ return err(new AutomationError(error));
160
+ } finally {
161
+ await saveTraceIfNeeded({
162
+ errorMessage: "failed to save trace"
163
+ });
164
+ await context.close();
165
+ await fs.remove(downloadsPath);
166
+ }
167
+ }
168
+ export async function runApi(params) {
169
+ const generator = runApiGenerator(params);
170
+ const {
171
+ value,
172
+ done
173
+ } = await generator.next();
174
+ if (done) {
175
+ return value;
176
+ }
177
+ return err(new InvalidApiError("Expected API to be async function, got async generator"));
178
+ }
179
+ export async function checkAuthSessionWithRetries(page, context, retries = 3) {
180
+ if (retries === 0) {
181
+ return ok(false);
182
+ }
183
+ let tryNumber = 0;
184
+ console.log("Checking auth session with retries", `${AUTH_SESSIONS_FOLDER_NAME}/check`);
185
+ const importResult = await importFunction(`${AUTH_SESSIONS_FOLDER_NAME}/check`);
186
+ if (importResult.isErr()) {
187
+ return err(importResult.error);
188
+ }
189
+ if (importResult.value.type !== "async") {
190
+ return err(new InvalidCheckError("Check function is not an async function"));
191
+ }
192
+ const check = importResult.value.func;
193
+ while (retries > tryNumber) {
194
+ const result = await check(page, context);
195
+ if (result) return ok(true);
196
+ tryNumber++;
197
+ }
198
+ return ok(false);
199
+ }
200
+ async function importFunction(path) {
201
+ const functionNameParts = path.split("/");
202
+ const functionNameDepth = functionNameParts.length;
203
+ try {
204
+ let imported = undefined;
205
+ switch (functionNameDepth) {
206
+ case 1:
207
+ imported = await import(`../../../${functionNameParts[0]}.ts`);
208
+ break;
209
+ case 2:
210
+ imported = await import(`../../../${functionNameParts[0]}/${functionNameParts[1]}.ts`);
211
+ break;
212
+ case 3:
213
+ imported = await import(`../../../${functionNameParts[0]}/${functionNameParts[1]}/${functionNameParts[2]}.ts`);
214
+ break;
215
+ case 4:
216
+ imported = await import(`../../../${functionNameParts[0]}/${functionNameParts[1]}/${functionNameParts[2]}/${functionNameParts[3]}.ts`);
217
+ break;
218
+ case 5:
219
+ imported = await import(`../../../${functionNameParts[0]}/${functionNameParts[1]}/${functionNameParts[2]}/${functionNameParts[3]}/${functionNameParts[4]}.ts`);
220
+ break;
221
+ case 6:
222
+ imported = await import(`../../../${functionNameParts[0]}/${functionNameParts[1]}/${functionNameParts[2]}/${functionNameParts[3]}/${functionNameParts[4]}/${functionNameParts[5]}.ts`);
223
+ break;
224
+ default:
225
+ return err(new MaxLevelsExceededError(5));
226
+ }
227
+ if (!imported || !imported.default || !imported.default.constructor) {
228
+ return err(new InvalidApiError("API file path does not have a default export"));
229
+ }
230
+ if (imported.default.constructor.name === "AsyncGeneratorFunction") {
231
+ return ok({
232
+ type: "async-generator",
233
+ generator: imported.default
234
+ });
235
+ }
236
+ if (imported.default.constructor.name === "AsyncFunction") {
237
+ return ok({
238
+ type: "async",
239
+ func: imported.default
240
+ });
241
+ }
242
+ return err(new InvalidApiError("API file path does not have a default async function/generator export"));
243
+ } catch (error) {
244
+ if (error.message.includes("Unknown variable dynamic import")) {
245
+ return err(new ApiNotFoundError(path));
246
+ }
247
+ if ((error === null || error === void 0 ? void 0 : error.code) === "ERR_MODULE_NOT_FOUND") {
248
+ console.log("API not found", error);
249
+ return err(new ApiNotFoundError(path));
250
+ }
251
+ throw error;
252
+ }
253
+ }
@@ -1,7 +1,7 @@
1
1
  import type { IntunedStorageState } from "../contextStorageStateHelpers";
2
2
  import type { Payload } from "../../runtime/export";
3
3
  import type { Result } from "neverthrow";
4
- import type { RunAutomationError } from "./errors";
4
+ import type { RunAutomationError } from "./errors.js";
5
5
  import z from "zod";
6
6
  export interface PayloadToAppend {
7
7
  apiName: string;
@@ -1,50 +1,57 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ import z from "zod";
2
+ export const runApiSessionSchema = z.discriminatedUnion("type", [
3
+ z.object({
4
+ type: z.literal("file"),
5
+ path: z.string(),
6
+ }),
7
+ z.object({
8
+ type: z.literal("state"),
9
+ state: z.custom((v) => v),
10
+ }),
11
+ ]);
12
+ export const runApiParametersSchema = z.object({
13
+ functionsToken: z.string().optional(),
14
+ automationFunction: z.object({
15
+ name: z.string(),
16
+ params: z.any().optional(),
17
+ }),
18
+ tracing: z
19
+ .discriminatedUnion("enabled", [
20
+ z.object({ enabled: z.literal(false) }),
21
+ z.object({ enabled: z.literal(true), filePath: z.string() }),
22
+ ])
23
+ .optional()
24
+ .default({ enabled: false }),
25
+ auth: z
26
+ .object({
27
+ session: runApiSessionSchema,
28
+ runCheck: z.boolean().default(false),
29
+ })
30
+ .optional(),
31
+ runOptions: z
32
+ .discriminatedUnion("environment", [
33
+ z.object({
34
+ environment: z.literal("deployed"),
35
+ headless: z.boolean().default(true),
36
+ proxy: z
37
+ .object({
38
+ server: z.string(),
39
+ username: z.string(),
40
+ password: z.string(),
41
+ })
42
+ .optional(),
43
+ }),
44
+ z.object({
45
+ environment: z.literal("ide"),
46
+ cdpAddress: z.string(),
47
+ mode: z.union([
48
+ z.literal("vanilla"),
49
+ z.literal("playwright"),
50
+ z.literal("playwright-standalone"),
51
+ z.literal("playwright-headless"),
52
+ ]),
53
+ }),
54
+ ])
55
+ .default({ environment: "deployed" }),
56
+ retrieveSession: z.boolean().default(false),
5
57
  });
6
- exports.runApiSessionSchema = exports.runApiParametersSchema = void 0;
7
- var _zod = _interopRequireDefault(require("zod"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- const runApiSessionSchema = exports.runApiSessionSchema = _zod.default.discriminatedUnion("type", [_zod.default.object({
10
- type: _zod.default.literal("file"),
11
- path: _zod.default.string()
12
- }), _zod.default.object({
13
- type: _zod.default.literal("state"),
14
- state: _zod.default.custom(v => v)
15
- })]);
16
- const runApiParametersSchema = exports.runApiParametersSchema = _zod.default.object({
17
- functionsToken: _zod.default.string().optional(),
18
- automationFunction: _zod.default.object({
19
- name: _zod.default.string(),
20
- params: _zod.default.any().optional()
21
- }),
22
- tracing: _zod.default.discriminatedUnion("enabled", [_zod.default.object({
23
- enabled: _zod.default.literal(false)
24
- }), _zod.default.object({
25
- enabled: _zod.default.literal(true),
26
- filePath: _zod.default.string()
27
- })]).optional().default({
28
- enabled: false
29
- }),
30
- auth: _zod.default.object({
31
- session: runApiSessionSchema,
32
- runCheck: _zod.default.boolean().default(false)
33
- }).optional(),
34
- runOptions: _zod.default.discriminatedUnion("environment", [_zod.default.object({
35
- environment: _zod.default.literal("deployed"),
36
- headless: _zod.default.boolean().default(true),
37
- proxy: _zod.default.object({
38
- server: _zod.default.string(),
39
- username: _zod.default.string(),
40
- password: _zod.default.string()
41
- }).optional()
42
- }), _zod.default.object({
43
- environment: _zod.default.literal("ide"),
44
- cdpAddress: _zod.default.string(),
45
- mode: _zod.default.union([_zod.default.literal("vanilla"), _zod.default.literal("playwright"), _zod.default.literal("playwright-standalone"), _zod.default.literal("playwright-headless")])
46
- })]).default({
47
- environment: "deployed"
48
- }),
49
- retrieveSession: _zod.default.boolean().default(false)
50
- });
@@ -0,0 +1,43 @@
1
+ import z from "zod";
2
+ export const runApiSessionSchema = z.discriminatedUnion("type", [z.object({
3
+ type: z.literal("file"),
4
+ path: z.string()
5
+ }), z.object({
6
+ type: z.literal("state"),
7
+ state: z.custom(v => v)
8
+ })]);
9
+ export const runApiParametersSchema = z.object({
10
+ functionsToken: z.string().optional(),
11
+ automationFunction: z.object({
12
+ name: z.string(),
13
+ params: z.any().optional()
14
+ }),
15
+ tracing: z.discriminatedUnion("enabled", [z.object({
16
+ enabled: z.literal(false)
17
+ }), z.object({
18
+ enabled: z.literal(true),
19
+ filePath: z.string()
20
+ })]).optional().default({
21
+ enabled: false
22
+ }),
23
+ auth: z.object({
24
+ session: runApiSessionSchema,
25
+ runCheck: z.boolean().default(false)
26
+ }).optional(),
27
+ runOptions: z.discriminatedUnion("environment", [z.object({
28
+ environment: z.literal("deployed"),
29
+ headless: z.boolean().default(true),
30
+ proxy: z.object({
31
+ server: z.string(),
32
+ username: z.string(),
33
+ password: z.string()
34
+ }).optional()
35
+ }), z.object({
36
+ environment: z.literal("ide"),
37
+ cdpAddress: z.string(),
38
+ mode: z.union([z.literal("vanilla"), z.literal("playwright"), z.literal("playwright-standalone"), z.literal("playwright-headless")])
39
+ })]).default({
40
+ environment: "deployed"
41
+ }),
42
+ retrieveSession: z.boolean().default(false)
43
+ });
@@ -1,17 +1,12 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ import * as z from "zod";
2
+ const authSessionsSchema = z
3
+ .object({
4
+ enabled: z.boolean(),
5
+ })
6
+ .optional()
7
+ .default({
8
+ enabled: false,
5
9
  });
6
- exports.settingsSchema = void 0;
7
- var z = _interopRequireWildcard(require("zod"));
8
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
- const authSessionsSchema = z.object({
11
- enabled: z.boolean()
12
- }).optional().default({
13
- enabled: false
10
+ export const settingsSchema = z.object({
11
+ authSessions: authSessionsSchema,
14
12
  });
15
- const settingsSchema = exports.settingsSchema = z.object({
16
- authSessions: authSessionsSchema
17
- });
@@ -0,0 +1,9 @@
1
+ import * as z from "zod";
2
+ const authSessionsSchema = z.object({
3
+ enabled: z.boolean()
4
+ }).optional().default({
5
+ enabled: false
6
+ });
7
+ export const settingsSchema = z.object({
8
+ authSessions: authSessionsSchema
9
+ });
@@ -1,32 +1,34 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getTelemetryClient = getTelemetryClient;
7
- exports.initializeAppInsights = initializeAppInsights;
8
- var appInsights = _interopRequireWildcard(require("applicationinsights"));
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
1
+ import * as appInsights from "applicationinsights";
11
2
  function gracefulShutdown() {
12
- console.log("Shutting down, so flushing app insights.");
13
- appInsights.defaultClient.flush();
14
- process.exit();
3
+ console.log("Shutting down, so flushing app insights.");
4
+ appInsights.defaultClient.flush();
5
+ process.exit();
15
6
  }
16
- function initializeAppInsights() {
17
- const appInsightsConnectionString = process.env.APPINSIGHTS_CONNECTION_STRING;
18
- if (appInsightsConnectionString) {
19
- console.log("Initializing app insights.");
20
- appInsights.setup(appInsightsConnectionString).setAutoCollectConsole(true, true).setAutoCollectDependencies(true).setAutoCollectExceptions(true).setAutoCollectHeartbeat(true).setAutoCollectPerformance(true, true).setAutoCollectRequests(true).setAutoDependencyCorrelation(true).setDistributedTracingMode(appInsights.DistributedTracingModes.AI_AND_W3C).setSendLiveMetrics(true).setUseDiskRetryCaching(true);
21
- appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRole] = "@intuned/sdk";
22
- if (process.env.FLY_APP_NAME) {
23
- appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRoleInstance] = process.env.FLY_APP_NAME;
7
+ export function initializeAppInsights() {
8
+ const appInsightsConnectionString = process.env.APPINSIGHTS_CONNECTION_STRING;
9
+ if (appInsightsConnectionString) {
10
+ console.log("Initializing app insights.");
11
+ appInsights
12
+ .setup(appInsightsConnectionString)
13
+ .setAutoCollectConsole(true, true)
14
+ .setAutoCollectDependencies(true)
15
+ .setAutoCollectExceptions(true)
16
+ .setAutoCollectHeartbeat(true)
17
+ .setAutoCollectPerformance(true, true)
18
+ .setAutoCollectRequests(true)
19
+ .setAutoDependencyCorrelation(true)
20
+ .setDistributedTracingMode(appInsights.DistributedTracingModes.AI_AND_W3C)
21
+ .setSendLiveMetrics(true)
22
+ .setUseDiskRetryCaching(true);
23
+ appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRole] = "@intuned/sdk";
24
+ if (process.env.FLY_APP_NAME) {
25
+ appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRoleInstance] = process.env.FLY_APP_NAME;
26
+ }
27
+ process.on("SIGTERM", gracefulShutdown);
28
+ process.on("SIGINT", gracefulShutdown);
29
+ appInsights.start();
24
30
  }
25
- process.on("SIGTERM", gracefulShutdown);
26
- process.on("SIGINT", gracefulShutdown);
27
- appInsights.start();
28
- }
29
31
  }
30
- function getTelemetryClient() {
31
- return appInsights.defaultClient;
32
- }
32
+ export function getTelemetryClient() {
33
+ return appInsights.defaultClient;
34
+ }
@@ -0,0 +1,23 @@
1
+ import * as appInsights from "applicationinsights";
2
+ function gracefulShutdown() {
3
+ console.log("Shutting down, so flushing app insights.");
4
+ appInsights.defaultClient.flush();
5
+ process.exit();
6
+ }
7
+ export function initializeAppInsights() {
8
+ const appInsightsConnectionString = process.env.APPINSIGHTS_CONNECTION_STRING;
9
+ if (appInsightsConnectionString) {
10
+ console.log("Initializing app insights.");
11
+ appInsights.setup(appInsightsConnectionString).setAutoCollectConsole(true, true).setAutoCollectDependencies(true).setAutoCollectExceptions(true).setAutoCollectHeartbeat(true).setAutoCollectPerformance(true, true).setAutoCollectRequests(true).setAutoDependencyCorrelation(true).setDistributedTracingMode(appInsights.DistributedTracingModes.AI_AND_W3C).setSendLiveMetrics(true).setUseDiskRetryCaching(true);
12
+ appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRole] = "@intuned/sdk";
13
+ if (process.env.FLY_APP_NAME) {
14
+ appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRoleInstance] = process.env.FLY_APP_NAME;
15
+ }
16
+ process.on("SIGTERM", gracefulShutdown);
17
+ process.on("SIGINT", gracefulShutdown);
18
+ appInsights.start();
19
+ }
20
+ }
21
+ export function getTelemetryClient() {
22
+ return appInsights.defaultClient;
23
+ }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { extendPayload, extendTimeout, runInfo, RunError, requestMultipleChoice, requestOTP, } from "./runtime";
2
- export { runWithContext, getExecutionContext, } from "./common/asyncLocalStorage";
3
- export { getDownloadDirectoryPath } from "./runtime/downloadDirectory";
4
- export { getProductionPlaywrightConstructs } from "./common/getPlaywrightConstructs";
1
+ export { extendPayload, extendTimeout, runInfo, RunError, requestMultipleChoice, requestOTP, } from "./runtime/index.js";
2
+ export { runWithContext, getExecutionContext, } from "./common/asyncLocalStorage/index.js";
3
+ export { getDownloadDirectoryPath } from "./runtime/downloadDirectory.js";
4
+ export { getProductionPlaywrightConstructs } from "./common/getPlaywrightConstructs.js";
package/dist/index.js CHANGED
@@ -1,69 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "RunError", {
7
- enumerable: true,
8
- get: function () {
9
- return _runtime.RunError;
10
- }
11
- });
12
- Object.defineProperty(exports, "extendPayload", {
13
- enumerable: true,
14
- get: function () {
15
- return _runtime.extendPayload;
16
- }
17
- });
18
- Object.defineProperty(exports, "extendTimeout", {
19
- enumerable: true,
20
- get: function () {
21
- return _runtime.extendTimeout;
22
- }
23
- });
24
- Object.defineProperty(exports, "getDownloadDirectoryPath", {
25
- enumerable: true,
26
- get: function () {
27
- return _downloadDirectory.getDownloadDirectoryPath;
28
- }
29
- });
30
- Object.defineProperty(exports, "getExecutionContext", {
31
- enumerable: true,
32
- get: function () {
33
- return _asyncLocalStorage.getExecutionContext;
34
- }
35
- });
36
- Object.defineProperty(exports, "getProductionPlaywrightConstructs", {
37
- enumerable: true,
38
- get: function () {
39
- return _getPlaywrightConstructs.getProductionPlaywrightConstructs;
40
- }
41
- });
42
- Object.defineProperty(exports, "requestMultipleChoice", {
43
- enumerable: true,
44
- get: function () {
45
- return _runtime.requestMultipleChoice;
46
- }
47
- });
48
- Object.defineProperty(exports, "requestOTP", {
49
- enumerable: true,
50
- get: function () {
51
- return _runtime.requestOTP;
52
- }
53
- });
54
- Object.defineProperty(exports, "runInfo", {
55
- enumerable: true,
56
- get: function () {
57
- return _runtime.runInfo;
58
- }
59
- });
60
- Object.defineProperty(exports, "runWithContext", {
61
- enumerable: true,
62
- get: function () {
63
- return _asyncLocalStorage.runWithContext;
64
- }
65
- });
66
- var _runtime = require("./runtime");
67
- var _asyncLocalStorage = require("./common/asyncLocalStorage");
68
- var _downloadDirectory = require("./runtime/downloadDirectory");
69
- var _getPlaywrightConstructs = require("./common/getPlaywrightConstructs");
1
+ export { extendPayload, extendTimeout, runInfo, RunError, requestMultipleChoice, requestOTP, } from "./runtime/index.js";
2
+ export { runWithContext, getExecutionContext, } from "./common/asyncLocalStorage/index.js";
3
+ export { getDownloadDirectoryPath } from "./runtime/downloadDirectory.js";
4
+ export { getProductionPlaywrightConstructs } from "./common/getPlaywrightConstructs.js";
package/dist/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ export { extendPayload, extendTimeout, runInfo, RunError, requestMultipleChoice, requestOTP } from "./runtime/index.js";
2
+ export { runWithContext, getExecutionContext } from "./common/asyncLocalStorage/index.js";
3
+ export { getDownloadDirectoryPath } from "./runtime/downloadDirectory.js";
4
+ export { getProductionPlaywrightConstructs } from "./common/getPlaywrightConstructs.js";
@@ -1,4 +1,4 @@
1
- import { RunErrorOptions } from "./export";
1
+ import { RunErrorOptions } from "./export.js";
2
2
  export declare class RunError extends Error {
3
3
  options: RunErrorOptions;
4
4
  constructor(message: string, options?: RunErrorOptions);
@@ -1,19 +1,12 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.RunError = void 0;
7
- class RunError extends Error {
8
- constructor(message, options) {
9
- super(message);
10
- this.message = message;
11
- this.name = "USER_GENERATED_ERROR";
12
- this.options = options ?? {
13
- retryable: false
14
- };
15
- Object.setPrototypeOf(this, RunError.prototype);
16
- }
1
+ export class RunError extends Error {
2
+ constructor(message, options) {
3
+ super(message);
4
+ this.message = message;
5
+ this.name = "USER_GENERATED_ERROR";
6
+ this.options = options ?? {
7
+ retryable: false,
8
+ };
9
+ Object.setPrototypeOf(this, RunError.prototype);
10
+ }
17
11
  }
18
- exports.RunError = RunError;
19
- new RunError("", {});
12
+ new RunError("", {});