@launchdarkly/server-sdk-ai 0.14.1 → 0.15.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 +22 -0
- package/dist/index.cjs +1117 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1022 -0
- package/dist/index.d.ts +1022 -0
- package/dist/index.js +1071 -0
- package/dist/index.js.map +1 -0
- package/package.json +23 -6
- package/__tests__/Judge.test.ts +0 -521
- package/__tests__/LDAIClientImpl.test.ts +0 -594
- package/__tests__/LDAIConfigTrackerImpl.test.ts +0 -815
- package/__tests__/TokenUsage.test.ts +0 -119
- package/__tests__/TrackedChat.test.ts +0 -231
- package/dist/package.json +0 -53
- package/dist/src/LDAIClientImpl.d.ts +0 -39
- package/dist/src/LDAIClientImpl.d.ts.map +0 -1
- package/dist/src/LDAIClientImpl.js +0 -164
- package/dist/src/LDAIClientImpl.js.map +0 -1
- package/dist/src/LDAIConfigTrackerImpl.d.ts +0 -74
- package/dist/src/LDAIConfigTrackerImpl.d.ts.map +0 -1
- package/dist/src/LDAIConfigTrackerImpl.js +0 -207
- package/dist/src/LDAIConfigTrackerImpl.js.map +0 -1
- package/dist/src/LDClientMin.d.ts +0 -11
- package/dist/src/LDClientMin.d.ts.map +0 -1
- package/dist/src/LDClientMin.js +0 -3
- package/dist/src/LDClientMin.js.map +0 -1
- package/dist/src/api/LDAIClient.d.ts +0 -258
- package/dist/src/api/LDAIClient.d.ts.map +0 -1
- package/dist/src/api/LDAIClient.js +0 -3
- package/dist/src/api/LDAIClient.js.map +0 -1
- package/dist/src/api/chat/TrackedChat.d.ts +0 -72
- package/dist/src/api/chat/TrackedChat.d.ts.map +0 -1
- package/dist/src/api/chat/TrackedChat.js +0 -125
- package/dist/src/api/chat/TrackedChat.js.map +0 -1
- package/dist/src/api/chat/index.d.ts +0 -3
- package/dist/src/api/chat/index.d.ts.map +0 -1
- package/dist/src/api/chat/index.js +0 -19
- package/dist/src/api/chat/index.js.map +0 -1
- package/dist/src/api/chat/types.d.ts +0 -22
- package/dist/src/api/chat/types.d.ts.map +0 -1
- package/dist/src/api/chat/types.js +0 -3
- package/dist/src/api/chat/types.js.map +0 -1
- package/dist/src/api/config/LDAIConfigTracker.d.ts +0 -209
- package/dist/src/api/config/LDAIConfigTracker.d.ts.map +0 -1
- package/dist/src/api/config/LDAIConfigTracker.js +0 -3
- package/dist/src/api/config/LDAIConfigTracker.js.map +0 -1
- package/dist/src/api/config/LDAIConfigUtils.d.ts +0 -2
- package/dist/src/api/config/LDAIConfigUtils.d.ts.map +0 -1
- package/dist/src/api/config/LDAIConfigUtils.js +0 -145
- package/dist/src/api/config/LDAIConfigUtils.js.map +0 -1
- package/dist/src/api/config/index.d.ts +0 -3
- package/dist/src/api/config/index.d.ts.map +0 -1
- package/dist/src/api/config/index.js +0 -18
- package/dist/src/api/config/index.js.map +0 -1
- package/dist/src/api/config/types.d.ts +0 -206
- package/dist/src/api/config/types.d.ts.map +0 -1
- package/dist/src/api/config/types.js +0 -3
- package/dist/src/api/config/types.js.map +0 -1
- package/dist/src/api/index.d.ts +0 -7
- package/dist/src/api/index.d.ts.map +0 -1
- package/dist/src/api/index.js +0 -23
- package/dist/src/api/index.js.map +0 -1
- package/dist/src/api/judge/EvaluationSchemaBuilder.d.ts +0 -11
- package/dist/src/api/judge/EvaluationSchemaBuilder.d.ts.map +0 -1
- package/dist/src/api/judge/EvaluationSchemaBuilder.js +0 -52
- package/dist/src/api/judge/EvaluationSchemaBuilder.js.map +0 -1
- package/dist/src/api/judge/Judge.d.ts +0 -63
- package/dist/src/api/judge/Judge.d.ts.map +0 -1
- package/dist/src/api/judge/Judge.js +0 -151
- package/dist/src/api/judge/Judge.js.map +0 -1
- package/dist/src/api/judge/index.d.ts +0 -3
- package/dist/src/api/judge/index.d.ts.map +0 -1
- package/dist/src/api/judge/index.js +0 -6
- package/dist/src/api/judge/index.js.map +0 -1
- package/dist/src/api/judge/types.d.ts +0 -37
- package/dist/src/api/judge/types.d.ts.map +0 -1
- package/dist/src/api/judge/types.js +0 -3
- package/dist/src/api/judge/types.js.map +0 -1
- package/dist/src/api/metrics/BedrockTokenUsage.d.ts +0 -7
- package/dist/src/api/metrics/BedrockTokenUsage.d.ts.map +0 -1
- package/dist/src/api/metrics/BedrockTokenUsage.js +0 -12
- package/dist/src/api/metrics/BedrockTokenUsage.js.map +0 -1
- package/dist/src/api/metrics/LDAIMetrics.d.ts +0 -17
- package/dist/src/api/metrics/LDAIMetrics.d.ts.map +0 -1
- package/dist/src/api/metrics/LDAIMetrics.js +0 -3
- package/dist/src/api/metrics/LDAIMetrics.js.map +0 -1
- package/dist/src/api/metrics/LDFeedbackKind.d.ts +0 -14
- package/dist/src/api/metrics/LDFeedbackKind.d.ts.map +0 -1
- package/dist/src/api/metrics/LDFeedbackKind.js +0 -18
- package/dist/src/api/metrics/LDFeedbackKind.js.map +0 -1
- package/dist/src/api/metrics/LDTokenUsage.d.ts +0 -18
- package/dist/src/api/metrics/LDTokenUsage.d.ts.map +0 -1
- package/dist/src/api/metrics/LDTokenUsage.js +0 -3
- package/dist/src/api/metrics/LDTokenUsage.js.map +0 -1
- package/dist/src/api/metrics/OpenAiUsage.d.ts +0 -7
- package/dist/src/api/metrics/OpenAiUsage.d.ts.map +0 -1
- package/dist/src/api/metrics/OpenAiUsage.js +0 -13
- package/dist/src/api/metrics/OpenAiUsage.js.map +0 -1
- package/dist/src/api/metrics/VercelAISDKTokenUsage.d.ts +0 -9
- package/dist/src/api/metrics/VercelAISDKTokenUsage.d.ts.map +0 -1
- package/dist/src/api/metrics/VercelAISDKTokenUsage.js +0 -13
- package/dist/src/api/metrics/VercelAISDKTokenUsage.js.map +0 -1
- package/dist/src/api/metrics/index.d.ts +0 -7
- package/dist/src/api/metrics/index.d.ts.map +0 -1
- package/dist/src/api/metrics/index.js +0 -23
- package/dist/src/api/metrics/index.js.map +0 -1
- package/dist/src/api/providers/AIProvider.d.ts +0 -52
- package/dist/src/api/providers/AIProvider.d.ts.map +0 -1
- package/dist/src/api/providers/AIProvider.js +0 -88
- package/dist/src/api/providers/AIProvider.js.map +0 -1
- package/dist/src/api/providers/AIProviderFactory.d.ts +0 -39
- package/dist/src/api/providers/AIProviderFactory.d.ts.map +0 -1
- package/dist/src/api/providers/AIProviderFactory.js +0 -102
- package/dist/src/api/providers/AIProviderFactory.js.map +0 -1
- package/dist/src/api/providers/index.d.ts +0 -3
- package/dist/src/api/providers/index.d.ts.map +0 -1
- package/dist/src/api/providers/index.js +0 -19
- package/dist/src/api/providers/index.js.map +0 -1
- package/dist/src/index.d.ts +0 -19
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -29
- package/dist/src/index.js.map +0 -1
- package/docs/.nojekyll +0 -1
- package/docs/assets/highlight.css +0 -92
- package/docs/assets/main.js +0 -58
- package/docs/assets/search.js +0 -1
- package/docs/assets/style.css +0 -1379
- package/docs/classes/AIProvider.html +0 -210
- package/docs/classes/AIProviderFactory.html +0 -208
- package/docs/classes/Judge.html +0 -322
- package/docs/classes/TrackedChat.html +0 -322
- package/docs/enums/LDFeedbackKind.html +0 -115
- package/docs/functions/createBedrockTokenUsage.html +0 -94
- package/docs/functions/createOpenAiUsage.html +0 -94
- package/docs/functions/createVercelAISDKTokenUsage.html +0 -98
- package/docs/functions/initAi.html +0 -93
- package/docs/index.html +0 -136
- package/docs/interfaces/ChatResponse.html +0 -130
- package/docs/interfaces/EvalScore.html +0 -119
- package/docs/interfaces/JudgeResponse.html +0 -139
- package/docs/interfaces/LDAIAgentConfig.html +0 -178
- package/docs/interfaces/LDAIAgentConfigDefault.html +0 -155
- package/docs/interfaces/LDAIAgentRequestConfig.html +0 -129
- package/docs/interfaces/LDAIClient.html +0 -449
- package/docs/interfaces/LDAICompletionConfig.html +0 -178
- package/docs/interfaces/LDAICompletionConfigDefault.html +0 -155
- package/docs/interfaces/LDAIConfig.html +0 -158
- package/docs/interfaces/LDAIConfigDefault.html +0 -133
- package/docs/interfaces/LDAIConfigTracker.html +0 -530
- package/docs/interfaces/LDAIJudgeConfig.html +0 -178
- package/docs/interfaces/LDAIJudgeConfigDefault.html +0 -155
- package/docs/interfaces/LDAIMetrics.html +0 -121
- package/docs/interfaces/LDJudge.html +0 -119
- package/docs/interfaces/LDJudgeConfiguration.html +0 -109
- package/docs/interfaces/LDLogger.html +0 -189
- package/docs/interfaces/LDMessage.html +0 -119
- package/docs/interfaces/LDModelConfig.html +0 -139
- package/docs/interfaces/LDProviderConfig.html +0 -105
- package/docs/interfaces/LDTokenUsage.html +0 -129
- package/docs/interfaces/StructuredResponse.html +0 -129
- package/docs/types/LDAIConfigDefaultKind.html +0 -81
- package/docs/types/LDAIConfigKind.html +0 -81
- package/docs/types/LDAIConfigMode.html +0 -81
- package/docs/types/SupportedAIProvider.html +0 -81
- package/docs/variables/SUPPORTED_AI_PROVIDERS.html +0 -81
- package/jest.config.js +0 -7
- package/src/LDAIClientImpl.ts +0 -327
- package/src/LDAIConfigTrackerImpl.ts +0 -288
- package/src/LDClientMin.ts +0 -18
- package/src/api/LDAIClient.ts +0 -325
- package/src/api/chat/TrackedChat.ts +0 -163
- package/src/api/chat/index.ts +0 -2
- package/src/api/chat/types.ts +0 -24
- package/src/api/config/LDAIConfigTracker.ts +0 -238
- package/src/api/config/LDAIConfigUtils.ts +0 -212
- package/src/api/config/index.ts +0 -3
- package/src/api/config/types.ts +0 -260
- package/src/api/index.ts +0 -6
- package/src/api/judge/EvaluationSchemaBuilder.ts +0 -54
- package/src/api/judge/Judge.ts +0 -218
- package/src/api/judge/index.ts +0 -2
- package/src/api/judge/types.ts +0 -41
- package/src/api/metrics/BedrockTokenUsage.ts +0 -13
- package/src/api/metrics/LDAIMetrics.ts +0 -18
- package/src/api/metrics/LDFeedbackKind.ts +0 -13
- package/src/api/metrics/LDTokenUsage.ts +0 -19
- package/src/api/metrics/OpenAiUsage.ts +0 -13
- package/src/api/metrics/VercelAISDKTokenUsage.ts +0 -15
- package/src/api/metrics/index.ts +0 -6
- package/src/api/providers/AIProvider.ts +0 -94
- package/src/api/providers/AIProviderFactory.ts +0 -152
- package/src/api/providers/index.ts +0 -2
- package/src/index.ts +0 -24
- package/tsconfig.eslint.json +0 -5
- package/tsconfig.json +0 -21
- package/tsconfig.ref.json +0 -7
- package/typedoc.json +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/api/judge/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BedrockTokenUsage.d.ts","sourceRoot":"","sources":["../../../../src/api/metrics/BedrockTokenUsage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,YAAY,CAMf"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createBedrockTokenUsage = void 0;
|
|
4
|
-
function createBedrockTokenUsage(data) {
|
|
5
|
-
return {
|
|
6
|
-
total: data.totalTokens || 0,
|
|
7
|
-
input: data.inputTokens || 0,
|
|
8
|
-
output: data.outputTokens || 0,
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
exports.createBedrockTokenUsage = createBedrockTokenUsage;
|
|
12
|
-
//# sourceMappingURL=BedrockTokenUsage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BedrockTokenUsage.js","sourceRoot":"","sources":["../../../../src/api/metrics/BedrockTokenUsage.ts"],"names":[],"mappings":";;;AAEA,SAAgB,uBAAuB,CAAC,IAIvC;IACC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAC5B,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;KAC/B,CAAC;AACJ,CAAC;AAVD,0DAUC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { LDTokenUsage } from './LDTokenUsage';
|
|
2
|
-
/**
|
|
3
|
-
* Metrics information for AI operations that includes success status and token usage.
|
|
4
|
-
* This class combines success/failure tracking with token usage metrics.
|
|
5
|
-
*/
|
|
6
|
-
export interface LDAIMetrics {
|
|
7
|
-
/**
|
|
8
|
-
* Whether the AI operation was successful.
|
|
9
|
-
*/
|
|
10
|
-
success: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Token usage information for the operation.
|
|
13
|
-
* This will be undefined if no token usage data is available.
|
|
14
|
-
*/
|
|
15
|
-
usage?: LDTokenUsage;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=LDAIMetrics.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIMetrics.d.ts","sourceRoot":"","sources":["../../../../src/api/metrics/LDAIMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIMetrics.js","sourceRoot":"","sources":["../../../../src/api/metrics/LDAIMetrics.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Feedback about the generated content.
|
|
3
|
-
*/
|
|
4
|
-
export declare enum LDFeedbackKind {
|
|
5
|
-
/**
|
|
6
|
-
* The sentiment was positive.
|
|
7
|
-
*/
|
|
8
|
-
Positive = "positive",
|
|
9
|
-
/**
|
|
10
|
-
* The sentiment is negative.
|
|
11
|
-
*/
|
|
12
|
-
Negative = "negative"
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=LDFeedbackKind.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDFeedbackKind.d.ts","sourceRoot":"","sources":["../../../../src/api/metrics/LDFeedbackKind.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,cAAc;IACxB;;OAEG;IACH,QAAQ,aAAa;IACrB;;OAEG;IACH,QAAQ,aAAa;CACtB"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LDFeedbackKind = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Feedback about the generated content.
|
|
6
|
-
*/
|
|
7
|
-
var LDFeedbackKind;
|
|
8
|
-
(function (LDFeedbackKind) {
|
|
9
|
-
/**
|
|
10
|
-
* The sentiment was positive.
|
|
11
|
-
*/
|
|
12
|
-
LDFeedbackKind["Positive"] = "positive";
|
|
13
|
-
/**
|
|
14
|
-
* The sentiment is negative.
|
|
15
|
-
*/
|
|
16
|
-
LDFeedbackKind["Negative"] = "negative";
|
|
17
|
-
})(LDFeedbackKind || (exports.LDFeedbackKind = LDFeedbackKind = {}));
|
|
18
|
-
//# sourceMappingURL=LDFeedbackKind.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDFeedbackKind.js","sourceRoot":"","sources":["../../../../src/api/metrics/LDFeedbackKind.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,cASX;AATD,WAAY,cAAc;IACxB;;OAEG;IACH,uCAAqB,CAAA;IACrB;;OAEG;IACH,uCAAqB,CAAA;AACvB,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Information about token usage.
|
|
3
|
-
*/
|
|
4
|
-
export interface LDTokenUsage {
|
|
5
|
-
/**
|
|
6
|
-
* Combined token usage.
|
|
7
|
-
*/
|
|
8
|
-
total: number;
|
|
9
|
-
/**
|
|
10
|
-
* Number of tokens in the input.
|
|
11
|
-
*/
|
|
12
|
-
input: number;
|
|
13
|
-
/**
|
|
14
|
-
* Number of tokens in the output.
|
|
15
|
-
*/
|
|
16
|
-
output: number;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=LDTokenUsage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDTokenUsage.d.ts","sourceRoot":"","sources":["../../../../src/api/metrics/LDTokenUsage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LDTokenUsage.js","sourceRoot":"","sources":["../../../../src/api/metrics/LDTokenUsage.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiUsage.d.ts","sourceRoot":"","sources":["../../../../src/api/metrics/OpenAiUsage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,YAAY,CAMf"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createOpenAiUsage = void 0;
|
|
4
|
-
function createOpenAiUsage(data) {
|
|
5
|
-
var _a, _b, _c;
|
|
6
|
-
return {
|
|
7
|
-
total: (_a = data.total_tokens) !== null && _a !== void 0 ? _a : 0,
|
|
8
|
-
input: (_b = data.prompt_tokens) !== null && _b !== void 0 ? _b : 0,
|
|
9
|
-
output: (_c = data.completion_tokens) !== null && _c !== void 0 ? _c : 0,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
exports.createOpenAiUsage = createOpenAiUsage;
|
|
13
|
-
//# sourceMappingURL=OpenAiUsage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiUsage.js","sourceRoot":"","sources":["../../../../src/api/metrics/OpenAiUsage.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,IAIjC;;IACC,OAAO;QACL,KAAK,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,CAAC;QAC7B,KAAK,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC;QAC9B,MAAM,EAAE,MAAA,IAAI,CAAC,iBAAiB,mCAAI,CAAC;KACpC,CAAC;AACJ,CAAC;AAVD,8CAUC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { LDTokenUsage } from './LDTokenUsage';
|
|
2
|
-
export declare function createVercelAISDKTokenUsage(data: {
|
|
3
|
-
totalTokens?: number;
|
|
4
|
-
inputTokens?: number;
|
|
5
|
-
promptTokens?: number;
|
|
6
|
-
outputTokens?: number;
|
|
7
|
-
completionTokens?: number;
|
|
8
|
-
}): LDTokenUsage;
|
|
9
|
-
//# sourceMappingURL=VercelAISDKTokenUsage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VercelAISDKTokenUsage.d.ts","sourceRoot":"","sources":["../../../../src/api/metrics/VercelAISDKTokenUsage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,YAAY,CAMf"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createVercelAISDKTokenUsage = void 0;
|
|
4
|
-
function createVercelAISDKTokenUsage(data) {
|
|
5
|
-
var _a, _b, _c, _d, _e;
|
|
6
|
-
return {
|
|
7
|
-
total: (_a = data.totalTokens) !== null && _a !== void 0 ? _a : 0,
|
|
8
|
-
input: (_c = (_b = data.inputTokens) !== null && _b !== void 0 ? _b : data.promptTokens) !== null && _c !== void 0 ? _c : 0,
|
|
9
|
-
output: (_e = (_d = data.outputTokens) !== null && _d !== void 0 ? _d : data.completionTokens) !== null && _e !== void 0 ? _e : 0,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
exports.createVercelAISDKTokenUsage = createVercelAISDKTokenUsage;
|
|
13
|
-
//# sourceMappingURL=VercelAISDKTokenUsage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VercelAISDKTokenUsage.js","sourceRoot":"","sources":["../../../../src/api/metrics/VercelAISDKTokenUsage.ts"],"names":[],"mappings":";;;AAEA,SAAgB,2BAA2B,CAAC,IAM3C;;IACC,OAAO;QACL,KAAK,EAAE,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC;QAC5B,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,YAAY,mCAAI,CAAC;QACjD,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,YAAY,mCAAI,IAAI,CAAC,gBAAgB,mCAAI,CAAC;KACxD,CAAC;AACJ,CAAC;AAZD,kEAYC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/metrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./BedrockTokenUsage"), exports);
|
|
18
|
-
__exportStar(require("./OpenAiUsage"), exports);
|
|
19
|
-
__exportStar(require("./LDFeedbackKind"), exports);
|
|
20
|
-
__exportStar(require("./LDAIMetrics"), exports);
|
|
21
|
-
__exportStar(require("./LDTokenUsage"), exports);
|
|
22
|
-
__exportStar(require("./VercelAISDKTokenUsage"), exports);
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/metrics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,gDAA8B;AAC9B,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,0DAAwC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { LDLogger } from '@launchdarkly/js-server-sdk-common';
|
|
2
|
-
import { ChatResponse } from '../chat/types';
|
|
3
|
-
import { LDAIConfigKind, LDMessage } from '../config/types';
|
|
4
|
-
import { StructuredResponse } from '../judge/types';
|
|
5
|
-
/**
|
|
6
|
-
* Abstract base class for AI providers that implement chat model functionality.
|
|
7
|
-
* This class provides the contract that all provider implementations must follow
|
|
8
|
-
* to integrate with LaunchDarkly's tracking and configuration capabilities.
|
|
9
|
-
*
|
|
10
|
-
* Following the AICHAT spec recommendation to use base classes with non-abstract methods
|
|
11
|
-
* for better extensibility and backwards compatibility.
|
|
12
|
-
*/
|
|
13
|
-
export declare abstract class AIProvider {
|
|
14
|
-
protected readonly logger?: LDLogger;
|
|
15
|
-
constructor(logger?: LDLogger);
|
|
16
|
-
/**
|
|
17
|
-
* Invoke the chat model with an array of messages.
|
|
18
|
-
* This method should convert messages to provider format, invoke the model,
|
|
19
|
-
* and return a ChatResponse with the result and metrics.
|
|
20
|
-
*
|
|
21
|
-
* Default implementation takes no action and returns a placeholder response.
|
|
22
|
-
* Provider implementations should override this method.
|
|
23
|
-
*
|
|
24
|
-
* @param messages Array of LDMessage objects representing the conversation
|
|
25
|
-
* @returns Promise that resolves to a ChatResponse containing the model's response
|
|
26
|
-
*/
|
|
27
|
-
invokeModel(_messages: LDMessage[]): Promise<ChatResponse>;
|
|
28
|
-
/**
|
|
29
|
-
* Invoke the chat model with structured output support.
|
|
30
|
-
* This method should convert messages to provider format, invoke the model with
|
|
31
|
-
* structured output configuration, and return a structured response.
|
|
32
|
-
*
|
|
33
|
-
* Default implementation takes no action and returns a placeholder response.
|
|
34
|
-
* Provider implementations should override this method.
|
|
35
|
-
*
|
|
36
|
-
* @param messages Array of LDMessage objects representing the conversation
|
|
37
|
-
* @param responseStructure Dictionary of output configurations keyed by output name
|
|
38
|
-
* @returns Promise that resolves to a structured response
|
|
39
|
-
*/
|
|
40
|
-
invokeStructuredModel(_messages: LDMessage[], _responseStructure: Record<string, unknown>): Promise<StructuredResponse>;
|
|
41
|
-
/**
|
|
42
|
-
* Static method that constructs an instance of the provider.
|
|
43
|
-
* Each provider implementation must provide their own static create method
|
|
44
|
-
* that accepts an AIConfig and returns a configured instance.
|
|
45
|
-
*
|
|
46
|
-
* @param aiConfig The LaunchDarkly AI configuration
|
|
47
|
-
* @param logger Optional logger for the provider
|
|
48
|
-
* @returns Promise that resolves to a configured provider instance
|
|
49
|
-
*/
|
|
50
|
-
static create(aiConfig: LDAIConfigKind, logger?: LDLogger): Promise<AIProvider>;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=AIProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIProvider.d.ts","sourceRoot":"","sources":["../../../../src/api/providers/AIProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;;;;;GAOG;AACH,8BAAsB,UAAU;IAC9B,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;gBAEzB,MAAM,CAAC,EAAE,QAAQ;IAG7B;;;;;;;;;;OAUG;IACG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAkBhE;;;;;;;;;;;OAWG;IACG,qBAAqB,CACzB,SAAS,EAAE,SAAS,EAAE,EACtB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,OAAO,CAAC,kBAAkB,CAAC;IAgB9B;;;;;;;;OAQG;WAEU,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CAGtF"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AIProvider = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Abstract base class for AI providers that implement chat model functionality.
|
|
6
|
-
* This class provides the contract that all provider implementations must follow
|
|
7
|
-
* to integrate with LaunchDarkly's tracking and configuration capabilities.
|
|
8
|
-
*
|
|
9
|
-
* Following the AICHAT spec recommendation to use base classes with non-abstract methods
|
|
10
|
-
* for better extensibility and backwards compatibility.
|
|
11
|
-
*/
|
|
12
|
-
class AIProvider {
|
|
13
|
-
constructor(logger) {
|
|
14
|
-
this.logger = logger;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Invoke the chat model with an array of messages.
|
|
18
|
-
* This method should convert messages to provider format, invoke the model,
|
|
19
|
-
* and return a ChatResponse with the result and metrics.
|
|
20
|
-
*
|
|
21
|
-
* Default implementation takes no action and returns a placeholder response.
|
|
22
|
-
* Provider implementations should override this method.
|
|
23
|
-
*
|
|
24
|
-
* @param messages Array of LDMessage objects representing the conversation
|
|
25
|
-
* @returns Promise that resolves to a ChatResponse containing the model's response
|
|
26
|
-
*/
|
|
27
|
-
async invokeModel(_messages) {
|
|
28
|
-
var _a;
|
|
29
|
-
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn('invokeModel not implemented by this provider');
|
|
30
|
-
return {
|
|
31
|
-
message: {
|
|
32
|
-
role: 'assistant',
|
|
33
|
-
content: '',
|
|
34
|
-
},
|
|
35
|
-
metrics: {
|
|
36
|
-
success: false,
|
|
37
|
-
usage: {
|
|
38
|
-
total: 0,
|
|
39
|
-
input: 0,
|
|
40
|
-
output: 0,
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Invoke the chat model with structured output support.
|
|
47
|
-
* This method should convert messages to provider format, invoke the model with
|
|
48
|
-
* structured output configuration, and return a structured response.
|
|
49
|
-
*
|
|
50
|
-
* Default implementation takes no action and returns a placeholder response.
|
|
51
|
-
* Provider implementations should override this method.
|
|
52
|
-
*
|
|
53
|
-
* @param messages Array of LDMessage objects representing the conversation
|
|
54
|
-
* @param responseStructure Dictionary of output configurations keyed by output name
|
|
55
|
-
* @returns Promise that resolves to a structured response
|
|
56
|
-
*/
|
|
57
|
-
async invokeStructuredModel(_messages, _responseStructure) {
|
|
58
|
-
var _a;
|
|
59
|
-
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn('invokeStructuredModel not implemented by this provider');
|
|
60
|
-
return {
|
|
61
|
-
data: {},
|
|
62
|
-
rawResponse: '',
|
|
63
|
-
metrics: {
|
|
64
|
-
success: false,
|
|
65
|
-
usage: {
|
|
66
|
-
total: 0,
|
|
67
|
-
input: 0,
|
|
68
|
-
output: 0,
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Static method that constructs an instance of the provider.
|
|
75
|
-
* Each provider implementation must provide their own static create method
|
|
76
|
-
* that accepts an AIConfig and returns a configured instance.
|
|
77
|
-
*
|
|
78
|
-
* @param aiConfig The LaunchDarkly AI configuration
|
|
79
|
-
* @param logger Optional logger for the provider
|
|
80
|
-
* @returns Promise that resolves to a configured provider instance
|
|
81
|
-
*/
|
|
82
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
83
|
-
static async create(aiConfig, logger) {
|
|
84
|
-
throw new Error('Provider implementations must override the static create method');
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.AIProvider = AIProvider;
|
|
88
|
-
//# sourceMappingURL=AIProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIProvider.js","sourceRoot":"","sources":["../../../../src/api/providers/AIProvider.ts"],"names":[],"mappings":";;;AAMA;;;;;;;GAOG;AACH,MAAsB,UAAU;IAG9B,YAAY,MAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IACD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CAAC,SAAsB;;QACtC,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAClE,OAAO;YACL,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE;aACZ;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;iBACV;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,qBAAqB,CACzB,SAAsB,EACtB,kBAA2C;;QAE3C,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC5E,OAAO;YACL,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;iBACV;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAwB,EAAE,MAAiB;QAC7D,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;CACF;AA/ED,gCA+EC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { LDLogger } from '@launchdarkly/js-server-sdk-common';
|
|
2
|
-
import { LDAIConfigKind } from '../config/types';
|
|
3
|
-
import { AIProvider } from './AIProvider';
|
|
4
|
-
/**
|
|
5
|
-
* List of supported AI providers.
|
|
6
|
-
*/
|
|
7
|
-
export declare const SUPPORTED_AI_PROVIDERS: readonly ["openai", "langchain", "vercel"];
|
|
8
|
-
/**
|
|
9
|
-
* Type representing the supported AI providers.
|
|
10
|
-
*/
|
|
11
|
-
export type SupportedAIProvider = (typeof SUPPORTED_AI_PROVIDERS)[number];
|
|
12
|
-
/**
|
|
13
|
-
* Factory for creating AIProvider instances based on the provider configuration.
|
|
14
|
-
*/
|
|
15
|
-
export declare class AIProviderFactory {
|
|
16
|
-
/**
|
|
17
|
-
* Create an AIProvider instance based on the AI configuration.
|
|
18
|
-
* This method attempts to load provider-specific implementations dynamically.
|
|
19
|
-
* Returns undefined if the provider is not supported.
|
|
20
|
-
*
|
|
21
|
-
* @param aiConfig The AI configuration
|
|
22
|
-
* @param logger Optional logger for logging provider initialization
|
|
23
|
-
* @param defaultAiProvider Optional default AI provider to use
|
|
24
|
-
*/
|
|
25
|
-
static create(aiConfig: LDAIConfigKind, logger?: LDLogger, defaultAiProvider?: SupportedAIProvider): Promise<AIProvider | undefined>;
|
|
26
|
-
/**
|
|
27
|
-
* Determine which providers to try based on defaultAiProvider and providerName.
|
|
28
|
-
*/
|
|
29
|
-
private static _getProvidersToTry;
|
|
30
|
-
/**
|
|
31
|
-
* Try to create a provider of the specified type.
|
|
32
|
-
*/
|
|
33
|
-
private static _tryCreateProvider;
|
|
34
|
-
/**
|
|
35
|
-
* Create a provider instance dynamically.
|
|
36
|
-
*/
|
|
37
|
-
private static _createProvider;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=AIProviderFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIProviderFactory.d.ts","sourceRoot":"","sources":["../../../../src/api/providers/AIProviderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,sBAAsB,4CAKzB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;;OAQG;WACU,MAAM,CACjB,QAAQ,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,QAAQ,EACjB,iBAAiB,CAAC,EAAE,mBAAmB,GACtC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAsBlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA0BjC;;OAEG;mBACkB,kBAAkB;IAgCvC;;OAEG;mBACkB,eAAe;CAyBrC"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AIProviderFactory = exports.SUPPORTED_AI_PROVIDERS = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* List of supported AI providers.
|
|
6
|
-
*/
|
|
7
|
-
exports.SUPPORTED_AI_PROVIDERS = [
|
|
8
|
-
'openai',
|
|
9
|
-
// Multi-provider packages should be last in the list
|
|
10
|
-
'langchain',
|
|
11
|
-
'vercel',
|
|
12
|
-
];
|
|
13
|
-
/**
|
|
14
|
-
* Factory for creating AIProvider instances based on the provider configuration.
|
|
15
|
-
*/
|
|
16
|
-
class AIProviderFactory {
|
|
17
|
-
/**
|
|
18
|
-
* Create an AIProvider instance based on the AI configuration.
|
|
19
|
-
* This method attempts to load provider-specific implementations dynamically.
|
|
20
|
-
* Returns undefined if the provider is not supported.
|
|
21
|
-
*
|
|
22
|
-
* @param aiConfig The AI configuration
|
|
23
|
-
* @param logger Optional logger for logging provider initialization
|
|
24
|
-
* @param defaultAiProvider Optional default AI provider to use
|
|
25
|
-
*/
|
|
26
|
-
static async create(aiConfig, logger, defaultAiProvider) {
|
|
27
|
-
var _a, _b, _c, _d;
|
|
28
|
-
const providerName = (_b = (_a = aiConfig.provider) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
29
|
-
// Determine which providers to try based on defaultAiProvider
|
|
30
|
-
const providersToTry = this._getProvidersToTry(defaultAiProvider, providerName);
|
|
31
|
-
// Try each provider in order
|
|
32
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
33
|
-
for (const providerType of providersToTry) {
|
|
34
|
-
// eslint-disable-next-line no-await-in-loop
|
|
35
|
-
const provider = await this._tryCreateProvider(providerType, aiConfig, logger);
|
|
36
|
-
if (provider) {
|
|
37
|
-
return provider;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// If no provider was successfully created, log a warning
|
|
41
|
-
logger === null || logger === void 0 ? void 0 : logger.warn(`Provider is not supported or failed to initialize: ${(_d = (_c = aiConfig.provider) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : 'unknown'}`);
|
|
42
|
-
return undefined;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Determine which providers to try based on defaultAiProvider and providerName.
|
|
46
|
-
*/
|
|
47
|
-
static _getProvidersToTry(defaultAiProvider, providerName) {
|
|
48
|
-
// If defaultAiProvider is set, only try that specific provider
|
|
49
|
-
if (defaultAiProvider) {
|
|
50
|
-
return [defaultAiProvider];
|
|
51
|
-
}
|
|
52
|
-
// If no defaultAiProvider is set, try all providers in order
|
|
53
|
-
const providerSet = new Set();
|
|
54
|
-
// First try the specific provider if it's supported
|
|
55
|
-
if (providerName && exports.SUPPORTED_AI_PROVIDERS.includes(providerName)) {
|
|
56
|
-
providerSet.add(providerName);
|
|
57
|
-
}
|
|
58
|
-
// Then try multi-provider packages, but avoid duplicates
|
|
59
|
-
const multiProviderPackages = ['langchain', 'vercel'];
|
|
60
|
-
multiProviderPackages.forEach((provider) => {
|
|
61
|
-
providerSet.add(provider);
|
|
62
|
-
});
|
|
63
|
-
return Array.from(providerSet);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Try to create a provider of the specified type.
|
|
67
|
-
*/
|
|
68
|
-
static async _tryCreateProvider(providerType, aiConfig, logger) {
|
|
69
|
-
switch (providerType) {
|
|
70
|
-
case 'openai':
|
|
71
|
-
return this._createProvider('@launchdarkly/server-sdk-ai-openai', 'OpenAIProvider', aiConfig, logger);
|
|
72
|
-
case 'langchain':
|
|
73
|
-
return this._createProvider('@launchdarkly/server-sdk-ai-langchain', 'LangChainProvider', aiConfig, logger);
|
|
74
|
-
case 'vercel':
|
|
75
|
-
return this._createProvider('@launchdarkly/server-sdk-ai-vercel', 'VercelProvider', aiConfig, logger);
|
|
76
|
-
default:
|
|
77
|
-
return undefined;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Create a provider instance dynamically.
|
|
82
|
-
*/
|
|
83
|
-
static async _createProvider(packageName, providerClassName, aiConfig, logger) {
|
|
84
|
-
var _a, _b;
|
|
85
|
-
try {
|
|
86
|
-
// Try to dynamically import the provider
|
|
87
|
-
// This will work if the package is installed
|
|
88
|
-
// eslint-disable-next-line import/no-extraneous-dependencies, global-require, import/no-dynamic-require
|
|
89
|
-
const { [providerClassName]: ProviderClass } = require(packageName);
|
|
90
|
-
const provider = await ProviderClass.create(aiConfig, logger);
|
|
91
|
-
logger === null || logger === void 0 ? void 0 : logger.debug(`Successfully created AIProvider for: ${(_a = aiConfig.provider) === null || _a === void 0 ? void 0 : _a.name} with package ${packageName}`);
|
|
92
|
-
return provider;
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
// If the provider is not available or creation fails, return undefined
|
|
96
|
-
logger === null || logger === void 0 ? void 0 : logger.warn(`Error creating AIProvider for: ${(_b = aiConfig.provider) === null || _b === void 0 ? void 0 : _b.name} with package ${packageName}: ${error}`);
|
|
97
|
-
return undefined;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
exports.AIProviderFactory = AIProviderFactory;
|
|
102
|
-
//# sourceMappingURL=AIProviderFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AIProviderFactory.js","sourceRoot":"","sources":["../../../../src/api/providers/AIProviderFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./AIProvider"), exports);
|
|
18
|
-
__exportStar(require("./AIProviderFactory"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,sDAAoC"}
|
package/dist/src/index.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This is the API reference for the LaunchDarkly AI SDK for Server-Side JavaScript.
|
|
3
|
-
*
|
|
4
|
-
* In typical usage, you will call {@link initAi} once at startup time to obtain an instance of
|
|
5
|
-
* {@link LDAIClient}, which provides access to all of the SDK's functionality.
|
|
6
|
-
*
|
|
7
|
-
* @packageDocumentation
|
|
8
|
-
*/
|
|
9
|
-
import { LDAIClient } from './api/LDAIClient';
|
|
10
|
-
import { LDClientMin } from './LDClientMin';
|
|
11
|
-
/**
|
|
12
|
-
* Initialize a new AI client. This client will be used to perform any AI operations.
|
|
13
|
-
* @param ldClient The base LaunchDarkly client.
|
|
14
|
-
* @returns A new AI client.
|
|
15
|
-
*/
|
|
16
|
-
export declare function initAi(ldClient: LDClientMin): LDAIClient;
|
|
17
|
-
export { LDLogger } from '@launchdarkly/js-server-sdk-common';
|
|
18
|
-
export * from './api';
|
|
19
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU,CAExD;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,cAAc,OAAO,CAAC"}
|