@launchdarkly/server-sdk-ai 0.13.0 → 0.14.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.
- package/CHANGELOG.md +39 -0
- package/README.md +1 -1
- package/__tests__/Judge.test.ts +521 -0
- package/__tests__/LDAIClientImpl.test.ts +535 -323
- package/__tests__/LDAIConfigTrackerImpl.test.ts +50 -290
- package/__tests__/TrackedChat.test.ts +5 -5
- package/dist/package.json +53 -0
- package/dist/src/LDAIClientImpl.d.ts +39 -0
- package/dist/src/LDAIClientImpl.d.ts.map +1 -0
- package/dist/src/LDAIClientImpl.js +164 -0
- package/dist/src/LDAIClientImpl.js.map +1 -0
- package/dist/{LDAIConfigTrackerImpl.d.ts → src/LDAIConfigTrackerImpl.d.ts} +12 -11
- package/dist/src/LDAIConfigTrackerImpl.d.ts.map +1 -0
- package/dist/{LDAIConfigTrackerImpl.js → src/LDAIConfigTrackerImpl.js} +21 -44
- package/dist/src/LDAIConfigTrackerImpl.js.map +1 -0
- package/dist/src/LDClientMin.d.ts.map +1 -0
- package/dist/{LDClientMin.js.map → src/LDClientMin.js.map} +1 -1
- package/dist/src/api/LDAIClient.d.ts +258 -0
- package/dist/src/api/LDAIClient.d.ts.map +1 -0
- package/dist/{api → src/api}/LDAIClient.js.map +1 -1
- package/dist/{api → src/api}/chat/TrackedChat.d.ts +22 -4
- package/dist/src/api/chat/TrackedChat.d.ts.map +1 -0
- package/dist/{api → src/api}/chat/TrackedChat.js +43 -2
- package/dist/src/api/chat/TrackedChat.js.map +1 -0
- package/dist/src/api/chat/index.d.ts.map +1 -0
- package/dist/src/api/chat/index.js.map +1 -0
- package/dist/src/api/chat/types.d.ts +22 -0
- package/dist/src/api/chat/types.d.ts.map +1 -0
- package/dist/{api → src/api}/chat/types.js.map +1 -1
- package/dist/{api → src/api}/config/LDAIConfigTracker.d.ts +25 -25
- package/dist/src/api/config/LDAIConfigTracker.d.ts.map +1 -0
- package/dist/src/api/config/LDAIConfigTracker.js.map +1 -0
- package/dist/src/api/config/LDAIConfigUtils.d.ts +2 -0
- package/dist/src/api/config/LDAIConfigUtils.d.ts.map +1 -0
- package/dist/src/api/config/LDAIConfigUtils.js +145 -0
- package/dist/src/api/config/LDAIConfigUtils.js.map +1 -0
- package/dist/src/api/config/index.d.ts +3 -0
- package/dist/src/api/config/index.d.ts.map +1 -0
- package/dist/{api/agents → src/api/config}/index.js +1 -1
- package/dist/src/api/config/index.js.map +1 -0
- package/dist/src/api/config/types.d.ts +206 -0
- package/dist/src/api/config/types.d.ts.map +1 -0
- package/dist/{api/agents/LDAIAgent.js → src/api/config/types.js} +1 -1
- package/dist/src/api/config/types.js.map +1 -0
- package/dist/{api → src/api}/index.d.ts +1 -1
- package/dist/src/api/index.d.ts.map +1 -0
- package/dist/{api → src/api}/index.js +1 -1
- package/dist/src/api/index.js.map +1 -0
- package/dist/src/api/judge/EvaluationSchemaBuilder.d.ts +11 -0
- package/dist/src/api/judge/EvaluationSchemaBuilder.d.ts.map +1 -0
- package/dist/src/api/judge/EvaluationSchemaBuilder.js +52 -0
- package/dist/src/api/judge/EvaluationSchemaBuilder.js.map +1 -0
- package/dist/src/api/judge/Judge.d.ts +63 -0
- package/dist/src/api/judge/Judge.d.ts.map +1 -0
- package/dist/src/api/judge/Judge.js +151 -0
- package/dist/src/api/judge/Judge.js.map +1 -0
- package/dist/src/api/judge/index.d.ts +3 -0
- package/dist/src/api/judge/index.d.ts.map +1 -0
- package/dist/src/api/judge/index.js +6 -0
- package/dist/src/api/judge/index.js.map +1 -0
- package/dist/src/api/judge/types.d.ts +37 -0
- package/dist/src/api/judge/types.d.ts.map +1 -0
- package/dist/{api/config/LDAIConfig.js → src/api/judge/types.js} +1 -1
- package/dist/src/api/judge/types.js.map +1 -0
- package/dist/src/api/metrics/BedrockTokenUsage.d.ts.map +1 -0
- package/dist/src/api/metrics/BedrockTokenUsage.js.map +1 -0
- package/dist/src/api/metrics/LDAIMetrics.d.ts.map +1 -0
- package/dist/src/api/metrics/LDAIMetrics.js.map +1 -0
- package/dist/src/api/metrics/LDFeedbackKind.d.ts.map +1 -0
- package/dist/src/api/metrics/LDFeedbackKind.js.map +1 -0
- package/dist/src/api/metrics/LDTokenUsage.d.ts.map +1 -0
- package/dist/src/api/metrics/LDTokenUsage.js.map +1 -0
- package/dist/src/api/metrics/OpenAiUsage.d.ts.map +1 -0
- package/dist/src/api/metrics/OpenAiUsage.js.map +1 -0
- package/dist/src/api/metrics/VercelAISDKTokenUsage.d.ts.map +1 -0
- package/dist/src/api/metrics/VercelAISDKTokenUsage.js.map +1 -0
- package/dist/src/api/metrics/index.d.ts.map +1 -0
- package/dist/src/api/metrics/index.js.map +1 -0
- package/dist/{api → src/api}/providers/AIProvider.d.ts +20 -3
- package/dist/src/api/providers/AIProvider.d.ts.map +1 -0
- package/dist/src/api/providers/AIProvider.js +88 -0
- package/dist/src/api/providers/AIProvider.js.map +1 -0
- package/dist/{api → src/api}/providers/AIProviderFactory.d.ts +2 -2
- package/dist/src/api/providers/AIProviderFactory.d.ts.map +1 -0
- package/dist/src/api/providers/AIProviderFactory.js.map +1 -0
- package/dist/src/api/providers/index.d.ts.map +1 -0
- package/dist/src/api/providers/index.js.map +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js.map +1 -0
- package/docs/assets/search.js +1 -1
- package/docs/classes/AIProvider.html +55 -20
- package/docs/classes/AIProviderFactory.html +27 -17
- package/docs/classes/Judge.html +322 -0
- package/docs/classes/TrackedChat.html +97 -29
- package/docs/enums/LDFeedbackKind.html +22 -12
- package/docs/functions/createBedrockTokenUsage.html +20 -10
- package/docs/functions/createOpenAiUsage.html +20 -10
- package/docs/functions/createVercelAISDKTokenUsage.html +20 -10
- package/docs/functions/initAi.html +20 -10
- package/docs/index.html +36 -16
- package/docs/interfaces/ChatResponse.html +35 -14
- package/docs/interfaces/EvalScore.html +119 -0
- package/docs/interfaces/JudgeResponse.html +139 -0
- package/docs/interfaces/LDAIAgentConfig.html +90 -31
- package/docs/interfaces/{LDAIAgent.html → LDAIAgentConfigDefault.html} +51 -41
- package/docs/interfaces/LDAIAgentRequestConfig.html +129 -0
- package/docs/interfaces/LDAIClient.html +234 -40
- package/docs/interfaces/{VercelAISDKConfig.html → LDAICompletionConfig.html} +96 -90
- package/docs/interfaces/LDAICompletionConfigDefault.html +155 -0
- package/docs/interfaces/LDAIConfig.html +52 -75
- package/docs/interfaces/LDAIConfigDefault.html +133 -0
- package/docs/interfaces/LDAIConfigTracker.html +102 -63
- package/docs/interfaces/LDAIJudgeConfig.html +178 -0
- package/docs/interfaces/LDAIJudgeConfigDefault.html +155 -0
- package/docs/interfaces/LDAIMetrics.html +22 -12
- package/docs/interfaces/LDJudge.html +119 -0
- package/docs/interfaces/{VercelAISDKMapOptions.html → LDJudgeConfiguration.html} +35 -23
- package/docs/interfaces/LDLogger.html +19 -9
- package/docs/interfaces/LDMessage.html +22 -12
- package/docs/interfaces/LDModelConfig.html +23 -13
- package/docs/interfaces/LDProviderConfig.html +21 -11
- package/docs/interfaces/LDTokenUsage.html +23 -13
- package/docs/interfaces/StructuredResponse.html +129 -0
- package/docs/types/{VercelAISDKProvider.html → LDAIConfigDefaultKind.html} +26 -35
- package/docs/types/{LDAIAgentDefaults.html → LDAIConfigKind.html} +24 -14
- package/docs/types/{LDAIDefaults.html → LDAIConfigMode.html} +24 -24
- package/docs/types/SupportedAIProvider.html +20 -10
- package/docs/variables/SUPPORTED_AI_PROVIDERS.html +20 -10
- package/package.json +3 -3
- package/src/LDAIClientImpl.ts +222 -176
- package/src/LDAIConfigTrackerImpl.ts +31 -54
- package/src/api/LDAIClient.ts +166 -33
- package/src/api/chat/TrackedChat.ts +68 -5
- package/src/api/chat/types.ts +8 -1
- package/src/api/config/LDAIConfigTracker.ts +27 -30
- package/src/api/config/LDAIConfigUtils.ts +212 -0
- package/src/api/config/index.ts +2 -2
- package/src/api/config/types.ts +260 -0
- package/src/api/index.ts +1 -1
- package/src/api/judge/EvaluationSchemaBuilder.ts +54 -0
- package/src/api/judge/Judge.ts +218 -0
- package/src/api/judge/index.ts +2 -0
- package/src/api/judge/types.ts +41 -0
- package/src/api/providers/AIProvider.ts +54 -3
- package/src/api/providers/AIProviderFactory.ts +4 -4
- package/tsconfig.json +3 -3
- package/tsconfig.ref.json +1 -1
- package/__tests__/LDAIConfigMapper.test.ts +0 -159
- package/dist/LDAIClientImpl.d.ts +0 -23
- package/dist/LDAIClientImpl.d.ts.map +0 -1
- package/dist/LDAIClientImpl.js +0 -128
- package/dist/LDAIClientImpl.js.map +0 -1
- package/dist/LDAIConfigMapper.d.ts +0 -14
- package/dist/LDAIConfigMapper.d.ts.map +0 -1
- package/dist/LDAIConfigMapper.js +0 -59
- package/dist/LDAIConfigMapper.js.map +0 -1
- package/dist/LDAIConfigTrackerImpl.d.ts.map +0 -1
- package/dist/LDAIConfigTrackerImpl.js.map +0 -1
- package/dist/LDClientMin.d.ts.map +0 -1
- package/dist/api/LDAIClient.d.ts +0 -169
- package/dist/api/LDAIClient.d.ts.map +0 -1
- package/dist/api/agents/LDAIAgent.d.ts +0 -32
- package/dist/api/agents/LDAIAgent.d.ts.map +0 -1
- package/dist/api/agents/LDAIAgent.js.map +0 -1
- package/dist/api/agents/index.d.ts +0 -2
- package/dist/api/agents/index.d.ts.map +0 -1
- package/dist/api/agents/index.js.map +0 -1
- package/dist/api/chat/TrackedChat.d.ts.map +0 -1
- package/dist/api/chat/TrackedChat.js.map +0 -1
- package/dist/api/chat/index.d.ts.map +0 -1
- package/dist/api/chat/index.js.map +0 -1
- package/dist/api/chat/types.d.ts +0 -16
- package/dist/api/chat/types.d.ts.map +0 -1
- package/dist/api/config/LDAIConfig.d.ts +0 -95
- package/dist/api/config/LDAIConfig.d.ts.map +0 -1
- package/dist/api/config/LDAIConfig.js.map +0 -1
- package/dist/api/config/LDAIConfigTracker.d.ts.map +0 -1
- package/dist/api/config/LDAIConfigTracker.js.map +0 -1
- package/dist/api/config/VercelAISDK.d.ts +0 -31
- package/dist/api/config/VercelAISDK.d.ts.map +0 -1
- package/dist/api/config/VercelAISDK.js +0 -3
- package/dist/api/config/VercelAISDK.js.map +0 -1
- package/dist/api/config/index.d.ts +0 -4
- package/dist/api/config/index.d.ts.map +0 -1
- package/dist/api/config/index.js +0 -19
- package/dist/api/config/index.js.map +0 -1
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js.map +0 -1
- package/dist/api/metrics/BedrockTokenUsage.d.ts.map +0 -1
- package/dist/api/metrics/BedrockTokenUsage.js.map +0 -1
- package/dist/api/metrics/LDAIMetrics.d.ts.map +0 -1
- package/dist/api/metrics/LDAIMetrics.js.map +0 -1
- package/dist/api/metrics/LDFeedbackKind.d.ts.map +0 -1
- package/dist/api/metrics/LDFeedbackKind.js.map +0 -1
- package/dist/api/metrics/LDTokenUsage.d.ts.map +0 -1
- package/dist/api/metrics/LDTokenUsage.js.map +0 -1
- package/dist/api/metrics/OpenAiUsage.d.ts.map +0 -1
- package/dist/api/metrics/OpenAiUsage.js.map +0 -1
- package/dist/api/metrics/VercelAISDKTokenUsage.d.ts.map +0 -1
- package/dist/api/metrics/VercelAISDKTokenUsage.js.map +0 -1
- package/dist/api/metrics/index.d.ts.map +0 -1
- package/dist/api/metrics/index.js.map +0 -1
- package/dist/api/providers/AIProvider.d.ts.map +0 -1
- package/dist/api/providers/AIProvider.js +0 -31
- package/dist/api/providers/AIProvider.js.map +0 -1
- package/dist/api/providers/AIProviderFactory.d.ts.map +0 -1
- package/dist/api/providers/AIProviderFactory.js.map +0 -1
- package/dist/api/providers/index.d.ts.map +0 -1
- package/dist/api/providers/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/src/LDAIConfigMapper.ts +0 -69
- package/src/api/agents/LDAIAgent.ts +0 -36
- package/src/api/agents/index.ts +0 -1
- package/src/api/config/LDAIConfig.ts +0 -104
- package/src/api/config/VercelAISDK.ts +0 -33
- /package/dist/{LDClientMin.d.ts → src/LDClientMin.d.ts} +0 -0
- /package/dist/{LDClientMin.js → src/LDClientMin.js} +0 -0
- /package/dist/{api → src/api}/LDAIClient.js +0 -0
- /package/dist/{api → src/api}/chat/index.d.ts +0 -0
- /package/dist/{api → src/api}/chat/index.js +0 -0
- /package/dist/{api → src/api}/chat/types.js +0 -0
- /package/dist/{api → src/api}/config/LDAIConfigTracker.js +0 -0
- /package/dist/{api → src/api}/metrics/BedrockTokenUsage.d.ts +0 -0
- /package/dist/{api → src/api}/metrics/BedrockTokenUsage.js +0 -0
- /package/dist/{api → src/api}/metrics/LDAIMetrics.d.ts +0 -0
- /package/dist/{api → src/api}/metrics/LDAIMetrics.js +0 -0
- /package/dist/{api → src/api}/metrics/LDFeedbackKind.d.ts +0 -0
- /package/dist/{api → src/api}/metrics/LDFeedbackKind.js +0 -0
- /package/dist/{api → src/api}/metrics/LDTokenUsage.d.ts +0 -0
- /package/dist/{api → src/api}/metrics/LDTokenUsage.js +0 -0
- /package/dist/{api → src/api}/metrics/OpenAiUsage.d.ts +0 -0
- /package/dist/{api → src/api}/metrics/OpenAiUsage.js +0 -0
- /package/dist/{api → src/api}/metrics/VercelAISDKTokenUsage.d.ts +0 -0
- /package/dist/{api → src/api}/metrics/VercelAISDKTokenUsage.js +0 -0
- /package/dist/{api → src/api}/metrics/index.d.ts +0 -0
- /package/dist/{api → src/api}/metrics/index.js +0 -0
- /package/dist/{api → src/api}/providers/AIProviderFactory.js +0 -0
- /package/dist/{api → src/api}/providers/index.d.ts +0 -0
- /package/dist/{api → src/api}/providers/index.js +0 -0
- /package/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/{index.js → src/index.js} +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { LDContext } from '@launchdarkly/js-server-sdk-common';
|
|
2
|
+
import { TrackedChat } from './api/chat';
|
|
3
|
+
import { LDAIAgentConfig, LDAIAgentConfigDefault, LDAIAgentRequestConfig, LDAICompletionConfig, LDAICompletionConfigDefault, LDAIJudgeConfig, LDAIJudgeConfigDefault } from './api/config';
|
|
4
|
+
import { Judge } from './api/judge/Judge';
|
|
5
|
+
import { LDAIClient } from './api/LDAIClient';
|
|
6
|
+
import { SupportedAIProvider } from './api/providers';
|
|
7
|
+
import { LDClientMin } from './LDClientMin';
|
|
8
|
+
export declare class LDAIClientImpl implements LDAIClient {
|
|
9
|
+
private _ldClient;
|
|
10
|
+
private _logger?;
|
|
11
|
+
constructor(_ldClient: LDClientMin);
|
|
12
|
+
private _interpolateTemplate;
|
|
13
|
+
private _evaluate;
|
|
14
|
+
private _applyInterpolation;
|
|
15
|
+
private _initializeJudges;
|
|
16
|
+
completionConfig(key: string, context: LDContext, defaultValue: LDAICompletionConfigDefault, variables?: Record<string, unknown>): Promise<LDAICompletionConfig>;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Use `completionConfig` instead. This method will be removed in a future version.
|
|
19
|
+
*/
|
|
20
|
+
config(key: string, context: LDContext, defaultValue: LDAICompletionConfigDefault, variables?: Record<string, unknown>): Promise<LDAICompletionConfig>;
|
|
21
|
+
judgeConfig(key: string, context: LDContext, defaultValue: LDAIJudgeConfigDefault, variables?: Record<string, unknown>): Promise<LDAIJudgeConfig>;
|
|
22
|
+
agentConfig(key: string, context: LDContext, defaultValue: LDAIAgentConfigDefault, variables?: Record<string, unknown>): Promise<LDAIAgentConfig>;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use `agentConfig` instead. This method will be removed in a future version.
|
|
25
|
+
*/
|
|
26
|
+
agent(key: string, context: LDContext, defaultValue: LDAIAgentConfigDefault, variables?: Record<string, unknown>): Promise<LDAIAgentConfig>;
|
|
27
|
+
agentConfigs<const T extends readonly LDAIAgentRequestConfig[]>(agentConfigs: T, context: LDContext): Promise<Record<T[number]['key'], LDAIAgentConfig>>;
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use `agentConfigs` instead. This method will be removed in a future version.
|
|
30
|
+
*/
|
|
31
|
+
agents<const T extends readonly LDAIAgentRequestConfig[]>(agentConfigs: T, context: LDContext): Promise<Record<T[number]['key'], LDAIAgentConfig>>;
|
|
32
|
+
createChat(key: string, context: LDContext, defaultValue: LDAICompletionConfigDefault, variables?: Record<string, unknown>, defaultAiProvider?: SupportedAIProvider): Promise<TrackedChat | undefined>;
|
|
33
|
+
createJudge(key: string, context: LDContext, defaultValue: LDAIJudgeConfigDefault, variables?: Record<string, unknown>, defaultAiProvider?: SupportedAIProvider): Promise<Judge | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated Use `createChat` instead. This method will be removed in a future version.
|
|
36
|
+
*/
|
|
37
|
+
initChat(key: string, context: LDContext, defaultValue: LDAICompletionConfigDefault, variables?: Record<string, unknown>, defaultAiProvider?: SupportedAIProvider): Promise<TrackedChat | undefined>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=LDAIClientImpl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDAIClientImpl.d.ts","sourceRoot":"","sources":["../../src/LDAIClientImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LDAIClientImpl = void 0;
|
|
4
|
+
const Mustache = require("mustache");
|
|
5
|
+
const chat_1 = require("./api/chat");
|
|
6
|
+
const LDAIConfigUtils_1 = require("./api/config/LDAIConfigUtils");
|
|
7
|
+
const Judge_1 = require("./api/judge/Judge");
|
|
8
|
+
const providers_1 = require("./api/providers");
|
|
9
|
+
const LDAIConfigTrackerImpl_1 = require("./LDAIConfigTrackerImpl");
|
|
10
|
+
/**
|
|
11
|
+
* Tracking event keys for AI SDK usage metrics.
|
|
12
|
+
*/
|
|
13
|
+
const TRACK_CONFIG_SINGLE = '$ld:ai:config:function:single';
|
|
14
|
+
const TRACK_CONFIG_CREATE_CHAT = '$ld:ai:config:function:createChat';
|
|
15
|
+
const TRACK_JUDGE_SINGLE = '$ld:ai:judge:function:single';
|
|
16
|
+
const TRACK_JUDGE_CREATE = '$ld:ai:judge:function:createJudge';
|
|
17
|
+
const TRACK_AGENT_SINGLE = '$ld:ai:agent:function:single';
|
|
18
|
+
const TRACK_AGENT_MULTIPLE = '$ld:ai:agent:function:multiple';
|
|
19
|
+
class LDAIClientImpl {
|
|
20
|
+
constructor(_ldClient) {
|
|
21
|
+
this._ldClient = _ldClient;
|
|
22
|
+
this._logger = _ldClient.logger;
|
|
23
|
+
}
|
|
24
|
+
_interpolateTemplate(template, variables) {
|
|
25
|
+
return Mustache.render(template, variables, undefined, { escape: (item) => item });
|
|
26
|
+
}
|
|
27
|
+
async _evaluate(key, context, defaultValue, mode, variables) {
|
|
28
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
29
|
+
const ldFlagValue = LDAIConfigUtils_1.LDAIConfigUtils.toFlagValue(defaultValue, mode);
|
|
30
|
+
const value = await this._ldClient.variation(key, context, ldFlagValue);
|
|
31
|
+
// Validate mode match
|
|
32
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
33
|
+
const flagMode = (_b = (_a = value._ldMeta) === null || _a === void 0 ? void 0 : _a.mode) !== null && _b !== void 0 ? _b : 'completion';
|
|
34
|
+
if (flagMode !== mode) {
|
|
35
|
+
(_c = this._logger) === null || _c === void 0 ? void 0 : _c.warn(`AI Config mode mismatch for ${key}: expected ${mode}, got ${flagMode}. Returning disabled config.`);
|
|
36
|
+
return LDAIConfigUtils_1.LDAIConfigUtils.createDisabledConfig(key, mode);
|
|
37
|
+
}
|
|
38
|
+
const tracker = new LDAIConfigTrackerImpl_1.LDAIConfigTrackerImpl(this._ldClient, key,
|
|
39
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
40
|
+
(_e = (_d = value._ldMeta) === null || _d === void 0 ? void 0 : _d.variationKey) !== null && _e !== void 0 ? _e : '',
|
|
41
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
42
|
+
(_g = (_f = value._ldMeta) === null || _f === void 0 ? void 0 : _f.version) !== null && _g !== void 0 ? _g : 1, (_j = (_h = value.model) === null || _h === void 0 ? void 0 : _h.name) !== null && _j !== void 0 ? _j : '', (_l = (_k = value.provider) === null || _k === void 0 ? void 0 : _k.name) !== null && _l !== void 0 ? _l : '', context);
|
|
43
|
+
const config = LDAIConfigUtils_1.LDAIConfigUtils.fromFlagValue(key, value, tracker);
|
|
44
|
+
// Apply variable interpolation (always needed for ldctx)
|
|
45
|
+
return this._applyInterpolation(config, context, variables);
|
|
46
|
+
}
|
|
47
|
+
_applyInterpolation(config, context, variables) {
|
|
48
|
+
const allVariables = Object.assign(Object.assign({}, variables), { ldctx: context });
|
|
49
|
+
if ('messages' in config && config.messages) {
|
|
50
|
+
return Object.assign(Object.assign({}, config), { messages: config.messages.map((entry) => (Object.assign(Object.assign({}, entry), { content: this._interpolateTemplate(entry.content, allVariables) }))) });
|
|
51
|
+
}
|
|
52
|
+
if ('instructions' in config && config.instructions) {
|
|
53
|
+
return Object.assign(Object.assign({}, config), { instructions: this._interpolateTemplate(config.instructions, allVariables) });
|
|
54
|
+
}
|
|
55
|
+
return config;
|
|
56
|
+
}
|
|
57
|
+
async _initializeJudges(judgeConfigs, context, variables, defaultAiProvider) {
|
|
58
|
+
const judges = {};
|
|
59
|
+
const judgePromises = judgeConfigs.map(async (judgeConfig) => {
|
|
60
|
+
const judge = await this.createJudge(judgeConfig.key, context, { enabled: false }, variables, defaultAiProvider);
|
|
61
|
+
return judge ? { key: judgeConfig.key, judge } : null;
|
|
62
|
+
});
|
|
63
|
+
const results = await Promise.all(judgePromises);
|
|
64
|
+
results.forEach((result) => {
|
|
65
|
+
if (result) {
|
|
66
|
+
judges[result.key] = result.judge;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
return judges;
|
|
70
|
+
}
|
|
71
|
+
async completionConfig(key, context, defaultValue, variables) {
|
|
72
|
+
this._ldClient.track(TRACK_CONFIG_SINGLE, context, key, 1);
|
|
73
|
+
const config = await this._evaluate(key, context, defaultValue, 'completion', variables);
|
|
74
|
+
return config;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* @deprecated Use `completionConfig` instead. This method will be removed in a future version.
|
|
78
|
+
*/
|
|
79
|
+
async config(key, context, defaultValue, variables) {
|
|
80
|
+
return this.completionConfig(key, context, defaultValue, variables);
|
|
81
|
+
}
|
|
82
|
+
async judgeConfig(key, context, defaultValue, variables) {
|
|
83
|
+
this._ldClient.track(TRACK_JUDGE_SINGLE, context, key, 1);
|
|
84
|
+
const config = await this._evaluate(key, context, defaultValue, 'judge', variables);
|
|
85
|
+
return config;
|
|
86
|
+
}
|
|
87
|
+
async agentConfig(key, context, defaultValue, variables) {
|
|
88
|
+
this._ldClient.track(TRACK_AGENT_SINGLE, context, key, 1);
|
|
89
|
+
const config = await this._evaluate(key, context, defaultValue, 'agent', variables);
|
|
90
|
+
return config;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @deprecated Use `agentConfig` instead. This method will be removed in a future version.
|
|
94
|
+
*/
|
|
95
|
+
async agent(key, context, defaultValue, variables) {
|
|
96
|
+
return this.agentConfig(key, context, defaultValue, variables);
|
|
97
|
+
}
|
|
98
|
+
async agentConfigs(agentConfigs, context) {
|
|
99
|
+
this._ldClient.track(TRACK_AGENT_MULTIPLE, context, agentConfigs.length, agentConfigs.length);
|
|
100
|
+
const agents = {};
|
|
101
|
+
await Promise.all(agentConfigs.map(async (config) => {
|
|
102
|
+
const agent = await this._evaluate(config.key, context, config.defaultValue, 'agent', config.variables);
|
|
103
|
+
agents[config.key] = agent;
|
|
104
|
+
}));
|
|
105
|
+
return agents;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* @deprecated Use `agentConfigs` instead. This method will be removed in a future version.
|
|
109
|
+
*/
|
|
110
|
+
async agents(agentConfigs, context) {
|
|
111
|
+
return this.agentConfigs(agentConfigs, context);
|
|
112
|
+
}
|
|
113
|
+
async createChat(key, context, defaultValue, variables, defaultAiProvider) {
|
|
114
|
+
var _a, _b, _c;
|
|
115
|
+
this._ldClient.track(TRACK_CONFIG_CREATE_CHAT, context, key, 1);
|
|
116
|
+
const config = await this.completionConfig(key, context, defaultValue, variables);
|
|
117
|
+
if (!config.enabled || !config.tracker) {
|
|
118
|
+
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.info(`Chat configuration is disabled: ${key}`);
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
const provider = await providers_1.AIProviderFactory.create(config, this._logger, defaultAiProvider);
|
|
122
|
+
if (!provider) {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
const judges = await this._initializeJudges((_c = (_b = config.judgeConfiguration) === null || _b === void 0 ? void 0 : _b.judges) !== null && _c !== void 0 ? _c : [], context, variables, defaultAiProvider);
|
|
126
|
+
return new chat_1.TrackedChat(config, config.tracker, provider, judges, this._logger);
|
|
127
|
+
}
|
|
128
|
+
async createJudge(key, context, defaultValue, variables, defaultAiProvider) {
|
|
129
|
+
var _a, _b, _c, _d;
|
|
130
|
+
this._ldClient.track(TRACK_JUDGE_CREATE, context, key, 1);
|
|
131
|
+
try {
|
|
132
|
+
if ((variables === null || variables === void 0 ? void 0 : variables.message_history) !== undefined) {
|
|
133
|
+
(_a = this._logger) === null || _a === void 0 ? void 0 : _a.warn("The variable 'message_history' is reserved by the judge and will be ignored.");
|
|
134
|
+
}
|
|
135
|
+
if ((variables === null || variables === void 0 ? void 0 : variables.response_to_evaluate) !== undefined) {
|
|
136
|
+
(_b = this._logger) === null || _b === void 0 ? void 0 : _b.warn("The variable 'response_to_evaluate' is reserved by the judge and will be ignored.");
|
|
137
|
+
}
|
|
138
|
+
// Overwrite reserved variables to ensure they remain as placeholders for judge evaluation
|
|
139
|
+
const extendedVariables = Object.assign(Object.assign({}, variables), { message_history: '{{message_history}}', response_to_evaluate: '{{response_to_evaluate}}' });
|
|
140
|
+
const judgeConfig = await this.judgeConfig(key, context, defaultValue, extendedVariables);
|
|
141
|
+
if (!judgeConfig.enabled || !judgeConfig.tracker) {
|
|
142
|
+
(_c = this._logger) === null || _c === void 0 ? void 0 : _c.info(`Judge configuration is disabled: ${key}`);
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
const provider = await providers_1.AIProviderFactory.create(judgeConfig, this._logger, defaultAiProvider);
|
|
146
|
+
if (!provider) {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
return new Judge_1.Judge(judgeConfig, judgeConfig.tracker, provider, this._logger);
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
(_d = this._logger) === null || _d === void 0 ? void 0 : _d.error(`Failed to initialize judge ${key}:`, error);
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* @deprecated Use `createChat` instead. This method will be removed in a future version.
|
|
158
|
+
*/
|
|
159
|
+
async initChat(key, context, defaultValue, variables, defaultAiProvider) {
|
|
160
|
+
return this.createChat(key, context, defaultValue, variables, defaultAiProvider);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.LDAIClientImpl = LDAIClientImpl;
|
|
164
|
+
//# sourceMappingURL=LDAIClientImpl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDAIClientImpl.js","sourceRoot":"","sources":["../../src/LDAIClientImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LDContext } from '@launchdarkly/js-server-sdk-common';
|
|
2
2
|
import { LDAIConfigTracker } from './api/config';
|
|
3
3
|
import { LDAIMetricSummary } from './api/config/LDAIConfigTracker';
|
|
4
|
+
import { EvalScore, JudgeResponse } from './api/judge/types';
|
|
4
5
|
import { LDAIMetrics, LDFeedbackKind, LDTokenUsage } from './api/metrics';
|
|
5
6
|
import { LDClientMin } from './LDClientMin';
|
|
6
7
|
export declare class LDAIConfigTrackerImpl implements LDAIConfigTracker {
|
|
@@ -13,10 +14,20 @@ export declare class LDAIConfigTrackerImpl implements LDAIConfigTracker {
|
|
|
13
14
|
private _context;
|
|
14
15
|
private _trackedMetrics;
|
|
15
16
|
constructor(_ldClient: LDClientMin, _configKey: string, _variationKey: string, _version: number, _modelName: string, _providerName: string, _context: LDContext);
|
|
16
|
-
|
|
17
|
+
getTrackData(): {
|
|
18
|
+
variationKey: string;
|
|
19
|
+
configKey: string;
|
|
20
|
+
version: number;
|
|
21
|
+
modelName: string;
|
|
22
|
+
providerName: string;
|
|
23
|
+
aiSdkName: string;
|
|
24
|
+
aiSdkVersion: string;
|
|
25
|
+
};
|
|
17
26
|
trackDuration(duration: number): void;
|
|
18
27
|
trackDurationOf<TRes>(func: () => Promise<TRes>): Promise<TRes>;
|
|
19
28
|
trackTimeToFirstToken(timeToFirstTokenMs: number): void;
|
|
29
|
+
trackEvalScores(scores: Record<string, EvalScore>): void;
|
|
30
|
+
trackJudgeResponse(response: JudgeResponse): void;
|
|
20
31
|
trackFeedback(feedback: {
|
|
21
32
|
kind: LDFeedbackKind;
|
|
22
33
|
}): void;
|
|
@@ -54,16 +65,6 @@ export declare class LDAIConfigTrackerImpl implements LDAIConfigTracker {
|
|
|
54
65
|
completionTokens?: number;
|
|
55
66
|
};
|
|
56
67
|
}>(func: () => Promise<TRes>): Promise<TRes>;
|
|
57
|
-
trackVercelAISDKStreamTextMetrics<TRes extends {
|
|
58
|
-
finishReason?: Promise<string>;
|
|
59
|
-
usage?: Promise<{
|
|
60
|
-
totalTokens?: number;
|
|
61
|
-
inputTokens?: number;
|
|
62
|
-
promptTokens?: number;
|
|
63
|
-
outputTokens?: number;
|
|
64
|
-
completionTokens?: number;
|
|
65
|
-
}>;
|
|
66
|
-
}>(func: () => TRes): TRes;
|
|
67
68
|
trackTokens(tokens: LDTokenUsage): void;
|
|
68
69
|
/**
|
|
69
70
|
* Get a summary of the tracked metrics.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDAIConfigTrackerImpl.d.ts","sourceRoot":"","sources":["../../src/LDAIConfigTrackerImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LDAIConfigTrackerImpl = void 0;
|
|
4
|
+
const package_json_1 = require("../package.json");
|
|
4
5
|
const metrics_1 = require("./api/metrics");
|
|
5
6
|
class LDAIConfigTrackerImpl {
|
|
6
7
|
constructor(_ldClient, _configKey, _variationKey, _version, _modelName, _providerName, _context) {
|
|
@@ -13,18 +14,20 @@ class LDAIConfigTrackerImpl {
|
|
|
13
14
|
this._context = _context;
|
|
14
15
|
this._trackedMetrics = {};
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
+
getTrackData() {
|
|
17
18
|
return {
|
|
18
19
|
variationKey: this._variationKey,
|
|
19
20
|
configKey: this._configKey,
|
|
20
21
|
version: this._version,
|
|
21
22
|
modelName: this._modelName,
|
|
22
23
|
providerName: this._providerName,
|
|
24
|
+
aiSdkName: package_json_1.name,
|
|
25
|
+
aiSdkVersion: package_json_1.version,
|
|
23
26
|
};
|
|
24
27
|
}
|
|
25
28
|
trackDuration(duration) {
|
|
26
29
|
this._trackedMetrics.durationMs = duration;
|
|
27
|
-
this._ldClient.track('$ld:ai:duration:total', this._context, this.
|
|
30
|
+
this._ldClient.track('$ld:ai:duration:total', this._context, this.getTrackData(), duration);
|
|
28
31
|
}
|
|
29
32
|
async trackDurationOf(func) {
|
|
30
33
|
const startTime = Date.now();
|
|
@@ -41,24 +44,34 @@ class LDAIConfigTrackerImpl {
|
|
|
41
44
|
}
|
|
42
45
|
trackTimeToFirstToken(timeToFirstTokenMs) {
|
|
43
46
|
this._trackedMetrics.timeToFirstTokenMs = timeToFirstTokenMs;
|
|
44
|
-
this._ldClient.track('$ld:ai:tokens:ttf', this._context, this.
|
|
47
|
+
this._ldClient.track('$ld:ai:tokens:ttf', this._context, this.getTrackData(), timeToFirstTokenMs);
|
|
48
|
+
}
|
|
49
|
+
trackEvalScores(scores) {
|
|
50
|
+
Object.entries(scores).forEach(([metricKey, evalScore]) => {
|
|
51
|
+
this._ldClient.track(metricKey, this._context, this.getTrackData(), evalScore.score);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
trackJudgeResponse(response) {
|
|
55
|
+
Object.entries(response.evals).forEach(([metricKey, evalScore]) => {
|
|
56
|
+
this._ldClient.track(metricKey, this._context, Object.assign(Object.assign({}, this.getTrackData()), { judgeConfigKey: response.judgeConfigKey }), evalScore.score);
|
|
57
|
+
});
|
|
45
58
|
}
|
|
46
59
|
trackFeedback(feedback) {
|
|
47
60
|
this._trackedMetrics.feedback = feedback;
|
|
48
61
|
if (feedback.kind === metrics_1.LDFeedbackKind.Positive) {
|
|
49
|
-
this._ldClient.track('$ld:ai:feedback:user:positive', this._context, this.
|
|
62
|
+
this._ldClient.track('$ld:ai:feedback:user:positive', this._context, this.getTrackData(), 1);
|
|
50
63
|
}
|
|
51
64
|
else if (feedback.kind === metrics_1.LDFeedbackKind.Negative) {
|
|
52
|
-
this._ldClient.track('$ld:ai:feedback:user:negative', this._context, this.
|
|
65
|
+
this._ldClient.track('$ld:ai:feedback:user:negative', this._context, this.getTrackData(), 1);
|
|
53
66
|
}
|
|
54
67
|
}
|
|
55
68
|
trackSuccess() {
|
|
56
69
|
this._trackedMetrics.success = true;
|
|
57
|
-
this._ldClient.track('$ld:ai:generation:success', this._context, this.
|
|
70
|
+
this._ldClient.track('$ld:ai:generation:success', this._context, this.getTrackData(), 1);
|
|
58
71
|
}
|
|
59
72
|
trackError() {
|
|
60
73
|
this._trackedMetrics.success = false;
|
|
61
|
-
this._ldClient.track('$ld:ai:generation:error', this._context, this.
|
|
74
|
+
this._ldClient.track('$ld:ai:generation:error', this._context, this.getTrackData(), 1);
|
|
62
75
|
}
|
|
63
76
|
async trackMetricsOf(metricsExtractor, func) {
|
|
64
77
|
let result;
|
|
@@ -170,45 +183,9 @@ class LDAIConfigTrackerImpl {
|
|
|
170
183
|
throw err;
|
|
171
184
|
}
|
|
172
185
|
}
|
|
173
|
-
trackVercelAISDKStreamTextMetrics(func) {
|
|
174
|
-
var _a;
|
|
175
|
-
const startTime = Date.now();
|
|
176
|
-
try {
|
|
177
|
-
const result = func();
|
|
178
|
-
(_a = result.finishReason) === null || _a === void 0 ? void 0 : _a.then(async (finishReason) => {
|
|
179
|
-
const endTime = Date.now();
|
|
180
|
-
this.trackDuration(endTime - startTime);
|
|
181
|
-
if (finishReason === 'error') {
|
|
182
|
-
this.trackError();
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
this.trackSuccess();
|
|
186
|
-
if (result.usage) {
|
|
187
|
-
try {
|
|
188
|
-
this.trackTokens((0, metrics_1.createVercelAISDKTokenUsage)(await result.usage));
|
|
189
|
-
}
|
|
190
|
-
catch (_a) {
|
|
191
|
-
// Intentionally squashing this error
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}).catch(() => {
|
|
196
|
-
const endTime = Date.now();
|
|
197
|
-
this.trackDuration(endTime - startTime);
|
|
198
|
-
this.trackError();
|
|
199
|
-
});
|
|
200
|
-
return result;
|
|
201
|
-
}
|
|
202
|
-
catch (err) {
|
|
203
|
-
const endTime = Date.now();
|
|
204
|
-
this.trackDuration(endTime - startTime);
|
|
205
|
-
this.trackError();
|
|
206
|
-
throw err;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
186
|
trackTokens(tokens) {
|
|
210
187
|
this._trackedMetrics.tokens = tokens;
|
|
211
|
-
const trackData = this.
|
|
188
|
+
const trackData = this.getTrackData();
|
|
212
189
|
if (tokens.total > 0) {
|
|
213
190
|
this._ldClient.track('$ld:ai:tokens:total', this._context, trackData, tokens.total);
|
|
214
191
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDAIConfigTrackerImpl.js","sourceRoot":"","sources":["../../src/LDAIConfigTrackerImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDClientMin.d.ts","sourceRoot":"","sources":["../../src/LDClientMin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CACP,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,WAAW,EACzB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,GAC9C,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/E,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;CAC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDClientMin.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"LDClientMin.js","sourceRoot":"","sources":["../../src/LDClientMin.ts"],"names":[],"mappings":""}
|