airbyte-faros-destination 0.19.57-rc6 → 0.20.0-rc.1

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 (69) hide show
  1. package/lib/converters/azure-tfvc/changesets.d.ts +4 -0
  2. package/lib/converters/azure-tfvc/changesets.js +96 -27
  3. package/lib/converters/azure-tfvc/changesets.js.map +1 -1
  4. package/lib/converters/azure-tfvc/common.d.ts +4 -0
  5. package/lib/converters/azure-tfvc/common.js +10 -0
  6. package/lib/converters/azure-tfvc/common.js.map +1 -1
  7. package/lib/converters/azure-tfvc/users.d.ts +7 -0
  8. package/lib/converters/azure-tfvc/users.js +56 -0
  9. package/lib/converters/azure-tfvc/users.js.map +1 -0
  10. package/lib/converters/azure-workitems/workitems.js +10 -6
  11. package/lib/converters/azure-workitems/workitems.js.map +1 -1
  12. package/lib/converters/cursor/agent_edits.d.ts +8 -0
  13. package/lib/converters/cursor/agent_edits.js +59 -0
  14. package/lib/converters/cursor/agent_edits.js.map +1 -0
  15. package/lib/converters/cursor/ask_mode_adoption.d.ts +8 -0
  16. package/lib/converters/cursor/ask_mode_adoption.js +47 -0
  17. package/lib/converters/cursor/ask_mode_adoption.js.map +1 -0
  18. package/lib/converters/cursor/client_versions.d.ts +8 -0
  19. package/lib/converters/cursor/client_versions.js +42 -0
  20. package/lib/converters/cursor/client_versions.js.map +1 -0
  21. package/lib/converters/cursor/commands_adoption.d.ts +8 -0
  22. package/lib/converters/cursor/commands_adoption.js +47 -0
  23. package/lib/converters/cursor/commands_adoption.js.map +1 -0
  24. package/lib/converters/cursor/common.d.ts +20 -2
  25. package/lib/converters/cursor/common.js +25 -4
  26. package/lib/converters/cursor/common.js.map +1 -1
  27. package/lib/converters/cursor/daily_active_users.d.ts +8 -0
  28. package/lib/converters/cursor/daily_active_users.js +67 -0
  29. package/lib/converters/cursor/daily_active_users.js.map +1 -0
  30. package/lib/converters/cursor/daily_usage.js +1 -1
  31. package/lib/converters/cursor/daily_usage.js.map +1 -1
  32. package/lib/converters/cursor/mcp_adoption.d.ts +8 -0
  33. package/lib/converters/cursor/mcp_adoption.js +47 -0
  34. package/lib/converters/cursor/mcp_adoption.js.map +1 -0
  35. package/lib/converters/cursor/model_usage.d.ts +8 -0
  36. package/lib/converters/cursor/model_usage.js +51 -0
  37. package/lib/converters/cursor/model_usage.js.map +1 -0
  38. package/lib/converters/cursor/plans_adoption.d.ts +8 -0
  39. package/lib/converters/cursor/plans_adoption.js +47 -0
  40. package/lib/converters/cursor/plans_adoption.js.map +1 -0
  41. package/lib/converters/cursor/tab_usage.d.ts +8 -0
  42. package/lib/converters/cursor/tab_usage.js +59 -0
  43. package/lib/converters/cursor/tab_usage.js.map +1 -0
  44. package/lib/converters/cursor/top_file_extensions.d.ts +8 -0
  45. package/lib/converters/cursor/top_file_extensions.js +57 -0
  46. package/lib/converters/cursor/top_file_extensions.js.map +1 -0
  47. package/lib/converters/github/faros_pull_requests.js +28 -22
  48. package/lib/converters/github/faros_pull_requests.js.map +1 -1
  49. package/lib/converters/github/faros_stats.d.ts +10 -0
  50. package/lib/converters/github/faros_stats.js +107 -0
  51. package/lib/converters/github/faros_stats.js.map +1 -0
  52. package/lib/converters/github/review_comments.js +4 -1
  53. package/lib/converters/github/review_comments.js.map +1 -1
  54. package/lib/converters/harness/common.d.ts +88 -6
  55. package/lib/converters/harness/common.js +2 -2
  56. package/lib/converters/harness/common.js.map +1 -1
  57. package/lib/converters/harness/executions.d.ts +7 -6
  58. package/lib/converters/harness/executions.js +170 -143
  59. package/lib/converters/harness/executions.js.map +1 -1
  60. package/lib/destination.js +2 -2
  61. package/lib/destination.js.map +1 -1
  62. package/lib/tsconfig.tsbuildinfo +1 -1
  63. package/package.json +3 -5
  64. package/lib/converters/harness/organizations.d.ts +0 -7
  65. package/lib/converters/harness/organizations.js +0 -29
  66. package/lib/converters/harness/organizations.js.map +0 -1
  67. package/lib/converters/harness/pipelines.d.ts +0 -7
  68. package/lib/converters/harness/pipelines.js +0 -29
  69. package/lib/converters/harness/pipelines.js.map +0 -1
