langwatch 0.37.0 → 1.1.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 (38) hide show
  1. package/dist/{chunk-F3CCZPMR.mjs → chunk-5AGWTUI2.mjs} +2 -2
  2. package/dist/chunk-5AGWTUI2.mjs.map +1 -0
  3. package/dist/{chunk-W5LSH44Z.mjs → chunk-EW233MAD.mjs} +2 -2
  4. package/dist/{chunk-C323F5VC.mjs → chunk-PYODMDPV.mjs} +1 -1
  5. package/dist/chunk-PYODMDPV.mjs.map +1 -0
  6. package/dist/{chunk-XL6DKL2L.js → chunk-R7NIGAEB.js} +2 -2
  7. package/dist/chunk-R7NIGAEB.js.map +1 -0
  8. package/dist/{chunk-ADJOFPAZ.js → chunk-SCLFEMNK.js} +1 -1
  9. package/dist/chunk-SCLFEMNK.js.map +1 -0
  10. package/dist/{chunk-LDN74L7R.js → chunk-Z7RP3LP5.js} +12 -12
  11. package/dist/{chunk-LDN74L7R.js.map → chunk-Z7RP3LP5.js.map} +1 -1
  12. package/dist/cli/bundle.js +165 -148
  13. package/dist/{implementation-CPfDot-W.d.mts → implementation-DmWrukzX.d.mts} +1 -1
  14. package/dist/{implementation-aYHmyVZ_.d.ts → implementation-Psro9xt4.d.ts} +1 -1
  15. package/dist/index.d.mts +225 -3
  16. package/dist/index.d.ts +225 -3
  17. package/dist/index.js +244 -35
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +225 -16
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/observability-sdk/index.d.mts +3 -3
  22. package/dist/observability-sdk/index.d.ts +3 -3
  23. package/dist/observability-sdk/index.js +3 -3
  24. package/dist/observability-sdk/index.mjs +2 -2
  25. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
  26. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
  27. package/dist/observability-sdk/instrumentation/langchain/index.js +3 -3
  28. package/dist/observability-sdk/instrumentation/langchain/index.mjs +1 -1
  29. package/dist/observability-sdk/setup/node/index.js +3 -3
  30. package/dist/observability-sdk/setup/node/index.mjs +2 -2
  31. package/dist/{types-Cw-3VUv7.d.mts → types-Ck1U3XCH.d.mts} +6060 -5780
  32. package/dist/{types-CeZ-M8JZ.d.ts → types-DGBGlP9B.d.ts} +6060 -5780
  33. package/package.json +1 -1
  34. package/dist/chunk-ADJOFPAZ.js.map +0 -1
  35. package/dist/chunk-C323F5VC.mjs.map +0 -1
  36. package/dist/chunk-F3CCZPMR.mjs.map +0 -1
  37. package/dist/chunk-XL6DKL2L.js.map +0 -1
  38. /package/dist/{chunk-W5LSH44Z.mjs.map → chunk-EW233MAD.mjs.map} +0 -0
package/dist/index.js CHANGED
@@ -4,10 +4,10 @@ var _chunkIUSLT65Zjs = require('./chunk-IUSLT65Z.js');
4
4
 
5
5
 
6
6
 
7
- var _chunkADJOFPAZjs = require('./chunk-ADJOFPAZ.js');
7
+ var _chunkSCLFEMNKjs = require('./chunk-SCLFEMNK.js');
8
8
 
9
9
 
10
- var _chunkLDN74L7Rjs = require('./chunk-LDN74L7R.js');
10
+ var _chunkZ7RP3LP5js = require('./chunk-Z7RP3LP5.js');
11
11
 
12
12
 
13
13
 
@@ -19,7 +19,7 @@ var _chunkLDN74L7Rjs = require('./chunk-LDN74L7R.js');
19
19
 
20
20
 
21
21
 
22
- var _chunkXL6DKL2Ljs = require('./chunk-XL6DKL2L.js');
22
+ var _chunkR7NIGAEBjs = require('./chunk-R7NIGAEB.js');
23
23
 
24
24
 
25
25
 
@@ -35,6 +35,18 @@ var _chunkXL6DKL2Ljs = require('./chunk-XL6DKL2L.js');
35
35
 
