@datadog/datadog-ci 3.12.0 → 3.13.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 (115) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/aas/common.d.ts +3 -4
  3. package/dist/commands/aas/common.js +28 -10
  4. package/dist/commands/aas/common.js.map +1 -1
  5. package/dist/commands/aas/instrument.d.ts +7 -2
  6. package/dist/commands/aas/instrument.js +51 -10
  7. package/dist/commands/aas/instrument.js.map +1 -1
  8. package/dist/commands/aas/interfaces.d.ts +3 -0
  9. package/dist/commands/cloud-run/constants.d.ts +2 -0
  10. package/dist/commands/cloud-run/constants.js +3 -1
  11. package/dist/commands/cloud-run/constants.js.map +1 -1
  12. package/dist/commands/cloud-run/flare.js +1 -0
  13. package/dist/commands/cloud-run/flare.js.map +1 -1
  14. package/dist/commands/cloud-run/instrument.d.ts +15 -8
  15. package/dist/commands/cloud-run/instrument.js +260 -138
  16. package/dist/commands/cloud-run/instrument.js.map +1 -1
  17. package/dist/commands/cloud-run/interfaces.d.ts +0 -19
  18. package/dist/commands/cloud-run/prompt.d.ts +5 -0
  19. package/dist/commands/cloud-run/prompt.js +86 -0
  20. package/dist/commands/cloud-run/prompt.js.map +1 -0
  21. package/dist/commands/cloud-run/renderer.d.ts +1 -2
  22. package/dist/commands/cloud-run/renderer.js +3 -11
  23. package/dist/commands/cloud-run/renderer.js.map +1 -1
  24. package/dist/commands/cloud-run/types.d.ts +3 -2
  25. package/dist/commands/cloud-run/uninstrument.d.ts +21 -0
  26. package/dist/commands/cloud-run/uninstrument.js +187 -0
  27. package/dist/commands/cloud-run/uninstrument.js.map +1 -0
  28. package/dist/commands/cloud-run/utils.d.ts +10 -0
  29. package/dist/commands/cloud-run/utils.js +81 -1
  30. package/dist/commands/cloud-run/utils.js.map +1 -1
  31. package/dist/commands/coverage/renderer.d.ts +2 -1
  32. package/dist/commands/coverage/renderer.js +12 -7
  33. package/dist/commands/coverage/renderer.js.map +1 -1
  34. package/dist/commands/coverage/upload.js +6 -6
  35. package/dist/commands/coverage/upload.js.map +1 -1
  36. package/dist/commands/coverage/utils.d.ts +8 -2
  37. package/dist/commands/coverage/utils.js +119 -4
  38. package/dist/commands/coverage/utils.js.map +1 -1
  39. package/dist/commands/dsyms/interfaces.d.ts +5 -5
  40. package/dist/commands/dsyms/interfaces.js +1 -1
  41. package/dist/commands/dsyms/interfaces.js.map +1 -1
  42. package/dist/commands/dsyms/renderer.d.ts +2 -2
  43. package/dist/commands/dsyms/renderer.js +6 -6
  44. package/dist/commands/dsyms/renderer.js.map +1 -1
  45. package/dist/commands/dsyms/upload.d.ts +17 -12
  46. package/dist/commands/dsyms/upload.js +177 -145
  47. package/dist/commands/dsyms/upload.js.map +1 -1
  48. package/dist/commands/junit/utils.d.ts +2 -2
  49. package/dist/commands/junit/utils.js +9 -11
  50. package/dist/commands/junit/utils.js.map +1 -1
  51. package/dist/commands/lambda/constants.d.ts +0 -7
  52. package/dist/commands/lambda/constants.js +3 -15
  53. package/dist/commands/lambda/constants.js.map +1 -1
  54. package/dist/commands/lambda/flare.js +1 -0
  55. package/dist/commands/lambda/flare.js.map +1 -1
  56. package/dist/commands/lambda/functions/instrument.js +9 -9
  57. package/dist/commands/lambda/functions/instrument.js.map +1 -1
  58. package/dist/commands/lambda/functions/uninstrument.js +6 -6
  59. package/dist/commands/lambda/functions/uninstrument.js.map +1 -1
  60. package/dist/commands/lambda/instrument.d.ts +0 -3
  61. package/dist/commands/lambda/instrument.js +4 -51
  62. package/dist/commands/lambda/instrument.js.map +1 -1
  63. package/dist/commands/react-native/xcode.d.ts +23 -0
  64. package/dist/commands/react-native/xcode.js +166 -10
  65. package/dist/commands/react-native/xcode.js.map +1 -1
  66. package/dist/commands/sarif/renderer.js +2 -2
  67. package/dist/commands/sarif/renderer.js.map +1 -1
  68. package/dist/commands/sbom/api.js +2 -2
  69. package/dist/commands/sbom/api.js.map +1 -1
  70. package/dist/commands/sbom/renderer.js +3 -3
  71. package/dist/commands/sbom/renderer.js.map +1 -1
  72. package/dist/commands/synthetics/api.d.ts +7 -3
  73. package/dist/commands/synthetics/api.js +20 -3
  74. package/dist/commands/synthetics/api.js.map +1 -1
  75. package/dist/commands/synthetics/base-command.d.ts +8 -2
  76. package/dist/commands/synthetics/base-command.js +34 -32
  77. package/dist/commands/synthetics/base-command.js.map +1 -1
  78. package/dist/commands/synthetics/batch.d.ts +4 -3
  79. package/dist/commands/synthetics/batch.js +27 -14
  80. package/dist/commands/synthetics/batch.js.map +1 -1
  81. package/dist/commands/synthetics/errors.d.ts +1 -1
  82. package/dist/commands/synthetics/errors.js +1 -1
  83. package/dist/commands/synthetics/errors.js.map +1 -1
  84. package/dist/commands/synthetics/interfaces.d.ts +13 -2
  85. package/dist/commands/synthetics/interfaces.js.map +1 -1
  86. package/dist/commands/synthetics/reporters/default.js +16 -2
  87. package/dist/commands/synthetics/reporters/default.js.map +1 -1
  88. package/dist/commands/synthetics/reporters/junit.d.ts +1 -0
  89. package/dist/commands/synthetics/reporters/junit.js +2 -0
  90. package/dist/commands/synthetics/reporters/junit.js.map +1 -1
  91. package/dist/commands/synthetics/run-tests-lib.js +17 -3
  92. package/dist/commands/synthetics/run-tests-lib.js.map +1 -1
  93. package/dist/commands/synthetics/test.d.ts +2 -2
  94. package/dist/commands/synthetics/test.js +15 -2
  95. package/dist/commands/synthetics/test.js.map +1 -1
  96. package/dist/commands/synthetics/utils/internal.d.ts +2 -2
  97. package/dist/commands/synthetics/utils/internal.js.map +1 -1
  98. package/dist/commands/synthetics/utils/public.js +9 -2
  99. package/dist/commands/synthetics/utils/public.js.map +1 -1
  100. package/dist/constants.d.ts +7 -0
  101. package/dist/constants.js +14 -1
  102. package/dist/constants.js.map +1 -1
  103. package/dist/helpers/app.d.ts +1 -0
  104. package/dist/helpers/app.js +7 -1
  105. package/dist/helpers/app.js.map +1 -1
  106. package/dist/helpers/flare.d.ts +2 -0
  107. package/dist/helpers/flare.js +13 -1
  108. package/dist/helpers/flare.js.map +1 -1
  109. package/dist/helpers/git/instrument-helpers.d.ts +13 -0
  110. package/dist/helpers/git/instrument-helpers.js +60 -0
  111. package/dist/helpers/git/instrument-helpers.js.map +1 -0
  112. package/dist/helpers/version.d.ts +1 -0
  113. package/dist/helpers/version.js +17 -1
  114. package/dist/helpers/version.js.map +1 -1
  115. package/package.json +4 -1
