@launchdarkly/server-sdk-ai 0.2.1 → 0.4.0
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 +18 -0
- package/__tests__/LDAIClientImpl.test.ts +49 -54
- package/__tests__/LDAIConfigTrackerImpl.test.ts +3 -3
- package/dist/LDAIClientImpl.d.ts +3 -3
- package/dist/LDAIClientImpl.d.ts.map +1 -1
- package/dist/LDAIClientImpl.js +17 -14
- package/dist/LDAIClientImpl.js.map +1 -1
- package/dist/LDAIConfigTrackerImpl.d.ts +2 -2
- package/dist/LDAIConfigTrackerImpl.d.ts.map +1 -1
- package/dist/LDAIConfigTrackerImpl.js +2 -2
- package/dist/LDAIConfigTrackerImpl.js.map +1 -1
- package/dist/api/LDAIClient.d.ts +2 -19
- package/dist/api/LDAIClient.d.ts.map +1 -1
- package/dist/api/config/LDAIConfig.d.ts +30 -18
- package/dist/api/config/LDAIConfig.d.ts.map +1 -1
- package/dist/api/config/LDAIConfigTracker.d.ts +2 -2
- package/dist/api/config/LDAIConfigTracker.d.ts.map +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/enums/LDFeedbackKind.html +8 -8
- package/docs/functions/createBedrockTokenUsage.html +6 -6
- package/docs/functions/initAi.html +6 -6
- package/docs/index.html +11 -8
- package/docs/interfaces/LDAIClient.html +13 -43
- package/docs/interfaces/LDAIConfig.html +41 -21
- package/docs/interfaces/LDAIConfigTracker.html +23 -23
- package/docs/interfaces/LDMessage.html +8 -8
- package/docs/interfaces/LDModelConfig.html +37 -31
- package/docs/interfaces/{LDGenerationConfig.html → LDProviderConfig.html} +16 -32
- package/docs/interfaces/LDTokenUsage.html +9 -9
- package/docs/types/LDAIDefaults.html +65 -0
- package/package.json +1 -1
- package/src/LDAIClientImpl.ts +26 -22
- package/src/LDAIConfigTrackerImpl.ts +2 -2
- package/src/api/LDAIClient.ts +3 -22
- package/src/api/config/LDAIConfig.ts +27 -18
- package/src/api/config/LDAIConfigTracker.ts +2 -2
- package/docs/interfaces/LDAIDefaults.html +0 -107
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.0](https://github.com/launchdarkly/js-core/compare/server-sdk-ai-v0.3.0...server-sdk-ai-v0.4.0) (2024-11-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* Updated AI config interface. ([#697](https://github.com/launchdarkly/js-core/issues/697))
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* Updated AI config interface. ([#697](https://github.com/launchdarkly/js-core/issues/697)) ([cd72ea8](https://github.com/launchdarkly/js-core/commit/cd72ea8193888b0635b5beffa0a877b18294777e))
|
|
13
|
+
|
|
14
|
+
## [0.3.0](https://github.com/launchdarkly/js-core/compare/server-sdk-ai-v0.2.1...server-sdk-ai-v0.3.0) (2024-11-15)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* Change the typing for the LDAIConfig. ([#688](https://github.com/launchdarkly/js-core/issues/688)) ([1f3f54a](https://github.com/launchdarkly/js-core/commit/1f3f54abef144cccc7ac5b9bfef8392b9d7f2618))
|
|
20
|
+
|
|
3
21
|
## [0.2.1](https://github.com/launchdarkly/js-core/compare/server-sdk-ai-v0.2.0...server-sdk-ai-v0.2.1) (2024-11-14)
|
|
4
22
|
|
|
5
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LDContext } from '@launchdarkly/js-server-sdk-common';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { LDAIDefaults } from '../src/api/config';
|
|
4
4
|
import { LDAIClientImpl } from '../src/LDAIClientImpl';
|
|
5
5
|
import { LDClientMin } from '../src/LDClientMin';
|
|
6
6
|
|
|
@@ -11,35 +11,24 @@ const mockLdClient: jest.Mocked<LDClientMin> = {
|
|
|
11
11
|
|
|
12
12
|
const testContext: LDContext = { kind: 'user', key: 'test-user' };
|
|
13
13
|
|
|
14
|
-
it('
|
|
15
|
-
const client = new LDAIClientImpl(mockLdClient);
|
|
16
|
-
const template = 'Hello {{name}}, your score is {{score}}';
|
|
17
|
-
const variables = { name: 'John', score: 42 };
|
|
18
|
-
|
|
19
|
-
const result = client.interpolateTemplate(template, variables);
|
|
20
|
-
expect(result).toBe('Hello John, your score is 42');
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('handles empty variables in template interpolation', () => {
|
|
24
|
-
const client = new LDAIClientImpl(mockLdClient);
|
|
25
|
-
const template = 'Hello {{name}}';
|
|
26
|
-
const variables = {};
|
|
27
|
-
|
|
28
|
-
const result = client.interpolateTemplate(template, variables);
|
|
29
|
-
expect(result).toBe('Hello ');
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it('returns model config with interpolated prompts', async () => {
|
|
14
|
+
it('returns config with interpolated messagess', async () => {
|
|
33
15
|
const client = new LDAIClientImpl(mockLdClient);
|
|
34
16
|
const key = 'test-flag';
|
|
35
|
-
const defaultValue:
|
|
36
|
-
model: {
|
|
37
|
-
|
|
17
|
+
const defaultValue: LDAIDefaults = {
|
|
18
|
+
model: { id: 'test', parameters: { name: 'test-model' } },
|
|
19
|
+
messages: [],
|
|
20
|
+
enabled: true,
|
|
38
21
|
};
|
|
39
22
|
|
|
40
23
|
const mockVariation = {
|
|
41
|
-
model: {
|
|
42
|
-
|
|
24
|
+
model: {
|
|
25
|
+
id: 'example-model',
|
|
26
|
+
parameters: { name: 'imagination', temperature: 0.7, maxTokens: 4096 },
|
|
27
|
+
},
|
|
28
|
+
provider: {
|
|
29
|
+
id: 'example-provider',
|
|
30
|
+
},
|
|
31
|
+
messages: [
|
|
43
32
|
{ role: 'system', content: 'Hello {{name}}' },
|
|
44
33
|
{ role: 'user', content: 'Score: {{score}}' },
|
|
45
34
|
],
|
|
@@ -52,63 +41,65 @@ it('returns model config with interpolated prompts', async () => {
|
|
|
52
41
|
mockLdClient.variation.mockResolvedValue(mockVariation);
|
|
53
42
|
|
|
54
43
|
const variables = { name: 'John', score: 42 };
|
|
55
|
-
const result = await client.
|
|
44
|
+
const result = await client.config(key, testContext, defaultValue, variables);
|
|
56
45
|
|
|
57
46
|
expect(result).toEqual({
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
{ role: 'system', content: 'Hello John' },
|
|
62
|
-
{ role: 'user', content: 'Score: 42' },
|
|
63
|
-
],
|
|
47
|
+
model: {
|
|
48
|
+
id: 'example-model',
|
|
49
|
+
parameters: { name: 'imagination', temperature: 0.7, maxTokens: 4096 },
|
|
64
50
|
},
|
|
51
|
+
provider: {
|
|
52
|
+
id: 'example-provider',
|
|
53
|
+
},
|
|
54
|
+
messages: [
|
|
55
|
+
{ role: 'system', content: 'Hello John' },
|
|
56
|
+
{ role: 'user', content: 'Score: 42' },
|
|
57
|
+
],
|
|
65
58
|
tracker: expect.any(Object),
|
|
66
59
|
enabled: true,
|
|
67
60
|
});
|
|
68
61
|
});
|
|
69
62
|
|
|
70
|
-
it('includes context in variables for
|
|
63
|
+
it('includes context in variables for messages interpolation', async () => {
|
|
71
64
|
const client = new LDAIClientImpl(mockLdClient);
|
|
72
65
|
const key = 'test-flag';
|
|
73
|
-
const defaultValue:
|
|
74
|
-
model: {
|
|
75
|
-
|
|
66
|
+
const defaultValue: LDAIDefaults = {
|
|
67
|
+
model: { id: 'test', parameters: { name: 'test-model' } },
|
|
68
|
+
messages: [],
|
|
76
69
|
};
|
|
77
70
|
|
|
78
71
|
const mockVariation = {
|
|
79
|
-
|
|
72
|
+
messages: [{ role: 'system', content: 'User key: {{ldctx.key}}' }],
|
|
80
73
|
_ldMeta: { versionKey: 'v1', enabled: true },
|
|
81
74
|
};
|
|
82
75
|
|
|
83
76
|
mockLdClient.variation.mockResolvedValue(mockVariation);
|
|
84
77
|
|
|
85
|
-
const result = await client.
|
|
78
|
+
const result = await client.config(key, testContext, defaultValue);
|
|
86
79
|
|
|
87
|
-
expect(result.
|
|
80
|
+
expect(result.messages?.[0].content).toBe('User key: test-user');
|
|
88
81
|
});
|
|
89
82
|
|
|
90
83
|
it('handles missing metadata in variation', async () => {
|
|
91
84
|
const client = new LDAIClientImpl(mockLdClient);
|
|
92
85
|
const key = 'test-flag';
|
|
93
|
-
const defaultValue:
|
|
94
|
-
model: {
|
|
95
|
-
|
|
86
|
+
const defaultValue: LDAIDefaults = {
|
|
87
|
+
model: { id: 'test', parameters: { name: 'test-model' } },
|
|
88
|
+
messages: [],
|
|
96
89
|
};
|
|
97
90
|
|
|
98
91
|
const mockVariation = {
|
|
99
|
-
model: {
|
|
100
|
-
|
|
92
|
+
model: { id: 'example-provider', parameters: { name: 'imagination' } },
|
|
93
|
+
messages: [{ role: 'system', content: 'Hello' }],
|
|
101
94
|
};
|
|
102
95
|
|
|
103
96
|
mockLdClient.variation.mockResolvedValue(mockVariation);
|
|
104
97
|
|
|
105
|
-
const result = await client.
|
|
98
|
+
const result = await client.config(key, testContext, defaultValue);
|
|
106
99
|
|
|
107
100
|
expect(result).toEqual({
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
prompt: [{ role: 'system', content: 'Hello' }],
|
|
111
|
-
},
|
|
101
|
+
model: { id: 'example-provider', parameters: { name: 'imagination' } },
|
|
102
|
+
messages: [{ role: 'system', content: 'Hello' }],
|
|
112
103
|
tracker: expect.any(Object),
|
|
113
104
|
enabled: false,
|
|
114
105
|
});
|
|
@@ -117,17 +108,21 @@ it('handles missing metadata in variation', async () => {
|
|
|
117
108
|
it('passes the default value to the underlying client', async () => {
|
|
118
109
|
const client = new LDAIClientImpl(mockLdClient);
|
|
119
110
|
const key = 'non-existent-flag';
|
|
120
|
-
const defaultValue:
|
|
121
|
-
model: {
|
|
122
|
-
|
|
111
|
+
const defaultValue: LDAIDefaults = {
|
|
112
|
+
model: { id: 'default-model', parameters: { name: 'default' } },
|
|
113
|
+
provider: { id: 'default-provider' },
|
|
114
|
+
messages: [{ role: 'system', content: 'Default messages' }],
|
|
115
|
+
enabled: true,
|
|
123
116
|
};
|
|
124
117
|
|
|
125
118
|
mockLdClient.variation.mockResolvedValue(defaultValue);
|
|
126
119
|
|
|
127
|
-
const result = await client.
|
|
120
|
+
const result = await client.config(key, testContext, defaultValue);
|
|
128
121
|
|
|
129
122
|
expect(result).toEqual({
|
|
130
|
-
|
|
123
|
+
model: defaultValue.model,
|
|
124
|
+
messages: defaultValue.messages,
|
|
125
|
+
provider: defaultValue.provider,
|
|
131
126
|
tracker: expect.any(Object),
|
|
132
127
|
enabled: false,
|
|
133
128
|
});
|
|
@@ -90,7 +90,7 @@ it('tracks OpenAI usage', async () => {
|
|
|
90
90
|
const PROMPT_TOKENS = 49;
|
|
91
91
|
const COMPLETION_TOKENS = 51;
|
|
92
92
|
|
|
93
|
-
await tracker.
|
|
93
|
+
await tracker.trackOpenAIMetrics(async () => ({
|
|
94
94
|
usage: {
|
|
95
95
|
total_tokens: TOTAL_TOKENS,
|
|
96
96
|
prompt_tokens: PROMPT_TOKENS,
|
|
@@ -151,7 +151,7 @@ it('tracks Bedrock conversation with successful response', () => {
|
|
|
151
151
|
},
|
|
152
152
|
};
|
|
153
153
|
|
|
154
|
-
tracker.
|
|
154
|
+
tracker.trackBedrockConverseMetrics(response);
|
|
155
155
|
|
|
156
156
|
expect(mockTrack).toHaveBeenCalledWith(
|
|
157
157
|
'$ld:ai:generation',
|
|
@@ -198,7 +198,7 @@ it('tracks Bedrock conversation with error response', () => {
|
|
|
198
198
|
|
|
199
199
|
// TODO: We may want a track failure.
|
|
200
200
|
|
|
201
|
-
tracker.
|
|
201
|
+
tracker.trackBedrockConverseMetrics(response);
|
|
202
202
|
|
|
203
203
|
expect(mockTrack).not.toHaveBeenCalled();
|
|
204
204
|
});
|
package/dist/LDAIClientImpl.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { LDContext } from '@launchdarkly/js-server-sdk-common';
|
|
2
|
-
import { LDAIConfig,
|
|
2
|
+
import { LDAIConfig, LDAIDefaults } from './api/config';
|
|
3
3
|
import { LDAIClient } from './api/LDAIClient';
|
|
4
4
|
import { LDClientMin } from './LDClientMin';
|
|
5
5
|
export declare class LDAIClientImpl implements LDAIClient {
|
|
6
6
|
private _ldClient;
|
|
7
7
|
constructor(_ldClient: LDClientMin);
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
private _interpolateTemplate;
|
|
9
|
+
config(key: string, context: LDContext, defaultValue: LDAIDefaults, variables?: Record<string, unknown>): Promise<LDAIConfig>;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=LDAIClientImpl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIClientImpl.d.ts","sourceRoot":"","sources":["../src/LDAIClientImpl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"LDAIClientImpl.d.ts","sourceRoot":"","sources":["../src/LDAIClientImpl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,YAAY,EAA8C,MAAM,cAAc,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAqB5C,qBAAa,cAAe,YAAW,UAAU;IACnC,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,WAAW;IAE1C,OAAO,CAAC,oBAAoB;IAItB,MAAM,CACV,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,UAAU,CAAC;CAkCvB"}
|
package/dist/LDAIClientImpl.js
CHANGED
|
@@ -7,31 +7,34 @@ class LDAIClientImpl {
|
|
|
7
7
|
constructor(_ldClient) {
|
|
8
8
|
this._ldClient = _ldClient;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
_interpolateTemplate(template, variables) {
|
|
11
11
|
return Mustache.render(template, variables, undefined, { escape: (item) => item });
|
|
12
12
|
}
|
|
13
|
-
async
|
|
13
|
+
async config(key, context, defaultValue, variables) {
|
|
14
14
|
var _a, _b, _c;
|
|
15
15
|
const value = await this._ldClient.variation(key, context, defaultValue);
|
|
16
|
+
const tracker = new LDAIConfigTrackerImpl_1.LDAIConfigTrackerImpl(this._ldClient, key,
|
|
17
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
18
|
+
(_b = (_a = value._ldMeta) === null || _a === void 0 ? void 0 : _a.versionKey) !== null && _b !== void 0 ? _b : '', context);
|
|
19
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
20
|
+
const enabled = !!((_c = value._ldMeta) === null || _c === void 0 ? void 0 : _c.enabled);
|
|
21
|
+
const config = {
|
|
22
|
+
tracker,
|
|
23
|
+
enabled,
|
|
24
|
+
};
|
|
16
25
|
// We are going to modify the contents before returning them, so we make a copy.
|
|
17
26
|
// This isn't a deep copy and the application developer should not modify the returned content.
|
|
18
|
-
const config = {};
|
|
19
27
|
if (value.model) {
|
|
20
28
|
config.model = Object.assign({}, value.model);
|
|
21
29
|
}
|
|
30
|
+
if (value.provider) {
|
|
31
|
+
config.provider = Object.assign({}, value.provider);
|
|
32
|
+
}
|
|
22
33
|
const allVariables = Object.assign(Object.assign({}, variables), { ldctx: context });
|
|
23
|
-
if (value.
|
|
24
|
-
config.
|
|
34
|
+
if (value.messages) {
|
|
35
|
+
config.messages = value.messages.map((entry) => (Object.assign(Object.assign({}, entry), { content: this._interpolateTemplate(entry.content, allVariables) })));
|
|
25
36
|
}
|
|
26
|
-
return
|
|
27
|
-
config,
|
|
28
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
29
|
-
tracker: new LDAIConfigTrackerImpl_1.LDAIConfigTrackerImpl(this._ldClient, key,
|
|
30
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
31
|
-
(_b = (_a = value._ldMeta) === null || _a === void 0 ? void 0 : _a.versionKey) !== null && _b !== void 0 ? _b : '', context),
|
|
32
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
33
|
-
enabled: !!((_c = value._ldMeta) === null || _c === void 0 ? void 0 : _c.enabled),
|
|
34
|
-
};
|
|
37
|
+
return config;
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
exports.LDAIClientImpl = LDAIClientImpl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIClientImpl.js","sourceRoot":"","sources":["../src/LDAIClientImpl.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAMrC,mEAAgE;
|
|
1
|
+
{"version":3,"file":"LDAIClientImpl.js","sourceRoot":"","sources":["../src/LDAIClientImpl.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAMrC,mEAAgE;AAsBhE,MAAa,cAAc;IACzB,YAAoB,SAAsB;QAAtB,cAAS,GAAT,SAAS,CAAa;IAAG,CAAC;IAEtC,oBAAoB,CAAC,QAAgB,EAAE,SAAkC;QAC/E,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAW,EACX,OAAkB,EAClB,YAA0B,EAC1B,SAAmC;;QAEnC,MAAM,KAAK,GAAqB,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,IAAI,6CAAqB,CACvC,IAAI,CAAC,SAAS,EACd,GAAG;QACH,gDAAgD;QAChD,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,UAAU,mCAAI,EAAE,EAC/B,OAAO,CACR,CAAC;QACF,gDAAgD;QAChD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAA,CAAC;QACzC,MAAM,MAAM,GAAe;YACzB,OAAO;YACP,OAAO;SACR,CAAC;QACF,gFAAgF;QAChF,+FAA+F;QAC/F,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,MAAM,CAAC,KAAK,qBAAQ,KAAK,CAAC,KAAK,CAAE,CAAC;SACnC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,MAAM,CAAC,QAAQ,qBAAQ,KAAK,CAAC,QAAQ,CAAE,CAAC;SACzC;QACD,MAAM,YAAY,mCAAQ,SAAS,KAAE,KAAK,EAAE,OAAO,GAAE,CAAC;QAEtD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,iCAChD,KAAK,KACR,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,IAC/D,CAAC,CAAC;SACL;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA9CD,wCA8CC"}
|
|
@@ -15,14 +15,14 @@ export declare class LDAIConfigTrackerImpl implements LDAIConfigTracker {
|
|
|
15
15
|
kind: LDFeedbackKind;
|
|
16
16
|
}): void;
|
|
17
17
|
trackSuccess(): void;
|
|
18
|
-
|
|
18
|
+
trackOpenAIMetrics<TRes extends {
|
|
19
19
|
usage?: {
|
|
20
20
|
total_tokens?: number;
|
|
21
21
|
prompt_tokens?: number;
|
|
22
22
|
completion_tokens?: number;
|
|
23
23
|
};
|
|
24
24
|
}>(func: () => Promise<TRes>): Promise<TRes>;
|
|
25
|
-
|
|
25
|
+
trackBedrockConverseMetrics<TRes extends {
|
|
26
26
|
$metadata: {
|
|
27
27
|
httpStatusCode?: number;
|
|
28
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIConfigTrackerImpl.d.ts","sourceRoot":"","sources":["../src/LDAIConfigTrackerImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAA2B,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEtF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,qBAAsB,YAAW,iBAAiB;IAE3D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;gBAHR,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS;IAG7B,OAAO,CAAC,aAAa;IAOrB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASrE,aAAa,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI;IAQvD,YAAY,IAAI,IAAI;IAId,
|
|
1
|
+
{"version":3,"file":"LDAIConfigTrackerImpl.d.ts","sourceRoot":"","sources":["../src/LDAIConfigTrackerImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAA2B,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEtF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,qBAAsB,YAAW,iBAAiB;IAE3D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;gBAHR,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS;IAG7B,OAAO,CAAC,aAAa;IAOrB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASrE,aAAa,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI;IAQvD,YAAY,IAAI,IAAI;IAId,kBAAkB,CACtB,IAAI,SAAS;QACX,KAAK,CAAC,EAAE;YACN,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH,EACD,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,2BAA2B,CACzB,IAAI,SAAS;QACX,SAAS,EAAE;YAAE,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,EACD,GAAG,EAAE,IAAI,GAAG,IAAI;IAelB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;CAYxC"}
|
|
@@ -38,7 +38,7 @@ class LDAIConfigTrackerImpl {
|
|
|
38
38
|
trackSuccess() {
|
|
39
39
|
this._ldClient.track('$ld:ai:generation', this._context, this._getTrackData(), 1);
|
|
40
40
|
}
|
|
41
|
-
async
|
|
41
|
+
async trackOpenAIMetrics(func) {
|
|
42
42
|
const result = await this.trackDurationOf(func);
|
|
43
43
|
this.trackSuccess();
|
|
44
44
|
if (result.usage) {
|
|
@@ -46,7 +46,7 @@ class LDAIConfigTrackerImpl {
|
|
|
46
46
|
}
|
|
47
47
|
return result;
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
trackBedrockConverseMetrics(res) {
|
|
50
50
|
var _a, _b;
|
|
51
51
|
if (((_a = res.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 200) {
|
|
52
52
|
this.trackSuccess();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIConfigTrackerImpl.js","sourceRoot":"","sources":["../src/LDAIConfigTrackerImpl.ts"],"names":[],"mappings":";;;AAGA,2CAAsF;AACtF,2DAA8D;AAG9D,MAAa,qBAAqB;IAChC,YACU,SAAsB,EACtB,UAAkB,EAClB,WAAmB,EACnB,QAAmB;QAHnB,cAAS,GAAT,SAAS,CAAa;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAW;IAC1B,CAAC;IAEI,aAAa;QACnB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,eAAe,CAAO,IAAyB;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,2BAA2B;QACjE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,QAAkC;QAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,wBAAc,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/F;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,wBAAc,CAAC,QAAQ,EAAE;YACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/F;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"LDAIConfigTrackerImpl.js","sourceRoot":"","sources":["../src/LDAIConfigTrackerImpl.ts"],"names":[],"mappings":";;;AAGA,2CAAsF;AACtF,2DAA8D;AAG9D,MAAa,qBAAqB;IAChC,YACU,SAAsB,EACtB,UAAkB,EAClB,WAAmB,EACnB,QAAmB;QAHnB,cAAS,GAAT,SAAS,CAAa;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAW;IAC1B,CAAC;IAEI,aAAa;QACnB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,eAAe,CAAO,IAAyB;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,2BAA2B;QACjE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,QAAkC;QAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,wBAAc,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/F;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,wBAAc,CAAC,QAAQ,EAAE;YACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/F;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAQtB,IAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,IAAA,+BAAiB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACnD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2BAA2B,CAUzB,GAAS;;QACT,IAAI,CAAA,MAAA,GAAG,CAAC,SAAS,0CAAE,cAAc,MAAK,GAAG,EAAE;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM,IAAI,CAAA,MAAA,GAAG,CAAC,SAAS,0CAAE,cAAc,KAAI,GAAG,CAAC,SAAS,CAAC,cAAc,IAAI,GAAG,EAAE;YAC/E,gDAAgD;SACjD;QACD,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE;YACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC3C;QACD,IAAI,GAAG,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,WAAW,CAAC,IAAA,iCAAuB,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,MAAoB;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SACrF;QACD,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SACrF;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SACvF;IACH,CAAC;CACF;AA9FD,sDA8FC"}
|
package/dist/api/LDAIClient.d.ts
CHANGED
|
@@ -1,26 +1,9 @@
|
|
|
1
1
|
import { LDContext } from '@launchdarkly/js-server-sdk-common';
|
|
2
|
-
import { LDAIConfig,
|
|
3
|
-
/**
|
|
4
|
-
* Interface for default model configuration.
|
|
5
|
-
*/
|
|
6
|
-
export interface LDAIDefaults extends LDGenerationConfig {
|
|
7
|
-
/**
|
|
8
|
-
* Whether the configuration is enabled.
|
|
9
|
-
*/
|
|
10
|
-
enabled?: boolean;
|
|
11
|
-
}
|
|
2
|
+
import { LDAIConfig, LDAIDefaults } from './config/LDAIConfig';
|
|
12
3
|
/**
|
|
13
4
|
* Interface for performing AI operations using LaunchDarkly.
|
|
14
5
|
*/
|
|
15
6
|
export interface LDAIClient {
|
|
16
|
-
/**
|
|
17
|
-
* Parses and interpolates a template string with the provided variables.
|
|
18
|
-
*
|
|
19
|
-
* @param template The template string to be parsed and interpolated.
|
|
20
|
-
* @param variables An object containing the variables to be used for interpolation.
|
|
21
|
-
* @returns The interpolated string.
|
|
22
|
-
*/
|
|
23
|
-
interpolateTemplate(template: string, variables: Record<string, unknown>): string;
|
|
24
7
|
/**
|
|
25
8
|
* Retrieves and processes an AI configuration based on the provided key, LaunchDarkly context,
|
|
26
9
|
* and variables. This includes the model configuration and the processed prompts.
|
|
@@ -73,6 +56,6 @@ export interface LDAIClient {
|
|
|
73
56
|
* }
|
|
74
57
|
* ```
|
|
75
58
|
*/
|
|
76
|
-
|
|
59
|
+
config(key: string, context: LDContext, defaultValue: LDAIDefaults, variables?: Record<string, unknown>): Promise<LDAIConfig>;
|
|
77
60
|
}
|
|
78
61
|
//# sourceMappingURL=LDAIClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIClient.d.ts","sourceRoot":"","sources":["../../src/api/LDAIClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"LDAIClient.d.ts","sourceRoot":"","sources":["../../src/api/LDAIClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,MAAM,CACJ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB"}
|
|
@@ -6,20 +6,25 @@ export interface LDModelConfig {
|
|
|
6
6
|
/**
|
|
7
7
|
* The ID of the model.
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
id: string;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* model.
|
|
11
|
+
* Model specific parameters.
|
|
13
12
|
*/
|
|
14
|
-
|
|
13
|
+
parameters?: {
|
|
14
|
+
[index: string]: unknown;
|
|
15
|
+
};
|
|
15
16
|
/**
|
|
16
|
-
*
|
|
17
|
+
* Additional user-specified parameters.
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
custom?: {
|
|
20
|
+
[index: string]: unknown;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface LDProviderConfig {
|
|
19
24
|
/**
|
|
20
|
-
*
|
|
25
|
+
* The ID of the provider.
|
|
21
26
|
*/
|
|
22
|
-
|
|
27
|
+
id: string;
|
|
23
28
|
}
|
|
24
29
|
/**
|
|
25
30
|
* Information about prompts.
|
|
@@ -35,9 +40,9 @@ export interface LDMessage {
|
|
|
35
40
|
content: string;
|
|
36
41
|
}
|
|
37
42
|
/**
|
|
38
|
-
*
|
|
43
|
+
* AI configuration and tracker.
|
|
39
44
|
*/
|
|
40
|
-
export interface
|
|
45
|
+
export interface LDAIConfig {
|
|
41
46
|
/**
|
|
42
47
|
* Optional model configuration.
|
|
43
48
|
*/
|
|
@@ -45,16 +50,11 @@ export interface LDGenerationConfig {
|
|
|
45
50
|
/**
|
|
46
51
|
* Optional prompt data.
|
|
47
52
|
*/
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* AI Config value and tracker.
|
|
52
|
-
*/
|
|
53
|
-
export interface LDAIConfig {
|
|
53
|
+
messages?: LDMessage[];
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
55
|
+
* Optional configuration for the provider.
|
|
56
56
|
*/
|
|
57
|
-
|
|
57
|
+
provider?: LDProviderConfig;
|
|
58
58
|
/**
|
|
59
59
|
* A tracker which can be used to generate analytics.
|
|
60
60
|
*/
|
|
@@ -64,4 +64,16 @@ export interface LDAIConfig {
|
|
|
64
64
|
*/
|
|
65
65
|
enabled: boolean;
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Default value for a `modelConfig`. This is the same as the LDAIConfig, but it does not include
|
|
69
|
+
* a tracker and `enabled` is optional.
|
|
70
|
+
*/
|
|
71
|
+
export type LDAIDefaults = Omit<LDAIConfig, 'tracker' | 'enabled'> & {
|
|
72
|
+
/**
|
|
73
|
+
* Whether the configuration is enabled.
|
|
74
|
+
*
|
|
75
|
+
* defaults to false
|
|
76
|
+
*/
|
|
77
|
+
enabled?: boolean;
|
|
78
|
+
};
|
|
67
79
|
//# sourceMappingURL=LDAIConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIConfig.d.ts","sourceRoot":"","sources":["../../../src/api/config/LDAIConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"LDAIConfig.d.ts","sourceRoot":"","sources":["../../../src/api/config/LDAIConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAE1C;;OAEG;IACH,MAAM,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IACnE;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
|
|
@@ -41,7 +41,7 @@ export interface LDAIConfigTracker {
|
|
|
41
41
|
* @param func Function which executes the operation.
|
|
42
42
|
* @returns The result of the operation.
|
|
43
43
|
*/
|
|
44
|
-
|
|
44
|
+
trackOpenAIMetrics<TRes extends {
|
|
45
45
|
usage?: {
|
|
46
46
|
total_tokens?: number;
|
|
47
47
|
prompt_tokens?: number;
|
|
@@ -54,7 +54,7 @@ export interface LDAIConfigTracker {
|
|
|
54
54
|
* @param res The result of the Bedrock operation.
|
|
55
55
|
* @returns The input operation.
|
|
56
56
|
*/
|
|
57
|
-
|
|
57
|
+
trackBedrockConverseMetrics<TRes extends {
|
|
58
58
|
$metadata: {
|
|
59
59
|
httpStatusCode?: number;
|
|
60
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDAIConfigTracker.d.ts","sourceRoot":"","sources":["../../../src/api/config/LDAIConfigTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAExD;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAExD;;;;;OAKG;IACH,
|
|
1
|
+
{"version":3,"file":"LDAIConfigTracker.d.ts","sourceRoot":"","sources":["../../../src/api/config/LDAIConfigTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAExD;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAExD;;;;;OAKG;IACH,kBAAkB,CAChB,IAAI,SAAS;QACX,KAAK,CAAC,EAAE;YACN,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH,EAED,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,2BAA2B,CACzB,IAAI,SAAS;QACX,SAAS,EAAE;YAAE,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,EAED,GAAG,EAAE,IAAI,GACR,IAAI,CAAC;CACT"}
|
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = JSON.parse("{\"rows\":[{\"kind\":64,\"name\":\"initAi\",\"url\":\"functions/initAi.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"LDAIConfigTracker\",\"url\":\"interfaces/LDAIConfigTracker.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"trackDuration\",\"url\":\"interfaces/LDAIConfigTracker.html#trackDuration\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackTokens\",\"url\":\"interfaces/LDAIConfigTracker.html#trackTokens\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackSuccess\",\"url\":\"interfaces/LDAIConfigTracker.html#trackSuccess\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackFeedback\",\"url\":\"interfaces/LDAIConfigTracker.html#trackFeedback\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackDurationOf\",\"url\":\"interfaces/LDAIConfigTracker.html#trackDurationOf\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"
|
|
1
|
+
window.searchData = JSON.parse("{\"rows\":[{\"kind\":64,\"name\":\"initAi\",\"url\":\"functions/initAi.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"LDAIConfigTracker\",\"url\":\"interfaces/LDAIConfigTracker.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"trackDuration\",\"url\":\"interfaces/LDAIConfigTracker.html#trackDuration\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackTokens\",\"url\":\"interfaces/LDAIConfigTracker.html#trackTokens\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackSuccess\",\"url\":\"interfaces/LDAIConfigTracker.html#trackSuccess\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackFeedback\",\"url\":\"interfaces/LDAIConfigTracker.html#trackFeedback\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackDurationOf\",\"url\":\"interfaces/LDAIConfigTracker.html#trackDurationOf\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackOpenAIMetrics\",\"url\":\"interfaces/LDAIConfigTracker.html#trackOpenAIMetrics\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackBedrockConverseMetrics\",\"url\":\"interfaces/LDAIConfigTracker.html#trackBedrockConverseMetrics\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":256,\"name\":\"LDModelConfig\",\"url\":\"interfaces/LDModelConfig.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/LDModelConfig.html#id\",\"classes\":\"\",\"parent\":\"LDModelConfig\"},{\"kind\":1024,\"name\":\"parameters\",\"url\":\"interfaces/LDModelConfig.html#parameters\",\"classes\":\"\",\"parent\":\"LDModelConfig\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/LDModelConfig.html#parameters.__type-1\",\"classes\":\"\",\"parent\":\"LDModelConfig.parameters\"},{\"kind\":1024,\"name\":\"custom\",\"url\":\"interfaces/LDModelConfig.html#custom\",\"classes\":\"\",\"parent\":\"LDModelConfig\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/LDModelConfig.html#custom.__type\",\"classes\":\"\",\"parent\":\"LDModelConfig.custom\"},{\"kind\":256,\"name\":\"LDProviderConfig\",\"url\":\"interfaces/LDProviderConfig.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/LDProviderConfig.html#id\",\"classes\":\"\",\"parent\":\"LDProviderConfig\"},{\"kind\":256,\"name\":\"LDMessage\",\"url\":\"interfaces/LDMessage.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"role\",\"url\":\"interfaces/LDMessage.html#role\",\"classes\":\"\",\"parent\":\"LDMessage\"},{\"kind\":1024,\"name\":\"content\",\"url\":\"interfaces/LDMessage.html#content\",\"classes\":\"\",\"parent\":\"LDMessage\"},{\"kind\":256,\"name\":\"LDAIConfig\",\"url\":\"interfaces/LDAIConfig.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"model\",\"url\":\"interfaces/LDAIConfig.html#model\",\"classes\":\"\",\"parent\":\"LDAIConfig\"},{\"kind\":1024,\"name\":\"messages\",\"url\":\"interfaces/LDAIConfig.html#messages\",\"classes\":\"\",\"parent\":\"LDAIConfig\"},{\"kind\":1024,\"name\":\"provider\",\"url\":\"interfaces/LDAIConfig.html#provider\",\"classes\":\"\",\"parent\":\"LDAIConfig\"},{\"kind\":1024,\"name\":\"tracker\",\"url\":\"interfaces/LDAIConfig.html#tracker\",\"classes\":\"\",\"parent\":\"LDAIConfig\"},{\"kind\":1024,\"name\":\"enabled\",\"url\":\"interfaces/LDAIConfig.html#enabled\",\"classes\":\"\",\"parent\":\"LDAIConfig\"},{\"kind\":2097152,\"name\":\"LDAIDefaults\",\"url\":\"types/LDAIDefaults.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"createBedrockTokenUsage\",\"url\":\"functions/createBedrockTokenUsage.html\",\"classes\":\"\"},{\"kind\":8,\"name\":\"LDFeedbackKind\",\"url\":\"enums/LDFeedbackKind.html\",\"classes\":\"\"},{\"kind\":16,\"name\":\"Positive\",\"url\":\"enums/LDFeedbackKind.html#Positive\",\"classes\":\"\",\"parent\":\"LDFeedbackKind\"},{\"kind\":16,\"name\":\"Negative\",\"url\":\"enums/LDFeedbackKind.html#Negative\",\"classes\":\"\",\"parent\":\"LDFeedbackKind\"},{\"kind\":256,\"name\":\"LDTokenUsage\",\"url\":\"interfaces/LDTokenUsage.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"total\",\"url\":\"interfaces/LDTokenUsage.html#total\",\"classes\":\"\",\"parent\":\"LDTokenUsage\"},{\"kind\":1024,\"name\":\"input\",\"url\":\"interfaces/LDTokenUsage.html#input\",\"classes\":\"\",\"parent\":\"LDTokenUsage\"},{\"kind\":1024,\"name\":\"output\",\"url\":\"interfaces/LDTokenUsage.html#output\",\"classes\":\"\",\"parent\":\"LDTokenUsage\"},{\"kind\":256,\"name\":\"LDAIClient\",\"url\":\"interfaces/LDAIClient.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"config\",\"url\":\"interfaces/LDAIClient.html#config\",\"classes\":\"\",\"parent\":\"LDAIClient\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,32.321]],[\"comment/0\",[]],[\"name/1\",[1,32.321]],[\"comment/1\",[]],[\"name/2\",[2,32.321]],[\"comment/2\",[]],[\"name/3\",[3,32.321]],[\"comment/3\",[]],[\"name/4\",[4,32.321]],[\"comment/4\",[]],[\"name/5\",[5,32.321]],[\"comment/5\",[]],[\"name/6\",[6,32.321]],[\"comment/6\",[]],[\"name/7\",[7,32.321]],[\"comment/7\",[]],[\"name/8\",[8,32.321]],[\"comment/8\",[]],[\"name/9\",[9,32.321]],[\"comment/9\",[]],[\"name/10\",[10,27.213]],[\"comment/10\",[]],[\"name/11\",[11,32.321]],[\"comment/11\",[]],[\"name/12\",[12,27.213]],[\"comment/12\",[]],[\"name/13\",[13,32.321]],[\"comment/13\",[]],[\"name/14\",[12,27.213]],[\"comment/14\",[]],[\"name/15\",[14,32.321]],[\"comment/15\",[]],[\"name/16\",[10,27.213]],[\"comment/16\",[]],[\"name/17\",[15,32.321]],[\"comment/17\",[]],[\"name/18\",[16,32.321]],[\"comment/18\",[]],[\"name/19\",[17,32.321]],[\"comment/19\",[]],[\"name/20\",[18,32.321]],[\"comment/20\",[]],[\"name/21\",[19,32.321]],[\"comment/21\",[]],[\"name/22\",[20,32.321]],[\"comment/22\",[]],[\"name/23\",[21,32.321]],[\"comment/23\",[]],[\"name/24\",[22,32.321]],[\"comment/24\",[]],[\"name/25\",[23,32.321]],[\"comment/25\",[]],[\"name/26\",[24,32.321]],[\"comment/26\",[]],[\"name/27\",[25,32.321]],[\"comment/27\",[]],[\"name/28\",[26,32.321]],[\"comment/28\",[]],[\"name/29\",[27,32.321]],[\"comment/29\",[]],[\"name/30\",[28,32.321]],[\"comment/30\",[]],[\"name/31\",[29,32.321]],[\"comment/31\",[]],[\"name/32\",[30,32.321]],[\"comment/32\",[]],[\"name/33\",[31,32.321]],[\"comment/33\",[]],[\"name/34\",[32,32.321]],[\"comment/34\",[]],[\"name/35\",[33,32.321]],[\"comment/35\",[]],[\"name/36\",[34,32.321]],[\"comment/36\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":12,\"name\":{\"12\":{},\"14\":{}},\"comment\":{}}],[\"config\",{\"_index\":34,\"name\":{\"36\":{}},\"comment\":{}}],[\"content\",{\"_index\":17,\"name\":{\"19\":{}},\"comment\":{}}],[\"createbedrocktokenusage\",{\"_index\":25,\"name\":{\"27\":{}},\"comment\":{}}],[\"custom\",{\"_index\":13,\"name\":{\"13\":{}},\"comment\":{}}],[\"enabled\",{\"_index\":23,\"name\":{\"25\":{}},\"comment\":{}}],[\"id\",{\"_index\":10,\"name\":{\"10\":{},\"16\":{}},\"comment\":{}}],[\"initai\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"input\",{\"_index\":31,\"name\":{\"33\":{}},\"comment\":{}}],[\"ldaiclient\",{\"_index\":33,\"name\":{\"35\":{}},\"comment\":{}}],[\"ldaiconfig\",{\"_index\":18,\"name\":{\"20\":{}},\"comment\":{}}],[\"ldaiconfigtracker\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"ldaidefaults\",{\"_index\":24,\"name\":{\"26\":{}},\"comment\":{}}],[\"ldfeedbackkind\",{\"_index\":26,\"name\":{\"28\":{}},\"comment\":{}}],[\"ldmessage\",{\"_index\":15,\"name\":{\"17\":{}},\"comment\":{}}],[\"ldmodelconfig\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"ldproviderconfig\",{\"_index\":14,\"name\":{\"15\":{}},\"comment\":{}}],[\"ldtokenusage\",{\"_index\":29,\"name\":{\"31\":{}},\"comment\":{}}],[\"messages\",{\"_index\":20,\"name\":{\"22\":{}},\"comment\":{}}],[\"model\",{\"_index\":19,\"name\":{\"21\":{}},\"comment\":{}}],[\"negative\",{\"_index\":28,\"name\":{\"30\":{}},\"comment\":{}}],[\"output\",{\"_index\":32,\"name\":{\"34\":{}},\"comment\":{}}],[\"parameters\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"positive\",{\"_index\":27,\"name\":{\"29\":{}},\"comment\":{}}],[\"provider\",{\"_index\":21,\"name\":{\"23\":{}},\"comment\":{}}],[\"role\",{\"_index\":16,\"name\":{\"18\":{}},\"comment\":{}}],[\"total\",{\"_index\":30,\"name\":{\"32\":{}},\"comment\":{}}],[\"trackbedrockconversemetrics\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"trackduration\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"trackdurationof\",{\"_index\":6,\"name\":{\"6\":{}},\"comment\":{}}],[\"tracker\",{\"_index\":22,\"name\":{\"24\":{}},\"comment\":{}}],[\"trackfeedback\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"trackopenaimetrics\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"tracksuccess\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"tracktokens\",{\"_index\":3,\"name\":{\"3\":{}},\"comment\":{}}]],\"pipeline\":[]}}");
|