36
36
  var _chunkTKSTXX3Djs = require('./chunk-TKSTXX3D.js');
37
37
 
38
+ // src/internal/credentialContext.ts
39
+ var _async_hooks = require('async_hooks');
40
+ var storage = new (0, _async_hooks.AsyncLocalStorage)();
41
+ var fallbackHolder = {};
42
+ function currentHolder() {
43
+ var _a;
44
+ return (_a = storage.getStore()) != null ? _a : fallbackHolder;
45
+ }
46
+ function scopedApiKey() {
47
+ return currentHolder().apiKey;
48
+ }
49
+
38
50
  // src/client-sdk/services/prompts/prompts-api.service.ts
39
51
  var _zod = require('zod');
40
52
 
@@ -312,7 +324,7 @@ var PromptServiceTracingDecorator = class {
312
324
  };
313
325
 
314
326
  // src/client-sdk/services/prompts/tracing/tracer.ts
315
- var tracer = _chunkADJOFPAZjs.getLangWatchTracer.call(void 0, `${_chunkXL6DKL2Ljs.LANGWATCH_SDK_NAME_CLIENT}.prompts`, _chunkXL6DKL2Ljs.LANGWATCH_SDK_VERSION);
327
+ var tracer = _chunkSCLFEMNKjs.getLangWatchTracer.call(void 0, `${_chunkR7NIGAEBjs.LANGWATCH_SDK_NAME_CLIENT}.prompts`, _chunkR7NIGAEBjs.LANGWATCH_SDK_VERSION);
316
328
 
317
329
  // src/client-sdk/tracing/create-tracing-proxy.ts
318
330
  var _api = require('@opentelemetry/api');
@@ -643,16 +655,16 @@ var handledErrorMiddleware = {
643
655
  if (handledError) throw handledError;
644
656
  }
645
657
  };
646
- var createLangWatchApiClient = (apiKey = ((_a) => (_a = process.env.LANGWATCH_API_KEY) != null ? _a : "")(), endpoint = ((_b) => (_b = process.env.LANGWATCH_ENDPOINT) != null ? _b : (0, _chunkXL6DKL2Ljs.DEFAULT_ENDPOINT))(), projectId = process.env.LANGWATCH_PROJECT_ID) => {
658
+ var createLangWatchApiClient = (apiKey = ((_b) => (_b = ((_a) => (_a = scopedApiKey()) != null ? _a : process.env.LANGWATCH_API_KEY)()) != null ? _b : "")(), endpoint = ((_c) => (_c = process.env.LANGWATCH_ENDPOINT) != null ? _c : (0, _chunkR7NIGAEBjs.DEFAULT_ENDPOINT))(), projectId = process.env.LANGWATCH_PROJECT_ID) => {
647
659
  const client = _openapifetch2.default.call(void 0, {
648
660
  baseUrl: endpoint,
649
- headers: _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, _chunkXL6DKL2Ljs.buildAuthHeaders.call(void 0, { apiKey, projectId })), {
661
+ headers: _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, _chunkR7NIGAEBjs.buildAuthHeaders.call(void 0, { apiKey, projectId })), {
650
662
  "content-type": "application/json",
651
- "user-agent": `langwatch-sdk-node/${_chunkXL6DKL2Ljs.version}`,
652
- "x-langwatch-sdk-name": _chunkXL6DKL2Ljs.LANGWATCH_SDK_NAME_OBSERVABILITY,
653
- "x-langwatch-sdk-language": _chunkXL6DKL2Ljs.LANGWATCH_SDK_LANGUAGE,
654
- "x-langwatch-sdk-version": _chunkXL6DKL2Ljs.LANGWATCH_SDK_VERSION,
655
- "x-langwatch-sdk-platform": _chunkXL6DKL2Ljs.LANGWATCH_SDK_RUNTIME.call(void 0, )
663
+ "user-agent": `langwatch-sdk-node/${_chunkR7NIGAEBjs.version}`,
664
+ "x-langwatch-sdk-name": _chunkR7NIGAEBjs.LANGWATCH_SDK_NAME_OBSERVABILITY,
665
+ "x-langwatch-sdk-language": _chunkR7NIGAEBjs.LANGWATCH_SDK_LANGUAGE,
666
+ "x-langwatch-sdk-version": _chunkR7NIGAEBjs.LANGWATCH_SDK_VERSION,
667
+ "x-langwatch-sdk-platform": _chunkR7NIGAEBjs.LANGWATCH_SDK_RUNTIME.call(void 0, )
656
668
  })
657
669
  });