@@ -8,5 +8,9 @@ export declare class Changesets extends AzureTfvcConverter {
8
8
  id(record: AirbyteRecord): number;
9
9
  convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
10
10
  private getDiffStats;
11
+ private processChanges;
12
+ private getMergedChangesetIds;
13
+ private createBranchAssociations;
14
+ private createTaskAssociations;
11
15
  onProcessingComplete(ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
12
16
  }
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Changesets = void 0;
4
+ const azure_devops_1 = require("faros-airbyte-common/azure-devops");
4
5
  const faros_js_client_1 = require("faros-js-client");
5
6
  const vcs_1 = require("../common/vcs");
6
7
  const common_1 = require("./common");
7
- // TODO: Add tms_TaskCommitAssociation support
8
8
  class Changesets extends common_1.AzureTfvcConverter {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  this.branchCollector = new vcs_1.BranchCollector();
12
12
  this.fileCollector = new vcs_1.FileCollector();
13
13
  this.destinationModels = [
14
+ 'tms_TaskCommitAssociation',
14
15
  'vcs_Branch',
15
- 'vcs_Commit',
16
16
  'vcs_BranchCommitAssociation',
17
+ 'vcs_Commit',
18
+ 'vcs_CommitFile',
17
19
  'vcs_File',
18
20
  ];
19
21
  }
@@ -22,24 +24,24 @@ class Changesets extends common_1.AzureTfvcConverter {
22
24
  return (_b = (_a = record === null || record === void 0 ? void 0 : record.record) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.changesetId;
23
25
  }
24
26
  async convert(record, ctx) {
25
- var _a, _b, _c, _d;
27
+ var _a;
26
28
  const changeset = record.record.data;
27
- const res = [];
28
29
  if (!changeset.changesetId) {
29
30
  ctx.logger.warn(`Changeset ID not found: ${JSON.stringify(changeset)}`);
30
- return res;
31
+ return [];
31
32
  }
32
33
  const repository = (0, vcs_1.repoKey)(changeset.organization, (_a = changeset.project) === null || _a === void 0 ? void 0 : _a.name, this.source);
33
34
  if (!repository) {
34
35
  ctx.logger.warn(`Organization or project name not found: ${JSON.stringify(changeset)}`);
35
- return res;
36
+ return [];
36
37
  }
37
38
  const sha = String(changeset.changesetId);
38
39
  const commit = { sha, repository };
39
- const author = ((_b = changeset.author) === null || _b === void 0 ? void 0 : _b.uniqueName)
40
- ? { uid: changeset.author.uniqueName.toLowerCase(), source: this.source }
40
+ const authorId = (0, azure_devops_1.getUserIdentifier)(changeset.author);
41
+ const author = authorId
42
+ ? { uid: authorId.toLowerCase(), source: this.source }
41
43
  : undefined;
42
- res.push({
44
+ const commitRecord = {
43
45
  model: 'vcs_Commit',
44
46
  record: {
45
47
  ...commit,
@@ -50,24 +52,16 @@ class Changesets extends common_1.AzureTfvcConverter {
50
52
  author,
51
53
  diffStats: this.getDiffStats(changeset),
52
54
  },
53
- });
54
- const branch = this.branchCollector.collectBranch(changeset.branch, repository);
55
- if (branch) {
56
- res.push({
57
- model: 'vcs_BranchCommitAssociation',
58
- record: {
59
- commit,
60
- branch,
61
- },
62
- });
63
- }
64
- // Collect files from changes
65
- for (const change of (_c = changeset.changes) !== null && _c !== void 0 ? _c : []) {
66
- if ((_d = change.item) === null || _d === void 0 ? void 0 : _d.path) {
67
- this.fileCollector.collectFile(change.item.path, repository);
68
- }
69
- }
70
- return res;
55
+ };
56
+ const { commitFiles, mergedChangesetIds } = this.processChanges(commit, repository, changeset.changes);
57
+ const branchAssociations = this.createBranchAssociations(commit, repository, mergedChangesetIds, changeset.branch, faros_js_client_1.Utils.toDate(changeset.createdDate));
58
+ const taskAssociations = this.createTaskAssociations(commit, changeset.workItems);
59
+ return [
60
+ commitRecord,
61
+ ...commitFiles,
62
+ ...branchAssociations,
63
+ ...taskAssociations,
64
+ ];
71
65
  }
72
66
  getDiffStats(changeset) {
73
67
  var _a;
@@ -81,6 +75,81 @@ class Changesets extends common_1.AzureTfvcConverter {
81
75
  linesDeleted: null,
82
76
  };
83
77
  }
78
+ processChanges(commit, repository, changes) {
79
+ var _a;
80
+ const commitFiles = [];
81
+ const mergedIds = [];
82
+ for (const change of changes !== null && changes !== void 0 ? changes : []) {
83
+ if ((_a = change.item) === null || _a === void 0 ? void 0 : _a.path) {
84
+ const filePath = change.item.path;
85
+ this.fileCollector.collectFile(filePath, repository);
86
+ commitFiles.push({
87
+ model: 'vcs_CommitFile',
88
+ record: {
89
+ commit,
90
+ file: { uid: filePath, repository },
91
+ additions: null,
92
+ deletions: null,
93
+ },
94
+ });
95
+ }
96
+ mergedIds.push(...this.getMergedChangesetIds(change));
97
+ }
98
+ return { commitFiles, mergedChangesetIds: new Set(mergedIds) };
99
+ }
100
+ getMergedChangesetIds(change) {
101
+ var _a, _b;
102
+ const ids = [];
103
+ for (const mergeSource of (_a = change.mergeSources) !== null && _a !== void 0 ? _a : []) {
104
+ if (mergeSource.isRename) {
105
+ continue;
106
+ }
107
+ const from = mergeSource.versionFrom;
108
+ const to = (_b = mergeSource.versionTo) !== null && _b !== void 0 ? _b : from;
109
+ if (from && to) {
110
+ ids.push(...Array.from({ length: to - from + 1 }, (_, i) => from + i));
111
+ }
112
+ }
113
+ return ids;
114
+ }
115
+ createBranchAssociations(commit, repository, mergedChangesetIds, branchName, committedAt) {
116
+ const branch = this.branchCollector.collectBranch(branchName, repository);
117
+ if (!branch) {
118
+ return [];
119
+ }
120
+ const records = [
121
+ {
122
+ model: 'vcs_BranchCommitAssociation',
123
+ record: { commit, branch, committedAt },
124
+ },
125
+ ];
126
+ for (const mergedId of mergedChangesetIds) {
127
+ records.push({
128
+ model: 'vcs_BranchCommitAssociation',
129
+ record: {
130
+ commit: { sha: String(mergedId), repository },
131
+ branch,
132
+ committedAt,
133
+ },
134
+ });
135
+ }
136
+ return records;
137
+ }
138
+ createTaskAssociations(commit, workItems) {
139
+ const records = [];
140
+ for (const workItem of workItems !== null && workItems !== void 0 ? workItems : []) {
141
+ if (workItem.id) {
142
+ records.push({
143
+ model: 'tms_TaskCommitAssociation',
144
+ record: {
145
+ commit,
146
+ task: { uid: String(workItem.id), source: 'Azure-Workitems' },
147
+ },
148
+ });
149
+ }
150
+ }
151
+ return records;
152
+ }
84
153
  async onProcessingComplete(ctx) {
85
154
  return [
86
155
  ...this.branchCollector.convertBranches(),
@@ -1 +1 @@
1
- {"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changesets.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/changesets.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { OrgKey } from '../common/vcs';
2
3
  import { Converter } from '../converter';
3
4
  export declare const MAX_DESCRIPTION_LENGTH = 1000;
4
5
  /** Azure TFVC converter base */
5
6
  export declare abstract class AzureTfvcConverter extends Converter {
6
7
  source: string;
7
8
  id(record: AirbyteRecord): any;
9
+ private static readonly _uidsFromUsersStream;
10
+ get uidsFromUsersStream(): Set<string>;
11
+ getOrgKey(name: string): OrgKey;
8
12
  }
@@ -13,6 +13,16 @@ class AzureTfvcConverter extends converter_1.Converter {
13
13
  var _a, _b;
14
14
  return (_b = (_a = record === null || record === void 0 ? void 0 : record.record) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.id;
15
15
  }
16
+ get uidsFromUsersStream() {
17
+ return AzureTfvcConverter._uidsFromUsersStream;
18
+ }
19
+ getOrgKey(name) {
20
+ return { uid: name.toLowerCase(), source: this.source };
21
+ }
16
22
  }
17
23
  exports.AzureTfvcConverter = AzureTfvcConverter;
24
+ // Records from Users stream have more populated fields than user objects from
25
+ // other streams, so prioritize upserting those over partial duplicates from
26
+ // other streams
27
+ AzureTfvcConverter._uidsFromUsersStream = new Set();
18
28
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/common.ts"],"names":[],"mappings":";;;AAEA,4CAAuC;AAE1B,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAE3C,gCAAgC;AAChC,MAAsB,kBAAmB,SAAQ,qBAAS;IAA1D;;QACE,WAAM,GAAG,YAAY,CAAC;IAKxB,CAAC;IAHC,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,EAAE,CAAC;IAClC,CAAC;CACF;AAND,gDAMC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/common.ts"],"names":[],"mappings":";;;AAGA,4CAAuC;AAE1B,QAAA,sBAAsB,GAAG,IAAI,CAAC;AAE3C,gCAAgC;AAChC,MAAsB,kBAAmB,SAAQ,qBAAS;IAA1D;;QACE,WAAM,GAAG,YAAY,CAAC;IAiBxB,CAAC;IAfC,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,EAAE,CAAC;IAClC,CAAC;IAMD,IAAW,mBAAmB;QAC5B,OAAO,kBAAkB,CAAC,oBAAoB,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC;IACxD,CAAC;;AAjBH,gDAkBC;AAXC,8EAA8E;AAC9E,4EAA4E;AAC5E,gBAAgB;AACQ,uCAAoB,GAAgB,IAAI,GAAG,EAAE,AAAzB,CAA0B"}
@@ -0,0 +1,7 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
3
+ import { AzureTfvcConverter } from './common';
4
+ export declare class Users extends AzureTfvcConverter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
7
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Users = void 0;
4
+ const azure_devops_1 = require("faros-airbyte-common/azure-devops");
5
+ const azure_devops_2 = require("../common/azure-devops");
6
+ const vcs_1 = require("../common/vcs");
7
+ const common_1 = require("./common");
8
+ class Users extends common_1.AzureTfvcConverter {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.destinationModels = [
12
+ 'vcs_Membership',
13
+ 'vcs_User',
14
+ ];
15
+ }
16
+ async convert(record, ctx) {
17
+ var _a, _b, _c;
18
+ const source = this.streamName.source;
19
+ const userItem = record.record.data;
20
+ const uniqueName = (0, azure_devops_1.getUserIdentifier)(userItem);
21
+ if (!uniqueName) {
22
+ return [];
23
+ }
24
+ const url = (_c = (_b = (_a = userItem._links) === null || _a === void 0 ? void 0 : _a.self) === null || _b === void 0 ? void 0 : _b.href) !== null && _c !== void 0 ? _c : userItem.url;
25
+ const organizationName = (0, azure_devops_2.getOrganization)(ctx, url, 1);
26
+ const organization = this.getOrgKey(organizationName);
27
+ const type = {
28
+ category: vcs_1.UserTypeCategory.User,
29
+ detail: 'subjectKind' in userItem ? userItem.subjectKind : null,
30
+ };
31
+ const uid = uniqueName.toLowerCase();
32
+ this.uidsFromUsersStream.add(uid);
33
+ return [
34
+ {
35
+ model: 'vcs_Membership',
36
+ record: {
37
+ organization,
38
+ user: { uid, source },
39
+ },
40
+ },
41
+ {
42
+ model: 'vcs_User',
43
+ record: {
44
+ uid,
45
+ name: userItem.displayName,
46
+ email: 'mailAddress' in userItem ? userItem.mailAddress : undefined,
47
+ type,
48
+ htmlUrl: userItem.url,
49
+ source,
50
+ },
51
+ },
52
+ ];
53
+ }
54
+ }
55
+ exports.Users = Users;
56
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/converters/azure-tfvc/users.ts"],"names":[],"mappings":";;;AACA,oEAA0E;AAE1E,yDAAuD;AAEvD,uCAA+C;AAE/C,qCAA4C;AAE5C,MAAa,KAAM,SAAQ,2BAAkB;IAA7C;;QACW,sBAAiB,GAAoC;YAC5D,gBAAgB;YAChB,UAAU;SACX,CAAC;IA8CJ,CAAC;IA5CC,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAY,CAAC;QAE5C,MAAM,UAAU,GAAG,IAAA,gCAAiB,EAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,MAAA,MAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,IAAI,0CAAE,IAAI,mCAAI,QAAQ,CAAC,GAAG,CAAC;QACxD,MAAM,gBAAgB,GAAG,IAAA,8BAAe,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,IAAI,GAAmB;YAC3B,QAAQ,EAAE,sBAAgB,CAAC,IAAI;YAC/B,MAAM,EAAE,aAAa,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;SAChE,CAAC;QAEF,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElC,OAAO;YACL;gBACE,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE;oBACN,YAAY;oBACZ,IAAI,EAAE,EAAC,GAAG,EAAE,MAAM,EAAC;iBACpB;aACF;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE;oBACN,GAAG;oBACH,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAC1B,KAAK,EAAE,aAAa,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBACnE,IAAI;oBACJ,OAAO,EAAE,QAAQ,CAAC,GAAG;oBACrB,MAAM;iBACP;aACF;SACF,CAAC;IACJ,CAAC;CACF;AAlDD,sBAkDC"}
@@ -28,7 +28,7 @@ class Workitems extends common_1.AzureWorkitemsConverter {
28
28
  ];
29
29
  }
30
30
  async convert(record, ctx) {
31
- var _a, _b, _c, _d, _e, _f;
31
+ var _a, _b, _c, _d, _e, _f, _g, _h;
32
32
  const source = this.source;
33
33
  const WorkItem = record.record.data;
34
34
  const taskKey = { uid: String(WorkItem.id), source };
@@ -76,9 +76,11 @@ class Workitems extends common_1.AzureWorkitemsConverter {
76
76
  : null,
77
77
  description: faros_js_client_1.Utils.cleanAndTruncate(WorkItem.fields['System.Description']),
78
78
  status,
79
- statusChangedAt: faros_js_client_1.Utils.toDate(WorkItem.fields['Microsoft.VSTS.Common.StateChangeDate']),
79
+ // Fallback to last status changelog entry for work item types
80
+ // that don't have StateChangeDate (e.g., Code Review, Test Suite)
81
+ statusChangedAt: (_e = faros_js_client_1.Utils.toDate(WorkItem.fields['Microsoft.VSTS.Common.StateChangeDate'])) !== null && _e !== void 0 ? _e : (_f = statusChangelog.at(-1)) === null || _f === void 0 ? void 0 : _f.changedAt,
80
82
  updatedAt: faros_js_client_1.Utils.toDate(WorkItem.fields['System.ChangedDate']),
81
- creator: ((_e = WorkItem.fields['System.CreatedBy']) === null || _e === void 0 ? void 0 : _e['uniqueName'])
83
+ creator: ((_g = WorkItem.fields['System.CreatedBy']) === null || _g === void 0 ? void 0 : _g['uniqueName'])
82
84
  ? {
83
85
  uid: WorkItem.fields['System.CreatedBy']['uniqueName'],
84
86
  source,
@@ -87,7 +89,7 @@ class Workitems extends common_1.AzureWorkitemsConverter {
87
89
  sprint: WorkItem.fields['System.IterationId']
88
90
  ? { uid: String(WorkItem.fields['System.IterationId']), source }
89
91
  : null,
90
- epic: ((_f = WorkItem.fields['Faros']) === null || _f === void 0 ? void 0 : _f['EpicId'])
92
+ epic: ((_h = WorkItem.fields['Faros']) === null || _h === void 0 ? void 0 : _h['EpicId'])
91
93
  ? { uid: String(WorkItem.fields['Faros']['EpicId']), source }
92
94
  : null,
93
95
  priority: String(WorkItem.fields['Microsoft.VSTS.Common.Priority']),
@@ -212,10 +214,12 @@ class Workitems extends common_1.AzureWorkitemsConverter {
212
214
  .filter(Boolean);
213
215
  }
214
216
  convertStateRevisions(stateRevisions) {
215
- return stateRevisions.map((revision) => ({
217
+ return stateRevisions
218
+ .map((revision) => ({
216
219
  status: this.getStatusMapping(revision.state),
217
220
  changedAt: faros_js_client_1.Utils.toDate(revision.changedDate),
218
- }));
221
+ }))
222
+ .sort((a, b) => { var _a, _b, _c, _d; return ((_b = (_a = a.changedAt) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0) - ((_d = (_c = b.changedAt) === null || _c === void 0 ? void 0 : _c.getTime()) !== null && _d !== void 0 ? _d : 0); });
219
223
  }
220
224
  convertIterationRevisions(task, iterations, areaPath) {
221
225
  if (!(iterations === null || iterations === void 0 ? void 0 : iterations.length)) {
@@ -1 +1 @@
1
- {"version":3,"file":"workitems.js","sourceRoot":"","sources":["../../../src/converters/azure-workitems/workitems.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workitems.js","sourceRoot":"","sources":["../../../src/converters/azure-workitems/workitems.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
3
+ import { CursorConverter } from './common';
4
+ export declare class AgentEdits extends CursorConverter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ id(record: AirbyteRecord): string;
7
+ convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
8
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentEdits = void 0;
4
+ const faros_js_client_1 = require("faros-js-client");
5
+ const lodash_1 = require("lodash");
6
+ const vcs_1 = require("../common/vcs");
7
+ const common_1 = require("./common");
8
+ const DAY_MS = 24 * 60 * 60 * 1000;
9
+ const AgentEditsFieldToMetricType = {
10
+ total_accepted_diffs: vcs_1.AssistantMetric.SuggestionsAccepted,
11
+ total_rejected_diffs: vcs_1.AssistantMetric.SuggestionsDiscarded,
12
+ total_green_lines_suggested: vcs_1.AssistantMetric.LinesSuggestedToAdd,
13
+ total_green_lines_accepted: vcs_1.AssistantMetric.AILinesAdded,
14
+ total_red_lines_suggested: vcs_1.AssistantMetric.LinesSuggestedToRemove,
15
+ total_red_lines_accepted: vcs_1.AssistantMetric.AILinesRemoved,
16
+ };
17
+ class AgentEdits extends common_1.CursorConverter {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.destinationModels = [
21
+ 'vcs_AssistantMetric',
22
+ ];
23
+ }
24
+ id(record) {
25
+ const item = record.record.data;
26
+ return item.event_date;
27
+ }
28
+ async convert(record, ctx) {
29
+ const item = record.record.data;
30
+ if (!item.email) {
31
+ return [];
32
+ }
33
+ const day = faros_js_client_1.Utils.toDate(item.event_date);
34
+ const organization = {
35
+ uid: this.streamName.source,
36
+ source: this.streamName.source,
37
+ };
38
+ const res = [];
39
+ for (const [field, metricType] of Object.entries(AgentEditsFieldToMetricType)) {
40
+ const value = item[field];
41
+ if ((0, lodash_1.isNil)(value) || value <= 0) {
42
+ continue;
43
+ }
44
+ res.push(...this.getAssistantMetric({
45
+ startedAt: day,
46
+ endedAt: faros_js_client_1.Utils.toDate(day.getTime() + DAY_MS),
47
+ assistantMetricType: metricType,
48
+ assistantMetricTypeDetail: common_1.CursorStream.AgentEdits,
49
+ value,
50
+ organization,
51
+ userEmail: item.email,
52
+ feature: common_1.Feature.Agent,
53
+ }));
54
+ }
55
+ return res;
56
+ }
57
+ }
58
+ exports.AgentEdits = AgentEdits;
59
+ //# sourceMappingURL=agent_edits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent_edits.js","sourceRoot":"","sources":["../../../src/converters/cursor/agent_edits.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AACtC,mCAA6B;AAE7B,uCAA8C;AAE9C,qCAAgE;AAEhE,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,MAAM,2BAA2B,GAE7B;IACF,oBAAoB,EAAE,qBAAe,CAAC,mBAAmB;IACzD,oBAAoB,EAAE,qBAAe,CAAC,oBAAoB;IAC1D,2BAA2B,EAAE,qBAAe,CAAC,mBAAmB;IAChE,0BAA0B,EAAE,qBAAe,CAAC,YAAY;IACxD,yBAAyB,EAAE,qBAAe,CAAC,sBAAsB;IACjE,wBAAwB,EAAE,qBAAe,CAAC,cAAc;CACzD,CAAC;AAEF,MAAa,UAAW,SAAQ,wBAAe;IAA/C;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;SACtB,CAAC;IAgDJ,CAAC;IA9CC,EAAE,CAAC,MAAqB;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAsB,CAAC;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAsB,CAAC;QAElD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG;YACnB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;SAC/B,CAAC;QAEF,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAC9C,2BAA2B,CAC5B,EAAE,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAA6B,CAAW,CAAC;YAC5D,IAAI,IAAA,cAAK,EAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS,EAAE,GAAG;gBACd,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC;gBAC7C,mBAAmB,EAAE,UAAU;gBAC/B,yBAAyB,EAAE,qBAAY,CAAC,UAAU;gBAClD,KAAK;gBACL,YAAY;gBACZ,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,OAAO,EAAE,gBAAO,CAAC,KAAK;aACvB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAnDD,gCAmDC"}
@@ -0,0 +1,8 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
3
+ import { CursorConverter } from './common';
4
+ export declare class AskModeAdoption extends CursorConverter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ id(record: AirbyteRecord): string;
7
+ convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
8
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AskModeAdoption = void 0;
4
+ const faros_js_client_1 = require("faros-js-client");
5
+ const lodash_1 = require("lodash");
6
+ const vcs_1 = require("../common/vcs");
7
+ const common_1 = require("./common");
8
+ const DAY_MS = 24 * 60 * 60 * 1000;
9
+ class AskModeAdoption extends common_1.CursorConverter {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.destinationModels = [
13
+ 'vcs_AssistantMetric',
14
+ ];
15
+ }
16
+ id(record) {
17
+ const item = record.record.data;
18
+ return `${item.event_date}__${item.model}`;
19
+ }
20
+ async convert(record, ctx) {
21
+ const item = record.record.data;
22
+ if (!item.email) {
23
+ return [];
24
+ }
25
+ if ((0, lodash_1.isNil)(item.usage) || item.usage <= 0) {
26
+ return [];
27
+ }
28
+ const day = faros_js_client_1.Utils.toDate(item.event_date);
29
+ const organization = {
30
+ uid: this.streamName.source,
31
+ source: this.streamName.source,
32
+ };
33
+ return this.getAssistantMetric({
34
+ startedAt: day,
35
+ endedAt: faros_js_client_1.Utils.toDate(day.getTime() + DAY_MS),
36
+ assistantMetricType: vcs_1.AssistantMetric.Usages,
37
+ assistantMetricTypeDetail: common_1.CursorStream.AskModeAdoption,
38
+ value: item.usage,
39
+ organization,
40
+ userEmail: item.email,
41
+ feature: common_1.Feature.Ask,
42
+ model: item.model,
43
+ });
44
+ }
45
+ }
46
+ exports.AskModeAdoption = AskModeAdoption;
47
+ //# sourceMappingURL=ask_mode_adoption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask_mode_adoption.js","sourceRoot":"","sources":["../../../src/converters/cursor/ask_mode_adoption.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AACtC,mCAA6B;AAE7B,uCAA8C;AAE9C,qCAAgE;AAEhE,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,MAAa,eAAgB,SAAQ,wBAAe;IAApD;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;SACtB,CAAC;IAuCJ,CAAC;IArCC,EAAE,CAAC,MAAqB;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAA2B,CAAC;QACvD,OAAO,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAA2B,CAAC;QAEvD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG;YACnB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;SAC/B,CAAC;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC;YAC7B,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC;YAC7C,mBAAmB,EAAE,qBAAe,CAAC,MAAM;YAC3C,yBAAyB,EAAE,qBAAY,CAAC,eAAe;YACvD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,OAAO,EAAE,gBAAO,CAAC,GAAG;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AA1CD,0CA0CC"}
@@ -0,0 +1,8 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
3
+ import { CursorConverter } from './common';
4
+ export declare class ClientVersions extends CursorConverter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ id(record: AirbyteRecord): string;
7
+ convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
8
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientVersions = void 0;
4
+ const faros_js_client_1 = require("faros-js-client");
5
+ const vcs_1 = require("../common/vcs");
6
+ const common_1 = require("./common");
7
+ const DAY_MS = 24 * 60 * 60 * 1000;
8
+ class ClientVersions extends common_1.CursorConverter {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.destinationModels = [
12
+ 'vcs_AssistantMetric',
13
+ ];
14
+ }
15
+ id(record) {
16
+ const item = record.record.data;
17
+ return `${item.event_date}__${item.client_version}`;
18
+ }
19
+ async convert(record, ctx) {
20
+ const item = record.record.data;
21
+ if (!item.email || !item.client_version) {
22
+ return [];
23
+ }
24
+ const day = faros_js_client_1.Utils.toDate(item.event_date);
25
+ const organization = {
26
+ uid: this.streamName.source,
27
+ source: this.streamName.source,
28
+ };
29
+ return this.getAssistantMetric({
30
+ startedAt: day,
31
+ endedAt: faros_js_client_1.Utils.toDate(day.getTime() + DAY_MS),
32
+ assistantMetricType: vcs_1.AssistantMetric.Engagement,
33
+ assistantMetricTypeDetail: common_1.CursorStream.ClientVersions,
34
+ value: true,
35
+ organization,
36
+ userEmail: item.email,
37
+ editor: item.client_version,
38
+ });
39
+ }
40
+ }
41
+ exports.ClientVersions = ClientVersions;
42
+ //# sourceMappingURL=client_versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client_versions.js","sourceRoot":"","sources":["../../../src/converters/cursor/client_versions.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAEtC,uCAA8C;AAE9C,qCAAuD;AAEvD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,MAAa,cAAe,SAAQ,wBAAe;IAAnD;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;SACtB,CAAC;IAkCJ,CAAC;IAhCC,EAAE,CAAC,MAAqB;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAA0B,CAAC;QACtD,OAAO,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAA0B,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG;YACnB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;SAC/B,CAAC;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC;YAC7B,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,uBAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC;YAC7C,mBAAmB,EAAE,qBAAe,CAAC,UAAU;YAC/C,yBAAyB,EAAE,qBAAY,CAAC,cAAc;YACtD,KAAK,EAAE,IAAI;YACX,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,MAAM,EAAE,IAAI,CAAC,cAAc;SAC5B,CAAC,CAAC;IACL,CAAC;CACF;AArCD,wCAqCC"}
@@ -0,0 +1,8 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
3
+ import { CursorConverter } from './common';
4
+ export declare class CommandsAdoption extends CursorConverter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ id(record: AirbyteRecord): string;
7
+ convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
8
+ }