@@ -74,111 +74,47 @@ class UploadCommand extends clipanion_1.Command {
74
74
  this.config = {
75
75
  datadogSite: 'datadoghq.com',
76
76
  };
77
- this.compressDSYMsToDirectory = (dsyms, directoryPath) => __awaiter(this, void 0, void 0, function* () {
78
- yield fs_1.promises.mkdir(directoryPath, { recursive: true });
79
- return Promise.all(dsyms.map((dsym) => __awaiter(this, void 0, void 0, function* () {
80
- const archivePath = (0, utils_1.buildPath)(directoryPath, `${dsym.slices[0].uuid}.zip`);
81
- yield (0, utils_2.zipDirectoryToArchive)(dsym.bundlePath, archivePath);
82
- return new interfaces_1.CompressedDsym(archivePath, dsym);
83
- })));
84
- });
85
- this.findDSYMsInDirectory = (directoryPath) => __awaiter(this, void 0, void 0, function* () {
86
- const dsyms = [];
87
- for (const dSYMPath of (0, glob_1.globSync)((0, utils_1.buildPath)(directoryPath, '**/*.dSYM'))) {
77
+ }
78
+ execute() {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ (0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
81
+ this.basePath = upath_1.default.normalize(this.basePath);
82
+ this.context.stdout.write((0, renderer_1.renderCommandInfo)(this.basePath, this.maxConcurrency, this.dryRun));
83
+ yield this.loadConfig();
84
+ const { metricsLogger, apiKeyValidator } = this.createServices();
85
+ const initialTime = Date.now();
86
+ try {
87
+ const tmpDirectory = yield (0, utils_2.createUniqueTmpDirectory)();
88
88
  try {
89
- const stdout = (yield (0, utils_2.executeDwarfdump)(dSYMPath)).stdout;
90
- const archSlices = this.parseDwarfdumpOutput(stdout);
91
- dsyms.push({ bundlePath: dSYMPath, slices: archSlices });
89
+ const results = yield this.processAndUploadDsyms(tmpDirectory, metricsLogger, apiKeyValidator);
90
+ const totalTime = (Date.now() - initialTime) / 1000;
91
+ this.context.stdout.write((0, renderer_1.renderSuccessfulCommand)(results, totalTime, this.dryRun));
92
+ metricsLogger.logger.gauge('duration', totalTime);
93
+ return 0;
92
94
  }
93
- catch (_c) {
94
- this.context.stdout.write((0, renderer_1.renderInvalidDsymWarning)(dSYMPath));
95
+ finally {
96
+ yield (0, utils_2.deleteDirectory)(tmpDirectory);
95
97
  }
96
98
  }
97
- return Promise.all(dsyms);
98
- });
99
- /**
100
- * Parses the output of `dwarfdump --uuid` command (ref.: https://www.unix.com/man-page/osx/1/dwarfdump/).
101
- * It returns one or many arch slices read from the output.
102
- *
103
- * Example `dwarfdump --uuid` output:
104
- * ```
105
- * $ dwarfdump --uuid DDTest.framework.dSYM
106
- * UUID: C8469F85-B060-3085-B69D-E46C645560EA (armv7) DDTest.framework.dSYM/Contents/Resources/DWARF/DDTest
107
- * UUID: 06EE3D68-D605-3E92-B92D-2F48C02A505E (arm64) DDTest.framework.dSYM/Contents/Resources/DWARF/DDTest
108
- * ```
109
- */
110
- this.parseDwarfdumpOutput = (output) => {
111
- const lineRegexp = /UUID: ([0-9A-F]{8}-(?:[0-9A-F]{4}-){3}[0-9A-F]{12}) \(([a-z0-9_]+)\) (.+)/;
112
- return output
113
- .split('\n')
114
- .map((line) => {
115
- const match = line.match(lineRegexp);
116
- return match ? [{ arch: match[2], objectPath: match[3], uuid: match[1] }] : [];
117
- })
118
- .reduce((acc, nextSlice) => acc.concat(nextSlice), []);
119
- };
120
- /**
121
- * It takes fat dSYM as input and returns multiple dSYMs by extracting **each arch**
122
- * to separate dSYM file. New files are saved to `intermediatePath` and named by their object uuid (`<uuid>.dSYM`).
123
- *
124
- * For example, given `<source path>/Foo.dSYM/Contents/Resources/DWARF/Foo` dSYM with two arch slices: `arm64` (uuid1)
125
- * and `x86_64` (uuid2), it will:
126
- * - create `<intermediate path>/<uuid1>.dSYM/Contents/Resources/DWARF/Foo` for `arm64`,
127
- * - create `<intermediate path>/<uuid2>.dSYM/Contents/Resources/DWARF/Foo` for `x86_64`.
128
- */
129
- this.thinDSYM = (dsym, intermediatePath) => __awaiter(this, void 0, void 0, function* () {
130
- const slimmedDSYMs = [];
131
- for (const slice of dsym.slices) {
132
- try {
133
- const newDSYMBundleName = `${slice.uuid}.dSYM`;
134
- const newDSYMBundlePath = (0, utils_1.buildPath)(intermediatePath, newDSYMBundleName);
135
- const newObjectPath = (0, utils_1.buildPath)(newDSYMBundlePath, upath_1.default.relative(dsym.bundlePath, slice.objectPath));
136
- // Extract arch slice:
137
- yield fs_1.promises.mkdir(upath_1.default.dirname(newObjectPath), { recursive: true });
138
- yield (0, utils_2.executeLipo)(slice.objectPath, slice.arch, newObjectPath);
139
- // The original dSYM bundle can also include `Info.plist` file, so copy it to the `<uuid>.dSYM` as well.
140
- // Ref.: https://opensource.apple.com/source/lldb/lldb-179.1/www/symbols.html
141
- const infoPlistPath = (0, glob_1.globSync)((0, utils_1.buildPath)(dsym.bundlePath, '**/Info.plist'))[0];
142
- if (infoPlistPath) {
143
- const newInfoPlistPath = (0, utils_1.buildPath)(newDSYMBundlePath, upath_1.default.relative(dsym.bundlePath, infoPlistPath));
144
- yield fs_1.promises.mkdir(upath_1.default.dirname(newInfoPlistPath), { recursive: true });
145
- yield fs_1.promises.copyFile(infoPlistPath, newInfoPlistPath);
146
- }
147
- slimmedDSYMs.push({
148
- bundlePath: newDSYMBundlePath,
149
- slices: [{ arch: slice.arch, uuid: slice.uuid, objectPath: newObjectPath }],
150
- });
151
- }
152
- catch (_d) {
153
- this.context.stdout.write((0, renderer_1.renderDSYMSlimmingFailure)(dsym, slice));
99
+ catch (error) {
100
+ if (error instanceof errors_1.InvalidConfigurationError) {
101
+ this.context.stdout.write((0, renderer_1.renderConfigurationError)(error));
102
+ return 1;
154
103
  }
104
+ throw error;
155
105
  }
156
- return Promise.all(slimmedDSYMs);
157
- });
158
- /**
159
- * It takes `N` dSYMs and returns `N` or more dSYMs. If a dSYM includes more than one arch slice,
160
- * it will be thinned by extracting each arch to a new dSYM in `intermediatePath`.
161
- */
162
- this.thinDSYMs = (dsyms, intermediatePath) => __awaiter(this, void 0, void 0, function* () {
163
- yield fs_1.promises.mkdir(intermediatePath, { recursive: true });
164
- let slimDSYMs = [];
165
- for (const dsym of dsyms) {
166
- if (dsym.slices.length > 1) {
167
- slimDSYMs = slimDSYMs.concat(yield this.thinDSYM(dsym, intermediatePath));
106
+ finally {
107
+ try {
108
+ yield metricsLogger.flush();
168
109
  }
169
- else {
170
- slimDSYMs.push(dsym);
110
+ catch (err) {
111
+ this.context.stdout.write(`WARN: ${err}\n`);
171
112
  }
172
113
  }
173
- return Promise.all(slimDSYMs);
174
114
  });
175
115
  }
176
- execute() {
116
+ loadConfig() {
177
117
  return __awaiter(this, void 0, void 0, function* () {
178
- (0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
179
- // Normalizing the basePath to resolve .. and .
180
- this.basePath = upath_1.default.normalize(this.basePath);
181
- this.context.stdout.write((0, renderer_1.renderCommandInfo)(this.basePath, this.maxConcurrency, this.dryRun));
182
118
  this.config = yield (0, utils_1.resolveConfigFromFileAndEnvironment)(this.config, {
183
119
  apiKey: process.env.DATADOG_API_KEY,
184
120
  datadogSite: process.env.DATADOG_SITE,
@@ -189,64 +125,160 @@ class UploadCommand extends clipanion_1.Command {
189
125
  (0, validation_1.checkAPIKeyOverride)(process.env.DATADOG_API_KEY, configFromFile.apiKey, this.context.stdout);
190
126
  },
191
127
  });
192
- const metricsLogger = (0, metrics_1.getMetricsLogger)({
193
- apiKey: this.config.apiKey,
194
- datadogSite: this.config.datadogSite,
195
- defaultTags: [`cli_version:${this.cliVersion}`],
196
- prefix: 'datadog.ci.dsyms.',
197
- });
198
- const apiKeyValidator = (0, apikey_1.newApiKeyValidator)({
199
- apiKey: this.config.apiKey,
200
- datadogSite: this.config.datadogSite,
201
- metricsLogger: metricsLogger.logger,
202
- });
203
- const initialTime = Date.now();
204
- const tmpDirectory = yield (0, utils_2.createUniqueTmpDirectory)();
128
+ });
129
+ }
130
+ createServices() {
131
+ const metricsLogger = (0, metrics_1.getMetricsLogger)({
132
+ apiKey: this.config.apiKey,
133
+ datadogSite: this.config.datadogSite,
134
+ defaultTags: [`cli_version:${this.cliVersion}`],
135
+ prefix: 'datadog.ci.dsyms.',
136
+ });
137
+ const apiKeyValidator = (0, apikey_1.newApiKeyValidator)({
138
+ apiKey: this.config.apiKey,
139
+ datadogSite: this.config.datadogSite,
140
+ metricsLogger: metricsLogger.logger,
141
+ });
142
+ return { metricsLogger, apiKeyValidator };
143
+ }
144
+ processAndUploadDsyms(tmpDirectory, metricsLogger, apiKeyValidator) {
145
+ return __awaiter(this, void 0, void 0, function* () {
205
146
  const intermediateDirectory = (0, utils_1.buildPath)(tmpDirectory, 'datadog-ci', 'dsyms', 'intermediate');
206
147
  const uploadDirectory = (0, utils_1.buildPath)(tmpDirectory, 'datadog-ci', 'dsyms', 'upload');
207
148
  this.context.stdout.write((0, renderer_1.renderCommandDetail)(intermediateDirectory, uploadDirectory));
208
- // The CLI input path can be a folder or `.zip` archive with `*.dSYM` files.
209
- // In case of `.zip`, extract it to temporary location, so it can be handled the same way as folder.
210
- let dSYMsSearchDirectory = this.basePath;
149
+ const searchDirectory = yield this.prepareSearchDirectory(tmpDirectory);
150
+ const dsyms = yield this.findDsyms(searchDirectory);
151
+ const thinDsyms = yield this.processDsyms(dsyms, intermediateDirectory);
152
+ const compressedDsyms = yield this.compressDsyms(thinDsyms, uploadDirectory);
153
+ const requestBuilder = this.createRequestBuilder();
154
+ const uploadFunction = this.createUploadFunction(requestBuilder, metricsLogger, apiKeyValidator);
155
+ return (0, concurrency_1.doWithMaxConcurrency)(this.maxConcurrency, compressedDsyms, uploadFunction);
156
+ });
157
+ }
158
+ prepareSearchDirectory(tmpDirectory) {
159
+ return __awaiter(this, void 0, void 0, function* () {
211
160
  if (yield (0, utils_2.isZipFile)(this.basePath)) {
212
161
  yield (0, utils_2.unzipArchiveToDirectory)(this.basePath, tmpDirectory);
213
- dSYMsSearchDirectory = tmpDirectory;
214
- }
215
- const dsyms = yield this.findDSYMsInDirectory(dSYMsSearchDirectory);
216
- // Reduce dSYMs size by extracting arch slices from fat dSYMs to separate single-arch dSYMs in intermediate location.
217
- // This is to avoid exceeding intake limit whenever possible.
218
- const slimDSYMs = yield this.thinDSYMs(dsyms, intermediateDirectory);
219
- // Compress each dSYM into single `.zip` archive.
220
- const compressedDSYMs = yield this.compressDSYMsToDirectory(slimDSYMs, uploadDirectory);
221
- const requestBuilder = this.getRequestBuilder();
222
- const uploadDSYM = this.uploadDSYM(requestBuilder, metricsLogger, apiKeyValidator);
223
- try {
224
- const results = yield (0, concurrency_1.doWithMaxConcurrency)(this.maxConcurrency, compressedDSYMs, uploadDSYM);
225
- const totalTime = (Date.now() - initialTime) / 1000;
226
- this.context.stdout.write((0, renderer_1.renderSuccessfulCommand)(results, totalTime, this.dryRun));
227
- metricsLogger.logger.gauge('duration', totalTime);
228
- return 0;
162
+ return tmpDirectory;
229
163
  }
230
- catch (error) {
231
- if (error instanceof errors_1.InvalidConfigurationError) {
232
- this.context.stdout.write((0, renderer_1.renderConfigurationError)(error));
233
- return 1;
164
+ return this.basePath;
165
+ });
166
+ }
167
+ findDsyms(directoryPath) {
168
+ return __awaiter(this, void 0, void 0, function* () {
169
+ const dsymPaths = (0, glob_1.globSync)((0, utils_1.buildPath)(directoryPath, '**/*.dSYM'));
170
+ const results = yield Promise.all(dsymPaths.map((bundle) => __awaiter(this, void 0, void 0, function* () {
171
+ try {
172
+ const { stdout } = yield (0, utils_2.executeDwarfdump)(bundle);
173
+ const dwarf = this.parseDwarfdumpOutput(stdout);
174
+ return [{ bundle, dwarf }];
234
175
  }
235
- // Otherwise unknown error, let's propagate the exception
236
- throw error;
237
- }
238
- finally {
239
- yield (0, utils_2.deleteDirectory)(tmpDirectory);
176
+ catch (_a) {
177
+ this.context.stdout.write((0, renderer_1.renderInvalidDsymWarning)(bundle));
178
+ return [];
179
+ }
180
+ })));
181
+ return results.flat();
182
+ });
183
+ }
184
+ /**
185
+ * Parses the output of `dwarfdump --uuid` command (ref.: https://www.unix.com/man-page/osx/1/dwarfdump/).
186
+ * It returns one or many DWARF UUID and arch read from the output.
187
+ *
188
+ * Example `dwarfdump --uuid` output:
189
+ * ```
190
+ * $ dwarfdump --uuid DDTest.framework.dSYM
191
+ * UUID: C8469F85-B060-3085-B69D-E46C645560EA (armv7) DDTest.framework.dSYM/Contents/Resources/DWARF/DDTest
192
+ * UUID: 06EE3D68-D605-3E92-B92D-2F48C02A505E (arm64) DDTest.framework.dSYM/Contents/Resources/DWARF/DDTest
193
+ * ```
194
+ */
195
+ parseDwarfdumpOutput(output) {
196
+ const lineRegexp = /UUID: ([0-9A-F]{8}-(?:[0-9A-F]{4}-){3}[0-9A-F]{12}) \(([a-z0-9_]+)\) (.+)/;
197
+ return output
198
+ .split('\n')
199
+ .map((line) => {
200
+ const match = line.match(lineRegexp);
201
+ return match ? [{ uuid: match[1], arch: match[2], object: match[3] }] : [];
202
+ })
203
+ .flat();
204
+ }
205
+ /**
206
+ * It takes `N` dSYMs and returns `N` or more dSYMs. If a dSYM includes more than one arch slice,
207
+ * it will be thinned by extracting each arch to a new dSYM in `output`.
208
+ */
209
+ processDsyms(dsyms, output) {
210
+ return __awaiter(this, void 0, void 0, function* () {
211
+ yield fs_1.promises.mkdir(output, { recursive: true });
212
+ const results = yield Promise.all(dsyms.map((dsym) => __awaiter(this, void 0, void 0, function* () {
213
+ // Reduce dSYMs size by extracting single UUIDs and arch slices from fat dSYMs to separate
214
+ // single-arch dSYMs in intermediate location. This is to avoid exceeding intake limit whenever possible.
215
+ return dsym.dwarf.length > 1 ? this.thinDsym(dsym, output) : [dsym];
216
+ })));
217
+ return results.flat();
218
+ });
219
+ }
220
+ /**
221
+ * It takes fat dSYM as input and returns multiple dSYMs by extracting **each arch**
222
+ * to separate dSYM file. New files are saved to `output` and named by their object uuid (`<uuid>.dSYM`).
223
+ *
224
+ * For example, given `<source path>/Foo.dSYM/Contents/Resources/DWARF/Foo` dSYM with two arch slices: `arm64` (uuid1)
225
+ * and `x86_64` (uuid2), it will:
226
+ * - create `<intermediate path>/<uuid1>.dSYM/Contents/Resources/DWARF/Foo` for `arm64`,
227
+ * - create `<intermediate path>/<uuid2>.dSYM/Contents/Resources/DWARF/Foo` for `x86_64`.
228
+ */
229
+ thinDsym(dsym, output) {
230
+ return __awaiter(this, void 0, void 0, function* () {
231
+ const results = yield Promise.all(dsym.dwarf.map((dwarf) => __awaiter(this, void 0, void 0, function* () {
240
232
  try {
241
- yield metricsLogger.flush();
233
+ const bundle = (0, utils_1.buildPath)(output, `${dwarf.uuid}.dSYM`);
234
+ const object = (0, utils_1.buildPath)(bundle, upath_1.default.relative(dsym.bundle, dwarf.object));
235
+ yield fs_1.promises.mkdir(upath_1.default.dirname(object), { recursive: true });
236
+ try {
237
+ // Attempt to extract the single arch object file.
238
+ // We could use the `lipo -archs` command to get the list of archs,
239
+ // but it's more straightforward to just attempt to extract
240
+ // the single arch.
241
+ yield (0, utils_2.executeLipo)(dwarf.object, dwarf.arch, object);
242
+ }
243
+ catch (_a) {
244
+ // The thinning using `lipo` failed, meaning the dSYM is already
245
+ // a single arch dSYM. Copy the object file to the new dSYM.
246
+ yield fs_1.promises.copyFile(dwarf.object, object);
247
+ }
248
+ yield this.copyInfoPlist(dsym.bundle, bundle);
249
+ return [{ bundle, dwarf: [Object.assign(Object.assign({}, dwarf), { object })] }];
242
250
  }
243
- catch (err) {
244
- this.context.stdout.write(`WARN: ${err}\n`);
251
+ catch (error) {
252
+ this.context.stdout.write((0, renderer_1.renderDSYMSlimmingFailure)(dsym, dwarf, error));
253
+ return [];
245
254
  }
255
+ })));
256
+ return results.flat();
257
+ });
258
+ }
259
+ copyInfoPlist(src, dst) {
260
+ return __awaiter(this, void 0, void 0, function* () {
261
+ const infoPlistPaths = (0, glob_1.globSync)((0, utils_1.buildPath)(src, '**/Info.plist'));
262
+ if (infoPlistPaths.length === 0) {
263
+ return;
246
264
  }
265
+ const infoPlistPath = infoPlistPaths[0];
266
+ const newInfoPlistPath = (0, utils_1.buildPath)(dst, upath_1.default.relative(src, infoPlistPath));
267
+ yield fs_1.promises.mkdir(upath_1.default.dirname(newInfoPlistPath), { recursive: true });
268
+ yield fs_1.promises.copyFile(infoPlistPath, newInfoPlistPath);
269
+ });
270
+ }
271
+ compressDsyms(dsyms, output) {
272
+ return __awaiter(this, void 0, void 0, function* () {
273
+ yield fs_1.promises.mkdir(output, { recursive: true });
274
+ return Promise.all(dsyms.map((dsym) => __awaiter(this, void 0, void 0, function* () {
275
+ const archivePath = (0, utils_1.buildPath)(output, `${dsym.dwarf[0].uuid}.zip`);
276
+ yield (0, utils_2.zipDirectoryToArchive)(dsym.bundle, archivePath);
277
+ return new interfaces_1.CompressedDsym(archivePath, dsym);
278
+ })));
247
279
  });
248
280
  }
249
- getRequestBuilder() {
281
+ createRequestBuilder() {
250
282
  if (!this.config.apiKey) {
251
283
  throw new errors_1.InvalidConfigurationError(`Missing ${chalk_1.default.bold('DATADOG_API_KEY')} in your environment.`);
252
284
  }
@@ -260,25 +292,25 @@ class UploadCommand extends clipanion_1.Command {
260
292
  overrideUrl: 'api/v2/srcmap',
261
293
  });
262
294
  }
263
- uploadDSYM(requestBuilder, metricsLogger, apiKeyValidator) {
264
- return (dSYM) => __awaiter(this, void 0, void 0, function* () {
265
- const payload = dSYM.asMultipartPayload();
295
+ createUploadFunction(requestBuilder, metricsLogger, apiKeyValidator) {
296
+ return (dsym) => __awaiter(this, void 0, void 0, function* () {
297
+ const payload = dsym.asMultipartPayload();
266
298
  if (this.dryRun) {
267
- this.context.stdout.write(`[DRYRUN] ${(0, renderer_1.renderUpload)(dSYM)}`);
299
+ this.context.stdout.write(`[DRYRUN] ${(0, renderer_1.renderUpload)(dsym)}`);
268
300
  return upload_1.UploadStatus.Success;
269
301
  }
270
302
  return (0, upload_1.upload)(requestBuilder)(payload, {
271
303
  apiKeyValidator,
272
304
  onError: (e) => {
273
- this.context.stdout.write((0, renderer_1.renderFailedUpload)(dSYM, e.message));
305
+ this.context.stdout.write((0, renderer_1.renderFailedUpload)(dsym, e.message));
274
306
  metricsLogger.logger.increment('failed', 1);
275
307
  },
276
308
  onRetry: (e, attempts) => {
277
- this.context.stdout.write((0, renderer_1.renderRetriedUpload)(dSYM, e.message, attempts));
309
+ this.context.stdout.write((0, renderer_1.renderRetriedUpload)(dsym, e.message, attempts));
278
310
  metricsLogger.logger.increment('retries', 1);
279
311
  },
280
312
  onUpload: () => {
281
- this.context.stdout.write((0, renderer_1.renderUpload)(dSYM));
313
+ this.context.stdout.write((0, renderer_1.renderUpload)(dsym));
282
314
  },
283
315
  retries: 5,
284
316
  });
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/dsyms/upload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/dsyms/upload.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { SpanTags } from '../../helpers/interfaces';
2
- export declare const getBaseUrl: () => string;
3
- export declare const getTestRunsUrl: (spanTags: SpanTags) => string;
2
+ export declare const getTestRunsUrlPath: (spanTags: SpanTags, queryPrefix?: string) => string;
3
+ export declare const getTestRunsUrl: (spanTags: SpanTags, queryPrefix?: string) => string;
4
4
  export declare const getTestCommitRedirectURL: (spanTags: SpanTags, service?: string, env?: string) => string;
@@ -1,26 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTestCommitRedirectURL = exports.getTestRunsUrl = exports.getBaseUrl = void 0;
3
+ exports.getTestCommitRedirectURL = exports.getTestRunsUrl = exports.getTestRunsUrlPath = void 0;
4
4
  const app_1 = require("../../helpers/app");
5
5
  const tags_1 = require("../../helpers/tags");
6
- const getBaseUrl = () => {
7
- const site = process.env.DATADOG_SITE || process.env.DD_SITE || 'datadoghq.com';
8
- const subdomain = process.env.DD_SUBDOMAIN || '';
9
- return (0, app_1.getCommonAppBaseURL)(site, subdomain);
10
- };
11
- exports.getBaseUrl = getBaseUrl;
12
- const getTestRunsUrl = (spanTags) => {
6
+ const getTestRunsUrlPath = (spanTags, queryPrefix = '') => {
13
7
  if (!spanTags[tags_1.CI_PIPELINE_URL] && !spanTags[tags_1.CI_JOB_URL]) {
14
8
  return '';
15
9
  }
16
- let query = '';
10
+ let query = queryPrefix;
17
11
  if (spanTags[tags_1.CI_JOB_URL]) {
18
12
  query += ` @ci.job.url:"${spanTags[tags_1.CI_JOB_URL]}"`;
19
13
  }
20
14
  else if (spanTags[tags_1.CI_PIPELINE_URL]) {
21
15
  query += ` @ci.pipeline.url:"${spanTags[tags_1.CI_PIPELINE_URL]}"`;
22
16
  }
23
- return `${(0, exports.getBaseUrl)()}ci/test-runs?query=${encodeURIComponent(query)}`;
17
+ return `ci/test-runs?query=${encodeURIComponent(query)}`;
18
+ };
19
+ exports.getTestRunsUrlPath = getTestRunsUrlPath;
20
+ const getTestRunsUrl = (spanTags, queryPrefix = '') => {
21
+ return `${(0, app_1.getBaseUrl)()}/${(0, exports.getTestRunsUrlPath)(spanTags, queryPrefix)}`;
24
22
  };
25
23
  exports.getTestRunsUrl = getTestRunsUrl;
26
24
  const getTestCommitRedirectURL = (spanTags, service, env) => {
@@ -31,7 +29,7 @@ const getTestCommitRedirectURL = (spanTags, service, env) => {
31
29
  const encodedService = encodeURIComponent(service);
32
30
  const encodedBranch = encodeURIComponent(`${spanTags[tags_1.GIT_BRANCH]}`);
33
31
  const commitSha = `${spanTags[tags_1.GIT_SHA]}`;
34
- let url = `${(0, exports.getBaseUrl)()}ci/redirect/tests/${encodedRepoUrl}/-/${encodedService}/-/${encodedBranch}/-/${commitSha}`;
32
+ let url = `${(0, app_1.getBaseUrl)()}ci/redirect/tests/${encodedRepoUrl}/-/${encodedService}/-/${encodedBranch}/-/${commitSha}`;
35
33
  if (env) {
36
34
  url += `?env=${encodeURIComponent(env)}`;
37
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/junit/utils.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAErD,6CAAuG;AAEhG,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe,CAAA;IAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAA;IAEhD,OAAO,IAAA,yBAAmB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AAC7C,CAAC,CAAA;AALY,QAAA,UAAU,cAKtB;AAEM,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAU,EAAE;IAC3D,IAAI,CAAC,QAAQ,CAAC,sBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAU,CAAC,EAAE;QACvD,OAAO,EAAE,CAAA;KACV;IAED,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,QAAQ,CAAC,iBAAU,CAAC,EAAE;QACxB,KAAK,IAAI,iBAAiB,QAAQ,CAAC,iBAAU,CAAC,GAAG,CAAA;KAClD;SAAM,IAAI,QAAQ,CAAC,sBAAe,CAAC,EAAE;QACpC,KAAK,IAAI,sBAAsB,QAAQ,CAAC,sBAAe,CAAC,GAAG,CAAA;KAC5D;IAED,OAAO,GAAG,IAAA,kBAAU,GAAE,sBAAsB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAA;AACzE,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAEM,MAAM,wBAAwB,GAAG,CAAC,QAAkB,EAAE,OAAgB,EAAE,GAAY,EAAU,EAAE;IACrG,IAAI,CAAC,QAAQ,CAAC,yBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAO,CAAC,IAAI,CAAC,OAAO,EAAE;QAC5F,OAAO,EAAE,CAAA;KACV;IAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,QAAQ,CAAC,yBAAkB,CAAC,EAAE,CAAC,CAAA;IAC5E,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,QAAQ,CAAC,iBAAU,CAAC,EAAE,CAAC,CAAA;IACnE,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC,cAAO,CAAC,EAAE,CAAA;IAExC,IAAI,GAAG,GAAG,GAAG,IAAA,kBAAU,GAAE,qBAAqB,cAAc,MAAM,cAAc,MAAM,aAAa,MAAM,SAAS,EAAE,CAAA;IACpH,IAAI,GAAG,EAAE;QACP,GAAG,IAAI,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAA;KACzC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAhBY,QAAA,wBAAwB,4BAgBpC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/junit/utils.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAE5C,6CAAuG;AAEhG,MAAM,kBAAkB,GAAG,CAAC,QAAkB,EAAE,WAAW,GAAG,EAAE,EAAU,EAAE;IACjF,IAAI,CAAC,QAAQ,CAAC,sBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAU,CAAC,EAAE;QACvD,OAAO,EAAE,CAAA;KACV;IAED,IAAI,KAAK,GAAG,WAAW,CAAA;IACvB,IAAI,QAAQ,CAAC,iBAAU,CAAC,EAAE;QACxB,KAAK,IAAI,iBAAiB,QAAQ,CAAC,iBAAU,CAAC,GAAG,CAAA;KAClD;SAAM,IAAI,QAAQ,CAAC,sBAAe,CAAC,EAAE;QACpC,KAAK,IAAI,sBAAsB,QAAQ,CAAC,sBAAe,CAAC,GAAG,CAAA;KAC5D;IAED,OAAO,sBAAsB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAA;AAC1D,CAAC,CAAA;AAbY,QAAA,kBAAkB,sBAa9B;AAEM,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,WAAW,GAAG,EAAE,EAAU,EAAE;IAC7E,OAAO,GAAG,IAAA,gBAAU,GAAE,IAAI,IAAA,0BAAkB,EAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAA;AACvE,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B;AAEM,MAAM,wBAAwB,GAAG,CAAC,QAAkB,EAAE,OAAgB,EAAE,GAAY,EAAU,EAAE;IACrG,IAAI,CAAC,QAAQ,CAAC,yBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAO,CAAC,IAAI,CAAC,OAAO,EAAE;QAC5F,OAAO,EAAE,CAAA;KACV;IAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,QAAQ,CAAC,yBAAkB,CAAC,EAAE,CAAC,CAAA;IAC5E,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,QAAQ,CAAC,iBAAU,CAAC,EAAE,CAAC,CAAA;IACnE,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC,cAAO,CAAC,EAAE,CAAA;IAExC,IAAI,GAAG,GAAG,GAAG,IAAA,gBAAU,GAAE,qBAAqB,cAAc,MAAM,cAAc,MAAM,aAAa,MAAM,SAAS,EAAE,CAAA;IACpH,IAAI,GAAG,EAAE;QACP,GAAG,IAAI,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAA;KACzC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAhBY,QAAA,wBAAwB,4BAgBpC"}
@@ -50,13 +50,10 @@ export declare const CORECLR_PROFILER_PATH = "/opt/datadog/Datadog.Trace.ClrProf
50
50
  export declare const DD_DOTNET_TRACER_HOME = "/opt/datadog";
51
51
  export declare const API_KEY_SECRET_ARN_ENV_VAR = "DD_API_KEY_SECRET_ARN";
52
52
  export declare const KMS_API_KEY_ENV_VAR = "DD_KMS_API_KEY";
53
- export declare const TRACE_ENABLED_ENV_VAR = "DD_TRACE_ENABLED";
54
53
  export declare const MERGE_XRAY_TRACES_ENV_VAR = "DD_MERGE_XRAY_TRACES";
55
54
  export declare const FLUSH_TO_LOG_ENV_VAR = "DD_FLUSH_TO_LOG";
56
- export declare const LOG_LEVEL_ENV_VAR = "DD_LOG_LEVEL";
57
55
  export declare const LOG_ENABLED_ENV_VAR = "DD_SERVERLESS_LOGS_ENABLED";
58
56
  export declare const LAMBDA_HANDLER_ENV_VAR = "DD_LAMBDA_HANDLER";
59
- export declare const EXTRA_TAGS_ENV_VAR = "DD_TAGS";
60
57
  export declare const CAPTURE_LAMBDA_PAYLOAD_ENV_VAR = "DD_CAPTURE_LAMBDA_PAYLOAD";
61
58
  export declare const APM_FLUSH_DEADLINE_MILLISECONDS_ENV_VAR = "DD_APM_FLUSH_DEADLINE_MILLISECONDS";
62
59
  export declare const APPSEC_ENABLED_ENV_VAR = "DD_SERVERLESS_APPSEC_ENABLED";
@@ -64,9 +61,6 @@ export declare const ENABLE_PROFILING_ENV_VAR = "CORECLR_ENABLE_PROFILING";
64
61
  export declare const PROFILER_ENV_VAR = "CORECLR_PROFILER";
65
62
  export declare const PROFILER_PATH_ENV_VAR = "CORECLR_PROFILER_PATH";
66
63
  export declare const DOTNET_TRACER_HOME_ENV_VAR = "DD_DOTNET_TRACER_HOME";
67
- export declare const DD_LLMOBS_ENABLED_ENV_VAR = "DD_LLMOBS_ENABLED";
68
- export declare const DD_LLMOBS_ML_APP_ENV_VAR = "DD_LLMOBS_ML_APP";
69
- export declare const DD_LLMOBS_AGENTLESS_ENABLED_ENV_VAR = "DD_LLMOBS_AGENTLESS_ENABLED";
70
64
  export declare const CI_API_KEY_SECRET_ARN_ENV_VAR = "DATADOG_API_KEY_SECRET_ARN";
71
65
  export declare const CI_KMS_API_KEY_ENV_VAR = "DATADOG_KMS_API_KEY";
72
66
  export declare const AWS_ACCESS_KEY_ID_ENV_VAR = "AWS_ACCESS_KEY_ID";
@@ -74,7 +68,6 @@ export declare const AWS_SECRET_ACCESS_KEY_ENV_VAR = "AWS_SECRET_ACCESS_KEY";
74
68
  export declare const AWS_DEFAULT_REGION_ENV_VAR = "AWS_DEFAULT_REGION";
75
69
  export declare const AWS_SESSION_TOKEN_ENV_VAR = "AWS_SESSION_TOKEN";
76
70
  export declare const AWS_SHARED_CREDENTIALS_FILE_ENV_VAR = "AWS_SHARED_CREDENTIALS_FILE";
77
- export declare const EXTRA_TAGS_REG_EXP: RegExp;
78
71
  export declare const AWS_ACCESS_KEY_ID_REG_EXP: RegExp;
79
72
  export declare const AWS_SECRET_ACCESS_KEY_REG_EXP: RegExp;
80
73
  export declare const AWS_SECRET_ARN_REG_EXP: RegExp;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AWS_SECRET_ARN_REG_EXP = exports.AWS_SECRET_ACCESS_KEY_REG_EXP = exports.AWS_ACCESS_KEY_ID_REG_EXP = exports.EXTRA_TAGS_REG_EXP = exports.AWS_SHARED_CREDENTIALS_FILE_ENV_VAR = exports.AWS_SESSION_TOKEN_ENV_VAR = exports.AWS_DEFAULT_REGION_ENV_VAR = exports.AWS_SECRET_ACCESS_KEY_ENV_VAR = exports.AWS_ACCESS_KEY_ID_ENV_VAR = exports.CI_KMS_API_KEY_ENV_VAR = exports.CI_API_KEY_SECRET_ARN_ENV_VAR = exports.DD_LLMOBS_AGENTLESS_ENABLED_ENV_VAR = exports.DD_LLMOBS_ML_APP_ENV_VAR = exports.DD_LLMOBS_ENABLED_ENV_VAR = exports.DOTNET_TRACER_HOME_ENV_VAR = exports.PROFILER_PATH_ENV_VAR = exports.PROFILER_ENV_VAR = exports.ENABLE_PROFILING_ENV_VAR = exports.APPSEC_ENABLED_ENV_VAR = exports.APM_FLUSH_DEADLINE_MILLISECONDS_ENV_VAR = exports.CAPTURE_LAMBDA_PAYLOAD_ENV_VAR = exports.EXTRA_TAGS_ENV_VAR = exports.LAMBDA_HANDLER_ENV_VAR = exports.LOG_ENABLED_ENV_VAR = exports.LOG_LEVEL_ENV_VAR = exports.FLUSH_TO_LOG_ENV_VAR = exports.MERGE_XRAY_TRACES_ENV_VAR = exports.TRACE_ENABLED_ENV_VAR = exports.KMS_API_KEY_ENV_VAR = exports.API_KEY_SECRET_ARN_ENV_VAR = exports.DD_DOTNET_TRACER_HOME = exports.CORECLR_PROFILER_PATH = exports.CORECLR_PROFILER = exports.CORECLR_ENABLE_PROFILING = exports.AWS_LAMBDA_EXEC_WRAPPER = exports.AWS_LAMBDA_EXEC_WRAPPER_VAR = exports.TAG_VERSION_NAME = exports.SUBSCRIPTION_FILTER_NAME = exports.GOVCLOUD_LAYER_AWS_ACCOUNT = exports.DEFAULT_LAYER_AWS_ACCOUNT = exports.NODE_HANDLER_LOCATION = exports.PYTHON_HANDLER_LOCATION = exports.ARM_LAYER_SUFFIX = exports.ARM64_ARCHITECTURE = exports.ARM_LAYERS = exports.RUNTIME_LOOKUP = exports.RuntimeType = exports.LAYER_LOOKUP = exports.EXTENSION_LAYER_KEY = exports.DD_LAMBDA_EXTENSION_LAYER_NAME = void 0;
4
- exports.EXPONENTIAL_BACKOFF_RETRY_STRATEGY = exports.LAMBDA_PROJECT_FILES = exports.FRAMEWORK_FILES_MAPPING = exports.DeploymentFrameworks = exports.SKIP_MASKING_LAMBDA_ENV_VARS = exports.DATADOG_APP_KEY_REG_EXP = exports.DATADOG_API_KEY_REG_EXP = void 0;
3
+ exports.EXPONENTIAL_BACKOFF_RETRY_STRATEGY = exports.LAMBDA_PROJECT_FILES = exports.FRAMEWORK_FILES_MAPPING = exports.DeploymentFrameworks = exports.SKIP_MASKING_LAMBDA_ENV_VARS = exports.DATADOG_APP_KEY_REG_EXP = exports.DATADOG_API_KEY_REG_EXP = exports.AWS_SECRET_ARN_REG_EXP = exports.AWS_SECRET_ACCESS_KEY_REG_EXP = exports.AWS_ACCESS_KEY_ID_REG_EXP = exports.AWS_SHARED_CREDENTIALS_FILE_ENV_VAR = exports.AWS_SESSION_TOKEN_ENV_VAR = exports.AWS_DEFAULT_REGION_ENV_VAR = exports.AWS_SECRET_ACCESS_KEY_ENV_VAR = exports.AWS_ACCESS_KEY_ID_ENV_VAR = exports.CI_KMS_API_KEY_ENV_VAR = exports.CI_API_KEY_SECRET_ARN_ENV_VAR = exports.DOTNET_TRACER_HOME_ENV_VAR = exports.PROFILER_PATH_ENV_VAR = exports.PROFILER_ENV_VAR = exports.ENABLE_PROFILING_ENV_VAR = exports.APPSEC_ENABLED_ENV_VAR = exports.APM_FLUSH_DEADLINE_MILLISECONDS_ENV_VAR = exports.CAPTURE_LAMBDA_PAYLOAD_ENV_VAR = exports.LAMBDA_HANDLER_ENV_VAR = exports.LOG_ENABLED_ENV_VAR = exports.FLUSH_TO_LOG_ENV_VAR = exports.MERGE_XRAY_TRACES_ENV_VAR = exports.KMS_API_KEY_ENV_VAR = exports.API_KEY_SECRET_ARN_ENV_VAR = exports.DD_DOTNET_TRACER_HOME = exports.CORECLR_PROFILER_PATH = exports.CORECLR_PROFILER = exports.CORECLR_ENABLE_PROFILING = exports.AWS_LAMBDA_EXEC_WRAPPER = exports.AWS_LAMBDA_EXEC_WRAPPER_VAR = exports.TAG_VERSION_NAME = exports.SUBSCRIPTION_FILTER_NAME = exports.GOVCLOUD_LAYER_AWS_ACCOUNT = exports.DEFAULT_LAYER_AWS_ACCOUNT = exports.NODE_HANDLER_LOCATION = exports.PYTHON_HANDLER_LOCATION = exports.ARM_LAYER_SUFFIX = exports.ARM64_ARCHITECTURE = exports.ARM_LAYERS = exports.RUNTIME_LOOKUP = exports.RuntimeType = exports.LAYER_LOOKUP = exports.EXTENSION_LAYER_KEY = exports.DD_LAMBDA_EXTENSION_LAYER_NAME = void 0;
5
4
  const util_retry_1 = require("@smithy/util-retry");
6
5
  const constants_1 = require("../../constants");
7
6
  exports.DD_LAMBDA_EXTENSION_LAYER_NAME = 'Datadog-Extension';
@@ -91,13 +90,10 @@ exports.DD_DOTNET_TRACER_HOME = '/opt/datadog';
91
90
  // Environment variables used in the Lambda environment
92
91
  exports.API_KEY_SECRET_ARN_ENV_VAR = 'DD_API_KEY_SECRET_ARN';
93
92
  exports.KMS_API_KEY_ENV_VAR = 'DD_KMS_API_KEY';
94
- exports.TRACE_ENABLED_ENV_VAR = 'DD_TRACE_ENABLED';
95
93
  exports.MERGE_XRAY_TRACES_ENV_VAR = 'DD_MERGE_XRAY_TRACES';
96
94
  exports.FLUSH_TO_LOG_ENV_VAR = 'DD_FLUSH_TO_LOG';
97
- exports.LOG_LEVEL_ENV_VAR = 'DD_LOG_LEVEL';
98
95
  exports.LOG_ENABLED_ENV_VAR = 'DD_SERVERLESS_LOGS_ENABLED';
99
96
  exports.LAMBDA_HANDLER_ENV_VAR = 'DD_LAMBDA_HANDLER';
100
- exports.EXTRA_TAGS_ENV_VAR = 'DD_TAGS';
101
97
  exports.CAPTURE_LAMBDA_PAYLOAD_ENV_VAR = 'DD_CAPTURE_LAMBDA_PAYLOAD';
102
98
  exports.APM_FLUSH_DEADLINE_MILLISECONDS_ENV_VAR = 'DD_APM_FLUSH_DEADLINE_MILLISECONDS';
103
99
  exports.APPSEC_ENABLED_ENV_VAR = 'DD_SERVERLESS_APPSEC_ENABLED';
@@ -105,9 +101,6 @@ exports.ENABLE_PROFILING_ENV_VAR = 'CORECLR_ENABLE_PROFILING';
105
101
  exports.PROFILER_ENV_VAR = 'CORECLR_PROFILER';
106
102
  exports.PROFILER_PATH_ENV_VAR = 'CORECLR_PROFILER_PATH';
107
103
  exports.DOTNET_TRACER_HOME_ENV_VAR = 'DD_DOTNET_TRACER_HOME';
108
- exports.DD_LLMOBS_ENABLED_ENV_VAR = 'DD_LLMOBS_ENABLED';
109
- exports.DD_LLMOBS_ML_APP_ENV_VAR = 'DD_LLMOBS_ML_APP';
110
- exports.DD_LLMOBS_AGENTLESS_ENABLED_ENV_VAR = 'DD_LLMOBS_AGENTLESS_ENABLED';
111
104
  // Environment variables used by Datadog CI
112
105
  exports.CI_API_KEY_SECRET_ARN_ENV_VAR = 'DATADOG_API_KEY_SECRET_ARN';
113
106
  exports.CI_KMS_API_KEY_ENV_VAR = 'DATADOG_KMS_API_KEY';
@@ -116,11 +109,6 @@ exports.AWS_SECRET_ACCESS_KEY_ENV_VAR = 'AWS_SECRET_ACCESS_KEY';
116
109
  exports.AWS_DEFAULT_REGION_ENV_VAR = 'AWS_DEFAULT_REGION';
117
110
  exports.AWS_SESSION_TOKEN_ENV_VAR = 'AWS_SESSION_TOKEN';
118
111
  exports.AWS_SHARED_CREDENTIALS_FILE_ENV_VAR = 'AWS_SHARED_CREDENTIALS_FILE';
119
- // DD_TAGS Regular Expression
120
- // This RegExp ensures that the --extra-tags string
121
- // matches a list of <key>:<value> separated by commas
122
- // such as: layer:api,team:intake
123
- exports.EXTRA_TAGS_REG_EXP = /^(([a-zA-Z]+)[\w\-/\.]*:[^,]+)+((\,)([a-zA-Z]+)[\w\-/\.]*:[^,]+)*$/g;
124
112
  exports.AWS_ACCESS_KEY_ID_REG_EXP = /(?<![A-Z0-9])[A-Z0-9]{20}(?![A-Z0-9])/g;
125
113
  exports.AWS_SECRET_ACCESS_KEY_REG_EXP = /(?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=])/g;
126
114
  exports.AWS_SECRET_ARN_REG_EXP = /arn:aws:secretsmanager:[\w-]+:\d{12}:secret:.+/;
@@ -132,9 +120,9 @@ exports.SKIP_MASKING_LAMBDA_ENV_VARS = new Set([
132
120
  exports.API_KEY_SECRET_ARN_ENV_VAR,
133
121
  exports.DOTNET_TRACER_HOME_ENV_VAR,
134
122
  constants_1.ENVIRONMENT_ENV_VAR,
135
- exports.EXTRA_TAGS_ENV_VAR,
123
+ constants_1.DD_TAGS_ENV_VAR,
136
124
  exports.LAMBDA_HANDLER_ENV_VAR,
137
- exports.LOG_LEVEL_ENV_VAR,
125
+ constants_1.DD_LOG_LEVEL_ENV_VAR,
138
126
  exports.KMS_API_KEY_ENV_VAR,
139
127
  exports.PROFILER_ENV_VAR,
140
128
  exports.PROFILER_PATH_ENV_VAR,