airbyte-faros-destination 0.23.19 → 0.23.21
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/converters/claude/analytics_skills.d.ts +1 -0
- package/lib/converters/claude/analytics_skills.js +72 -33
- package/lib/converters/claude/analytics_skills.js.map +1 -1
- package/lib/converters/cursor/common.d.ts +1 -0
- package/lib/converters/cursor/common.js +1 -0
- package/lib/converters/cursor/common.js.map +1 -1
- package/lib/converters/cursor/skills_adoption.d.ts +8 -0
- package/lib/converters/cursor/skills_adoption.js +47 -0
- package/lib/converters/cursor/skills_adoption.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -5,4 +5,5 @@ export declare class AnalyticsSkills extends ClaudeConverter {
|
|
|
5
5
|
readonly destinationModels: ReadonlyArray<DestinationModel>;
|
|
6
6
|
id(record: AirbyteRecord): string;
|
|
7
7
|
convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
|
|
8
|
+
private skillMetric;
|
|
8
9
|
}
|
|
@@ -3,9 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AnalyticsSkills = void 0;
|
|
4
4
|
const common_1 = require("faros-airbyte-common/common");
|
|
5
5
|
const faros_js_client_1 = require("faros-js-client");
|
|
6
|
+
const lodash_1 = require("lodash");
|
|
6
7
|
const vcs_1 = require("../common/vcs");
|
|
7
8
|
const common_2 = require("./common");
|
|
8
9
|
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
10
|
+
const SESSIONS_DETAIL = 'analytics_skills';
|
|
11
|
+
const INVOCATIONS_DETAIL = 'analytics_skills_invocations';
|
|
9
12
|
class AnalyticsSkills extends common_2.ClaudeConverter {
|
|
10
13
|
constructor() {
|
|
11
14
|
super(...arguments);
|
|
@@ -15,13 +18,14 @@ class AnalyticsSkills extends common_2.ClaudeConverter {
|
|
|
15
18
|
}
|
|
16
19
|
id(record) {
|
|
17
20
|
const item = record.record.data;
|
|
18
|
-
|
|
21
|
+
const scope = item.user_id || 'organization';
|
|
22
|
+
return `${item.date}__${item.skill_name}__${scope}`;
|
|
19
23
|
}
|
|
20
24
|
async convert(record, ctx) {
|
|
21
25
|
const item = record.record.data;
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
if (
|
|
26
|
+
// User-grouped rows carry a user_id; drop any the source could not resolve
|
|
27
|
+
// to an email, since every other Claude metric keys vcs_User on email
|
|
28
|
+
if (item.user_id && !item.user_email) {
|
|
25
29
|
return [];
|
|
26
30
|
}
|
|
27
31
|
const day = faros_js_client_1.Utils.toDate(item.date);
|
|
@@ -29,37 +33,72 @@ class AnalyticsSkills extends common_2.ClaudeConverter {
|
|
|
29
33
|
uid: this.streamName.source,
|
|
30
34
|
source: this.streamName.source,
|
|
31
35
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
36
|
+
// skill_name is an opaque id for user- and organization-scoped skills
|
|
37
|
+
const feature = `skill:${item.skill_display_name ?? item.skill_name}`;
|
|
38
|
+
const res = [];
|
|
39
|
+
const sessionCount = item.claude_code_metrics?.distinct_session_skill_used_count ?? 0;
|
|
40
|
+
if (sessionCount > 0) {
|
|
41
|
+
res.push(this.skillMetric({
|
|
42
|
+
day,
|
|
43
|
+
detail: SESSIONS_DETAIL,
|
|
44
|
+
value: sessionCount,
|
|
45
|
+
organization,
|
|
46
|
+
feature,
|
|
47
|
+
skillName: item.skill_name,
|
|
48
|
+
userEmail: item.user_email,
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
// Null when invocation reporting is not enabled for the organization
|
|
52
|
+
if (!(0, lodash_1.isNil)(item.invocation_count) && item.invocation_count > 0) {
|
|
53
|
+
res.push(this.skillMetric({
|
|
54
|
+
day,
|
|
55
|
+
detail: INVOCATIONS_DETAIL,
|
|
56
|
+
value: item.invocation_count,
|
|
57
|
+
organization,
|
|
58
|
+
feature,
|
|
59
|
+
skillName: item.skill_name,
|
|
60
|
+
userEmail: item.user_email,
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
return res;
|
|
64
|
+
}
|
|
65
|
+
skillMetric(config) {
|
|
66
|
+
const { day, detail, value, organization, feature, skillName, userEmail } = config;
|
|
67
|
+
const uidParts = [
|
|
68
|
+
vcs_1.VCSToolDetail.ClaudeCode,
|
|
69
|
+
vcs_1.AssistantMetric.Usages,
|
|
70
|
+
detail,
|
|
71
|
+
day.toISOString(),
|
|
72
|
+
organization.uid,
|
|
73
|
+
`skill:${skillName}`,
|
|
74
|
+
];
|
|
75
|
+
if (userEmail) {
|
|
76
|
+
uidParts.push(userEmail);
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
model: 'vcs_AssistantMetric',
|
|
80
|
+
record: {
|
|
81
|
+
uid: (0, common_1.digest)(uidParts.join('__')),
|
|
82
|
+
source: this.source,
|
|
83
|
+
startedAt: day,
|
|
84
|
+
endedAt: faros_js_client_1.Utils.toDate(day.getTime() + DAY_MS),
|
|
85
|
+
type: {
|
|
86
|
+
category: vcs_1.AssistantMetric.Usages,
|
|
87
|
+
detail,
|
|
88
|
+
},
|
|
89
|
+
valueType: 'Int',
|
|
90
|
+
value: String(value),
|
|
91
|
+
organization,
|
|
92
|
+
...(userEmail && {
|
|
93
|
+
user: { uid: userEmail, source: this.streamName.source },
|
|
94
|
+
}),
|
|
95
|
+
tool: {
|
|
96
|
+
category: vcs_1.VCSToolCategory.CodingAssistant,
|
|
97
|
+
detail: vcs_1.VCSToolDetail.ClaudeCode,
|
|
60
98
|
},
|
|
99
|
+
feature,
|
|
61
100
|
},
|
|
62
|
-
|
|
101
|
+
};
|
|
63
102
|
}
|
|
64
103
|
}
|
|
65
104
|
exports.AnalyticsSkills = AnalyticsSkills;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics_skills.js","sourceRoot":"","sources":["../../../src/converters/claude/analytics_skills.ts"],"names":[],"mappings":";;;AAEA,wDAAmD;AACnD,qDAAsC;
|
|
1
|
+
{"version":3,"file":"analytics_skills.js","sourceRoot":"","sources":["../../../src/converters/claude/analytics_skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ export declare enum CursorStream {
|
|
|
41
41
|
McpAdoption = "mcp_adoption",
|
|
42
42
|
CommandsAdoption = "commands_adoption",
|
|
43
43
|
PlansAdoption = "plans_adoption",
|
|
44
|
+
SkillsAdoption = "skills_adoption",
|
|
44
45
|
AskModeAdoption = "ask_mode_adoption",
|
|
45
46
|
TopFileExtensions = "top_file_extensions"
|
|
46
47
|
}
|
|
@@ -28,6 +28,7 @@ var CursorStream;
|
|
|
28
28
|
CursorStream["McpAdoption"] = "mcp_adoption";
|
|
29
29
|
CursorStream["CommandsAdoption"] = "commands_adoption";
|
|
30
30
|
CursorStream["PlansAdoption"] = "plans_adoption";
|
|
31
|
+
CursorStream["SkillsAdoption"] = "skills_adoption";
|
|
31
32
|
CursorStream["AskModeAdoption"] = "ask_mode_adoption";
|
|
32
33
|
CursorStream["TopFileExtensions"] = "top_file_extensions";
|
|
33
34
|
})(CursorStream || (exports.CursorStream = CursorStream = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/cursor/common.ts"],"names":[],"mappings":";;;AACA,wDAAmD;AAEnD,mCAA6B;AAE7B,uCAA8E;AAC9E,4CAAyE;AAuBzE,IAAY,OAWX;AAXD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,gCAAqB,CAAA;IACrB,wBAAa,CAAA;IACb,0BAAe,CAAA;IACf,yBAAc,CAAA;IACd,4BAAiB,CAAA;IACjB,sBAAW,CAAA;IACX,oCAAyB,CAAA;IACzB,sBAAW,CAAA;IACX,wBAAa,CAAA;AACf,CAAC,EAXW,OAAO,uBAAP,OAAO,QAWlB;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/converters/cursor/common.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 SkillsAdoption 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.SkillsAdoption = 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 SkillsAdoption 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.skill_name}`;
|
|
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
|
+
const feature = `Skill:${item.skill_name}`;
|
|
34
|
+
return this.getAssistantMetric({
|
|
35
|
+
startedAt: day,
|
|
36
|
+
endedAt: faros_js_client_1.Utils.toDate(day.getTime() + DAY_MS),
|
|
37
|
+
assistantMetricType: vcs_1.AssistantMetric.Usages,
|
|
38
|
+
assistantMetricTypeDetail: common_1.CursorStream.SkillsAdoption,
|
|
39
|
+
value: item.usage,
|
|
40
|
+
organization,
|
|
41
|
+
userEmail: item.email,
|
|
42
|
+
feature,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.SkillsAdoption = SkillsAdoption;
|
|
47
|
+
//# sourceMappingURL=skills_adoption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills_adoption.js","sourceRoot":"","sources":["../../../src/converters/cursor/skills_adoption.ts"],"names":[],"mappings":";;;AAEA,qDAAsC;AACtC,mCAA6B;AAE7B,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;IAwCJ,CAAC;IAtCC,EAAE,CAAC,MAAqB;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAA0B,CAAC;QACtD,OAAO,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;IAClD,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,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,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAE3C,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,cAAc;YACtD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;CACF;AA3CD,wCA2CC"}
|