658
670
  client.use(handledErrorMiddleware);
@@ -1858,7 +1870,7 @@ var DatasetPlanLimitError = class extends DatasetError {
1858
1870
  };
1859
1871
 
1860
1872
  // src/client-sdk/services/datasets/tracing/tracer.ts
1861
- var tracer2 = _chunkADJOFPAZjs.getLangWatchTracer.call(void 0, `${_chunkXL6DKL2Ljs.LANGWATCH_SDK_NAME_CLIENT}.datasets`, _chunkXL6DKL2Ljs.LANGWATCH_SDK_VERSION);
1873
+ var tracer2 = _chunkSCLFEMNKjs.getLangWatchTracer.call(void 0, `${_chunkR7NIGAEBjs.LANGWATCH_SDK_NAME_CLIENT}.datasets`, _chunkR7NIGAEBjs.LANGWATCH_SDK_VERSION);
1862
1874
 
1863
1875
  // src/client-sdk/services/datasets/dataset.service.ts
1864
1876
  var DatasetService = class {
@@ -2144,7 +2156,7 @@ var DatasetService = class {
2144
2156
  const url = `${endpoint.replace(/\/$/, "")}${path2}`;
2145
2157
  const response = await fetch(url, {
2146
2158
  method: "POST",
2147
- headers: _chunkXL6DKL2Ljs.buildAuthHeaders.call(void 0, { apiKey }),
2159
+ headers: _chunkR7NIGAEBjs.buildAuthHeaders.call(void 0, { apiKey }),
2148
2160
  body: formData
2149
2161
  });
2150
2162
  if (!response.ok) {
@@ -2474,7 +2486,7 @@ var DatasetsFacade = class {
2474
2486
  _datasetService = new WeakMap();
2475
2487
 
2476
2488
  // src/client-sdk/services/experiments/experiment.ts
2477
- var _async_hooks = require('async_hooks');
2489
+
2478
2490
 
2479
2491
 
2480
2492
  // src/client-sdk/services/experiments/humanReadableId.ts
@@ -2728,7 +2740,7 @@ var Experiment = class _Experiment {
2728
2740
  * Initialize an evaluation session
2729
2741
  */
2730
2742
  static async init(name, options) {
2731
- _chunkLDN74L7Rjs.ensureSetup.call(void 0, );
2743
+ _chunkZ7RP3LP5js.ensureSetup.call(void 0, );
2732
2744
  const experiment = new _Experiment(name, options);
2733
2745
  await experiment.initialize();
2734
2746
  return experiment;
@@ -2747,7 +2759,7 @@ var Experiment = class _Experiment {
2747
2759
  method: "POST",
2748
2760
  headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, {
2749
2761
  "Content-Type": "application/json"
2750
- }, _chunkXL6DKL2Ljs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })),
2762
+ }, _chunkR7NIGAEBjs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })),
2751
2763
  body: JSON.stringify({
2752
2764
  experiment_name: this.name,
2753
2765
  experiment_slug: this.experimentSlug,
@@ -2865,7 +2877,7 @@ var Experiment = class _Experiment {
2865
2877
  }
2866
2878
  },
2867
2879
  async (otelSpan) => {
2868
- const span = _chunkADJOFPAZjs.createLangWatchSpan.call(void 0, otelSpan);
2880
+ const span = _chunkSCLFEMNKjs.createLangWatchSpan.call(void 0, otelSpan);
2869
2881
  const spanContext = otelSpan.spanContext();
2870
2882
  const traceId = spanContext.traceId;
2871
2883
  this.currentTraceId = traceId;
@@ -3037,7 +3049,7 @@ var Experiment = class _Experiment {
3037
3049
  method: "POST",
3038
3050
  headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, {
3039
3051
  "Content-Type": "application/json"
3040
- }, _chunkXL6DKL2Ljs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })),
3052
+ }, _chunkR7NIGAEBjs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })),
3041
3053
  body: JSON.stringify({
3042
3054
  trace_id: traceId != null ? traceId : null,
3043
3055
  span_id: spanId != null ? spanId : null,
@@ -3128,7 +3140,7 @@ var Experiment = class _Experiment {
3128
3140
  },
3129
3141
  _api.ROOT_CONTEXT,
3130
3142
  async (otelSpan) => {
3131
- const span = _chunkADJOFPAZjs.createLangWatchSpan.call(void 0, otelSpan);
3143
+ const span = _chunkSCLFEMNKjs.createLangWatchSpan.call(void 0, otelSpan);
3132
3144
  const spanContext = otelSpan.spanContext();
3133
3145
  const rawTraceId = spanContext.traceId;
3134
3146
  spanId = spanContext.spanId;
@@ -3405,7 +3417,7 @@ var Experiment = class _Experiment {
3405
3417
  method: "POST",
3406
3418
  headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, {
3407
3419
  "Content-Type": "application/json"
3408
- }, _chunkXL6DKL2Ljs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })),
3420
+ }, _chunkR7NIGAEBjs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })),
3409
3421
  body: JSON.stringify(body)
