airbyte-faros-destination 0.23.38 → 0.23.39

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.
@@ -0,0 +1,9 @@
1
+ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
+ import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
3
+ import { Usage } from './usage';
4
+ export declare class Costs extends Usage {
5
+ readonly destinationModels: ReadonlyArray<DestinationModel>;
6
+ id(record: AirbyteRecord): any;
7
+ convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
8
+ onProcessingComplete(): Promise<ReadonlyArray<DestinationRecord>>;
9
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Costs = void 0;
4
+ const vcs_1 = require("../common/vcs");
5
+ const usage_1 = require("./usage");
6
+ // site_hosting and unknown products are dropped
7
+ const PRODUCT_TOOLS = {
8
+ codex: vcs_1.VCSToolDetail.Codex,
9
+ ChatGPT: vcs_1.VCSToolDetail.ChatGPT,
10
+ Work: vcs_1.VCSToolDetail.Work,
11
+ };
12
+ // Model rows per product. They share uids with usage model rows, which the
13
+ // source omits on days costs covers, so each model bucket is written once.
14
+ class Costs extends usage_1.Usage {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.destinationModels = [
18
+ 'vcs_User',
19
+ 'vcs_UserEmail',
20
+ 'vcs_UserTool',
21
+ 'vcs_AssistantMetric',
22
+ 'vcs_UserToolUsage',
23
+ ];
24
+ }
25
+ id(record) {
26
+ const data = record?.record?.data;
27
+ return [
28
+ data?.start_time,
29
+ data?.user_id,
30
+ data?.product,
31
+ data?.model,
32
+ data?.speed,
33
+ ].join('__');
34
+ }
35
+ async convert(record, ctx) {
36
+ const item = record.record.data;
37
+ const tool = PRODUCT_TOOLS[item.product];
38
+ if (!tool || !item.model || !item.user_email) {
39
+ return [];
40
+ }
41
+ const startedAt = new Date(item.start_time * 1000);
42
+ const organization = {
43
+ uid: this.streamName.source,
44
+ source: this.streamName.source,
45
+ };
46
+ const values = [...(0, usage_1.billingMetrics)(item), ...(0, usage_1.tokenMetrics)(item)];
47
+ const metrics = values.flatMap(([assistantMetricType, value, assistantMetricTypeDetail]) => this.getAssistantMetric({
48
+ startedAt,
49
+ endedAt: new Date(item.end_time * 1000),
50
+ organization,
51
+ userEmail: item.user_email,
52
+ model: item.model,
53
+ speed: item.speed,
54
+ tool,
55
+ assistantMetricType,
56
+ assistantMetricTypeDetail,
57
+ value,
58
+ }));
59
+ // Usage rows omit models here, so a user whose only spend is in model
60
+ // buckets would otherwise have no user or activity records
61
+ const active = values.some(([, value]) => value > 0);
62
+ return this.withUserRecords(metrics, item.user_email, organization, startedAt, new Set([tool]), new Set(active ? [tool] : []));
63
+ }
64
+ async onProcessingComplete() {
65
+ return [];
66
+ }
67
+ }
68
+ exports.Costs = Costs;
69
+ //# sourceMappingURL=costs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"costs.js","sourceRoot":"","sources":["../../../src/converters/codex/costs.ts"],"names":[],"mappings":";;;AAEA,uCAA4C;AAE5C,mCAAyE;AAYzE,gDAAgD;AAChD,MAAM,aAAa,GAAkC;IACnD,KAAK,EAAE,mBAAa,CAAC,KAAK;IAC1B,OAAO,EAAE,mBAAa,CAAC,OAAO;IAC9B,IAAI,EAAE,mBAAa,CAAC,IAAI;CACzB,CAAC;AAEF,2EAA2E;AAC3E,2EAA2E;AAC3E,MAAa,KAAM,SAAQ,aAAK;IAAhC;;QACW,sBAAiB,GAAoC;YAC5D,UAAU;YACV,eAAe;YACf,cAAc;YACd,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;IA4DJ,CAAC;IA1DC,EAAE,CAAC,MAAqB;QACtB,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAqB,EACrB,GAAkB;QAElB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAqB,CAAC;QACjD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG;YACnB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;YAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;SAC/B,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAC5B,CAAC,CAAC,mBAAmB,EAAE,KAAK,EAAE,yBAAyB,CAAC,EAAE,EAAE,CAC1D,IAAI,CAAC,kBAAkB,CAAC;YACtB,SAAS;YACT,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvC,YAAY;YACZ,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI;YACJ,mBAAmB;YACnB,yBAAyB;YACzB,KAAK;SACN,CAAC,CACL,CAAC;QACF,sEAAsE;QACtE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,eAAe,CACzB,OAAO,EACP,IAAI,CAAC,UAAU,EACf,YAAY,EACZ,SAAS,EACT,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EACf,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAnED,sBAmEC"}
@@ -2,13 +2,13 @@ import { AirbyteRecord } from 'faros-airbyte-cdk';
2
2
  import { AssistantMetric, OrgKey, VCSToolDetail } from '../common/vcs';
