Skip to content

Commit 48b9a0f

Browse files
author
Daniel OBrien
committed
fix package name
tracker configs
1 parent 4abed57 commit 48b9a0f

File tree

3 files changed

+32
-12
lines changed

3 files changed

+32
-12
lines changed

packages/sdk/ai/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "@launchdarkly/node-server-sdk-ai",
2+
"name": "@launchdarkly/ai",
33
"version": "0.1.0",
44
"description": "AI and LLM integration for the LaunchDarkly Server-Side SDK for Node.js",
55
"main": "dist/index.js",

packages/sdk/ai/src/LDAIConfigTracker.ts

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,60 +5,73 @@ import { BedrockTokenUsage, FeedbackKind, TokenUsage, UnderscoreTokenUsage } fro
55

66
export class LDAIConfigTracker {
77
private ldClient: LDClient;
8-
private variationId: Record<string, string>;
8+
private configKey: string;
9+
private variationId: string;
910
private context: LDContext;
1011

11-
constructor(ldClient: LDClient, variationId: string, context: LDContext) {
12+
constructor(ldClient: LDClient, configKey: string, variationId: string, context: LDContext) {
1213
this.ldClient = ldClient;
13-
this.variationId = { variationId };
14+
this.configKey = configKey;
15+
this.variationId = variationId;
1416
this.context = context;
1517
}
1618

19+
getTrackData() {
20+
return {
21+
configKey: this.configKey,
22+
variationId: this.variationId,
23+
};
24+
}
25+
1726
trackDuration(duration: number): void {
1827
this.ldClient.track('$ld:ai:duration:total', this.context, this.variationId, duration);
1928
}
2029

2130
trackTokens(tokens: TokenUsage | UnderscoreTokenUsage | BedrockTokenUsage) {
31+
console.log('tracking LLM tokens', tokens);
2232
const tokenMetrics = usageToTokenMetrics(tokens);
33+
console.log('token metrics', tokenMetrics);
2334
if (tokenMetrics.total > 0) {
2435
this.ldClient.track(
2536
'$ld:ai:tokens:total',
2637
this.context,
27-
this.variationId,
38+
this.getTrackData(),
2839
tokenMetrics.total,
2940
);
3041
}
3142
if (tokenMetrics.input > 0) {
43+
console.log('tracking input tokens', tokenMetrics.input);
3244
this.ldClient.track(
3345
'$ld:ai:tokens:input',
3446
this.context,
35-
this.variationId,
47+
this.getTrackData(),
3648
tokenMetrics.input,
3749
);
3850
}
3951
if (tokenMetrics.output > 0) {
52+
console.log('tracking output tokens', tokenMetrics.output);
4053
this.ldClient.track(
4154
'$ld:ai:tokens:output',
4255
this.context,
43-
this.variationId,
56+
this.getTrackData(),
4457
tokenMetrics.output,
4558
);
4659
}
4760
}
4861

4962
trackError(error: number) {
50-
this.ldClient.track('$ld:ai:error', this.context, this.variationId, error);
63+
this.ldClient.track('$ld:ai:error', this.context, this.getTrackData(), error);
5164
}
5265

5366
trackGeneration(generation: number) {
54-
this.ldClient.track('$ld:ai:generation', this.context, this.variationId, generation);
67+
this.ldClient.track('$ld:ai:generation', this.context, this.getTrackData(), generation);
5568
}
5669

5770
trackFeedback(feedback: { kind: FeedbackKind }) {
5871
if (feedback.kind === FeedbackKind.Positive) {
59-
this.ldClient.track('$ld:ai:feedback:user:positive', this.context, this.variationId, 1);
72+
this.ldClient.track('$ld:ai:feedback:user:positive', this.context, this.getTrackData(), 1);
6073
} else if (feedback.kind === FeedbackKind.Negative) {
61-
this.ldClient.track('$ld:ai:feedback:user:negative', this.context, this.variationId, 1);
74+
this.ldClient.track('$ld:ai:feedback:user:negative', this.context, this.getTrackData(), 1);
6275
}
6376
}
6477
}

packages/sdk/ai/src/index.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,18 @@ export class AIClient {
7676

7777
return {
7878
config: detail.value,
79-
tracker: new LDAIConfigTracker(this.ldClient, detail.value.variationId, context),
79+
tracker: new LDAIConfigTracker(
80+
this.ldClient,
81+
key,
82+
detail.value.variationId || '1234-1234-1234-1234',
83+
context,
84+
),
8085
};
8186
}
8287
}
8388

8489
export function init(ldClient: LDClient): AIClient {
8590
return new AIClient(ldClient);
8691
}
92+
93+
export { LDAIConfigTracker } from './LDAIConfigTracker';

0 commit comments

Comments
 (0)