3410
3422
  }).then((response) => {
3411
3423
  if (!response.ok) {
@@ -4265,7 +4277,7 @@ var EvaluationsFacade = class {
4265
4277
  },
4266
4278
  _api.context.active()
4267
4279
  );
4268
- const langwatchSpan = _chunkADJOFPAZjs.createLangWatchSpan.call(void 0, otelSpan);
4280
+ const langwatchSpan = _chunkSCLFEMNKjs.createLangWatchSpan.call(void 0, otelSpan);
4269
4281
  langwatchSpan.setType(spanType);
4270
4282
  langwatchSpan.setInput(_chunkTKSTXX3Djs.__spreadValues.call(void 0, {
4271
4283
  data
@@ -4285,7 +4297,7 @@ var EvaluationsFacade = class {
4285
4297
  method: "POST",
4286
4298
  headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, {
4287
4299
  "Content-Type": "application/json"
4288
- }, _chunkXL6DKL2Ljs.buildAuthHeaders.call(void 0, { apiKey: _chunkTKSTXX3Djs.__privateGet.call(void 0, this, _apiKey) })),
4300
+ }, _chunkR7NIGAEBjs.buildAuthHeaders.call(void 0, { apiKey: _chunkTKSTXX3Djs.__privateGet.call(void 0, this, _apiKey) })),
4289
4301
  body: JSON.stringify(requestBody)
4290
4302
  });
4291
4303
  if (!response.ok) {
@@ -5149,14 +5161,14 @@ var MonitorsApiError = class extends Error {
5149
5161
  };
5150
5162
  var MonitorsApiService = class {
5151
5163
  constructor(config) {
5152
- var _a, _b, _c, _d;
5153
- this.apiKey = (_b = (_a = config == null ? void 0 : config.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
5154
- this.endpoint = (_d = (_c = config == null ? void 0 : config.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunkXL6DKL2Ljs.DEFAULT_ENDPOINT;
5164
+ var _a, _b, _c, _d, _e;
5165
+ this.apiKey = (_c = (_b = (_a = config == null ? void 0 : config.apiKey) != null ? _a : scopedApiKey()) != null ? _b : process.env.LANGWATCH_API_KEY) != null ? _c : "";
5166
+ this.endpoint = (_e = (_d = config == null ? void 0 : config.endpoint) != null ? _d : process.env.LANGWATCH_ENDPOINT) != null ? _e : _chunkR7NIGAEBjs.DEFAULT_ENDPOINT;
5155
5167
  }
5156
5168
  async request(path2, options) {
5157
5169
  var _a, _b;
5158
5170
  const response = await fetch(`${this.endpoint}${path2}`, _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, options), {
5159
- headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, _chunkXL6DKL2Ljs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })), {
5171
+ headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, _chunkR7NIGAEBjs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })), {
5160
5172
  "Content-Type": "application/json"
5161
5173
  }), options == null ? void 0 : options.headers)
5162
5174
  }));
@@ -5224,14 +5236,14 @@ var SecretsApiError = class extends Error {
5224
5236
  };
