airbyte-faros-destination 0.9.60 → 0.9.62

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.
@@ -6,9 +6,9 @@ export declare class Tests extends CircleCIConverter {
6
6
  private skipWritingTestCases;
7
7
  private readonly testCases;
8
8
  private readonly testSuites;
9
- private readonly testExecutionCommits;
10
- private readonly testExecutions;
11
9
  private readonly testCaseResults;
10
+ private currentTestExecution?;
11
+ private currentTestExecutionCommit?;
12
12
  convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
13
13
  onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
14
14
  convertTestStatus(testResult: string): {
@@ -17,12 +17,12 @@ class Tests extends common_1.CircleCIConverter {
17
17
  this.skipWritingTestCases = undefined;
18
18
  this.testCases = new Set();
19
19
  this.testSuites = new Set();
20
- this.testExecutionCommits = new Set();
21
- this.testExecutions = {};
22
20
  this.testCaseResults = new Set();
21
+ this.currentTestExecution = undefined;
22
+ this.currentTestExecutionCommit = undefined;
23
23
  }
24
24
  async convert(record, ctx) {
25
- var _a, _b;
25
+ var _a, _b, _c;
26
26
  if (this.skipWritingTestCases === undefined) {
27
27
  const skipWritingTestCases = (_a = this.circleCIConfig(ctx)) === null || _a === void 0 ? void 0 : _a.skip_writing_test_cases;
28
28
  this.skipWritingTestCases =
@@ -63,20 +63,6 @@ class Tests extends common_1.CircleCIConverter {
63
63
  });
64
64
  this.testCases.add(testCaseUid);
65
65
  }
66
- // Write the test case result on every test outcome
67
- const testCaseResultStatus = this.convertTestStatus(test.result);
68
- if (!this.skipWritingTestCases) {
69
- res.push({
70
- model: 'qa_TestCaseResult',
71
- record: {
72
- uid: testCaseResultUid,
73
- description: (_b = test.message) === null || _b === void 0 ? void 0 : _b.substring(0, 256),
74
- status: testCaseResultStatus,
75
- testCase: { uid: testCaseUid, source },
76
- testExecution: { uid: testExecutionUid, source },
77
- },
78
- });
79
- }
80
66
  // Write the test suite only once
81
67
  if (!this.testSuites.has(testSuiteUid)) {
82
68
  res.push({
@@ -90,19 +76,35 @@ class Tests extends common_1.CircleCIConverter {
90
76
  });
91
77
  this.testSuites.add(testSuiteUid);
92
78
  }
93
- // Write the commit association only once
94
- if (!this.testExecutionCommits.has(testExecutionUid)) {
79
+ // Write the test case result on every test outcome
80
+ const testCaseResultStatus = this.convertTestStatus(test.result);
81
+ if (!this.skipWritingTestCases) {
95
82
  res.push({
96
- model: 'qa_TestExecutionCommitAssociation',
83
+ model: 'qa_TestCaseResult',
97
84
  record: {
85
+ uid: testCaseResultUid,
86
+ description: (_b = test.message) === null || _b === void 0 ? void 0 : _b.substring(0, 256),
87
+ status: testCaseResultStatus,
88
+ testCase: { uid: testCaseUid, source },
98
89
  testExecution: { uid: testExecutionUid, source },
99
- commit: common_1.CircleCICommon.getCommitKey(test.pipeline_vcs, test.project_slug),
100
90
  },
101
91
  });
102
- this.testExecutionCommits.add(testExecutionUid);
103
92
  }
104
- if (!(testExecutionUid in this.testExecutions)) {
105
- this.testExecutions[testExecutionUid] = {
93
+ // Aggragate info about a single test execution until a new one is detected
94
+ // then write the aggragated info and start fresh with new test execution
95
+ // Note: Assumes records are processed in order
96
+ if (((_c = this.currentTestExecution) === null || _c === void 0 ? void 0 : _c.uid) !== testExecutionUid) {
97
+ if (this.currentTestExecution && this.currentTestExecutionCommit) {
98
+ res.push({
99
+ model: 'qa_TestExecution',
100
+ record: this.currentTestExecution,
101
+ });
102
+ res.push({
103
+ model: 'qa_TestExecutionCommitAssociation',
104
+ record: this.currentTestExecutionCommit,
105
+ });
106
+ }
107
+ this.currentTestExecution = {
106
108
  uid: testExecutionUid,
107
109
  name: `${test.workflow_name} - ${test.job_number}`,
108
110
  source,
@@ -120,34 +122,46 @@ class Tests extends common_1.CircleCIConverter {
120
122
  suite: { uid: testSuiteUid, source },
121
123
  build: common_1.CircleCICommon.getBuildKey(test.workflow_id, test.pipeline_id, test.project_slug, source),
122
124
  };
123
- }
124
- // Update test execution status & stats
125
- const te = this.testExecutions[testExecutionUid];
126
- if (testCaseResultStatus.category === 'Failure') {
127
- te.status = { category: 'Failure', detail: null };
128
- te.testCaseResultsStats.failure += 1;
129
- }
130
- else if (testCaseResultStatus.category === 'Success') {
131
- te.testCaseResultsStats.success += 1;
132
- }
133
- else if (testCaseResultStatus.category === 'Skipped') {
134
- te.testCaseResultsStats.skipped += 1;
135
- }
136
- else if (testCaseResultStatus.category === 'Custom') {
137
- te.testCaseResultsStats.custom += 1;
125
+ this.currentTestExecutionCommit = {
126
+ testExecution: { uid: testExecutionUid, source },
127
+ commit: common_1.CircleCICommon.getCommitKey(test.pipeline_vcs, test.project_slug),
128
+ };
129
+ // Reset test case results set
130
+ this.testCaseResults.clear();
138
131
  }
139
132
  else {
140
- te.testCaseResultsStats.unknown += 1;
133
+ if (testCaseResultStatus.category === 'Failure') {
134
+ this.currentTestExecution.status = { category: 'Failure', detail: null };
135
+ this.currentTestExecution.testCaseResultsStats.failure += 1;
136
+ }
137
+ else if (testCaseResultStatus.category === 'Success') {
138
+ this.currentTestExecution.testCaseResultsStats.success += 1;
139
+ }
140
+ else if (testCaseResultStatus.category === 'Skipped') {
141
+ this.currentTestExecution.testCaseResultsStats.skipped += 1;
142
+ }
143
+ else if (testCaseResultStatus.category === 'Custom') {
144
+ this.currentTestExecution.testCaseResultsStats.custom += 1;
145
+ }
146
+ else {
147
+ this.currentTestExecution.testCaseResultsStats.unknown += 1;
148
+ }
149
+ this.currentTestExecution.testCaseResultsStats.total += 1;
141
150
  }
142
- te.testCaseResultsStats.total += 1;
143
151
  return res;
144
152
  }
145
153
  async onProcessingComplete(ctx) {
146
154
  ctx.logger.info('tests - onProcessingComplete');
155
+ ctx.logger.info('writing final test execution and commit association');
147
156
  const res = [];
148
- for (const record of Object.values(this.testExecutions)) {
149
- res.push({ model: 'qa_TestExecution', record });
150
- }
157
+ res.push({
158
+ model: 'qa_TestExecution',
159
+ record: this.currentTestExecution,
160
+ });
161
+ res.push({
162
+ model: 'qa_TestExecutionCommitAssociation',
163
+ record: this.currentTestExecutionCommit,
164
+ });
151
165
  return res;
152
166
  }
153
167
  convertTestStatus(testResult) {
@@ -1 +1 @@
1
- {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../../src/converters/circleci/tests.ts"],"names":[],"mappings":";;;AACA,qDAAsC;AAItC,qCAA2D;AAG3D,MAAa,KAAM,SAAQ,0BAAiB;IAA5C;;QACW,sBAAiB,GAAoC;YAC5D,cAAc;YACd,iCAAiC;YACjC,aAAa;YACb,kBAAkB;YAClB,mBAAmB;YACnB,mCAAmC;SACpC,CAAC;QAEM,yBAAoB,GAAwB,SAAS,CAAC;QAC7C,cAAS,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC3C,eAAU,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC5C,yBAAoB,GAAgB,IAAI,GAAG,EAAU,CAAC;QACtD,mBAAc,GAAoB,EAAE,CAAC;QACrC,oBAAe,GAAgB,IAAI,GAAG,EAAU,CAAC;IAoLpE,CAAC;IAlLC,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;;QAElB,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,oBAAoB,GACxB,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,0CAAE,uBAAuB,CAAC;YACpD,IAAI,CAAC,oBAAoB;gBACvB,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAoB,CAAC;QAChD,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QACrF,MAAM,WAAW,GAAG,GAAG,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,GAAG,WAAW,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3D,MAAM,gBAAgB,GAAG,GAAG,YAAY,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAE3D,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,uDAAuD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,YAAY,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,GAAG,CACvI,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE5C,qDAAqD;QACrD,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE;oBACN,GAAG,EAAE,WAAW;oBAChB,IAAI,EAAE,GAAG,uBAAc,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE;oBACrE,WAAW,EAAE,IAAI,CAAC,IAAI;wBACpB,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE;wBACnC,CAAC,CAAC,IAAI,CAAC,SAAS;oBAClB,MAAM;oBACN,IAAI,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAC;iBAC9C;aACF,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,iCAAiC;gBACxC,MAAM,EAAE;oBACN,SAAS,EAAE,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAC;oBACtC,QAAQ,EAAE,EAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAC;iBACrC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QACD,mDAAmD;QACnD,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE;oBACN,GAAG,EAAE,iBAAiB;oBACtB,WAAW,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC5C,MAAM,EAAE,oBAAoB;oBAC5B,QAAQ,EAAE,EAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAC;oBACpC,aAAa,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAC;iBAC/C;aACF,CAAC,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE;oBACN,GAAG,EAAE,YAAY;oBACjB,IAAI,EAAE,IAAI,CAAC,aAAa;oBACxB,MAAM;oBACN,IAAI,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAC;iBAC9C;aACF,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QACD,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,mCAAmC;gBAC1C,MAAM,EAAE;oBACN,aAAa,EAAE,EAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAC;oBAC9C,MAAM,EAAE,uBAAc,CAAC,YAAY,CACjC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,CAClB;iBACF;aACF,CAAC,CAAC;YACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG;gBACtC,GAAG,EAAE,gBAAgB;gBACrB,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,MAAM,IAAI,CAAC,UAAU,EAAE;gBAClD,MAAM;gBACN,MAAM,EAAE,EAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;gBAC3C,SAAS,EAAE,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC5C,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC1C,oBAAoB,EAAE;oBACpB,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,CAAC;iBACT;gBACD,KAAK,EAAE,EAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAC;gBAClC,KAAK,EAAE,uBAAc,CAAC,WAAW,CAC/B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,EACjB,MAAM,CACP;aACF,CAAC;QACJ,CAAC;QACD,uCAAuC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACjD,IAAI,oBAAoB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;YAChD,EAAE,CAAC,oBAAoB,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,oBAAoB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvD,EAAE,CAAC,oBAAoB,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,oBAAoB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvD,EAAE,CAAC,oBAAoB,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,oBAAoB,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtD,EAAE,CAAC,oBAAoB,CAAC,MAAM,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,oBAAoB,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,EAAE,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC,CAAC;QAEnC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,GAAkB;QAElB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAChD,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAC,CAAC;QACpD,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,QAAQ,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,WAAW,CAAC;YACjB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ;gBACX,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC;YACvC,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,UAAU,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC;YACvC,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAC,CAAC;YACvC;gBACE,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF;AAnMD,sBAmMC"}
1
+ {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../../src/converters/circleci/tests.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ type OptString = string | null | undefined;
2
2
  type OptBool = boolean | null | undefined;
3
3
  type OptNumber = number | null | undefined;
4
4
  export interface BaseVulnerabilityType {
5
- uid: OptString;
5
+ uid: string;
6
6
  displayName: OptString;
7
7
  createdAt: OptString;
8
8
  externalURL: OptString;
@@ -19,7 +19,7 @@ export interface GithubSecurityAdvisory {
19
19
  ghsaId: OptString;
20
20
  }
21
21
  export interface GithubVulnerabilityData {
22
- uid: OptString;
22
+ uid: string;
23
23
  displayName: OptString;
24
24
  createdAt: OptString;
25
25
  externalURL: OptString;
@@ -35,7 +35,7 @@ export interface AWSFindings {
35
35
  name: OptString;
36
36
  }
37
37
  export interface AWSVulnerabilityData {
38
- uid: OptString;
38
+ uid: string;
39
39
  displayName: OptString;
40
40
  createdAt: OptString;
41
41
  externalURL: OptString;
@@ -46,6 +46,7 @@ export interface AWSVulnerabilityData {
46
46
  repositoryName: OptString;
47
47
  repositoryArn: OptString;
48
48
  findings: AWSFindings[];
49
+ imageTags: string[];
49
50
  }
50
51
  export interface AWSV2Ignored {
51
52
  ignoreReason: OptString;
@@ -56,11 +57,12 @@ export interface AWSV2Asset {
56
57
  displayName: OptString;
57
58
  }
58
59
  export interface AWSV2VulnerabilityData {
59
- uid: OptString;
60
+ uid: string;
60
61
  displayName: OptString;
61
62
  createdAt: OptString;
62
63
  externalURL: OptString;
63
64
  severity: OptString;
65
+ externalVulnerabilityId: OptString;
64
66
  packageName: OptString;
65
67
  packageIdentifier: OptString;
66
68
  description: OptString;
@@ -72,6 +74,7 @@ export interface AWSV2VulnerabilityData {
72
74
  imageTags: string[];
73
75
  imageDigest: OptString;
74
76
  }
77
+ export type BaseAWSVuln = AWSVulnerabilityData | AWSV2VulnerabilityData;
75
78
  export declare const vulnTypeOptions: string[];
76
79
  export interface VcsOrgKey {
77
80
  uid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/converters/vanta/types.ts"],"names":[],"mappings":";;;AAqFa,QAAA,eAAe,GAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/converters/vanta/types.ts"],"names":[],"mappings":";;;AAwFa,QAAA,eAAe,GAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { AirbyteRecord } from 'faros-airbyte-cdk';
2
2
  import { FarosClient } from 'faros-js-client';
3
3
  import { Converter, DestinationModel, DestinationRecord, StreamContext } from '../converter';
4
- import { AWSV2VulnerabilityData, AWSVulnerabilityData, CicdArtifactKey, ExtendedVulnerabilityType, FarosObjectKey, GithubVulnerabilityData, VcsRepoKey, VulnerabilityInfo } from './types';
4
+ import { AWSV2VulnerabilityData, AWSVulnerabilityData, BaseAWSVuln, CicdArtifactKey, ExtendedVulnerabilityType, FarosObjectKey, GithubVulnerabilityData, VcsRepoKey, VulnerabilityInfo } from './types';
5
5
  export declare abstract class Vulnerabilities extends Converter {
6
6
  source: string;
7
7
  readonly destinationModels: ReadonlyArray<DestinationModel>;
@@ -16,6 +16,7 @@ export declare abstract class Vulnerabilities extends Converter {
16
16
  awsV2ContainerNamesToUids: Record<string, string[]>;
17
17
  gitUidsToVulns: Record<string, GithubVulnerabilityData>;
18
18
  awsUidsToVulns: Record<string, AWSVulnerabilityData>;
19
+ duplicateAwsV2Uids: Set<string>;
19
20
  duplicateAwsUids: Set<string>;
20
21
  vcsRepositoryQuery: string;
21
22
  cicdArtifactQueryByCommitSha: string;
@@ -54,10 +55,17 @@ export declare abstract class Vulnerabilities extends Converter {
54
55
  getVCSMappingsFromGit(gitRepoNamesToUIDs: Record<string, string[]>, fc: FarosClient, ctx: StreamContext): Promise<DestinationRecord[]>;
55
56
  getAWSV2VulnStatusDetail(vuln: AWSV2VulnerabilityData): string;
56
57
  getAWSV2VulnStatusCategory(vuln: AWSV2VulnerabilityData): string;
57
- getCICDMappingsFromAWS(fc: FarosClient, ctx: StreamContext): Promise<DestinationRecord[]>;
58
- getCommitShasFromAWSV2Vulns(vulns: AWSV2VulnerabilityData[], ctx: StreamContext): [Set<string>, Record<string, AWSV2VulnerabilityData>];
58
+ getCICDMappingsFromAWSByCommitSha(fc: FarosClient, ctx: StreamContext): Promise<[DestinationRecord[], Set<string>]>;
59
+ getCICDMappingsFromAWSByRepoName(fc: FarosClient, ctx: StreamContext, vulnUidsToCheck: Set<string>): Promise<DestinationRecord[]>;
60
+ getCommitShasFromAWSVulns(vulns: BaseAWSVuln[], ctx: StreamContext): [Set<string>, Record<string, BaseAWSVuln>];
61
+ getCommitShaDataFromAWSVulns(aws_vulns: BaseAWSVuln[], fc: FarosClient, ctx: StreamContext): Promise<[
62
+ Set<string>,
63
+ Record<string, BaseAWSVuln>,
64
+ Record<string, CicdArtifactKey>
65
+ ]>;
66
+ encodeURL(url: string): string;
59
67
  getCICDMappingsFromAWSV2(aws_vulns: AWSV2VulnerabilityData[], fc: FarosClient, ctx: StreamContext): Promise<DestinationRecord[]>;
60
- getUidFromAWSV2Vuln(vuln: AWSV2VulnerabilityData): string;
68
+ getUidFromAWSVuln(vuln: BaseAWSVuln): string;
61
69
  getVulnRecordsFromAwsV2(data: AWSV2VulnerabilityData[]): DestinationRecord[];
62
70
  combineAwsVulns(aws_v1_vulns: DestinationRecord[], aws_v2_vulns: DestinationRecord[], ctx: StreamContext): DestinationRecord[];
63
71
  getSecVulnerabilityRecordFromData(data: ExtendedVulnerabilityType): DestinationRecord;