@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.
Files changed (37) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/__tests__/LDAIClientImpl.test.ts +49 -54
  3. package/__tests__/LDAIConfigTrackerImpl.test.ts +3 -3
  4. package/dist/LDAIClientImpl.d.ts +3 -3
  5. package/dist/LDAIClientImpl.d.ts.map +1 -1
  6. package/dist/LDAIClientImpl.js +17 -14
  7. package/dist/LDAIClientImpl.js.map +1 -1
  8. package/dist/LDAIConfigTrackerImpl.d.ts +2 -2
  9. package/dist/LDAIConfigTrackerImpl.d.ts.map +1 -1
  10. package/dist/LDAIConfigTrackerImpl.js +2 -2
  11. package/dist/LDAIConfigTrackerImpl.js.map +1 -1
  12. package/dist/api/LDAIClient.d.ts +2 -19
  13. package/dist/api/LDAIClient.d.ts.map +1 -1
  14. package/dist/api/config/LDAIConfig.d.ts +30 -18
  15. package/dist/api/config/LDAIConfig.d.ts.map +1 -1
  16. package/dist/api/config/LDAIConfigTracker.d.ts +2 -2
  17. package/dist/api/config/LDAIConfigTracker.d.ts.map +1 -1
  18. package/docs/assets/search.js +1 -1
  19. package/docs/enums/LDFeedbackKind.html +8 -8
  20. package/docs/functions/createBedrockTokenUsage.html +6 -6
  21. package/docs/functions/initAi.html +6 -6
  22. package/docs/index.html +11 -8
  23. package/docs/interfaces/LDAIClient.html +13 -43
  24. package/docs/interfaces/LDAIConfig.html +41 -21
  25. package/docs/interfaces/LDAIConfigTracker.html +23 -23
  26. package/docs/interfaces/LDMessage.html +8 -8
  27. package/docs/interfaces/LDModelConfig.html +37 -31
  28. package/docs/interfaces/{LDGenerationConfig.html → LDProviderConfig.html} +16 -32
  29. package/docs/interfaces/LDTokenUsage.html +9 -9
  30. package/docs/types/LDAIDefaults.html +65 -0
  31. package/package.json +1 -1
  32. package/src/LDAIClientImpl.ts +26 -22
  33. package/src/LDAIConfigTrackerImpl.ts +2 -2
  34. package/src/api/LDAIClient.ts +3 -22
  35. package/src/api/config/LDAIConfig.ts +27 -18
  36. package/src/api/config/LDAIConfigTracker.ts +2 -2
  37. 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 { LDGenerationConfig } from '../src/api/config';
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('interpolates template variables', () => {
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: LDGenerationConfig = {
36
- model: { modelId: 'test', name: 'test-model' },
37
- prompt: [],
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: { modelId: 'example-provider', name: 'imagination' },
42
- prompt: [
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.modelConfig(key, testContext, defaultValue, variables);
44
+ const result = await client.config(key, testContext, defaultValue, variables);
56
45
 
57
46
  expect(result).toEqual({
58
- config: {
59
- model: { modelId: 'example-provider', name: 'imagination' },
60
- prompt: [
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 prompt interpolation', async () => {
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: LDGenerationConfig = {
74
- model: { modelId: 'test', name: 'test-model' },
75
- prompt: [],
66
+ const defaultValue: LDAIDefaults = {
67
+ model: { id: 'test', parameters: { name: 'test-model' } },
68
+ messages: [],
76
69
  };
77
70
 
78
71
  const mockVariation = {
79
- prompt: [{ role: 'system', content: 'User key: {{ldctx.key}}' }],
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.modelConfig(key, testContext, defaultValue);
78
+ const result = await client.config(key, testContext, defaultValue);
86
79
 
87
- expect(result.config.prompt?.[0].content).toBe('User key: test-user');
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: LDGenerationConfig = {
94
- model: { modelId: 'test', name: 'test-model' },
95
- prompt: [],
86
+ const defaultValue: LDAIDefaults = {
87
+ model: { id: 'test', parameters: { name: 'test-model' } },
88
+ messages: [],
96
89
  };
97
90
 
98
91
  const mockVariation = {
99
- model: { modelId: 'example-provider', name: 'imagination' },
100
- prompt: [{ role: 'system', content: 'Hello' }],
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.modelConfig(key, testContext, defaultValue);
98
+ const result = await client.config(key, testContext, defaultValue);
106
99
 
107
100
  expect(result).toEqual({
108
- config: {
109
- model: { modelId: 'example-provider', name: 'imagination' },
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: LDGenerationConfig = {
121
- model: { modelId: 'default-model', name: 'default' },
122
- prompt: [{ role: 'system', content: 'Default prompt' }],
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.modelConfig(key, testContext, defaultValue);
120
+ const result = await client.config(key, testContext, defaultValue);
128
121
 
129
122
  expect(result).toEqual({
130
- config: defaultValue,
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.trackOpenAI(async () => ({
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.trackBedrockConverse(response);
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.trackBedrockConverse(response);
201
+ tracker.trackBedrockConverseMetrics(response);
202
202
 
203
203
  expect(mockTrack).not.toHaveBeenCalled();
204
204
  });
@@ -1,11 +1,11 @@
1
1
  import { LDContext } from '@launchdarkly/js-server-sdk-common';
2
- import { LDAIConfig, LDGenerationConfig } from './api/config';
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
- interpolateTemplate(template: string, variables: Record<string, unknown>): string;
9
- modelConfig<TDefault extends LDGenerationConfig>(key: string, context: LDContext, defaultValue: TDefault, variables?: Record<string, unknown>): Promise<LDAIConfig>;
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,kBAAkB,EAA4B,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB5C,qBAAa,cAAe,YAAW,UAAU;IACnC,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,WAAW;IAE1C,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAI3E,WAAW,CAAC,QAAQ,SAAS,kBAAkB,EACnD,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,QAAQ,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,UAAU,CAAC;CA+BvB"}
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"}
@@ -7,31 +7,34 @@ class LDAIClientImpl {
7
7
  constructor(_ldClient) {
8
8
  this._ldClient = _ldClient;
9
9
  }
10
- interpolateTemplate(template, variables) {
10
+ _interpolateTemplate(template, variables) {
11
11
  return Mustache.render(template, variables, undefined, { escape: (item) => item });
12
12
  }
13
- async modelConfig(key, context, defaultValue, variables) {
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.prompt) {
24
- config.prompt = value.prompt.map((entry) => (Object.assign(Object.assign({}, entry), { content: this.interpolateTemplate(entry.content, allVariables) })));
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;AAqBhE,MAAa,cAAc;IACzB,YAAoB,SAAsB;QAAtB,cAAS,GAAT,SAAS,CAAa;IAAG,CAAC;IAE9C,mBAAmB,CAAC,QAAgB,EAAE,SAAkC;QACtE,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,WAAW,CACf,GAAW,EACX,OAAkB,EAClB,YAAsB,EACtB,SAAmC;;QAEnC,MAAM,KAAK,GAAqB,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC3F,gFAAgF;QAChF,+FAA+F;QAC/F,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,MAAM,CAAC,KAAK,qBAAQ,KAAK,CAAC,KAAK,CAAE,CAAC;SACnC;QACD,MAAM,YAAY,mCAAQ,SAAS,KAAE,KAAK,EAAE,OAAO,GAAE,CAAC;QAEtD,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,iCAC5C,KAAK,KACR,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,IAC9D,CAAC,CAAC;SACL;QAED,OAAO;YACL,MAAM;YACN,gDAAgD;YAChD,OAAO,EAAE,IAAI,6CAAqB,CAChC,IAAI,CAAC,SAAS,EACd,GAAG;YACH,gDAAgD;YAChD,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,UAAU,mCAAI,EAAE,EAC/B,OAAO,CACR;YACD,gDAAgD;YAChD,OAAO,EAAE,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAA;SAClC,CAAC;IACJ,CAAC;CACF;AA3CD,wCA2CC"}
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
- trackOpenAI<TRes extends {
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
- trackBedrockConverse<TRes extends {
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,WAAW,CACf,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,oBAAoB,CAClB,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"}
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 trackOpenAI(func) {
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
- trackBedrockConverse(res) {
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,WAAW,CAQf,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,oBAAoB,CAUlB,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"}
1
+ {"version":3,"file":"LDAIConfigTrackerImpl.js","sourceRoot":"","sources":["../src/LDAIConfigTrackerImpl.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,9 @@
1
1
  import { LDContext } from '@launchdarkly/js-server-sdk-common';
2
- import { LDAIConfig, LDGenerationConfig } from './config/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
- modelConfig<TDefault extends LDAIDefaults>(key: string, context: LDContext, defaultValue: TDefault, variables?: Record<string, unknown>): Promise<LDAIConfig>;
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,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,WAAW,CAAC,QAAQ,SAAS,YAAY,EACvC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,QAAQ,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB"}
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
- modelId?: string;
9
+ id: string;
10
10
  /**
11
- * Tuning parameter for randomness versus determinism. Exact effect will be determined by the
12
- * model.
11
+ * Model specific parameters.
13
12
  */
14
- temperature?: number;
13
+ parameters?: {
14
+ [index: string]: unknown;
15
+ };
15
16
  /**
16
- * The maximum number of tokens.
17
+ * Additional user-specified parameters.
17
18
  */
18
- maxTokens?: number;
19
+ custom?: {
20
+ [index: string]: unknown;
21
+ };
22
+ }
23
+ export interface LDProviderConfig {
19
24
  /**
20
- * And additional model specific information.
25
+ * The ID of the provider.
21
26
  */
22
- [index: string]: unknown;
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
- * Configuration which affects generation.
43
+ * AI configuration and tracker.
39
44
  */
40
- export interface LDGenerationConfig {
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
- prompt?: LDMessage[];
49
- }
50
- /**
51
- * AI Config value and tracker.
52
- */
53
- export interface LDAIConfig {
53
+ messages?: LDMessage[];
54
54
  /**
55
- * The result of the AI Config customization.
55
+ * Optional configuration for the provider.
56
56
  */
57
- config: LDGenerationConfig;
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,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;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,kBAAkB;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,MAAM,EAAE,kBAAkB,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAC;IAE3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB"}
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
- trackOpenAI<TRes extends {
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
- trackBedrockConverse<TRes extends {
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,WAAW,CACT,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,oBAAoB,CAClB,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"}
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"}
@@ -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\":\"trackOpenAI\",\"url\":\"interfaces/LDAIConfigTracker.html#trackOpenAI\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":2048,\"name\":\"trackBedrockConverse\",\"url\":\"interfaces/LDAIConfigTracker.html#trackBedrockConverse\",\"classes\":\"\",\"parent\":\"LDAIConfigTracker\"},{\"kind\":256,\"name\":\"LDModelConfig\",\"url\":\"interfaces/LDModelConfig.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"modelId\",\"url\":\"interfaces/LDModelConfig.html#modelId\",\"classes\":\"\",\"parent\":\"LDModelConfig\"},{\"kind\":1024,\"name\":\"temperature\",\"url\":\"interfaces/LDModelConfig.html#temperature\",\"classes\":\"\",\"parent\":\"LDModelConfig\"},{\"kind\":1024,\"name\":\"maxTokens\",\"url\":\"interfaces/LDModelConfig.html#maxTokens\",\"classes\":\"\",\"parent\":\"LDModelConfig\"},{\"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\":\"LDGenerationConfig\",\"url\":\"interfaces/LDGenerationConfig.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"model\",\"url\":\"interfaces/LDGenerationConfig.html#model\",\"classes\":\"\",\"parent\":\"LDGenerationConfig\"},{\"kind\":1024,\"name\":\"prompt\",\"url\":\"interfaces/LDGenerationConfig.html#prompt\",\"classes\":\"\",\"parent\":\"LDGenerationConfig\"},{\"kind\":256,\"name\":\"LDAIConfig\",\"url\":\"interfaces/LDAIConfig.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"config\",\"url\":\"interfaces/LDAIConfig.html#config\",\"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\":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\":\"LDAIDefaults\",\"url\":\"interfaces/LDAIDefaults.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"enabled\",\"url\":\"interfaces/LDAIDefaults.html#enabled\",\"classes\":\"\",\"parent\":\"LDAIDefaults\"},{\"kind\":1024,\"name\":\"model\",\"url\":\"interfaces/LDAIDefaults.html#model\",\"classes\":\"tsd-is-inherited\",\"parent\":\"LDAIDefaults\"},{\"kind\":1024,\"name\":\"prompt\",\"url\":\"interfaces/LDAIDefaults.html#prompt\",\"classes\":\"tsd-is-inherited\",\"parent\":\"LDAIDefaults\"},{\"kind\":256,\"name\":\"LDAIClient\",\"url\":\"interfaces/LDAIClient.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"interpolateTemplate\",\"url\":\"interfaces/LDAIClient.html#interpolateTemplate\",\"classes\":\"\",\"parent\":\"LDAIClient\"},{\"kind\":2048,\"name\":\"modelConfig\",\"url\":\"interfaces/LDAIClient.html#modelConfig\",\"classes\":\"\",\"parent\":\"LDAIClient\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,32.581]],[\"comment/0\",[]],[\"name/1\",[1,32.581]],[\"comment/1\",[]],[\"name/2\",[2,32.581]],[\"comment/2\",[]],[\"name/3\",[3,32.581]],[\"comment/3\",[]],[\"name/4\",[4,32.581]],[\"comment/4\",[]],[\"name/5\",[5,32.581]],[\"comment/5\",[]],[\"name/6\",[6,32.581]],[\"comment/6\",[]],[\"name/7\",[7,32.581]],[\"comment/7\",[]],[\"name/8\",[8,32.581]],[\"comment/8\",[]],[\"name/9\",[9,32.581]],[\"comment/9\",[]],[\"name/10\",[10,32.581]],[\"comment/10\",[]],[\"name/11\",[11,32.581]],[\"comment/11\",[]],[\"name/12\",[12,32.581]],[\"comment/12\",[]],[\"name/13\",[13,32.581]],[\"comment/13\",[]],[\"name/14\",[14,32.581]],[\"comment/14\",[]],[\"name/15\",[15,32.581]],[\"comment/15\",[]],[\"name/16\",[16,32.581]],[\"comment/16\",[]],[\"name/17\",[17,27.473]],[\"comment/17\",[]],[\"name/18\",[18,27.473]],[\"comment/18\",[]],[\"name/19\",[19,32.581]],[\"comment/19\",[]],[\"name/20\",[20,32.581]],[\"comment/20\",[]],[\"name/21\",[21,32.581]],[\"comment/21\",[]],[\"name/22\",[22,27.473]],[\"comment/22\",[]],[\"name/23\",[23,32.581]],[\"comment/23\",[]],[\"name/24\",[24,32.581]],[\"comment/24\",[]],[\"name/25\",[25,32.581]],[\"comment/25\",[]],[\"name/26\",[26,32.581]],[\"comment/26\",[]],[\"name/27\",[27,32.581]],[\"comment/27\",[]],[\"name/28\",[28,32.581]],[\"comment/28\",[]],[\"name/29\",[29,32.581]],[\"comment/29\",[]],[\"name/30\",[30,32.581]],[\"comment/30\",[]],[\"name/31\",[31,32.581]],[\"comment/31\",[]],[\"name/32\",[22,27.473]],[\"comment/32\",[]],[\"name/33\",[17,27.473]],[\"comment/33\",[]],[\"name/34\",[18,27.473]],[\"comment/34\",[]],[\"name/35\",[32,32.581]],[\"comment/35\",[]],[\"name/36\",[33,32.581]],[\"comment/36\",[]],[\"name/37\",[34,32.581]],[\"comment/37\",[]]],\"invertedIndex\":[[\"config\",{\"_index\":20,\"name\":{\"20\":{}},\"comment\":{}}],[\"content\",{\"_index\":15,\"name\":{\"15\":{}},\"comment\":{}}],[\"createbedrocktokenusage\",{\"_index\":23,\"name\":{\"23\":{}},\"comment\":{}}],[\"enabled\",{\"_index\":22,\"name\":{\"22\":{},\"32\":{}},\"comment\":{}}],[\"initai\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"input\",{\"_index\":29,\"name\":{\"29\":{}},\"comment\":{}}],[\"interpolatetemplate\",{\"_index\":33,\"name\":{\"36\":{}},\"comment\":{}}],[\"ldaiclient\",{\"_index\":32,\"name\":{\"35\":{}},\"comment\":{}}],[\"ldaiconfig\",{\"_index\":19,\"name\":{\"19\":{}},\"comment\":{}}],[\"ldaiconfigtracker\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"ldaidefaults\",{\"_index\":31,\"name\":{\"31\":{}},\"comment\":{}}],[\"ldfeedbackkind\",{\"_index\":24,\"name\":{\"24\":{}},\"comment\":{}}],[\"ldgenerationconfig\",{\"_index\":16,\"name\":{\"16\":{}},\"comment\":{}}],[\"ldmessage\",{\"_index\":13,\"name\":{\"13\":{}},\"comment\":{}}],[\"ldmodelconfig\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"ldtokenusage\",{\"_index\":27,\"name\":{\"27\":{}},\"comment\":{}}],[\"maxtokens\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"model\",{\"_index\":17,\"name\":{\"17\":{},\"33\":{}},\"comment\":{}}],[\"modelconfig\",{\"_index\":34,\"name\":{\"37\":{}},\"comment\":{}}],[\"modelid\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"negative\",{\"_index\":26,\"name\":{\"26\":{}},\"comment\":{}}],[\"output\",{\"_index\":30,\"name\":{\"30\":{}},\"comment\":{}}],[\"positive\",{\"_index\":25,\"name\":{\"25\":{}},\"comment\":{}}],[\"prompt\",{\"_index\":18,\"name\":{\"18\":{},\"34\":{}},\"comment\":{}}],[\"role\",{\"_index\":14,\"name\":{\"14\":{}},\"comment\":{}}],[\"temperature\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"total\",{\"_index\":28,\"name\":{\"28\":{}},\"comment\":{}}],[\"trackbedrockconverse\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"trackduration\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"trackdurationof\",{\"_index\":6,\"name\":{\"6\":{}},\"comment\":{}}],[\"tracker\",{\"_index\":21,\"name\":{\"21\":{}},\"comment\":{}}],[\"trackfeedback\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"trackopenai\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"tracksuccess\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"tracktokens\",{\"_index\":3,\"name\":{\"3\":{}},\"comment\":{}}]],\"pipeline\":[]}}");
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\":[]}}");