5225
5237
  var SecretsApiService = class {
5226
5238
  constructor(config) {
5227
- var _a, _b, _c, _d;
5228
- this.apiKey = (_b = (_a = config == null ? void 0 : config.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
5229
- this.endpoint = (_d = (_c = config == null ? void 0 : config.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunkXL6DKL2Ljs.DEFAULT_ENDPOINT;
5239
+ var _a, _b, _c, _d, _e;
5240
+ this.apiKey = (_c = (_b = (_a = config == null ? void 0 : config.apiKey) != null ? _a : scopedApiKey()) != null ? _b : process.env.LANGWATCH_API_KEY) != null ? _c : "";
5241
+ this.endpoint = (_e = (_d = config == null ? void 0 : config.endpoint) != null ? _d : process.env.LANGWATCH_ENDPOINT) != null ? _e : _chunkR7NIGAEBjs.DEFAULT_ENDPOINT;
5230
5242
  }
5231
5243
  async request(path2, options) {
5232
5244
  var _a, _b;
5233
5245
  const response = await fetch(`${this.endpoint}${path2}`, _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, options), {
5234
- headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, _chunkXL6DKL2Ljs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })), {
5246
+ headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, _chunkR7NIGAEBjs.buildAuthHeaders.call(void 0, { apiKey: this.apiKey })), {
5235
5247
  "Content-Type": "application/json"
5236
5248
  }), options == null ? void 0 : options.headers)
5237
5249
  }));
@@ -5293,7 +5305,7 @@ var TracesError = class extends Error {
5293
5305
  };
5294
5306
 
5295
5307
  // src/client-sdk/services/traces/tracing/tracer.ts
5296
- var tracer3 = _chunkADJOFPAZjs.getLangWatchTracer.call(void 0, `${_chunkXL6DKL2Ljs.LANGWATCH_SDK_NAME_CLIENT}.traces`, _chunkXL6DKL2Ljs.LANGWATCH_SDK_VERSION);
5308
+ var tracer3 = _chunkSCLFEMNKjs.getLangWatchTracer.call(void 0, `${_chunkR7NIGAEBjs.LANGWATCH_SDK_NAME_CLIENT}.traces`, _chunkR7NIGAEBjs.LANGWATCH_SDK_VERSION);
5297
5309
 
5298
5310
  // src/client-sdk/services/traces/service.ts
