airbyte-faros-destination 0.19.9 → 0.19.11

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.
@@ -92,6 +92,7 @@ export declare enum AssistantMetric {
92
92
  CommitsCreated = "CommitsCreated",
93
93
  PullRequestsCreated = "PullRequestsCreated",
94
94
  Cost = "Cost",
95
+ PercentageOfCodeWritten = "PercentageOfCodeWritten",
95
96
  Custom = "Custom"
96
97
  }
97
98
  export declare function fileKey(filePath: string, repoKey: RepoKey): FileKey;
@@ -68,6 +68,7 @@ var AssistantMetric;
68
68
  AssistantMetric["CommitsCreated"] = "CommitsCreated";
69
69
  AssistantMetric["PullRequestsCreated"] = "PullRequestsCreated";
70
70
  AssistantMetric["Cost"] = "Cost";
71
+ AssistantMetric["PercentageOfCodeWritten"] = "PercentageOfCodeWritten";
71
72
  AssistantMetric["Custom"] = "Custom";
72
73
  })(AssistantMetric || (exports.AssistantMetric = AssistantMetric = {}));
73
74
  function fileKey(filePath, repoKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"vcs.js","sourceRoot":"","sources":["../../../src/converters/common/vcs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vcs.js","sourceRoot":"","sources":["../../../src/converters/common/vcs.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { AirbyteRecord } from 'faros-airbyte-cdk';
2
- import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
2
+ import { DestinationModel, DestinationRecord } from '../converter';
3
3
  import { WindsurfConverter } from './common';
4
4
  export declare class AutocompleteAnalytics extends WindsurfConverter {
5
5
  readonly destinationModels: ReadonlyArray<DestinationModel>;
6
- id(record: AirbyteRecord): string;
7
- convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
6
+ convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
8
7
  }
@@ -9,22 +9,60 @@ class AutocompleteAnalytics extends common_1.WindsurfConverter {
9
9
  super(...arguments);
10
10
  this.destinationModels = [
11
11
  'vcs_AssistantMetric',
12
+ 'vcs_UserToolUsage',
12
13
  ];
13
14
  }
14
- id(record) {
15
- const item = record.record.data;
16
- return `${item.email}__${item.date}`;
17
- }
18
- async convert(record, ctx) {
15
+ async convert(record) {
19
16
  const item = record.record.data;
20
17
  const res = [];
21
18
  const startedAt = faros_js_client_1.Utils.toDate(item.date);
22
19
  const endedAt = faros_js_client_1.Utils.toDate(startedAt.getTime() + 24 * 60 * 60 * 1000);
23
- if (item.num_acceptances > 0) {
24
- res.push(...this.getAssistantMetric(startedAt, endedAt, vcs_1.AssistantMetric.SuggestionsAccepted, item.num_acceptances, this.streamName.source, item.email, undefined, undefined, common_1.WindsurfFeature.Autocompletion, item.ide, item.language));
20
+ if (item.sum_num_acceptances > 0) {
21
+ res.push(...this.getAssistantMetric({
22
+ startedAt,
23
+ endedAt,
24
+ assistantMetricType: vcs_1.AssistantMetric.SuggestionsAccepted,
25
+ value: item.sum_num_acceptances,
26
+ organization: this.streamName.source,
27
+ userEmail: item.email,
28
+ feature: common_1.WindsurfFeature.Autocompletion,
29
+ editor: item.ide,
30
+ language: item.language,
31
+ }));
32
+ }
33
+ if (item.sum_num_lines_accepted > 0) {
34
+ res.push(...this.getAssistantMetric({
35
+ startedAt,
36
+ endedAt,
37
+ assistantMetricType: vcs_1.AssistantMetric.LinesAccepted,
38
+ value: item.sum_num_lines_accepted,
39
+ organization: this.streamName.source,
40
+ userEmail: item.email,
41
+ feature: common_1.WindsurfFeature.Autocompletion,
42
+ editor: item.ide,
43
+ language: item.language,
44
+ }));
25
45
  }
26
- if (item.num_lines_accepted > 0) {
27
- res.push(...this.getAssistantMetric(startedAt, endedAt, vcs_1.AssistantMetric.LinesAccepted, item.num_lines_accepted, this.streamName.source, item.email, undefined, undefined, common_1.WindsurfFeature.Autocompletion, item.ide, item.language));
46
+ // Add UserToolUsage record for active usage
47
+ if (item.sum_num_acceptances > 0 || item.sum_num_lines_accepted > 0) {
48
+ res.push({
49
+ model: 'vcs_UserToolUsage',
50
+ record: {
51
+ userTool: {
52
+ user: { uid: item.email, source: this.streamName.source },
53
+ organization: {
54
+ uid: this.streamName.source,
55
+ source: this.streamName.source,
56
+ },
57
+ tool: {
58
+ category: vcs_1.VCSToolCategory.CodingAssistant,
59
+ detail: vcs_1.VCSToolDetail.Windsurf,
60
+ },
61
+ },
62
+ usedAt: startedAt.toISOString(),
63
+ recordedAt: startedAt.toISOString(),
64
+ },
65
+ });
28
66
  }
29
67
  return res;
30
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/autocomplete_analytics.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAEtC,uCAA6D;AAE7D,qCAA4D;AAE5D,MAAa,qBAAsB,SAAQ,0BAAiB;IAA5D;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;SACtB,CAAC;IAwDJ,CAAC;IAtDC,EAAE,CAAC,MAAqB;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAiC,CAAC;QAC7D,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAiC,CAAC;QAE7D,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CACxB,SAAS,EACT,OAAO,EACP,qBAAe,CAAC,mBAAmB,EACnC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,KAAK,EACV,SAAS,EACT,SAAS,EACT,wBAAe,CAAC,cAAc,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,QAAQ,CACd,CACF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CACxB,SAAS,EACT,OAAO,EACP,qBAAe,CAAC,aAAa,EAC7B,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,KAAK,EACV,SAAS,EACT,SAAS,EACT,wBAAe,CAAC,cAAc,EAC9B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,QAAQ,CACd,CACF,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA3DD,sDA2DC"}
1
+ {"version":3,"file":"autocomplete_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/autocomplete_analytics.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAEtC,uCAA8E;AAE9E,qCAA4D;AAE5D,MAAa,qBAAsB,SAAQ,0BAAiB;IAA5D;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;IAoEJ,CAAC;IAlEC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAiC,CAAC;QAE7D,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS;gBACT,OAAO;gBACP,mBAAmB,EAAE,qBAAe,CAAC,mBAAmB;gBACxD,KAAK,EAAE,IAAI,CAAC,mBAAmB;gBAC/B,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACpC,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,OAAO,EAAE,wBAAe,CAAC,cAAc;gBACvC,MAAM,EAAE,IAAI,CAAC,GAAG;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS;gBACT,OAAO;gBACP,mBAAmB,EAAE,qBAAe,CAAC,aAAa;gBAClD,KAAK,EAAE,IAAI,CAAC,sBAAsB;gBAClC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACpC,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,OAAO,EAAE,wBAAe,CAAC,cAAc;gBACvC,MAAM,EAAE,IAAI,CAAC,GAAG;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE;oBACN,QAAQ,EAAE;wBACR,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;wBACvD,YAAY,EAAE;4BACZ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;4BAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;yBAC/B;wBACD,IAAI,EAAE;4BACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;4BACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;yBAC/B;qBACF;oBACD,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE;oBAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAxED,sDAwEC"}
@@ -3,6 +3,5 @@ import { DestinationModel, DestinationRecord } from '../converter';
3
3
  import { WindsurfConverter } from './common';
4
4
  export declare class CascadeLinesAnalytics extends WindsurfConverter {
5
5
  readonly destinationModels: ReadonlyArray<DestinationModel>;
6
- id(record: AirbyteRecord): string;
7
6
  convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
8
7
  }
@@ -9,24 +9,58 @@ class CascadeLinesAnalytics extends common_1.WindsurfConverter {
9
9
  super(...arguments);
10
10
  this.destinationModels = [
11
11
  'vcs_AssistantMetric',
12
+ 'vcs_UserToolUsage',
12
13
  ];
13
14
  }
14
- id(record) {
15
- const item = record.record.data;
16
- return `${item.email}__${item.day}`;
17
- }
18
15
  async convert(record) {
19
16
  const item = record.record.data;
20
17
  const res = [];
21
18
  const startedAt = faros_js_client_1.Utils.toDate(item.day);
22
19
  const endedAt = faros_js_client_1.Utils.toDate(startedAt.getTime() + 24 * 60 * 60 * 1000);
23
20
  if (item.linesAccepted > 0) {
24
- res.push(...this.getAssistantMetric(startedAt, endedAt, vcs_1.AssistantMetric.LinesAccepted, item.linesAccepted, this.streamName.source, item.email, undefined, undefined, common_1.WindsurfFeature.Cascade));
21
+ res.push(...this.getAssistantMetric({
22
+ startedAt,
23
+ endedAt,
24
+ assistantMetricType: vcs_1.AssistantMetric.LinesAccepted,
25
+ value: item.linesAccepted,
26
+ organization: this.streamName.source,
27
+ userEmail: item.email,
28
+ feature: common_1.WindsurfFeature.Cascade,
29
+ }));
25
30
  }
26
31
  // Calculate lines discarded = lines suggested - lines accepted
27
32
  if (item.linesSuggested > item.linesAccepted) {
28
33
  const linesDiscarded = item.linesSuggested - item.linesAccepted;
29
- res.push(...this.getAssistantMetric(startedAt, endedAt, vcs_1.AssistantMetric.LinesDiscarded, linesDiscarded, this.streamName.source, item.email, undefined, undefined, common_1.WindsurfFeature.Cascade));
34
+ res.push(...this.getAssistantMetric({
35
+ startedAt,
36
+ endedAt,
37
+ assistantMetricType: vcs_1.AssistantMetric.LinesDiscarded,
38
+ value: linesDiscarded,
39
+ organization: this.streamName.source,
40
+ userEmail: item.email,
41
+ feature: common_1.WindsurfFeature.Cascade,
42
+ }));
43
+ }
44
+ // Add UserToolUsage record for active usage
45
+ if (item.linesAccepted > 0 || item.linesSuggested > 0) {
46
+ res.push({
47
+ model: 'vcs_UserToolUsage',
48
+ record: {
49
+ userTool: {
50
+ user: { uid: item.email, source: this.streamName.source },
51
+ organization: {
52
+ uid: this.streamName.source,
53
+ source: this.streamName.source,
54
+ },
55
+ tool: {
56
+ category: vcs_1.VCSToolCategory.CodingAssistant,
57
+ detail: vcs_1.VCSToolDetail.Windsurf,
58
+ },
59
+ },
60
+ usedAt: startedAt.toISOString(),
61
+ recordedAt: startedAt.toISOString(),
62
+ },
63
+ });
30
64
  }
31
65
  return res;
32
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cascade_lines_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/cascade_lines_analytics.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAEtC,uCAA6D;AAE7D,qCAA4D;AAE5D,MAAa,qBAAsB,SAAQ,0BAAiB;IAA5D;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;SACtB,CAAC;IAqDJ,CAAC;IAnDC,EAAE,CAAC,MAAqB;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAwB,CAAC;QACpD,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAwB,CAAC;QAEpD,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,uBAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CACxB,SAAS,EACT,OAAO,EACP,qBAAe,CAAC,aAAa,EAC7B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,KAAK,EACV,SAAS,EACT,SAAS,EACT,wBAAe,CAAC,OAAO,CACxB,CACF,CAAC;QACJ,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YAChE,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CACxB,SAAS,EACT,OAAO,EACP,qBAAe,CAAC,cAAc,EAC9B,cAAc,EACd,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,KAAK,EACV,SAAS,EACT,SAAS,EACT,wBAAe,CAAC,OAAO,CACxB,CACF,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAxDD,sDAwDC"}
1
+ {"version":3,"file":"cascade_lines_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/cascade_lines_analytics.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAEtC,uCAA8E;AAE9E,qCAA4D;AAE5D,MAAa,qBAAsB,SAAQ,0BAAiB;IAA5D;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;IAkEJ,CAAC;IAhEC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAwB,CAAC;QAEpD,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,uBAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS;gBACT,OAAO;gBACP,mBAAmB,EAAE,qBAAe,CAAC,aAAa;gBAClD,KAAK,EAAE,IAAI,CAAC,aAAa;gBACzB,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACpC,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,OAAO,EAAE,wBAAe,CAAC,OAAO;aACjC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YAChE,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS;gBACT,OAAO;gBACP,mBAAmB,EAAE,qBAAe,CAAC,cAAc;gBACnD,KAAK,EAAE,cAAc;gBACrB,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACpC,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,OAAO,EAAE,wBAAe,CAAC,OAAO;aACjC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE;oBACN,QAAQ,EAAE;wBACR,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;wBACvD,YAAY,EAAE;4BACZ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;4BAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;yBAC/B;wBACD,IAAI,EAAE;4BACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;4BACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;yBAC/B;qBACF;oBACD,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE;oBAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAtED,sDAsEC"}
@@ -0,0 +1,7 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord } from '../converter';
3
+ import { WindsurfConverter } from './common';
4
+ export declare class CascadeRunsAnalytics extends WindsurfConverter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
7
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CascadeRunsAnalytics = 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
+ class CascadeRunsAnalytics extends common_1.WindsurfConverter {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.destinationModels = [
11
+ 'vcs_AssistantMetric',
12
+ 'vcs_UserToolUsage',
13
+ ];
14
+ }
15
+ async convert(record) {
16
+ const item = record.record.data;
17
+ const res = [];
18
+ const startedAt = faros_js_client_1.Utils.toDate(item.day);
19
+ const endedAt = faros_js_client_1.Utils.toDate(startedAt.getTime() + 24 * 60 * 60 * 1000);
20
+ // Generate Usage metric for messagesSent
21
+ if (item.messagesSent && item.messagesSent > 0) {
22
+ res.push(...this.getAssistantMetric({
23
+ startedAt,
24
+ endedAt,
25
+ assistantMetricType: vcs_1.AssistantMetric.Usages,
26
+ value: item.messagesSent,
27
+ organization: this.streamName.source,
28
+ userEmail: item.email,
29
+ model: item.model,
30
+ feature: item.mode,
31
+ }));
32
+ // Add UserToolUsage record for active usage
33
+ res.push({
34
+ model: 'vcs_UserToolUsage',
35
+ record: {
36
+ userTool: {
37
+ user: { uid: item.email, source: this.streamName.source },
38
+ organization: {
39
+ uid: this.streamName.source,
40
+ source: this.streamName.source,
41
+ },
42
+ tool: {
43
+ category: vcs_1.VCSToolCategory.CodingAssistant,
44
+ detail: vcs_1.VCSToolDetail.Windsurf,
45
+ },
46
+ },
47
+ usedAt: startedAt.toISOString(),
48
+ recordedAt: startedAt.toISOString(),
49
+ },
50
+ });
51
+ }
52
+ // Generate Cost metric for promptsUsed
53
+ if (item.promptsUsed && item.promptsUsed > 0) {
54
+ res.push(...this.getAssistantMetric({
55
+ startedAt,
56
+ endedAt,
57
+ assistantMetricType: vcs_1.AssistantMetric.Cost,
58
+ value: item.promptsUsed,
59
+ organization: this.streamName.source,
60
+ userEmail: item.email,
61
+ model: item.model,
62
+ feature: item.mode,
63
+ }));
64
+ }
65
+ return res;
66
+ }
67
+ }
68
+ exports.CascadeRunsAnalytics = CascadeRunsAnalytics;
69
+ //# sourceMappingURL=cascade_runs_analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascade_runs_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/cascade_runs_analytics.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAEtC,uCAA8E;AAE9E,qCAA4D;AAE5D,MAAa,oBAAqB,SAAQ,0BAAiB;IAA3D;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;IAkEJ,CAAC;IAhEC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAuB,CAAC;QAEnD,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,uBAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,yCAAyC;QACzC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS;gBACT,OAAO;gBACP,mBAAmB,EAAE,qBAAe,CAAC,MAAM;gBAC3C,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACpC,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,IAAI;aACnB,CAAC,CACH,CAAC;YAEF,4CAA4C;YAC5C,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE;oBACN,QAAQ,EAAE;wBACR,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;wBACvD,YAAY,EAAE;4BACZ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;4BAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;yBAC/B;wBACD,IAAI,EAAE;4BACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;4BACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;yBAC/B;qBACF;oBACD,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE;oBAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS;gBACT,OAAO;gBACP,mBAAmB,EAAE,qBAAe,CAAC,IAAI;gBACzC,KAAK,EAAE,IAAI,CAAC,WAAW;gBACvB,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACpC,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,IAAI;aACnB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAtED,oDAsEC"}
@@ -0,0 +1,7 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord } from '../converter';
3
+ import { WindsurfConverter } from './common';
4
+ export declare class ChatAnalytics extends WindsurfConverter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
7
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatAnalytics = 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
+ class ChatAnalytics extends common_1.WindsurfConverter {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.destinationModels = [
11
+ 'vcs_AssistantMetric',
12
+ 'vcs_UserToolUsage',
13
+ ];
14
+ }
15
+ async convert(record) {
16
+ const item = record.record.data;
17
+ const res = [];
18
+ const startedAt = faros_js_client_1.Utils.toDate(item.date);
19
+ const endedAt = faros_js_client_1.Utils.toDate(startedAt.getTime() + 24 * 60 * 60 * 1000);
20
+ if (item.sum_chat_loc_used > 0) {
21
+ res.push(...this.getAssistantMetric({
22
+ startedAt,
23
+ endedAt,
24
+ assistantMetricType: vcs_1.AssistantMetric.LinesAccepted,
25
+ value: item.sum_chat_loc_used,
26
+ organization: this.streamName.source,
27
+ userEmail: item.email,
28
+ model: item.model_id,
29
+ feature: common_1.WindsurfFeature.Chat,
30
+ editor: item.ide,
31
+ }));
32
+ // Add UserToolUsage record for active usage
33
+ res.push({
34
+ model: 'vcs_UserToolUsage',
35
+ record: {
36
+ userTool: {
37
+ user: { uid: item.email, source: this.streamName.source },
38
+ organization: {
39
+ uid: this.streamName.source,
40
+ source: this.streamName.source,
41
+ },
42
+ tool: {
43
+ category: vcs_1.VCSToolCategory.CodingAssistant,
44
+ detail: vcs_1.VCSToolDetail.Windsurf,
45
+ },
46
+ },
47
+ usedAt: startedAt.toISOString(),
48
+ recordedAt: startedAt.toISOString(),
49
+ },
50
+ });
51
+ }
52
+ return res;
53
+ }
54
+ }
55
+ exports.ChatAnalytics = ChatAnalytics;
56
+ //# sourceMappingURL=chat_analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/chat_analytics.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAEtC,uCAA8E;AAE9E,qCAA4D;AAE5D,MAAa,aAAc,SAAQ,0BAAiB;IAApD;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;IAkDJ,CAAC;IAhDC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAyB,CAAC;QAErD,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS;gBACT,OAAO;gBACP,mBAAmB,EAAE,qBAAe,CAAC,aAAa;gBAClD,KAAK,EAAE,IAAI,CAAC,iBAAiB;gBAC7B,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACpC,SAAS,EAAE,IAAI,CAAC,KAAK;gBACrB,KAAK,EAAE,IAAI,CAAC,QAAQ;gBACpB,OAAO,EAAE,wBAAe,CAAC,IAAI;gBAC7B,MAAM,EAAE,IAAI,CAAC,GAAG;aACjB,CAAC,CACH,CAAC;YAEF,4CAA4C;YAC5C,GAAG,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE;oBACN,QAAQ,EAAE;wBACR,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;wBACvD,YAAY,EAAE;4BACZ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;4BAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;yBAC/B;wBACD,IAAI,EAAE;4BACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;4BACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;yBAC/B;qBACF;oBACD,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE;oBAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAtDD,sCAsDC"}
@@ -3,10 +3,25 @@ import { AssistantMetric } from '../common/vcs';
3
3
  import { Converter, DestinationRecord } from '../converter';
4
4
  export declare enum WindsurfFeature {
5
5
  Autocompletion = "Autocompletion",
6
- Cascade = "Cascade"
6
+ Cascade = "Cascade",
7
+ Chat = "Chat"
8
+ }
9
+ export interface AssistantMetricConfig {
10
+ startedAt: Date;
11
+ endedAt: Date;
12
+ assistantMetricType: AssistantMetric;
13
+ value: number;
14
+ organization: string;
15
+ userEmail?: string;
16
+ customMetricName?: string;
17
+ model?: string;
18
+ feature?: string;
19
+ editor?: string;
20
+ language?: string;
21
+ valueType?: 'Int' | 'Percent';
7
22
  }
8
23
  export declare abstract class WindsurfConverter extends Converter {
9
24
  source: string;
10
25
  id(record: AirbyteRecord): any;
11
- protected getAssistantMetric(startedAt: Date, endedAt: Date, assistantMetricType: AssistantMetric, value: number, org: string, userEmail: string, customMetricName?: string, model?: string, feature?: string, editor?: string, language?: string): DestinationRecord[];
26
+ protected getAssistantMetric(config: AssistantMetricConfig): DestinationRecord[];
12
27
  }
@@ -9,6 +9,7 @@ var WindsurfFeature;
9
9
  (function (WindsurfFeature) {
10
10
  WindsurfFeature["Autocompletion"] = "Autocompletion";
11
11
  WindsurfFeature["Cascade"] = "Cascade";
12
+ WindsurfFeature["Chat"] = "Chat";
12
13
  })(WindsurfFeature || (exports.WindsurfFeature = WindsurfFeature = {}));
13
14
  class WindsurfConverter extends converter_1.Converter {
14
15
  constructor() {
@@ -17,9 +18,10 @@ class WindsurfConverter extends converter_1.Converter {
17
18
  }
18
19
  id(record) {
19
20
  var _a, _b;
20
- 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.email;
21
+ 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;
21
22
  }
22
- getAssistantMetric(startedAt, endedAt, assistantMetricType, value, org, userEmail, customMetricName, model, feature, editor, language) {
23
+ getAssistantMetric(config) {
24
+ const { startedAt, endedAt, assistantMetricType, value, organization, userEmail, customMetricName, model, feature, editor, language, valueType = 'Int', } = config;
23
25
  return [
24
26
  {
25
27
  model: 'vcs_AssistantMetric',
@@ -31,7 +33,7 @@ class WindsurfConverter extends converter_1.Converter {
31
33
  vcs_1.VCSToolDetail.Windsurf,
32
34
  assistantMetricType,
33
35
  startedAt.toISOString(),
34
- org,
36
+ organization,
35
37
  userEmail,
36
38
  customMetricName,
37
39
  ],
@@ -52,13 +54,15 @@ class WindsurfConverter extends converter_1.Converter {
52
54
  category: assistantMetricType,
53
55
  ...(customMetricName && { detail: customMetricName }),
54
56
  },
55
- valueType: 'Int',
57
+ valueType,
56
58
  value: String(value),
57
59
  organization: {
58
- uid: org,
60
+ uid: organization,
59
61
  source: this.streamName.source,
60
62
  },
61
- user: { uid: userEmail, source: this.streamName.source },
63
+ ...(userEmail && {
64
+ user: { uid: userEmail, source: this.streamName.source },
65
+ }),
62
66
  tool: {
63
67
  category: vcs_1.VCSToolCategory.CodingAssistant,
64
68
  detail: vcs_1.VCSToolDetail.Windsurf,
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/windsurf/common.ts"],"names":[],"mappings":";;;AACA,wDAAmD;AACnD,mCAA6B;AAE7B,uCAA8E;AAC9E,4CAA0D;AAE1D,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,sCAAmB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED,MAAsB,iBAAkB,SAAQ,qBAAS;IAAzD;;QACE,WAAM,GAAG,UAAU,CAAC;IAwEtB,CAAC;IAtEC,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,KAAK,CAAC;IACrC,CAAC;IAES,kBAAkB,CAC1B,SAAe,EACf,OAAa,EACb,mBAAoC,EACpC,KAAa,EACb,GAAW,EACX,SAAiB,EACjB,gBAAyB,EACzB,KAAc,EACd,OAAgB,EAChB,MAAe,EACf,QAAiB;QAEjB,OAAO;YACL;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,MAAM,EAAE;oBACN,GAAG,EAAE,IAAA,eAAM,EACT,EAAE;yBACC,MAAM;oBACL,0DAA0D;oBAC1D,GAAG;wBACD,mBAAa,CAAC,QAAQ;wBACtB,mBAAmB;wBACnB,SAAS,CAAC,WAAW,EAAE;wBACvB,GAAG;wBACH,SAAS;wBACT,gBAAgB;qBACjB;oBACD,uDAAuD;oBACvD,GAAG;wBACD,EAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC;wBAC5B,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAC;wBAChC,EAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAC;wBAC9B,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAC;qBACnC;yBACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC;yBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CACrC;yBACA,IAAI,CAAC,IAAI,CAAC,CACd;oBACD,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS;oBACT,OAAO;oBACP,IAAI,EAAE;wBACJ,QAAQ,EAAE,mBAAmB;wBAC7B,GAAG,CAAC,gBAAgB,IAAI,EAAC,MAAM,EAAE,gBAAgB,EAAC,CAAC;qBACpD;oBACD,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;oBACpB,YAAY,EAAE;wBACZ,GAAG,EAAE,GAAG;wBACR,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;qBAC/B;oBACD,IAAI,EAAE,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBACtD,IAAI,EAAE;wBACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;wBACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;qBAC/B;oBACD,GAAG,CAAC,KAAK,IAAI,EAAC,KAAK,EAAC,CAAC;oBACrB,GAAG,CAAC,OAAO,IAAI,EAAC,OAAO,EAAC,CAAC;oBACzB,GAAG,CAAC,MAAM,IAAI,EAAC,MAAM,EAAC,CAAC;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;CACF;AAzED,8CAyEC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/windsurf/common.ts"],"names":[],"mappings":";;;AACA,wDAAmD;AACnD,mCAA6B;AAE7B,uCAA8E;AAC9E,4CAA0D;AAE1D,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,sCAAmB,CAAA;IACnB,gCAAa,CAAA;AACf,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAiBD,MAAsB,iBAAkB,SAAQ,qBAAS;IAAzD;;QACE,WAAM,GAAG,UAAU,CAAC;IA8EtB,CAAC;IA5EC,EAAE,CAAC,MAAqB;;QACtB,OAAO,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,IAAI,0CAAE,EAAE,CAAC;IAClC,CAAC;IAES,kBAAkB,CAC1B,MAA6B;QAE7B,MAAM,EACJ,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,KAAK,EACL,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,KAAK,GAClB,GAAG,MAAM,CAAC;QACX,OAAO;YACL;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,MAAM,EAAE;oBACN,GAAG,EAAE,IAAA,eAAM,EACT,EAAE;yBACC,MAAM;oBACL,0DAA0D;oBAC1D,GAAG;wBACD,mBAAa,CAAC,QAAQ;wBACtB,mBAAmB;wBACnB,SAAS,CAAC,WAAW,EAAE;wBACvB,YAAY;wBACZ,SAAS;wBACT,gBAAgB;qBACjB;oBACD,uDAAuD;oBACvD,GAAG;wBACD,EAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC;wBAC5B,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAC;wBAChC,EAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAC;wBAC9B,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAC;qBACnC;yBACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,cAAK,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC;yBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CACrC;yBACA,IAAI,CAAC,IAAI,CAAC,CACd;oBACD,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS;oBACT,OAAO;oBACP,IAAI,EAAE;wBACJ,QAAQ,EAAE,mBAAmB;wBAC7B,GAAG,CAAC,gBAAgB,IAAI,EAAC,MAAM,EAAE,gBAAgB,EAAC,CAAC;qBACpD;oBACD,SAAS;oBACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;oBACpB,YAAY,EAAE;wBACZ,GAAG,EAAE,YAAY;wBACjB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;qBAC/B;oBACD,GAAG,CAAC,SAAS,IAAI;wBACf,IAAI,EAAE,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;qBACvD,CAAC;oBACF,IAAI,EAAE;wBACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;wBACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;qBAC/B;oBACD,GAAG,CAAC,KAAK,IAAI,EAAC,KAAK,EAAC,CAAC;oBACrB,GAAG,CAAC,OAAO,IAAI,EAAC,OAAO,EAAC,CAAC;oBACzB,GAAG,CAAC,MAAM,IAAI,EAAC,MAAM,EAAC,CAAC;iBACxB;aACF;SACF,CAAC;IACJ,CAAC;CACF;AA/ED,8CA+EC"}
@@ -0,0 +1,7 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord } from '../converter';
3
+ import { WindsurfConverter } from './common';
4
+ export declare class PcwAnalytics extends WindsurfConverter {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ convert(record: AirbyteRecord): Promise<ReadonlyArray<DestinationRecord>>;
7
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PcwAnalytics = 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
+ class PcwAnalytics extends common_1.WindsurfConverter {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.destinationModels = [
11
+ 'vcs_AssistantMetric',
12
+ ];
13
+ }
14
+ async convert(record) {
15
+ const item = record.record.data;
16
+ const res = [];
17
+ const startedAt = faros_js_client_1.Utils.toDate(item.date);
18
+ const endedAt = faros_js_client_1.Utils.toDate(startedAt.getTime() + 24 * 60 * 60 * 1000);
19
+ if (item.percent_code_written !== undefined) {
20
+ res.push(...this.getAssistantMetric({
21
+ startedAt,
22
+ endedAt,
23
+ assistantMetricType: vcs_1.AssistantMetric.PercentageOfCodeWritten,
24
+ value: item.percent_code_written,
25
+ organization: this.streamName.source,
26
+ valueType: 'Percent',
27
+ }));
28
+ }
29
+ return res;
30
+ }
31
+ }
32
+ exports.PcwAnalytics = PcwAnalytics;
33
+ //# sourceMappingURL=pcw_analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcw_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/pcw_analytics.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AAEtC,uCAA8C;AAE9C,qCAA2C;AAE3C,MAAa,YAAa,SAAQ,0BAAiB;IAAnD;;QACW,sBAAiB,GAAoC;YAC5D,qBAAqB;SACtB,CAAC;IA2BJ,CAAC;IAzBC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAwB,CAAC;QAEpD,MAAM,GAAG,GAAwB,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,uBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,uBAAK,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CACN,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzB,SAAS;gBACT,OAAO;gBACP,mBAAmB,EAAE,qBAAe,CAAC,uBAAuB;gBAC5D,KAAK,EAAE,IAAI,CAAC,oBAAoB;gBAChC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBACpC,SAAS,EAAE,SAAS;aACrB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA9BD,oCA8BC"}
@@ -11,7 +11,6 @@ class UserPageAnalytics extends common_1.WindsurfConverter {
11
11
  'vcs_User',
12
12
  'vcs_UserEmail',
13
13
  'vcs_UserTool',
14
- 'vcs_UserToolUsage',
15
14
  ];
16
15
  }
17
16
  async convert(record) {
@@ -47,33 +46,10 @@ class UserPageAnalytics extends common_1.WindsurfConverter {
47
46
  detail: vcs_1.VCSToolDetail.Windsurf,
48
47
  },
49
48
  inactive: user.disableCodeium === true,
50
- ...(user.minUsageTimestamp && {
51
- startedAt: user.minUsageTimestamp,
52
- }),
49
+ startedAt: user.signupTime,
53
50
  },
54
51
  },
55
52
  ];
56
- // Add vcs_UserToolUsage records for each usage timestamp
57
- for (const usageTimestamp of user.usageTimestamps) {
58
- results.push({
59
- model: 'vcs_UserToolUsage',
60
- record: {
61
- userTool: {
62
- user: { uid: user.email, source: this.streamName.source },
63
- organization: {
64
- uid: this.streamName.source,
65
- source: this.streamName.source,
66
- },
67
- tool: {
68
- category: vcs_1.VCSToolCategory.CodingAssistant,
69
- detail: vcs_1.VCSToolDetail.Windsurf,
70
- },
71
- },
72
- usedAt: usageTimestamp,
73
- recordedAt: usageTimestamp,
74
- },
75
- });
76
- }
77
53
  return results;
78
54
  }
79
55
  async onProcessingComplete() {
@@ -1 +1 @@
1
- {"version":3,"file":"user_page_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/user_page_analytics.ts"],"names":[],"mappings":";;;AAGA,uCAA+E;AAE/E,qCAA2C;AAE3C,MAAa,iBAAkB,SAAQ,0BAAiB;IAAxD;;QACW,sBAAiB,GAAoC;YAC5D,kBAAkB;YAClB,UAAU;YACV,eAAe;YACf,cAAc;YACd,mBAAmB;SACpB,CAAC;IAiFJ,CAAC;IA/EC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAA0B,CAAC;QAEtD,MAAM,OAAO,GAAwB;YACnC;gBACE,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI,CAAC,KAAK;oBACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC;oBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,sBAAgB,CAAC,IAAI;iBAC5B;aACF;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE;oBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBACvD,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB;aACF;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE;oBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBACvD,YAAY,EAAE;wBACZ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;wBAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;qBAC/B;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;wBACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;qBAC/B;oBACD,QAAQ,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;oBACtC,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI;wBAC5B,SAAS,EAAE,IAAI,CAAC,iBAAiB;qBAClC,CAAC;iBACH;aACF;SACF,CAAC;QAEF,yDAAyD;QACzD,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE;oBACN,QAAQ,EAAE;wBACR,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;wBACvD,YAAY,EAAE;4BACZ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;4BAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;yBAC/B;wBACD,IAAI,EAAE;4BACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;4BACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;yBAC/B;qBACF;oBACD,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,cAAc;iBAC3B;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO;YACL;gBACE,KAAK,EAAE,kBAAkB;gBACzB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;iBAC/B;aACF;SACF,CAAC;IACJ,CAAC;CACF;AAxFD,8CAwFC"}
1
+ {"version":3,"file":"user_page_analytics.js","sourceRoot":"","sources":["../../../src/converters/windsurf/user_page_analytics.ts"],"names":[],"mappings":";;;AAGA,uCAA+E;AAE/E,qCAA2C;AAE3C,MAAa,iBAAkB,SAAQ,0BAAiB;IAAxD;;QACW,sBAAiB,GAAoC;YAC5D,kBAAkB;YAClB,UAAU;YACV,eAAe;YACf,cAAc;SACf,CAAC;IAyDJ,CAAC;IAvDC,KAAK,CAAC,OAAO,CACX,MAAqB;QAErB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAA0B,CAAC;QAEtD,MAAM,OAAO,GAAwB;YACnC;gBACE,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI,CAAC,KAAK;oBACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC;oBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,sBAAgB,CAAC,IAAI;iBAC5B;aACF;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE;oBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBACvD,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB;aACF;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE;oBACN,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;oBACvD,YAAY,EAAE;wBACZ,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;wBAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;qBAC/B;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,qBAAe,CAAC,eAAe;wBACzC,MAAM,EAAE,mBAAa,CAAC,QAAQ;qBAC/B;oBACD,QAAQ,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;oBACtC,SAAS,EAAE,IAAI,CAAC,UAAU;iBAC3B;aACF;SACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO;YACL;gBACE,KAAK,EAAE,kBAAkB;gBACzB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;iBAC/B;aACF;SACF,CAAC;IACJ,CAAC;CACF;AA/DD,8CA+DC"}