3
3
  import { DestinationModel, DestinationRecord, StreamContext } from '../converter';
4
4
  import { CodexConverter } from './common';
5
- interface TextTokenUsage {
5
+ export interface TextTokenUsage {
6
6
  uncached_text_input_tokens?: number | null;
7
7
  cached_text_input_tokens?: number | null;
8
8
  text_output_tokens?: number | null;
9
9
  text_total_tokens?: number | null;
10
10
  }
11
- interface BilledUsage extends TextTokenUsage {
11
+ export interface BilledUsage extends TextTokenUsage {
12
12
  credits: number | null;
13
13
  cost_usd?: number | null;
14
14
  estimated_cost_usd?: number | null;
@@ -69,12 +69,16 @@ export interface CodexAssistantMetricConfig {
69
69
  }
70
70
  export declare function clientTool(clientId: string): VCSToolDetail | undefined;
71
71
  export declare function isCodexClient(clientId: string): boolean;
72
+ type MetricValue = [AssistantMetric, number, string?];
73
+ export declare function billingMetrics(usage: BilledUsage): MetricValue[];
74
+ export declare function tokenMetrics(usage: TextTokenUsage): MetricValue[];
72
75
  export declare class Usage extends CodexConverter {
73
76
  private readonly seenUsers;
74
77
  private readonly seenUserTools;
75
78
  readonly destinationModels: ReadonlyArray<DestinationModel>;
76
79
  protected getAssistantMetric(config: CodexAssistantMetricConfig): DestinationRecord[];
77
80
  convert(record: AirbyteRecord, ctx: StreamContext): Promise<ReadonlyArray<DestinationRecord>>;
81
+ protected withUserRecords(metrics: ReadonlyArray<DestinationRecord>, userEmail: string, organization: OrgKey, startedAt: Date, tools: ReadonlySet<VCSToolDetail>, activeTools: ReadonlySet<VCSToolDetail>): DestinationRecord[];
78
82
  onProcessingComplete(): Promise<ReadonlyArray<DestinationRecord>>;
79
83
  }
80
84
  export {};
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Usage = void 0;
4
4
  exports.clientTool = clientTool;
5
5
  exports.isCodexClient = isCodexClient;
6
+ exports.billingMetrics = billingMetrics;
7
+ exports.tokenMetrics = tokenMetrics;
6
8
  const common_1 = require("faros-airbyte-common/common");
7
9
  const lodash_1 = require("lodash");
8
10
  const vcs_1 = require("../common/vcs");
@@ -21,6 +23,51 @@ function clientTool(clientId) {
21
23
  function isCodexClient(clientId) {
22
24
  return clientTool(clientId) === vcs_1.VCSToolDetail.Codex;
23
25
  }
26
+ // Null means not reported and is skipped; a reported zero is kept
27
+ function billingMetrics(usage) {
28
+ const metrics = [];
29
+ if (!(0, lodash_1.isNil)(usage.credits)) {
30
+ metrics.push([vcs_1.AssistantMetric.Cost, usage.credits]);
31
+ }
32
+ // Cost/USD is estimated_cost_usd: credits priced at the workspace's
33
+ // overage rate, not billed spend. API rounds it to the cent; store
34
+ // integer cents, matching the Claude path.
35
+ if (!(0, lodash_1.isNil)(usage.estimated_cost_usd)) {
36
+ metrics.push([
37
+ vcs_1.AssistantMetric.Cost,
38
+ Math.round(usage.estimated_cost_usd * 100),
39
+ 'USD',
40
+ ]);
41
+ }
42
+ // Native USD-priced usage, excluding credit-priced usage
43
+ if (!(0, lodash_1.isNil)(usage.cost_usd)) {
44
+ metrics.push([
45
+ vcs_1.AssistantMetric.Cost,
46
+ Math.round(usage.cost_usd * 100),
47
+ 'NativeUSD',
48
+ ]);
49
+ }
50
+ return metrics;
51
+ }
52
+ function tokenMetrics(usage) {
53
+ const metrics = [];
54
+ if (usage.uncached_text_input_tokens) {
55
+ metrics.push([
56
+ vcs_1.AssistantMetric.InputTokens,
57
+ usage.uncached_text_input_tokens,
58
+ ]);
59
+ }
60
+ if (usage.cached_text_input_tokens) {
61
+ metrics.push([
62
+ vcs_1.AssistantMetric.CacheReadTokens,
63
+ usage.cached_text_input_tokens,
64
+ ]);
65
+ }
66
+ if (usage.text_output_tokens) {
67
+ metrics.push([vcs_1.AssistantMetric.OutputTokens, usage.text_output_tokens]);
68
+ }
69
+ return metrics;
70
+ }
24
71
  function isBilled(usage) {
25
72
  return Boolean(usage.credits || usage.cost_usd || usage.estimated_cost_usd);
26
73
  }
@@ -120,31 +167,14 @@ class Usage extends common_2.CodexConverter {
120
167
  ...dims,
121
168
  }));
122
169
  };
123
- // Null means not reported and is skipped; a reported zero is kept
124
170
  const emitBilling = (usage, dims) => {
125
- if (!(0, lodash_1.isNil)(usage.credits)) {
126
- emit(vcs_1.AssistantMetric.Cost, usage.credits, dims);
127
- }
128
- // Cost/USD is estimated_cost_usd: credits priced at the workspace's
129
- // overage rate, not billed spend. API rounds it to the cent; store
130
- // integer cents, matching the Claude path.
131
- if (!(0, lodash_1.isNil)(usage.estimated_cost_usd)) {
132
- emit(vcs_1.AssistantMetric.Cost, Math.round(usage.estimated_cost_usd * 100), dims, 'USD');
133
- }
134
- // Native USD-priced usage, excluding credit-priced usage
135
- if (!(0, lodash_1.isNil)(usage.cost_usd)) {
136
- emit(vcs_1.AssistantMetric.Cost, Math.round(usage.cost_usd * 100), dims, 'NativeUSD');
171
+ for (const [type, value, detail] of billingMetrics(usage)) {
172
+ emit(type, value, dims, detail);
137
173
  }
138
174
  };
139
175
  const emitTokens = (usage, dims) => {
140
- if (usage.uncached_text_input_tokens) {
141
- emit(vcs_1.AssistantMetric.InputTokens, usage.uncached_text_input_tokens, dims);
142
- }
143
- if (usage.cached_text_input_tokens) {
144
- emit(vcs_1.AssistantMetric.CacheReadTokens, usage.cached_text_input_tokens, dims);
145
- }
146
- if (usage.text_output_tokens) {
147
- emit(vcs_1.AssistantMetric.OutputTokens, usage.text_output_tokens, dims);
176
+ for (const [type, value] of tokenMetrics(usage)) {
177
+ emit(type, value, dims);
148
178
  }
149
179
  };
150
180
  // Per-client breakdown, attributed to each client's product. Totals are
@@ -212,6 +242,10 @@ class Usage extends common_2.CodexConverter {
212
242
  if (commitAttribution?.with_codex_contribution) {
213
243
  emit(vcs_1.AssistantMetric.CommitsCreated, commitAttribution.with_codex_contribution, codeDims);
214
244
  }
245
+ return this.withUserRecords(metrics, userEmail, organization, startedAt, tools, activeTools);
246
+ }
247
+ // Wraps metrics with the user and tool records they reference
248
+ withUserRecords(metrics, userEmail, organization, startedAt, tools, activeTools) {
215
249
  // Rows with no known product must not register the user
216
250
  if (!metrics.length) {
217
251
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/converters/codex/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/converters/codex/usage.ts"],"names":[],"mappings":"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"}