5299
5311
  var TracesService = class {
@@ -5361,9 +5373,9 @@ var _LangWatch_instances, createInternalConfig_fn;
5361
5373
  var LangWatch = class {
5362
5374
  constructor(options = {}) {
5363
5375
  _chunkTKSTXX3Djs.__privateAdd.call(void 0, this, _LangWatch_instances);
5364
- var _a, _b, _c, _d;
5365
- const apiKey = (_b = (_a = options.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
5366
- const endpoint = (_d = (_c = options.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunkXL6DKL2Ljs.DEFAULT_ENDPOINT;
5376
+ var _a, _b, _c, _d, _e;
5377
+ const apiKey = (_c = (_b = (_a = options.apiKey) != null ? _a : scopedApiKey()) != null ? _b : process.env.LANGWATCH_API_KEY) != null ? _c : "";
5378
+ const endpoint = (_e = (_d = options.endpoint) != null ? _d : process.env.LANGWATCH_ENDPOINT) != null ? _e : _chunkR7NIGAEBjs.DEFAULT_ENDPOINT;
5367
5379
  this.config = _chunkTKSTXX3Djs.__privateMethod.call(void 0, this, _LangWatch_instances, createInternalConfig_fn).call(this, {
5368
5380
  apiKey,
5369
5381
  endpoint,
@@ -5425,6 +5437,199 @@ createInternalConfig_fn = function({
5425
5437
  };
5426
5438
  };
5427
5439
 
5440
+ // src/client-sdk/services/virtual-keys/virtual-keys-api.service.ts
5441
+ var VirtualKeysApiError = class extends Error {
5442
+ constructor(message, operation, originalError) {
5443
+ super(message);
5444
+ this.operation = operation;
5445
+ this.originalError = originalError;
5446
+ this.name = "VirtualKeysApiError";
5447
+ }
5448
+ };
5449
+ var VirtualKeysApiService = class {
5450
+ constructor(config) {
5451
+ var _a, _b, _c, _d, _e;
5452
+ this.endpoint = ((_b = (_a = config == null ? void 0 : config.endpoint) != null ? _a : process.env.LANGWATCH_ENDPOINT) != null ? _b : _chunkR7NIGAEBjs.DEFAULT_ENDPOINT).replace(/\/+$/, "");
5453
+ this.apiKey = (_e = (_d = (_c = config == null ? void 0 : config.apiKey) != null ? _c : scopedApiKey()) != null ? _d : process.env.LANGWATCH_API_KEY) != null ? _e : "";
5454
+ }
5455
+ headers() {
5456
+ return {
5457
+ Authorization: `Bearer ${this.apiKey}`,
5458
+ "Content-Type": "application/json"
5459
+ };
5460
+ }
5461
+ async request(operation, path2, init) {
5462
+ var _a;
5463
+ const response = await fetch(`${this.endpoint}${path2}`, _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, init), {
5464
+ headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, this.headers()), (_a = init == null ? void 0 : init.headers) != null ? _a : {})
5465
+ }));
5466
+ if (!response.ok) {
5467
+ let parsedBody;
5468
+ try {
5469
+ parsedBody = await response.json();
5470
+ } catch (e) {
5471
+ parsedBody = await response.text();
5472
+ }
5473
+ const message = formatApiErrorForOperation({
5474
+ operation,
5475
+ error: parsedBody,
5476
+ options: { status: response.status }
5477
+ });
5478
+ throwIfHandledError({
5479
+ operation,
5480
+ error: parsedBody,
5481
+ status: response.status,
5482
+ message
5483
+ });
5484
+ throw new VirtualKeysApiError(message, operation, parsedBody);
5485
+ }
5486
+ return await response.json();
5487
+ }
5488
+ async list() {
5489
+ const { data } = await this.request(
5490
+ "list virtual keys",
5491
+ "/api/gateway/v1/virtual-keys"
5492
+ );
5493
+ return data;
5494
+ }
5495
+ async get(id) {
5496
+ const { virtual_key } = await this.request(
5497
+ `get virtual key "${id}"`,
5498
+ `/api/gateway/v1/virtual-keys/${encodeURIComponent(id)}`
5499
+ );
5500
+ return virtual_key;
5501
+ }
5502
+ async create(input) {
5503
+ return this.request(
5504
+ "create virtual key",
5505
+ "/api/gateway/v1/virtual-keys",
5506
+ { method: "POST", body: JSON.stringify(input) }
5507
+ );
5508
+ }
5509
+ async update(id, input) {
5510
+ const { virtual_key } = await this.request(
5511
+ `update virtual key "${id}"`,
5512
+ `/api/gateway/v1/virtual-keys/${encodeURIComponent(id)}`,
5513
+ { method: "PATCH", body: JSON.stringify(input) }
5514
+ );
5515
+ return virtual_key;
5516
+ }
5517
+ async rotate(id) {
5518
+ return this.request(
5519
+ `rotate virtual key "${id}"`,
5520
+ `/api/gateway/v1/virtual-keys/${encodeURIComponent(id)}/rotate`,
5521
+ { method: "POST" }
5522
+ );
5523
+ }
5524
+ async revoke(id) {
5525
+ const { virtual_key } = await this.request(
5526
+ `revoke virtual key "${id}"`,
5527
+ `/api/gateway/v1/virtual-keys/${encodeURIComponent(id)}/revoke`,
5528
+ { method: "POST" }
5529
+ );
5530
+ return virtual_key;
5531
+ }
5532
+ /**
5533
+ * Aggregate spend for one key. Defaults to the current UTC calendar
5534
+ * month server-side. Reads the same cost path the dashboard reads, so
5535
+ * this number and the UI agree by construction.
5536
+ */
5537
+ async spend(id, window) {
5538
+ const params = new URLSearchParams();
5539
+ if (window == null ? void 0 : window.from) params.set("from", window.from);
5540
+ if (window == null ? void 0 : window.to) params.set("to", window.to);
5541
+ const query = params.size > 0 ? `?${params.toString()}` : "";
5542
+ return this.request(
5543
+ `read virtual key spend "${id}"`,
5544
+ `/api/gateway/v1/virtual-keys/${encodeURIComponent(id)}/spend${query}`
5545
+ );
5546
+ }
5547
+ };
5548
+
5549
+ // src/client-sdk/services/gateway-budgets/gateway-budgets-api.service.ts
5550
+ var GatewayBudgetsApiError = class extends Error {
5551
+ constructor(message, operation, originalError) {
5552
+ super(message);
5553
+ this.operation = operation;
5554
+ this.originalError = originalError;
5555
+ this.name = "GatewayBudgetsApiError";
5556
+ }
5557
+ };
5558
+ var GatewayBudgetsApiService = class {
5559
+ constructor(config) {
5560
+ var _a, _b, _c, _d, _e;
5561
+ this.endpoint = ((_b = (_a = config == null ? void 0 : config.endpoint) != null ? _a : process.env.LANGWATCH_ENDPOINT) != null ? _b : _chunkR7NIGAEBjs.DEFAULT_ENDPOINT).replace(/\/+$/, "");
5562
+ this.apiKey = (_e = (_d = (_c = config == null ? void 0 : config.apiKey) != null ? _c : scopedApiKey()) != null ? _d : process.env.LANGWATCH_API_KEY) != null ? _e : "";
5563
+ }
5564
+ headers() {
5565
+ return {
5566
+ Authorization: `Bearer ${this.apiKey}`,
5567
+ "Content-Type": "application/json"
5568
+ };
5569
+ }
5570
+ async request(operation, path2, init) {
5571
+ var _a;
5572
+ const response = await fetch(`${this.endpoint}${path2}`, _chunkTKSTXX3Djs.__spreadProps.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, init), {
5573
+ headers: _chunkTKSTXX3Djs.__spreadValues.call(void 0, _chunkTKSTXX3Djs.__spreadValues.call(void 0, {}, this.headers()), (_a = init == null ? void 0 : init.headers) != null ? _a : {})
5574
+ }));
5575
+ if (!response.ok) {
5576
+ let parsedBody;
5577
+ try {
5578
+ parsedBody = await response.json();
5579
+ } catch (e) {
5580
+ parsedBody = await response.text();
5581
+ }
5582
+ const message = formatApiErrorForOperation({
5583
+ operation,
5584
+ error: parsedBody,
5585
+ options: { status: response.status }
5586
+ });
5587
+ throwIfHandledError({
5588
+ operation,
5589
+ error: parsedBody,
5590
+ status: response.status,
5591
+ message
5592
+ });
5593
+ throw new GatewayBudgetsApiError(message, operation, parsedBody);
5594
+ }
5595
+ return await response.json();
5596
+ }
5597
+ /**
5598
+ * Every non-archived budget in the organization across all six scope
5599
+ * types, optionally filtered by `scopeTypes`.
5600
+ */
5601
+ async list(options) {
5602
+ var _a;
5603
+ const filter = ((_a = options == null ? void 0 : options.scopeTypes) == null ? void 0 : _a.length) ? `?scope_type=${options.scopeTypes.join(",")}` : "";
5604
+ const { data, spend_available } = await this.request("list gateway budgets", `/api/gateway/v1/budgets${filter}`);
5605
+ return { budgets: data, spend_available };
5606
+ }
5607
+ async create(input) {
5608
+ const { budget } = await this.request(
5609
+ "create gateway budget",
5610
+ "/api/gateway/v1/budgets",
5611
+ { method: "POST", body: JSON.stringify(input) }
5612
+ );
5613
+ return budget;
5614
+ }
5615
+ async update(id, input) {
5616
+ const { budget } = await this.request(
5617
+ `update gateway budget "${id}"`,
5618
+ `/api/gateway/v1/budgets/${encodeURIComponent(id)}`,
5619
+ { method: "PATCH", body: JSON.stringify(input) }
5620
+ );
5621
+ return budget;
5622
+ }
5623
+ async archive(id) {
5624
+ const { budget } = await this.request(
5625
+ `archive gateway budget "${id}"`,
5626
+ `/api/gateway/v1/budgets/${encodeURIComponent(id)}`,
5627
+ { method: "DELETE" }
5628
+ );
5629
+ return budget;
5630
+ }
5631
+ };
5632
+
5428
5633
  // src/index.ts
5429
5634
  var logger = {
5430
5635
  ConsoleLogger: _chunkTKSTXX3Djs.ConsoleLogger,
@@ -5462,5 +5667,9 @@ var logger = {
5462
5667
 
5463
5668
 
5464
5669
 
5465
- exports.DatasetApiError = DatasetApiError; exports.DatasetError = DatasetError; exports.DatasetNotFoundError = DatasetNotFoundError; exports.DatasetPlanLimitError = DatasetPlanLimitError; exports.DatasetValidationError = DatasetValidationError; exports.DatasetsFacade = DatasetsFacade; exports.EvaluationError = EvaluationError; exports.EvaluationsApiError = EvaluationsApiError; exports.EvaluationsFacade = EvaluationsFacade; exports.EvaluatorCallError = EvaluatorCallError; exports.EvaluatorError = EvaluatorError; exports.EvaluatorNotFoundError = EvaluatorNotFoundError; exports.EvaluatorsApiError = EvaluatorsApiError; exports.EvaluatorsApiService = EvaluatorsApiService; exports.Experiment = Experiment; exports.ExperimentApiError = ExperimentApiError; exports.ExperimentError = ExperimentError; exports.ExperimentInitError = ExperimentInitError; exports.ExperimentsFacade = ExperimentsFacade; exports.FetchPolicy = FetchPolicy; exports.FilterableBatchSpanProcessor = _chunkIUSLT65Zjs.FilterableBatchSpanProcessor; exports.LangWatch = LangWatch; exports.LangWatchApiError = LangWatchApiError; exports.LangWatchExporter = _chunkXL6DKL2Ljs.LangWatchTraceExporter; exports.LangWatchHandledError = LangWatchHandledError; exports.TargetMetadataConflictError = TargetMetadataConflictError; exports.attributes = _chunkTKSTXX3Djs.attributes_exports; exports.getLangWatchLogger = _chunkXL6DKL2Ljs.getLangWatchLogger; exports.getLangWatchTracer = _chunkADJOFPAZjs.getLangWatchTracer; exports.isLangWatchHandledError = isLangWatchHandledError; exports.logger = logger;
5670
+
5671
+
5672
+
5673
+
5674
+ exports.DatasetApiError = DatasetApiError; exports.DatasetError = DatasetError; exports.DatasetNotFoundError = DatasetNotFoundError; exports.DatasetPlanLimitError = DatasetPlanLimitError; exports.DatasetValidationError = DatasetValidationError; exports.DatasetsFacade = DatasetsFacade; exports.EvaluationError = EvaluationError; exports.EvaluationsApiError = EvaluationsApiError; exports.EvaluationsFacade = EvaluationsFacade; exports.EvaluatorCallError = EvaluatorCallError; exports.EvaluatorError = EvaluatorError; exports.EvaluatorNotFoundError = EvaluatorNotFoundError; exports.EvaluatorsApiError = EvaluatorsApiError; exports.EvaluatorsApiService = EvaluatorsApiService; exports.Experiment = Experiment; exports.ExperimentApiError = ExperimentApiError; exports.ExperimentError = ExperimentError; exports.ExperimentInitError = ExperimentInitError; exports.ExperimentsFacade = ExperimentsFacade; exports.FetchPolicy = FetchPolicy; exports.FilterableBatchSpanProcessor = _chunkIUSLT65Zjs.FilterableBatchSpanProcessor; exports.GatewayBudgetsApiError = GatewayBudgetsApiError; exports.GatewayBudgetsApiService = GatewayBudgetsApiService; exports.LangWatch = LangWatch; exports.LangWatchApiError = LangWatchApiError; exports.LangWatchExporter = _chunkR7NIGAEBjs.LangWatchTraceExporter; exports.LangWatchHandledError = LangWatchHandledError; exports.TargetMetadataConflictError = TargetMetadataConflictError; exports.VirtualKeysApiError = VirtualKeysApiError; exports.VirtualKeysApiService = VirtualKeysApiService; exports.attributes = _chunkTKSTXX3Djs.attributes_exports; exports.getLangWatchLogger = _chunkR7NIGAEBjs.getLangWatchLogger; exports.getLangWatchTracer = _chunkSCLFEMNKjs.getLangWatchTracer; exports.isLangWatchHandledError = isLangWatchHandledError; exports.logger = logger;
5466
5675
  //# sourceMappingURL=index.js.map