faros-airbyte-common 0.15.2 → 0.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/azure-devops/azure-devops.d.ts +6 -5
- package/lib/azure-devops/azure-devops.js +32 -30
- package/lib/azure-devops/azure-devops.js.map +1 -1
- package/lib/azure-devops/types.d.ts +21 -3
- package/lib/github/types.d.ts +6 -2
- package/lib/github/types.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -4
|
@@ -14,16 +14,17 @@ import * as types from './types';
|
|
|
14
14
|
*/
|
|
15
15
|
export declare abstract class AzureDevOps {
|
|
16
16
|
protected readonly client: types.AzureDevOpsClient;
|
|
17
|
+
protected readonly instanceType: 'cloud' | 'server';
|
|
17
18
|
protected readonly cutoffDays: number;
|
|
18
19
|
protected readonly top: number;
|
|
19
20
|
protected readonly logger: AirbyteLogger;
|
|
20
21
|
private static azureDevOps;
|
|
21
|
-
constructor(client: types.AzureDevOpsClient, cutoffDays: number, top: number, logger: AirbyteLogger);
|
|
22
|
-
static instance<T extends AzureDevOps>(this: new (...args: any[]) => T, config: types.AzureDevOpsConfig, logger: AirbyteLogger, ...
|
|
23
|
-
static
|
|
22
|
+
constructor(client: types.AzureDevOpsClient, instanceType: 'cloud' | 'server', cutoffDays: number, top: number, logger: AirbyteLogger);
|
|
23
|
+
static instance<T extends AzureDevOps>(this: new (...args: any[]) => T, config: types.AzureDevOpsConfig, logger: AirbyteLogger, ...additionalArgs: any[]): Promise<T>;
|
|
24
|
+
static getBaseUrl(instance: types.AzureDevOpsInstance, organization: string): string;
|
|
24
25
|
static validateAuth(config: types.AzureDevOpsConfig): void;
|
|
25
|
-
static createWebAPI(
|
|
26
|
-
static
|
|
26
|
+
static createWebAPI(baseUrl: string, accessToken: string, timeout?: number, maxRetries?: number): Promise<WebApi>;
|
|
27
|
+
static createRestAPI(baseUrl: string, access_token: string, timeout: number, maxRetries: number, logger: AirbyteLogger): AxiosInstance | undefined;
|
|
27
28
|
protected getPaginated<T>(getFn: (top: number, skipOrToken: number | string) => Promise<Array<T>>, options?: {
|
|
28
29
|
useContinuationToken: boolean;
|
|
29
30
|
continuationTokenParam: string;
|
|
@@ -31,14 +31,15 @@ const DEFAULT_CUTOFF_DAYS = 90;
|
|
|
31
31
|
* @class AzureDevOps
|
|
32
32
|
*/
|
|
33
33
|
class AzureDevOps {
|
|
34
|
-
constructor(client, cutoffDays = DEFAULT_CUTOFF_DAYS, top = DEFAULT_PAGE_SIZE, logger) {
|
|
34
|
+
constructor(client, instanceType, cutoffDays = DEFAULT_CUTOFF_DAYS, top = DEFAULT_PAGE_SIZE, logger) {
|
|
35
35
|
this.client = client;
|
|
36
|
+
this.instanceType = instanceType;
|
|
36
37
|
this.cutoffDays = cutoffDays;
|
|
37
38
|
this.top = top;
|
|
38
39
|
this.logger = logger;
|
|
39
40
|
}
|
|
40
|
-
static async instance(config, logger, ...
|
|
41
|
-
var _a, _b, _c, _d;
|
|
41
|
+
static async instance(config, logger, ...additionalArgs) {
|
|
42
|
+
var _a, _b, _c, _d, _e;
|
|
42
43
|
if (AzureDevOps.azureDevOps) {
|
|
43
44
|
return AzureDevOps.azureDevOps;
|
|
44
45
|
}
|
|
@@ -47,14 +48,14 @@ class AzureDevOps {
|
|
|
47
48
|
logger.info(`Azure DevOps instance type: ${config.instance.type}`);
|
|
48
49
|
}
|
|
49
50
|
else {
|
|
50
|
-
logger.info('No Azure DevOps instance type provided,
|
|
51
|
+
logger.info('No Azure DevOps instance type provided, defaulting to ' +
|
|
51
52
|
'Azure DevOps Services (cloud)');
|
|
52
53
|
}
|
|
53
|
-
const
|
|
54
|
+
const baseUrl = AzureDevOps.getBaseUrl(config === null || config === void 0 ? void 0 : config.instance, config.organization);
|
|
54
55
|
const timeout = (_b = config.request_timeout) !== null && _b !== void 0 ? _b : DEFAULT_REQUEST_TIMEOUT;
|
|
55
56
|
const maxRetries = (_c = config.max_retries) !== null && _c !== void 0 ? _c : DEFAULT_MAX_RETRIES;
|
|
56
|
-
const webApi = await AzureDevOps.createWebAPI(
|
|
57
|
-
const
|
|
57
|
+
const webApi = await AzureDevOps.createWebAPI(baseUrl, config.access_token, timeout, maxRetries);
|
|
58
|
+
const restApi = AzureDevOps.createRestAPI(baseUrl, config.access_token, timeout, maxRetries, logger);
|
|
58
59
|
const client = {
|
|
59
60
|
build: await webApi.getBuildApi(),
|
|
60
61
|
core: await webApi.getCoreApi(),
|
|
@@ -63,7 +64,7 @@ class AzureDevOps {
|
|
|
63
64
|
pipelines: await webApi.getPipelinesApi(),
|
|
64
65
|
release: await webApi.getReleaseApi(),
|
|
65
66
|
test: await webApi.getTestApi(),
|
|
66
|
-
|
|
67
|
+
rest: restApi,
|
|
67
68
|
};
|
|
68
69
|
const pageSize = isNaN(config.page_size) ? undefined : config.page_size;
|
|
69
70
|
if (pageSize && pageSize <= 1) {
|
|
@@ -71,15 +72,17 @@ class AzureDevOps {
|
|
|
71
72
|
}
|
|
72
73
|
const top = Math.max(2, pageSize !== null && pageSize !== void 0 ? pageSize : DEFAULT_PAGE_SIZE);
|
|
73
74
|
const cutoffDays = (_d = config.cutoff_days) !== null && _d !== void 0 ? _d : DEFAULT_CUTOFF_DAYS;
|
|
74
|
-
AzureDevOps.azureDevOps = new this(client, cutoffDays, top, logger, ...
|
|
75
|
+
AzureDevOps.azureDevOps = new this(client, (_e = config.instance) === null || _e === void 0 ? void 0 : _e.type, cutoffDays, top, logger, ...additionalArgs);
|
|
75
76
|
return AzureDevOps.azureDevOps;
|
|
76
77
|
}
|
|
77
|
-
static
|
|
78
|
-
var _a;
|
|
79
|
-
if ((instance === null || instance === void 0 ? void 0 : instance.type) !== 'server') {
|
|
80
|
-
return CLOUD_API_URL
|
|
78
|
+
static getBaseUrl(instance, organization) {
|
|
79
|
+
var _a, _b;
|
|
80
|
+
if (((_a = instance === null || instance === void 0 ? void 0 : instance.type) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'server') {
|
|
81
|
+
return `${CLOUD_API_URL}/${organization}`;
|
|
81
82
|
}
|
|
82
|
-
|
|
83
|
+
// Type assertion since we've verified it's a server instance
|
|
84
|
+
const serverInstance = instance;
|
|
85
|
+
const apiUrl = (_b = serverInstance.api_url) === null || _b === void 0 ? void 0 : _b.trim();
|
|
83
86
|
if (!apiUrl) {
|
|
84
87
|
throw new verror_1.default('api_url must not be an empty string for server instance type');
|
|
85
88
|
}
|
|
@@ -87,9 +90,9 @@ class AzureDevOps {
|
|
|
87
90
|
new URL(apiUrl);
|
|
88
91
|
}
|
|
89
92
|
catch (error) {
|
|
90
|
-
throw new verror_1.default(`Invalid URL: ${
|
|
93
|
+
throw new verror_1.default(`Invalid URL: ${serverInstance.api_url}`);
|
|
91
94
|
}
|
|
92
|
-
return apiUrl
|
|
95
|
+
return `${apiUrl}/${organization}`;
|
|
93
96
|
}
|
|
94
97
|
static validateAuth(config) {
|
|
95
98
|
if (!config.access_token) {
|
|
@@ -100,8 +103,7 @@ class AzureDevOps {
|
|
|
100
103
|
}
|
|
101
104
|
}
|
|
102
105
|
// Create Azure DevOps Node API clients
|
|
103
|
-
static async createWebAPI(
|
|
104
|
-
const baseUrl = `${apiUrl}/${organization}`;
|
|
106
|
+
static async createWebAPI(baseUrl, accessToken, timeout = DEFAULT_REQUEST_TIMEOUT, maxRetries = DEFAULT_MAX_RETRIES) {
|
|
105
107
|
const authHandler = (0, azure_devops_node_api_1.getPersonalAccessTokenHandler)(accessToken);
|
|
106
108
|
return new azure_devops_node_api_1.WebApi(baseUrl, authHandler, {
|
|
107
109
|
socketTimeout: timeout,
|
|
@@ -113,17 +115,13 @@ class AzureDevOps {
|
|
|
113
115
|
},
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
|
-
static
|
|
117
|
-
if ((instance === null || instance === void 0 ? void 0 : instance.type) === 'server') {
|
|
118
|
-
return undefined;
|
|
119
|
-
}
|
|
118
|
+
static createRestAPI(baseUrl, access_token, timeout, maxRetries, logger) {
|
|
120
119
|
const base64EncodedToken = (0, faros_airbyte_cdk_1.base64Encode)(`:${access_token}`);
|
|
121
120
|
return (0, faros_js_client_1.makeAxiosInstanceWithRetry)({
|
|
122
|
-
baseURL:
|
|
121
|
+
baseURL: baseUrl,
|
|
123
122
|
timeout,
|
|
124
123
|
maxContentLength: Infinity,
|
|
125
124
|
maxBodyLength: Infinity,
|
|
126
|
-
params: { 'api-version': DEFAULT_GRAPH_API_VERSION },
|
|
127
125
|
headers: { Authorization: `Basic ${base64EncodedToken}` },
|
|
128
126
|
}, logger.asPino(), maxRetries, 1000 // Default retry delay
|
|
129
127
|
);
|
|
@@ -216,11 +214,11 @@ class AzureDevOps {
|
|
|
216
214
|
yield member.identity;
|
|
217
215
|
}
|
|
218
216
|
}
|
|
219
|
-
//
|
|
220
|
-
//
|
|
221
|
-
// team members (Azure DevOps Server)
|
|
217
|
+
// For Azure DevOps Services (cloud) instance, use the graph API to fetch users.
|
|
218
|
+
// For Azure DevOps Server instance, fetch users through teams and team members.
|
|
222
219
|
async *getUsers(projects) {
|
|
223
|
-
|
|
220
|
+
var _a;
|
|
221
|
+
if (((_a = this.instanceType) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'server') {
|
|
224
222
|
yield* this.getGraphUsers();
|
|
225
223
|
return;
|
|
226
224
|
}
|
|
@@ -230,8 +228,12 @@ class AzureDevOps {
|
|
|
230
228
|
var _a, _b, _c;
|
|
231
229
|
let continuationToken;
|
|
232
230
|
do {
|
|
233
|
-
const res = await this.client.
|
|
234
|
-
params: {
|
|
231
|
+
const res = await this.client.rest.get(`${DEFAULT_GRAPH_API_URL}/_apis/graph/users`, {
|
|
232
|
+
params: {
|
|
233
|
+
'api-version': DEFAULT_GRAPH_API_VERSION,
|
|
234
|
+
subjectTypes: 'msa,aad,imp',
|
|
235
|
+
continuationToken,
|
|
236
|
+
},
|
|
235
237
|
});
|
|
236
238
|
continuationToken = (_a = res === null || res === void 0 ? void 0 : res.headers) === null || _a === void 0 ? void 0 : _a['X-MS-ContinuationToken'];
|
|
237
239
|
for (const item of (_c = (_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : []) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-devops.js","sourceRoot":"","sources":["../../src/azure-devops/azure-devops.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iEAA4E;AAW5E,yDAA8D;AAC9D,qDAA2D;AAC3D,2DAA2C;AAC3C,oDAA4B;AAI5B,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,MAAM,qBAAqB,GAAG,6BAA6B,CAAC;AAC5D,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAClD,MAAM,uBAAuB,GAAG,MAAO,CAAC;AACxC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAsB,WAAW;IAG/B,YACqB,MAA+B,EAC/B,aAAqB,mBAAmB,EACxC,MAAc,iBAAiB,EAC/B,MAAqB;
|
|
1
|
+
{"version":3,"file":"azure-devops.js","sourceRoot":"","sources":["../../src/azure-devops/azure-devops.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@ import { AxiosInstance } from 'axios';
|
|
|
2
2
|
import { IBuildApi } from 'azure-devops-node-api/BuildApi';
|
|
3
3
|
import { ICoreApi } from 'azure-devops-node-api/CoreApi';
|
|
4
4
|
import { IGitApi } from 'azure-devops-node-api/GitApi';
|
|
5
|
-
import { Build as BaseBuild, BuildArtifact, TimelineRecord as BaseTimelineRecord } from 'azure-devops-node-api/interfaces/BuildInterfaces';
|
|
5
|
+
import { Build as BaseBuild, BuildArtifact, BuildRepository, TimelineRecord as BaseTimelineRecord } from 'azure-devops-node-api/interfaces/BuildInterfaces';
|
|
6
6
|
import { IdentityRef } from 'azure-devops-node-api/interfaces/common/VSSInterfaces';
|
|
7
7
|
import * as GitInterfaces from 'azure-devops-node-api/interfaces/GitInterfaces';
|
|
8
8
|
import { GraphUser } from 'azure-devops-node-api/interfaces/GraphInterfaces';
|
|
9
|
-
import { Pipeline as BasePipeline } from 'azure-devops-node-api/interfaces/PipelinesInterfaces';
|
|
9
|
+
import { Pipeline as BasePipeline, Run as BaseRun } from 'azure-devops-node-api/interfaces/PipelinesInterfaces';
|
|
10
10
|
import { ProjectReference } from 'azure-devops-node-api/interfaces/ReleaseInterfaces';
|
|
11
11
|
import { CodeCoverageStatistics } from 'azure-devops-node-api/interfaces/TestInterfaces';
|
|
12
12
|
import { WorkItem } from 'azure-devops-node-api/interfaces/WorkItemTrackingInterfaces';
|
|
@@ -40,7 +40,7 @@ export interface AzureDevOpsClient {
|
|
|
40
40
|
readonly pipelines: IPipelinesApi;
|
|
41
41
|
readonly release: IReleaseApi;
|
|
42
42
|
readonly test: ITestApi;
|
|
43
|
-
readonly
|
|
43
|
+
readonly rest: AxiosInstance;
|
|
44
44
|
}
|
|
45
45
|
export type User = GraphUser | IdentityRef;
|
|
46
46
|
export interface GraphUserResponse {
|
|
@@ -58,6 +58,24 @@ export interface Build extends Omit<BaseBuild, 'reason' | 'status' | 'result'> {
|
|
|
58
58
|
status: string;
|
|
59
59
|
result: string;
|
|
60
60
|
}
|
|
61
|
+
export interface Run extends Omit<BaseRun, 'result' | 'state'> {
|
|
62
|
+
project: ProjectReference;
|
|
63
|
+
result: string;
|
|
64
|
+
state: string;
|
|
65
|
+
artifacts: BuildArtifact[];
|
|
66
|
+
coverageStats: CodeCoverageStatistics[];
|
|
67
|
+
jobs: TimelineRecord[];
|
|
68
|
+
stages: TimelineRecord[];
|
|
69
|
+
queueTime?: Date;
|
|
70
|
+
repository: BuildRepository;
|
|
71
|
+
reason: string;
|
|
72
|
+
sourceBranch?: string;
|
|
73
|
+
sourceVersion: string;
|
|
74
|
+
tags: string[];
|
|
75
|
+
triggerInfo?: {
|
|
76
|
+
[key: string]: string;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
61
79
|
export interface TimelineRecord extends Omit<BaseTimelineRecord, 'result' | 'state'> {
|
|
62
80
|
result: string;
|
|
63
81
|
state: string;
|
package/lib/github/types.d.ts
CHANGED
|
@@ -103,16 +103,19 @@ export type IssueComment = {
|
|
|
103
103
|
user: Pick<IssueCommentNode['user'], 'login' | 'name' | 'email' | 'html_url' | 'type'>;
|
|
104
104
|
} & Pick<IssueCommentNode, 'id' | 'body' | 'created_at' | 'updated_at' | 'issue_url' | 'html_url'>;
|
|
105
105
|
export type CopilotSeatsStreamRecord = CopilotSeat | CopilotSeatEnded | CopilotSeatsEmpty;
|
|
106
|
+
export type CopilotSeatsResponse = GetResponseDataTypeFromEndpointMethod<typeof octokit.copilot.listCopilotSeats>;
|
|
107
|
+
export type CopilotSeatAssignee = Pick<CopilotSeatsResponse['seats'][0]['assignee'], 'login' | 'name' | 'email' | 'html_url' | 'type'>;
|
|
106
108
|
export type CopilotSeat = {
|
|
107
109
|
empty?: never;
|
|
108
110
|
org: string;
|
|
109
111
|
user: string;
|
|
112
|
+
assignee: CopilotSeatAssignee;
|
|
110
113
|
team?: string;
|
|
111
114
|
teamJoinedAt?: string;
|
|
112
115
|
teamLeftAt?: never;
|
|
113
116
|
startedAt?: string;
|
|
114
117
|
endedAt?: never;
|
|
115
|
-
} & Pick<
|
|
118
|
+
} & Pick<CopilotSeatsResponse['seats'][0], 'pending_cancellation_date' | 'last_activity_at'>;
|
|
116
119
|
export type CopilotSeatEnded = {
|
|
117
120
|
empty?: never;
|
|
118
121
|
org: string;
|
|
@@ -200,8 +203,9 @@ export type EnterpriseCopilotSeat = {
|
|
|
200
203
|
empty?: never;
|
|
201
204
|
enterprise: string;
|
|
202
205
|
user: string;
|
|
206
|
+
assignee: CopilotSeatAssignee;
|
|
203
207
|
team?: string;
|
|
204
|
-
} & Pick<
|
|
208
|
+
} & Pick<EnterpriseCopilotSeatsResponse['seats'][0], 'created_at' | 'updated_at' | 'pending_cancellation_date' | 'last_activity_at'>;
|
|
205
209
|
export type EnterpriseCopilotSeatsEmpty = {
|
|
206
210
|
empty: true;
|
|
207
211
|
enterprise: string;
|
package/lib/github/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/github/types.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AAetC,MAAM,OAAO,GAAY,IAAI,cAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/github/types.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AAetC,MAAM,OAAO,GAAY,IAAI,cAAO,EAAE,CAAC;AA2OvC,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,uCAAyB,CAAA;AAC3B,CAAC,EAFW,UAAU,0BAAV,UAAU,QAErB"}
|