langwatch 0.8.2 → 0.10.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/dist/{add-EY2WXUSP.mjs → add-5FRWEQ32.mjs} +5 -5
- package/dist/{add-GEM46CRC.js → add-CXUS4ZSQ.js} +8 -8
- package/dist/{add-GEM46CRC.js.map → add-CXUS4ZSQ.js.map} +1 -1
- package/dist/{chunk-BP2WGNIV.js → chunk-A43BYF5Q.js} +6 -2
- package/dist/chunk-A43BYF5Q.js.map +1 -0
- package/dist/{chunk-KLVHQVMF.js → chunk-BTCJWUS5.js} +14 -14
- package/dist/{chunk-KLVHQVMF.js.map → chunk-BTCJWUS5.js.map} +1 -1
- package/dist/{chunk-PLCZYSRL.mjs → chunk-I3X7VMSP.mjs} +136 -60
- package/dist/chunk-I3X7VMSP.mjs.map +1 -0
- package/dist/{chunk-SRI6HEGF.js → chunk-NM5OKM7F.js} +142 -66
- package/dist/chunk-NM5OKM7F.js.map +1 -0
- package/dist/{chunk-VJV532JA.mjs → chunk-VGVWXKVM.mjs} +2 -2
- package/dist/{chunk-GNKQTK4I.mjs → chunk-W6FD5ZO3.mjs} +2 -2
- package/dist/chunk-W6FD5ZO3.mjs.map +1 -0
- package/dist/{chunk-DQU2PZAL.mjs → chunk-WHPBZSTS.mjs} +6 -2
- package/dist/chunk-WHPBZSTS.mjs.map +1 -0
- package/dist/{chunk-ZNWSX2QV.js → chunk-YWO3NE5A.js} +2 -2
- package/dist/chunk-YWO3NE5A.js.map +1 -0
- package/dist/cli/index.js +6 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/index.mjs +6 -6
- package/dist/cli/index.mjs.map +1 -1
- package/dist/{implementation-TF91Gn0l.d.ts → implementation-CPxv2BdW.d.ts} +1 -1
- package/dist/{implementation-pq0g2B5y.d.mts → implementation-CVrmD0bz.d.mts} +1 -1
- package/dist/index.d.mts +42 -31
- package/dist/index.d.ts +42 -31
- package/dist/index.js +14 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -6
- package/dist/index.mjs.map +1 -1
- package/dist/{list-GCZWLGUG.mjs → list-DQ6XLQCK.mjs} +5 -5
- package/dist/{list-DRJJH66J.js → list-K6E3OGYH.js} +8 -8
- package/dist/{list-DRJJH66J.js.map → list-K6E3OGYH.js.map} +1 -1
- package/dist/{login-S4O6A5OF.js → login-HX7WMLPL.js} +3 -3
- package/dist/{login-S4O6A5OF.js.map → login-HX7WMLPL.js.map} +1 -1
- package/dist/{login-WHSTC3WT.mjs → login-TJ2NCUAJ.mjs} +2 -2
- package/dist/observability-sdk/index.d.mts +3 -3
- package/dist/observability-sdk/index.d.ts +3 -3
- package/dist/observability-sdk/index.js +4 -4
- package/dist/observability-sdk/index.js.map +1 -1
- package/dist/observability-sdk/index.mjs +8 -8
- package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
- package/dist/observability-sdk/instrumentation/langchain/index.js +3 -3
- package/dist/observability-sdk/instrumentation/langchain/index.mjs +1 -1
- package/dist/observability-sdk/setup/node/index.js +11 -11
- package/dist/observability-sdk/setup/node/index.js.map +1 -1
- package/dist/observability-sdk/setup/node/index.mjs +3 -3
- package/dist/observability-sdk/setup/node/index.mjs.map +1 -1
- package/dist/{remove-LBVMOEMQ.js → remove-45A7WUCB.js} +7 -7
- package/dist/{remove-LBVMOEMQ.js.map → remove-45A7WUCB.js.map} +1 -1
- package/dist/{remove-TISUKAUX.mjs → remove-5ZOYQTF4.mjs} +5 -5
- package/dist/{sync-SIHBU67A.js → sync-BE7XZC2A.js} +7 -7
- package/dist/{sync-SIHBU67A.js.map → sync-BE7XZC2A.js.map} +1 -1
- package/dist/{sync-QYFJZVU7.mjs → sync-LL6TTFMS.mjs} +5 -5
- package/dist/{types-DhEYjnRD.d.mts → types-Kts5RGLY.d.mts} +15 -1
- package/dist/{types-CAQOMGrf.d.ts → types-usU5mTCX.d.ts} +15 -1
- package/package.json +142 -124
- package/dist/chunk-BP2WGNIV.js.map +0 -1
- package/dist/chunk-DQU2PZAL.mjs.map +0 -1
- package/dist/chunk-GNKQTK4I.mjs.map +0 -1
- package/dist/chunk-PLCZYSRL.mjs.map +0 -1
- package/dist/chunk-SRI6HEGF.js.map +0 -1
- package/dist/chunk-ZNWSX2QV.js.map +0 -1
- /package/dist/{add-EY2WXUSP.mjs.map → add-5FRWEQ32.mjs.map} +0 -0
- /package/dist/{chunk-VJV532JA.mjs.map → chunk-VGVWXKVM.mjs.map} +0 -0
- /package/dist/{list-GCZWLGUG.mjs.map → list-DQ6XLQCK.mjs.map} +0 -0
- /package/dist/{login-WHSTC3WT.mjs.map → login-TJ2NCUAJ.mjs.map} +0 -0
- /package/dist/{remove-TISUKAUX.mjs.map → remove-5ZOYQTF4.mjs.map} +0 -0
- /package/dist/{sync-QYFJZVU7.mjs.map → sync-LL6TTFMS.mjs.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { L as Logger, C as ConsoleLogger, N as NoOpLogger } from './index-D7rKIGrO.js';
|
|
2
|
-
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, S as SpanProcessingExcludeRule, g as getLangWatchLogger, d as getLangWatchTracer } from './implementation-
|
|
3
|
-
|
|
4
|
-
import { p as paths, P as PromptResponse, g as CreatePromptBody, U as UpdatePromptBody, h as PromptData, i as Prompt } from './types-CAQOMGrf.js';
|
|
2
|
+
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, S as SpanProcessingExcludeRule, g as getLangWatchLogger, d as getLangWatchTracer } from './implementation-CPxv2BdW.js';
|
|
3
|
+
import { p as paths, P as PromptResponse, g as CreatePromptBody, U as UpdatePromptBody, h as PromptData, i as Prompt, F as FetchPolicy } from './types-usU5mTCX.js';
|
|
5
4
|
import openApiCreateClient from 'openapi-fetch';
|
|
6
5
|
import { z } from 'zod';
|
|
6
|
+
export { l as attributes } from './types-DRiQaKFG.js';
|
|
7
7
|
import '@opentelemetry/sdk-trace-base';
|
|
8
8
|
import '@opentelemetry/exporter-trace-otlp-http';
|
|
9
9
|
import '@opentelemetry/core';
|
|
@@ -53,23 +53,23 @@ declare class PromptsApiService {
|
|
|
53
53
|
private readonly apiClient;
|
|
54
54
|
constructor(config?: Pick<InternalConfig, "langwatchApiClient">);
|
|
55
55
|
/**
|
|
56
|
-
* Handles API errors by throwing a
|
|
56
|
+
* Handles API errors by throwing a PromptsApiError with operation context.
|
|
57
57
|
* @param operation Description of the operation being performed.
|
|
58
58
|
* @param error The error object returned from the API client.
|
|
59
|
-
* @throws {
|
|
59
|
+
* @throws {PromptsApiError}
|
|
60
60
|
*/
|
|
61
61
|
private handleApiError;
|
|
62
62
|
/**
|
|
63
63
|
* Fetches all prompts from the API.
|
|
64
64
|
* @returns Array of raw PromptResponse data.
|
|
65
|
-
* @throws {
|
|
65
|
+
* @throws {PromptsApiError} If the API call fails.
|
|
66
66
|
*/
|
|
67
67
|
getAll(): Promise<PromptResponse[]>;
|
|
68
68
|
/**
|
|
69
69
|
* Fetches a single prompt by its ID.
|
|
70
70
|
* @param id The prompt's unique identifier.
|
|
71
71
|
* @returns Raw PromptResponse data.
|
|
72
|
-
* @throws {
|
|
72
|
+
* @throws {PromptsApiError} If the API call fails.
|
|
73
73
|
*/
|
|
74
74
|
get: (id: string, options?: {
|
|
75
75
|
version?: string;
|
|
@@ -78,14 +78,14 @@ declare class PromptsApiService {
|
|
|
78
78
|
* Validates if a prompt exists.
|
|
79
79
|
* @param id The prompt's unique identifier.
|
|
80
80
|
* @returns True if prompt exists, false otherwise.
|
|
81
|
-
* @throws {
|
|
81
|
+
* @throws {PromptsApiError} If the API call fails (not 404).
|
|
82
82
|
*/
|
|
83
83
|
exists(id: string): Promise<boolean>;
|
|
84
84
|
/**
|
|
85
85
|
* Creates a new prompt.
|
|
86
86
|
* @param params The prompt creation payload, matching the OpenAPI schema.
|
|
87
87
|
* @returns Raw PromptResponse data of the created prompt.
|
|
88
|
-
* @throws {
|
|
88
|
+
* @throws {PromptsApiError} If the API call fails.
|
|
89
89
|
*/
|
|
90
90
|
create(params: CreatePromptBody): Promise<PromptResponse>;
|
|
91
91
|
/**
|
|
@@ -93,13 +93,13 @@ declare class PromptsApiService {
|
|
|
93
93
|
* @param id The prompt's unique identifier.
|
|
94
94
|
* @param params The update payload, matching the OpenAPI schema.
|
|
95
95
|
* @returns Raw PromptResponse data of the updated prompt.
|
|
96
|
-
* @throws {
|
|
96
|
+
* @throws {PromptsApiError} If the API call fails.
|
|
97
97
|
*/
|
|
98
98
|
update(id: string, params: UpdatePromptBody): Promise<PromptResponse>;
|
|
99
99
|
/**
|
|
100
100
|
* Deletes a prompt by its ID.
|
|
101
101
|
* @param id The prompt's unique identifier.
|
|
102
|
-
* @throws {
|
|
102
|
+
* @throws {PromptsApiError} If the API call fails.
|
|
103
103
|
*/
|
|
104
104
|
delete(id: string): Promise<{
|
|
105
105
|
success: boolean;
|
|
@@ -108,7 +108,7 @@ declare class PromptsApiService {
|
|
|
108
108
|
* Fetches all versions for a given prompt.
|
|
109
109
|
* @param id The prompt's unique identifier.
|
|
110
110
|
* @returns Array of raw PromptResponse data for each version.
|
|
111
|
-
* @throws {
|
|
111
|
+
* @throws {PromptsApiError} If the API call fails.
|
|
112
112
|
*/
|
|
113
113
|
getVersions(id: string): Promise<PromptResponse[]>;
|
|
114
114
|
/**
|
|
@@ -116,7 +116,7 @@ declare class PromptsApiService {
|
|
|
116
116
|
* @param handle The prompt's handle/identifier.
|
|
117
117
|
* @param config Local prompt configuration.
|
|
118
118
|
* @returns Object with created flag and raw PromptResponse data.
|
|
119
|
-
* @throws {
|
|
119
|
+
* @throws {PromptsApiError} If the API call fails.
|
|
120
120
|
*/
|
|
121
121
|
upsert(handle: string, config: {
|
|
122
122
|
model: string;
|
|
@@ -134,6 +134,7 @@ declare class PromptsApiService {
|
|
|
134
134
|
}>;
|
|
135
135
|
/**
|
|
136
136
|
* Sync a prompt with local content, handling conflicts and version management
|
|
137
|
+
* You probably don't need to use this method directly.
|
|
137
138
|
*/
|
|
138
139
|
sync(params: {
|
|
139
140
|
name: string;
|
|
@@ -277,6 +278,17 @@ declare class LocalPromptsService {
|
|
|
277
278
|
private convertToPromptData;
|
|
278
279
|
}
|
|
279
280
|
|
|
281
|
+
/**
|
|
282
|
+
* Options for fetching a prompt.
|
|
283
|
+
*/
|
|
284
|
+
interface GetPromptOptions {
|
|
285
|
+
/** Specific version to fetch */
|
|
286
|
+
version?: string;
|
|
287
|
+
/** Fetch policy to use */
|
|
288
|
+
fetchPolicy?: FetchPolicy;
|
|
289
|
+
/** Cache TTL in minutes (only used with CACHE_TTL policy) */
|
|
290
|
+
cacheTtlMinutes?: number;
|
|
291
|
+
}
|
|
280
292
|
interface PromptsFacadeDependencies {
|
|
281
293
|
promptsApiService: PromptsApiService;
|
|
282
294
|
localPromptsService: LocalPromptsService;
|
|
@@ -285,9 +297,10 @@ interface PromptsFacadeDependencies {
|
|
|
285
297
|
* Facade for prompt operations in the LangWatch SDK.
|
|
286
298
|
* Provides a simplified interface for common prompt management tasks.
|
|
287
299
|
*/
|
|
288
|
-
declare class PromptsFacade {
|
|
300
|
+
declare class PromptsFacade implements Pick<PromptsApiService, "sync" | "delete"> {
|
|
289
301
|
private readonly promptsApiService;
|
|
290
302
|
private readonly localPromptsService;
|
|
303
|
+
private readonly cache;
|
|
291
304
|
constructor(config: InternalConfig & PromptsFacadeDependencies);
|
|
292
305
|
/**
|
|
293
306
|
* Creates a new prompt.
|
|
@@ -303,9 +316,15 @@ declare class PromptsFacade {
|
|
|
303
316
|
* @returns The Prompt instance.
|
|
304
317
|
* @throws {PromptsError} If the prompt is not found or the API call fails.
|
|
305
318
|
*/
|
|
306
|
-
get(handleOrId: string, options?:
|
|
307
|
-
|
|
308
|
-
|
|
319
|
+
get(handleOrId: string, options?: GetPromptOptions): Promise<Prompt>;
|
|
320
|
+
private getMaterializedFirst;
|
|
321
|
+
private getAlwaysFetch;
|
|
322
|
+
private getMaterializedOnly;
|
|
323
|
+
/**
|
|
324
|
+
* Builds a cache key that includes both handle and version to prevent collisions.
|
|
325
|
+
*/
|
|
326
|
+
private buildCacheKey;
|
|
327
|
+
private getCacheTtl;
|
|
309
328
|
/**
|
|
310
329
|
* Retrieves all prompts.
|
|
311
330
|
* @returns Array of Prompt instances.
|
|
@@ -320,26 +339,18 @@ declare class PromptsFacade {
|
|
|
320
339
|
* @throws {PromptsError} If the API call fails.
|
|
321
340
|
*/
|
|
322
341
|
update(handleOrId: string, newData: UpdatePromptBody): Promise<Prompt>;
|
|
323
|
-
|
|
324
|
-
* Deletes a prompt by handle or ID.
|
|
325
|
-
* @param handleOrId The prompt's handle or unique identifier.
|
|
326
|
-
* @throws {PromptsError} If the API call fails.
|
|
327
|
-
*/
|
|
328
|
-
delete(handleOrId: string): Promise<{
|
|
342
|
+
get delete(): (id: string) => Promise<{
|
|
329
343
|
success: boolean;
|
|
330
344
|
}>;
|
|
331
345
|
/**
|
|
332
|
-
*
|
|
333
|
-
* @param params The sync parameters.
|
|
334
|
-
* @returns The sync result.
|
|
335
|
-
* @throws {PromptsError} If the API call fails.
|
|
346
|
+
* Delegated method to the prompts API service.
|
|
336
347
|
*/
|
|
337
|
-
sync(params: {
|
|
348
|
+
get sync(): (params: {
|
|
338
349
|
name: string;
|
|
339
|
-
configData:
|
|
350
|
+
configData: ConfigData;
|
|
340
351
|
localVersion?: number;
|
|
341
352
|
commitMessage?: string;
|
|
342
|
-
})
|
|
353
|
+
}) => Promise<SyncResult>;
|
|
343
354
|
}
|
|
344
355
|
|
|
345
356
|
interface GetTraceParams {
|
|
@@ -374,4 +385,4 @@ declare const logger: {
|
|
|
374
385
|
NoOpLogger: typeof NoOpLogger;
|
|
375
386
|
};
|
|
376
387
|
|
|
377
|
-
export { LangWatch, logger };
|
|
388
|
+
export { FetchPolicy, type GetPromptOptions, LangWatch, logger };
|
package/dist/index.js
CHANGED
|
@@ -4,22 +4,23 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
var _chunkNM5OKM7Fjs = require('./chunk-NM5OKM7F.js');
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
var _chunkSNDTNU3Tjs = require('./chunk-SNDTNU3T.js');
|
|
11
12
|
|
|
12
13
|
|
|
13
|
-
var _chunkBP2WGNIVjs = require('./chunk-BP2WGNIV.js');
|
|
14
14
|
|
|
15
|
+
var _chunkBTCJWUS5js = require('./chunk-BTCJWUS5.js');
|
|
15
16
|
|
|
16
17
|
|
|
17
|
-
var _chunkKLVHQVMFjs = require('./chunk-KLVHQVMF.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
+
var _chunkYWO3NE5Ajs = require('./chunk-YWO3NE5A.js');
|
|
20
21
|
|
|
21
22
|
|
|
22
|
-
var
|
|
23
|
+
var _chunkA43BYF5Qjs = require('./chunk-A43BYF5Q.js');
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
|
|
@@ -46,13 +47,13 @@ var TracesError = class extends Error {
|
|
|
46
47
|
};
|
|
47
48
|
|
|
48
49
|
// src/client-sdk/services/traces/tracing/tracer.ts
|
|
49
|
-
var tracer =
|
|
50
|
+
var tracer = _chunkA43BYF5Qjs.getLangWatchTracer.call(void 0, `${_chunkYWO3NE5Ajs.LANGWATCH_SDK_NAME_CLIENT}.traces`, _chunkYWO3NE5Ajs.LANGWATCH_SDK_VERSION);
|
|
50
51
|
|
|
51
52
|
// src/client-sdk/services/traces/service.ts
|
|
52
53
|
var TracesService = class {
|
|
53
54
|
constructor(config) {
|
|
54
55
|
this.config = config;
|
|
55
|
-
return
|
|
56
|
+
return _chunkNM5OKM7Fjs.createTracingProxy.call(void 0,
|
|
56
57
|
this,
|
|
57
58
|
tracer
|
|
58
59
|
);
|
|
@@ -115,15 +116,15 @@ var LangWatch = class {
|
|
|
115
116
|
_chunkOHM7JUMRjs.__privateAdd.call(void 0, this, _LangWatch_instances);
|
|
116
117
|
var _a, _b, _c, _d;
|
|
117
118
|
const apiKey = (_b = (_a = options.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
|
|
118
|
-
const endpoint = (_d = (_c = options.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d :
|
|
119
|
+
const endpoint = (_d = (_c = options.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunkYWO3NE5Ajs.DEFAULT_ENDPOINT;
|
|
119
120
|
this.config = _chunkOHM7JUMRjs.__privateMethod.call(void 0, this, _LangWatch_instances, createInternalConfig_fn).call(this, {
|
|
120
121
|
apiKey,
|
|
121
122
|
endpoint,
|
|
122
123
|
options: options.options
|
|
123
124
|
});
|
|
124
|
-
this.prompts = new (0,
|
|
125
|
-
promptsApiService: new (0,
|
|
126
|
-
localPromptsService: new (0,
|
|
125
|
+
this.prompts = new (0, _chunkNM5OKM7Fjs.PromptsFacade)(_chunkOHM7JUMRjs.__spreadValues.call(void 0, {
|
|
126
|
+
promptsApiService: new (0, _chunkNM5OKM7Fjs.PromptsApiService)(this.config),
|
|
127
|
+
localPromptsService: new (0, _chunkNM5OKM7Fjs.LocalPromptsService)()
|
|
127
128
|
}, this.config));
|
|
128
129
|
this.traces = new TracesFacade(this.config);
|
|
129
130
|
}
|
|
@@ -140,7 +141,7 @@ createInternalConfig_fn = function({
|
|
|
140
141
|
var _a;
|
|
141
142
|
return {
|
|
142
143
|
logger: (_a = options == null ? void 0 : options.logger) != null ? _a : new (0, _chunkCKIZDPIJjs.NoOpLogger)(),
|
|
143
|
-
langwatchApiClient:
|
|
144
|
+
langwatchApiClient: _chunkNM5OKM7Fjs.createLangWatchApiClient.call(void 0, apiKey, endpoint)
|
|
144
145
|
};
|
|
145
146
|
};
|
|
146
147
|
|
|
@@ -157,5 +158,6 @@ var logger = {
|
|
|
157
158
|
|
|
158
159
|
|
|
159
160
|
|
|
160
|
-
|
|
161
|
+
|
|
162
|
+
exports.FetchPolicy = _chunkNM5OKM7Fjs.FetchPolicy; exports.FilterableBatchSpanProcessor = _chunkSNDTNU3Tjs.FilterableBatchSpanProcessor; exports.LangWatch = LangWatch; exports.LangWatchExporter = _chunkBTCJWUS5js.LangWatchTraceExporter; exports.attributes = _chunkCKIZDPIJjs.attributes_exports; exports.getLangWatchLogger = _chunkBTCJWUS5js.getLangWatchLogger; exports.getLangWatchTracer = _chunkA43BYF5Qjs.getLangWatchTracer; exports.logger = logger;
|
|
161
163
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/index.js","../src/client-sdk/services/traces/types.ts","../src/client-sdk/services/traces/tracing/tracer.ts","../src/client-sdk/services/traces/service.ts","../src/client-sdk/services/traces/facade.ts","../src/client-sdk/index.ts","../src/index.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/index.js","../src/client-sdk/services/traces/types.ts","../src/client-sdk/services/traces/tracing/tracer.ts","../src/client-sdk/services/traces/service.ts","../src/client-sdk/services/traces/facade.ts","../src/client-sdk/index.ts","../src/index.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACxBO,IAAM,YAAA,EAAN,MAAA,QAA0B,MAAM;AAAA,EACrC,WAAA,CACE,OAAA,EACgB,SAAA,EACA,aAAA,EAChB;AACA,IAAA,KAAA,CAAM,OAAO,CAAA;AAHG,IAAA,IAAA,CAAA,UAAA,EAAA,SAAA;AACA,IAAA,IAAA,CAAA,cAAA,EAAA,aAAA;AAGhB,IAAA,IAAA,CAAK,KAAA,EAAO,aAAA;AAAA,EACd;AACF,CAAA;ADwBA;AACA;AE7CO,IAAM,OAAA,EAAS,iDAAA,CAAmB,EAAA;AF+CR;AACA;AGpCN;AAGW,EAAA;AACpB,IAAA;AAKP,IAAA;AACL,MAAA;AACA,MAAA;AACF,IAAA;AACF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ0C,EAAA;AApC5C,IAAA;AAsCa,IAAA;AAGC,IAAA;AACmB,MAAA;AAC3B,MAAA;AACA,MAAA;AACF,IAAA;AACF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAY6B,EAAA;AACH,IAAA;AACd,MAAA;AACA,QAAA;AACA,UAAA;AACN,QAAA;AACF,MAAA;AACO,MAAA;AACR,IAAA;AAEU,IAAA;AACW,MAAA;AACtB,IAAA;AAEO,IAAA;AACT,EAAA;AACF;AHuBiC;AACA;AIlGjC;AAI0B;AAGY,EAAA;AAF3B,IAAA;AAGS,IAAA;AAClB,EAAA;AAE+E,EAAA;AACjE,IAAA;AACd,EAAA;AACF;AATW;AJyGsB;AACA;AK/GjC;AAiBuB;AAMkC,EAAA;AANlD,IAAA;AAjBP,IAAA;AAwBmB,IAAA;AACE,IAAA;AAEH,IAAA;AACZ,MAAA;AACA,MAAA;AACiB,MAAA;AACnB,IAAA;AAEmB,IAAA;AACM,MAAA;AACE,MAAA;AAE1B,IAAA;AACiB,IAAA;AACpB,EAAA;AAEoC,EAAA;AACf,IAAA;AACrB,EAAA;AAgBF;AA1CO;AA4BgB;AACnB,EAAA;AACA,EAAA;AACA,EAAA;AAKiB;AArDrB,EAAA;AAsDW,EAAA;AACG,IAAA;AACY,IAAA;AACtB,EAAA;AACF;ALwF+B;AACA;AMpIX;AACpB,EAAA;AACA,EAAA;AACF;ANsIiC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/index.js","sourcesContent":[null,"import type { paths } from \"@/internal/generated/openapi/api-client\";\n\nexport interface GetTraceParams {\n includeSpans?: boolean;\n}\n\nexport type GetTraceResponse = NonNullable<\n paths[\"/api/trace/{id}\"][\"get\"][\"responses\"][\"200\"][\"content\"][\"application/json\"]\n>;\n\n/**\n * Custom error class for Traces API operations.\n * Provides context about the failed operation and the original error.\n */\nexport class TracesError extends Error {\n constructor(\n message: string,\n public readonly operation: string,\n public readonly originalError?: any,\n ) {\n super(message);\n this.name = \"TracesError\";\n }\n}\n","import { LANGWATCH_SDK_NAME_CLIENT, LANGWATCH_SDK_VERSION } from \"@/internal/constants\";\nimport { getLangWatchTracer } from \"@/observability-sdk/tracer\";\n\nexport const tracer = getLangWatchTracer(`${LANGWATCH_SDK_NAME_CLIENT}.traces`, LANGWATCH_SDK_VERSION);\n","import { createTracingProxy } from \"@/client-sdk/tracing/create-tracing-proxy\";\nimport { type InternalConfig } from \"@/client-sdk/types\";\nimport { type GetTraceParams, TracesError, type GetTraceResponse } from \"./types\";\nimport { tracer } from \"./tracing\";\n\n/**\n * Service for managing trace resources via the Langwatch API.\n * Constructor creates a proxy that wraps the service and traces all methods.\n *\n * Responsibilities:\n * - Retrieving trace data\n * - Error handling with contextual information\n *\n * All methods return trace response objects directly.\n */\nexport class TracesService {\n private config: InternalConfig;\n\n constructor(config: InternalConfig) {\n this.config = config;\n\n /**\n * Wraps the service in a tracing proxy via the decorator.\n */\n return createTracingProxy(\n this as TracesService,\n tracer,\n );\n }\n\n /**\n * Handles API errors by throwing a TracesError with operation context.\n * @param operation Description of the operation being performed.\n * @param error The error object returned from the API client.\n * @throws {TracesError}\n */\n private handleApiError(operation: string, error: any): never {\n const errorMessage =\n typeof error === \"string\"\n ? error\n : error?.error ?? error?.message ?? \"Unknown error occurred\";\n throw new TracesError(\n `Failed to ${operation}: ${errorMessage}`,\n operation,\n error,\n );\n }\n\n /**\n * Retrieves a trace by its ID.\n * @param traceId The trace's unique identifier.\n * @param params Optional parameters for the request.\n * @returns The trace response object.\n * @throws {TracesError} If the API call fails.\n */\n async get(\n traceId: string,\n params?: GetTraceParams,\n ): Promise<GetTraceResponse> {\n const { data, error } = await this.config.langwatchApiClient.GET(\"/api/trace/{id}\", {\n params: {\n path: {\n id: traceId,\n },\n },\n query: params,\n });\n\n if (error) {\n this.handleApiError(\"get trace\", error);\n }\n\n return data;\n }\n}\n","import { type InternalConfig } from \"../../types\";\nimport { TracesService } from \"./service\";\nimport { type GetTraceParams, type GetTraceResponse } from \"./types\";\n\nexport class TracesFacade {\n readonly #service: TracesService;\n\n constructor(config: InternalConfig) {\n this.#service = new TracesService(config);\n }\n\n async get(traceId: string, params?: GetTraceParams): Promise<GetTraceResponse> {\n return this.#service.get(traceId, params);\n }\n}\n","import { PromptsFacade, PromptsApiService } from \"./services/prompts\";\nexport { FetchPolicy, type GetPromptOptions } from \"./services/prompts\";\nimport { LocalPromptsService } from \"./services/prompts/local-prompts.service\";\nimport { type InternalConfig } from \"./types\";\nimport { createLangWatchApiClient, type LangwatchApiClient } from \"../internal/api/client\";\nimport { type Logger, NoOpLogger } from \"../logger\";\nimport { TracesFacade } from \"./services/traces/facade\";\nimport { DEFAULT_ENDPOINT } from \"@/internal/constants\";\n\nexport interface LangWatchConstructorOptions {\n apiKey?: string;\n endpoint?: string;\n options?: {\n logger?: Logger;\n };\n}\n\nexport class LangWatch {\n private readonly config: InternalConfig;\n\n readonly prompts: PromptsFacade;\n readonly traces: TracesFacade;\n\n constructor(options: LangWatchConstructorOptions = {}) {\n const apiKey = options.apiKey ?? process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint = options.endpoint ?? process.env.LANGWATCH_ENDPOINT ?? DEFAULT_ENDPOINT;\n\n this.config = this.#createInternalConfig({\n apiKey,\n endpoint,\n options: options.options,\n });\n\n this.prompts = new PromptsFacade({\n promptsApiService: new PromptsApiService(this.config),\n localPromptsService: new LocalPromptsService(),\n ...this.config,\n });\n this.traces = new TracesFacade(this.config);\n }\n\n get apiClient(): LangwatchApiClient {\n return this.config.langwatchApiClient;\n }\n\n #createInternalConfig({\n apiKey,\n endpoint,\n options,\n }: {\n apiKey: string;\n endpoint: string;\n options?: LangWatchConstructorOptions[\"options\"];\n }): InternalConfig {\n return {\n logger: options?.logger ?? new NoOpLogger(),\n langwatchApiClient: createLangWatchApiClient(apiKey, endpoint),\n };\n }\n}\n","import { ConsoleLogger, NoOpLogger } from \"./logger\";\n\nexport {\n getLangWatchTracer,\n getLangWatchLogger,\n attributes,\n} from \"./observability-sdk\";\n\nexport {\n FilterableBatchSpanProcessor,\n type SpanProcessingExcludeRule,\n} from \"./observability-sdk/processors\";\nexport { LangWatchExporter } from \"./observability-sdk/exporters\";\nexport { LangWatch, FetchPolicy, type GetPromptOptions } from \"./client-sdk\";\n\nexport const logger = {\n ConsoleLogger,\n NoOpLogger,\n};\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
|
+
FetchPolicy,
|
|
2
3
|
LocalPromptsService,
|
|
3
4
|
PromptsApiService,
|
|
4
5
|
PromptsFacade,
|
|
5
6
|
createLangWatchApiClient,
|
|
6
7
|
createTracingProxy
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-I3X7VMSP.mjs";
|
|
8
9
|
import {
|
|
9
10
|
FilterableBatchSpanProcessor
|
|
10
11
|
} from "./chunk-FEL5FLHA.mjs";
|
|
11
|
-
import {
|
|
12
|
-
getLangWatchTracer
|
|
13
|
-
} from "./chunk-DQU2PZAL.mjs";
|
|
14
12
|
import {
|
|
15
13
|
LangWatchTraceExporter,
|
|
16
14
|
getLangWatchLogger
|
|
17
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VGVWXKVM.mjs";
|
|
18
16
|
import {
|
|
19
17
|
DEFAULT_ENDPOINT,
|
|
20
18
|
LANGWATCH_SDK_NAME_CLIENT,
|
|
21
19
|
LANGWATCH_SDK_VERSION
|
|
22
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-W6FD5ZO3.mjs";
|
|
21
|
+
import {
|
|
22
|
+
getLangWatchTracer
|
|
23
|
+
} from "./chunk-WHPBZSTS.mjs";
|
|
23
24
|
import {
|
|
24
25
|
ConsoleLogger,
|
|
25
26
|
NoOpLogger,
|
|
@@ -150,6 +151,7 @@ var logger = {
|
|
|
150
151
|
NoOpLogger
|
|
151
152
|
};
|
|
152
153
|
export {
|
|
154
|
+
FetchPolicy,
|
|
153
155
|
FilterableBatchSpanProcessor,
|
|
154
156
|
LangWatch,
|
|
155
157
|
LangWatchTraceExporter as LangWatchExporter,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client-sdk/services/traces/types.ts","../src/client-sdk/services/traces/tracing/tracer.ts","../src/client-sdk/services/traces/service.ts","../src/client-sdk/services/traces/facade.ts","../src/client-sdk/index.ts","../src/index.ts"],"sourcesContent":["import type { paths } from \"@/internal/generated/openapi/api-client\";\n\nexport interface GetTraceParams {\n includeSpans?: boolean;\n}\n\nexport type GetTraceResponse = NonNullable<\n paths[\"/api/trace/{id}\"][\"get\"][\"responses\"][\"200\"][\"content\"][\"application/json\"]\n>;\n\n/**\n * Custom error class for Traces API operations.\n * Provides context about the failed operation and the original error.\n */\nexport class TracesError extends Error {\n constructor(\n message: string,\n public readonly operation: string,\n public readonly originalError?: any,\n ) {\n super(message);\n this.name = \"TracesError\";\n }\n}\n","import { LANGWATCH_SDK_NAME_CLIENT, LANGWATCH_SDK_VERSION } from \"@/internal/constants\";\nimport { getLangWatchTracer } from \"@/observability-sdk/tracer\";\n\nexport const tracer = getLangWatchTracer(`${LANGWATCH_SDK_NAME_CLIENT}.traces`, LANGWATCH_SDK_VERSION);\n","import { createTracingProxy } from \"@/client-sdk/tracing/create-tracing-proxy\";\nimport { type InternalConfig } from \"@/client-sdk/types\";\nimport { type GetTraceParams, TracesError, type GetTraceResponse } from \"./types\";\nimport { tracer } from \"./tracing\";\n\n/**\n * Service for managing trace resources via the Langwatch API.\n * Constructor creates a proxy that wraps the service and traces all methods.\n *\n * Responsibilities:\n * - Retrieving trace data\n * - Error handling with contextual information\n *\n * All methods return trace response objects directly.\n */\nexport class TracesService {\n private config: InternalConfig;\n\n constructor(config: InternalConfig) {\n this.config = config;\n\n /**\n * Wraps the service in a tracing proxy via the decorator.\n */\n return createTracingProxy(\n this as TracesService,\n tracer,\n );\n }\n\n /**\n * Handles API errors by throwing a TracesError with operation context.\n * @param operation Description of the operation being performed.\n * @param error The error object returned from the API client.\n * @throws {TracesError}\n */\n private handleApiError(operation: string, error: any): never {\n const errorMessage =\n typeof error === \"string\"\n ? error\n : error?.error ?? error?.message ?? \"Unknown error occurred\";\n throw new TracesError(\n `Failed to ${operation}: ${errorMessage}`,\n operation,\n error,\n );\n }\n\n /**\n * Retrieves a trace by its ID.\n * @param traceId The trace's unique identifier.\n * @param params Optional parameters for the request.\n * @returns The trace response object.\n * @throws {TracesError} If the API call fails.\n */\n async get(\n traceId: string,\n params?: GetTraceParams,\n ): Promise<GetTraceResponse> {\n const { data, error } = await this.config.langwatchApiClient.GET(\"/api/trace/{id}\", {\n params: {\n path: {\n id: traceId,\n },\n },\n query: params,\n });\n\n if (error) {\n this.handleApiError(\"get trace\", error);\n }\n\n return data;\n }\n}\n","import { type InternalConfig } from \"../../types\";\nimport { TracesService } from \"./service\";\nimport { type GetTraceParams, type GetTraceResponse } from \"./types\";\n\nexport class TracesFacade {\n readonly #service: TracesService;\n\n constructor(config: InternalConfig) {\n this.#service = new TracesService(config);\n }\n\n async get(traceId: string, params?: GetTraceParams): Promise<GetTraceResponse> {\n return this.#service.get(traceId, params);\n }\n}\n","import { PromptsFacade, PromptsApiService } from \"./services/prompts\";\nimport { LocalPromptsService } from \"./services/prompts/local-prompts.service\";\nimport { type InternalConfig } from \"./types\";\nimport { createLangWatchApiClient, type LangwatchApiClient } from \"../internal/api/client\";\nimport { type Logger, NoOpLogger } from \"../logger\";\nimport { TracesFacade } from \"./services/traces/facade\";\nimport { DEFAULT_ENDPOINT } from \"@/internal/constants\";\n\nexport interface LangWatchConstructorOptions {\n apiKey?: string;\n endpoint?: string;\n options?: {\n logger?: Logger;\n };\n}\n\nexport class LangWatch {\n private readonly config: InternalConfig;\n\n readonly prompts: PromptsFacade;\n readonly traces: TracesFacade;\n\n constructor(options: LangWatchConstructorOptions = {}) {\n const apiKey = options.apiKey ?? process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint = options.endpoint ?? process.env.LANGWATCH_ENDPOINT ?? DEFAULT_ENDPOINT;\n\n this.config = this.#createInternalConfig({\n apiKey,\n endpoint,\n options: options.options,\n });\n\n this.prompts = new PromptsFacade({\n promptsApiService: new PromptsApiService(this.config),\n localPromptsService: new LocalPromptsService(),\n ...this.config,\n });\n this.traces = new TracesFacade(this.config);\n }\n\n get apiClient(): LangwatchApiClient {\n return this.config.langwatchApiClient;\n }\n\n #createInternalConfig({\n apiKey,\n endpoint,\n options,\n }: {\n apiKey: string;\n endpoint: string;\n options?: LangWatchConstructorOptions[\"options\"];\n }): InternalConfig {\n return {\n logger: options?.logger ?? new NoOpLogger(),\n langwatchApiClient: createLangWatchApiClient(apiKey, endpoint),\n };\n }\n}\n","import { ConsoleLogger, NoOpLogger } from \"./logger\";\n\nexport {\n getLangWatchTracer,\n getLangWatchLogger,\n attributes,\n} from \"./observability-sdk\";\n\nexport {\n FilterableBatchSpanProcessor,\n type SpanProcessingExcludeRule,\n} from \"./observability-sdk/processors\";\nexport { LangWatchExporter } from \"./observability-sdk/exporters\";\nexport { LangWatch } from \"./client-sdk\";\n\nexport const logger = {\n ConsoleLogger,\n NoOpLogger,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/client-sdk/services/traces/types.ts","../src/client-sdk/services/traces/tracing/tracer.ts","../src/client-sdk/services/traces/service.ts","../src/client-sdk/services/traces/facade.ts","../src/client-sdk/index.ts","../src/index.ts"],"sourcesContent":["import type { paths } from \"@/internal/generated/openapi/api-client\";\n\nexport interface GetTraceParams {\n includeSpans?: boolean;\n}\n\nexport type GetTraceResponse = NonNullable<\n paths[\"/api/trace/{id}\"][\"get\"][\"responses\"][\"200\"][\"content\"][\"application/json\"]\n>;\n\n/**\n * Custom error class for Traces API operations.\n * Provides context about the failed operation and the original error.\n */\nexport class TracesError extends Error {\n constructor(\n message: string,\n public readonly operation: string,\n public readonly originalError?: any,\n ) {\n super(message);\n this.name = \"TracesError\";\n }\n}\n","import { LANGWATCH_SDK_NAME_CLIENT, LANGWATCH_SDK_VERSION } from \"@/internal/constants\";\nimport { getLangWatchTracer } from \"@/observability-sdk/tracer\";\n\nexport const tracer = getLangWatchTracer(`${LANGWATCH_SDK_NAME_CLIENT}.traces`, LANGWATCH_SDK_VERSION);\n","import { createTracingProxy } from \"@/client-sdk/tracing/create-tracing-proxy\";\nimport { type InternalConfig } from \"@/client-sdk/types\";\nimport { type GetTraceParams, TracesError, type GetTraceResponse } from \"./types\";\nimport { tracer } from \"./tracing\";\n\n/**\n * Service for managing trace resources via the Langwatch API.\n * Constructor creates a proxy that wraps the service and traces all methods.\n *\n * Responsibilities:\n * - Retrieving trace data\n * - Error handling with contextual information\n *\n * All methods return trace response objects directly.\n */\nexport class TracesService {\n private config: InternalConfig;\n\n constructor(config: InternalConfig) {\n this.config = config;\n\n /**\n * Wraps the service in a tracing proxy via the decorator.\n */\n return createTracingProxy(\n this as TracesService,\n tracer,\n );\n }\n\n /**\n * Handles API errors by throwing a TracesError with operation context.\n * @param operation Description of the operation being performed.\n * @param error The error object returned from the API client.\n * @throws {TracesError}\n */\n private handleApiError(operation: string, error: any): never {\n const errorMessage =\n typeof error === \"string\"\n ? error\n : error?.error ?? error?.message ?? \"Unknown error occurred\";\n throw new TracesError(\n `Failed to ${operation}: ${errorMessage}`,\n operation,\n error,\n );\n }\n\n /**\n * Retrieves a trace by its ID.\n * @param traceId The trace's unique identifier.\n * @param params Optional parameters for the request.\n * @returns The trace response object.\n * @throws {TracesError} If the API call fails.\n */\n async get(\n traceId: string,\n params?: GetTraceParams,\n ): Promise<GetTraceResponse> {\n const { data, error } = await this.config.langwatchApiClient.GET(\"/api/trace/{id}\", {\n params: {\n path: {\n id: traceId,\n },\n },\n query: params,\n });\n\n if (error) {\n this.handleApiError(\"get trace\", error);\n }\n\n return data;\n }\n}\n","import { type InternalConfig } from \"../../types\";\nimport { TracesService } from \"./service\";\nimport { type GetTraceParams, type GetTraceResponse } from \"./types\";\n\nexport class TracesFacade {\n readonly #service: TracesService;\n\n constructor(config: InternalConfig) {\n this.#service = new TracesService(config);\n }\n\n async get(traceId: string, params?: GetTraceParams): Promise<GetTraceResponse> {\n return this.#service.get(traceId, params);\n }\n}\n","import { PromptsFacade, PromptsApiService } from \"./services/prompts\";\nexport { FetchPolicy, type GetPromptOptions } from \"./services/prompts\";\nimport { LocalPromptsService } from \"./services/prompts/local-prompts.service\";\nimport { type InternalConfig } from \"./types\";\nimport { createLangWatchApiClient, type LangwatchApiClient } from \"../internal/api/client\";\nimport { type Logger, NoOpLogger } from \"../logger\";\nimport { TracesFacade } from \"./services/traces/facade\";\nimport { DEFAULT_ENDPOINT } from \"@/internal/constants\";\n\nexport interface LangWatchConstructorOptions {\n apiKey?: string;\n endpoint?: string;\n options?: {\n logger?: Logger;\n };\n}\n\nexport class LangWatch {\n private readonly config: InternalConfig;\n\n readonly prompts: PromptsFacade;\n readonly traces: TracesFacade;\n\n constructor(options: LangWatchConstructorOptions = {}) {\n const apiKey = options.apiKey ?? process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint = options.endpoint ?? process.env.LANGWATCH_ENDPOINT ?? DEFAULT_ENDPOINT;\n\n this.config = this.#createInternalConfig({\n apiKey,\n endpoint,\n options: options.options,\n });\n\n this.prompts = new PromptsFacade({\n promptsApiService: new PromptsApiService(this.config),\n localPromptsService: new LocalPromptsService(),\n ...this.config,\n });\n this.traces = new TracesFacade(this.config);\n }\n\n get apiClient(): LangwatchApiClient {\n return this.config.langwatchApiClient;\n }\n\n #createInternalConfig({\n apiKey,\n endpoint,\n options,\n }: {\n apiKey: string;\n endpoint: string;\n options?: LangWatchConstructorOptions[\"options\"];\n }): InternalConfig {\n return {\n logger: options?.logger ?? new NoOpLogger(),\n langwatchApiClient: createLangWatchApiClient(apiKey, endpoint),\n };\n }\n}\n","import { ConsoleLogger, NoOpLogger } from \"./logger\";\n\nexport {\n getLangWatchTracer,\n getLangWatchLogger,\n attributes,\n} from \"./observability-sdk\";\n\nexport {\n FilterableBatchSpanProcessor,\n type SpanProcessingExcludeRule,\n} from \"./observability-sdk/processors\";\nexport { LangWatchExporter } from \"./observability-sdk/exporters\";\nexport { LangWatch, FetchPolicy, type GetPromptOptions } from \"./client-sdk\";\n\nexport const logger = {\n ConsoleLogger,\n NoOpLogger,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,IAAM,cAAN,cAA0B,MAAM;AAAA,EACrC,YACE,SACgB,WACA,eAChB;AACA,UAAM,OAAO;AAHG;AACA;AAGhB,SAAK,OAAO;AAAA,EACd;AACF;;;ACpBO,IAAM,SAAS,mBAAmB,GAAG,yBAAyB,WAAW,qBAAqB;;;ACY9F,IAAM,gBAAN,MAAoB;AAAA,EAGzB,YAAY,QAAwB;AAClC,SAAK,SAAS;AAKd,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,eAAe,WAAmB,OAAmB;AApC/D;AAqCI,UAAM,eACJ,OAAO,UAAU,WACb,SACA,0CAAO,UAAP,YAAgB,+BAAO,YAAvB,YAAkC;AACxC,UAAM,IAAI;AAAA,MACR,aAAa,SAAS,KAAK,YAAY;AAAA,MACvC;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,IACJ,SACA,QAC2B;AAC3B,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,OAAO,mBAAmB,IAAI,mBAAmB;AAAA,MAClF,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,IAAI;AAAA,QACN;AAAA,MACF;AAAA,MACA,OAAO;AAAA,IACT,CAAC;AAED,QAAI,OAAO;AACT,WAAK,eAAe,aAAa,KAAK;AAAA,IACxC;AAEA,WAAO;AAAA,EACT;AACF;;;AC1EA;AAIO,IAAM,eAAN,MAAmB;AAAA,EAGxB,YAAY,QAAwB;AAFpC,uBAAS;AAGP,uBAAK,UAAW,IAAI,cAAc,MAAM;AAAA,EAC1C;AAAA,EAEA,MAAM,IAAI,SAAiB,QAAoD;AAC7E,WAAO,mBAAK,UAAS,IAAI,SAAS,MAAM;AAAA,EAC1C;AACF;AATW;;;ACLX;AAiBO,IAAM,YAAN,MAAgB;AAAA,EAMrB,YAAY,UAAuC,CAAC,GAAG;AANlD;AAjBP;AAwBI,UAAM,UAAS,mBAAQ,WAAR,YAAkB,QAAQ,IAAI,sBAA9B,YAAmD;AAClE,UAAM,YAAW,mBAAQ,aAAR,YAAoB,QAAQ,IAAI,uBAAhC,YAAsD;AAEvE,SAAK,SAAS,sBAAK,+CAAL,WAA2B;AAAA,MACvC;AAAA,MACA;AAAA,MACA,SAAS,QAAQ;AAAA,IACnB;AAEA,SAAK,UAAU,IAAI,cAAc;AAAA,MAC/B,mBAAmB,IAAI,kBAAkB,KAAK,MAAM;AAAA,MACpD,qBAAqB,IAAI,oBAAoB;AAAA,OAC1C,KAAK,OACT;AACD,SAAK,SAAS,IAAI,aAAa,KAAK,MAAM;AAAA,EAC5C;AAAA,EAEA,IAAI,YAAgC;AAClC,WAAO,KAAK,OAAO;AAAA,EACrB;AAgBF;AA1CO;AA4BL,0BAAqB,SAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AACF,GAImB;AArDrB;AAsDI,SAAO;AAAA,IACL,SAAQ,wCAAS,WAAT,YAAmB,IAAI,WAAW;AAAA,IAC1C,oBAAoB,yBAAyB,QAAQ,QAAQ;AAAA,EAC/D;AACF;;;AC3CK,IAAM,SAAS;AAAA,EACpB;AAAA,EACA;AACF;","names":[]}
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
PromptsApiService,
|
|
6
6
|
PromptsError
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-I3X7VMSP.mjs";
|
|
8
8
|
import "./chunk-FEL5FLHA.mjs";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-VGVWXKVM.mjs";
|
|
10
|
+
import "./chunk-W6FD5ZO3.mjs";
|
|
11
|
+
import "./chunk-WHPBZSTS.mjs";
|
|
12
12
|
import "./chunk-I2SOBPAF.mjs";
|
|
13
13
|
import "./chunk-O6D3W3PG.mjs";
|
|
14
14
|
import "./chunk-BTBSMJTY.mjs";
|
|
@@ -145,4 +145,4 @@ var listCommand = async () => {
|
|
|
145
145
|
export {
|
|
146
146
|
listCommand
|
|
147
147
|
};
|
|
148
|
-
//# sourceMappingURL=list-
|
|
148
|
+
//# sourceMappingURL=list-DQ6XLQCK.mjs.map
|
|
@@ -4,11 +4,11 @@ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkNM5OKM7Fjs = require('./chunk-NM5OKM7F.js');
|
|
8
8
|
require('./chunk-SNDTNU3T.js');
|
|
9
|
-
require('./chunk-
|
|
10
|
-
require('./chunk-
|
|
11
|
-
require('./chunk-
|
|
9
|
+
require('./chunk-BTCJWUS5.js');
|
|
10
|
+
require('./chunk-YWO3NE5A.js');
|
|
11
|
+
require('./chunk-A43BYF5Q.js');
|
|
12
12
|
require('./chunk-CKIZDPIJ.js');
|
|
13
13
|
require('./chunk-WAAQLJ67.js');
|
|
14
14
|
require('./chunk-AZHZ4NB4.js');
|
|
@@ -79,7 +79,7 @@ var formatRelativeTime = (dateString) => {
|
|
|
79
79
|
var listCommand = async () => {
|
|
80
80
|
try {
|
|
81
81
|
_chunkF6E4XQQUjs.checkApiKey.call(void 0, );
|
|
82
|
-
const promptsApiService = new (0,
|
|
82
|
+
const promptsApiService = new (0, _chunkNM5OKM7Fjs.PromptsApiService)();
|
|
83
83
|
const spinner = _ora2.default.call(void 0, "Fetching prompts from server...").start();
|
|
84
84
|
try {
|
|
85
85
|
const allPrompts = await promptsApiService.getAll();
|
|
@@ -118,7 +118,7 @@ var listCommand = async () => {
|
|
|
118
118
|
);
|
|
119
119
|
} catch (error) {
|
|
120
120
|
spinner.fail();
|
|
121
|
-
if (error instanceof
|
|
121
|
+
if (error instanceof _chunkNM5OKM7Fjs.PromptsError) {
|
|
122
122
|
console.error(_chalk2.default.red(`Error: ${error.message}`));
|
|
123
123
|
} else {
|
|
124
124
|
console.error(
|
|
@@ -130,7 +130,7 @@ var listCommand = async () => {
|
|
|
130
130
|
process.exit(1);
|
|
131
131
|
}
|
|
132
132
|
} catch (error) {
|
|
133
|
-
if (error instanceof
|
|
133
|
+
if (error instanceof _chunkNM5OKM7Fjs.PromptsError) {
|
|
134
134
|
console.error(_chalk2.default.red(`Error: ${error.message}`));
|
|
135
135
|
} else {
|
|
136
136
|
console.error(
|
|
@@ -145,4 +145,4 @@ var listCommand = async () => {
|
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
exports.listCommand = listCommand;
|
|
148
|
-
//# sourceMappingURL=list-
|
|
148
|
+
//# sourceMappingURL=list-K6E3OGYH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/list-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/list-K6E3OGYH.js","../src/cli/commands/list.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/list-K6E3OGYH.js","sourcesContent":[null,"import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { PromptsApiService, PromptsError } from \"@/client-sdk/services/prompts\";\nimport { checkApiKey } from \"../utils/apiKey\";\n\n// Helper to strip ANSI codes for length calculation\nconst stripAnsi = (str: string): string => {\n // eslint-disable-next-line no-control-regex\n return str.replace(/\\u001b\\[[0-9;]*m/g, \"\");\n};\n\n// Simple table formatting helper\nconst formatTable = (\n data: Array<Record<string, string>>,\n headers: string[],\n): void => {\n if (data.length === 0) {\n console.log(chalk.gray(\"No prompts found\"));\n return;\n }\n\n // Calculate column widths (strip ANSI codes for accurate length calculation)\n const colWidths: Record<string, number> = {};\n headers.forEach((header) => {\n colWidths[header] = Math.max(\n header.length,\n ...data.map((row) => stripAnsi(row[header] ?? \"\").length),\n );\n });\n\n // Print header\n const headerRow = headers\n .map((header) => chalk.bold(header.padEnd(colWidths[header]!)))\n .join(\" \");\n console.log(headerRow);\n\n // Print separator\n const separator = headers\n .map((header) => \"─\".repeat(colWidths[header]!))\n .join(\" \");\n console.log(chalk.gray(separator));\n\n // Print data rows\n data.forEach((row) => {\n const dataRow = headers\n .map((header) => {\n const value = row[header] ?? \"\";\n const strippedLength = stripAnsi(value).length;\n const paddingNeeded = colWidths[header]! - strippedLength;\n const paddedValue = value + \" \".repeat(Math.max(0, paddingNeeded));\n\n // Color coding\n if (header === \"Name\") {\n return chalk.cyan(paddedValue);\n } else if (header === \"Version\") {\n return chalk.green(paddedValue);\n } else if (header === \"Model\") {\n return chalk.yellow(paddedValue);\n } else {\n return chalk.gray(paddedValue);\n }\n })\n .join(\" \");\n console.log(dataRow);\n });\n};\n\nconst formatRelativeTime = (dateString: string): string => {\n const date = new Date(dateString);\n const now = new Date();\n const diffMs = now.getTime() - date.getTime();\n\n const seconds = Math.floor(diffMs / 1000);\n const minutes = Math.floor(seconds / 60);\n const hours = Math.floor(minutes / 60);\n const days = Math.floor(hours / 24);\n const months = Math.floor(days / 30);\n const years = Math.floor(days / 365);\n\n if (years > 0) return `${years}y ago`;\n if (months > 0) return `${months}mo ago`;\n if (days > 0) return `${days}d ago`;\n if (hours > 0) return `${hours}h ago`;\n if (minutes > 0) return `${minutes}m ago`;\n return `${seconds}s ago`;\n};\n\nexport const listCommand = async (): Promise<void> => {\n try {\n // Check API key before doing anything else\n checkApiKey();\n\n // Get prompts API service\n const promptsApiService = new PromptsApiService();\n\n const spinner = ora(\"Fetching prompts from server...\").start();\n\n try {\n // Fetch all prompts\n const allPrompts = await promptsApiService.getAll();\n const prompts = allPrompts.filter((prompt) => prompt.version);\n const draftPrompts = allPrompts.filter((prompt) => !prompt.version);\n\n spinner.succeed(\n `Found ${prompts.length} published prompt${\n prompts.length !== 1 ? \"s\" : \"\"\n } ` +\n chalk.gray(\n `(+${draftPrompts.length} draft${\n draftPrompts.length !== 1 ? \"s\" : \"\"\n })`,\n ),\n );\n\n if (prompts.length === 0) {\n console.log();\n console.log(chalk.gray(\"No prompts found on the server.\"));\n console.log(chalk.gray(\"Create your first prompt with:\"));\n console.log(chalk.cyan(\" langwatch prompt init\"));\n return;\n }\n\n console.log();\n\n // Format prompts for table display\n const tableData = prompts.map((prompt) => ({\n Name: prompt.handle ?? `${prompt.name} ` + chalk.gray(`(${prompt.id})`),\n Version: prompt.version ? `${prompt.version}` : \"N/A\",\n Model: prompt.model ?? \"N/A\",\n Updated: formatRelativeTime(prompt.updatedAt),\n }));\n\n // Display table\n formatTable(tableData, [\"Name\", \"Version\", \"Model\", \"Updated\"]);\n\n console.log();\n console.log(\n chalk.gray(\n `Use ${chalk.cyan(\n \"langwatch prompt add <name>\",\n )} to add a prompt to your project`,\n ),\n );\n } catch (error) {\n spinner.fail();\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Error fetching prompts: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`,\n ),\n );\n }\n process.exit(1);\n }\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Unexpected error: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`,\n ),\n );\n }\n process.exit(1);\n }\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkYWO3NE5Ajs = require('./chunk-YWO3NE5A.js');
|
|
4
4
|
require('./chunk-OHM7JUMR.js');
|
|
5
5
|
|
|
6
6
|
// src/cli/commands/login.ts
|
|
@@ -11,7 +11,7 @@ var _ora = require('ora'); var _ora2 = _interopRequireDefault(_ora);
|
|
|
11
11
|
var _prompts = require('prompts'); var _prompts2 = _interopRequireDefault(_prompts);
|
|
12
12
|
var getEndpoint = () => {
|
|
13
13
|
var _a;
|
|
14
|
-
return (_a = process.env.LANGWATCH_ENDPOINT) != null ? _a :
|
|
14
|
+
return (_a = process.env.LANGWATCH_ENDPOINT) != null ? _a : _chunkYWO3NE5Ajs.DEFAULT_ENDPOINT;
|
|
15
15
|
};
|
|
16
16
|
var updateEnvFile = (apiKey) => {
|
|
17
17
|
const envPath = path.join(process.cwd(), ".env");
|
|
@@ -111,4 +111,4 @@ var loginCommand = async () => {
|
|
|
111
111
|
|
|
112
112
|
|
|
113
113
|
exports.loginCommand = loginCommand;
|
|
114
|
-
//# sourceMappingURL=login-
|
|
114
|
+
//# sourceMappingURL=login-HX7WMLPL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/login-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/login-HX7WMLPL.js","../src/cli/commands/login.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B;AACA;ACLA,+DAAoB;AACpB,uEAAsB;AACtB,4EAAkB;AAClB,oEAAgB;AAChB,oFAAoB;AAGpB,IAAM,YAAA,EAAc,CAAA,EAAA,GAAc;AAPlC,EAAA,IAAA,EAAA;AAQE,EAAA,OAAA,CAAO,GAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,kBAAA,EAAA,GAAZ,KAAA,EAAA,GAAA,EAAkC,iCAAA;AAC3C,CAAA;AAEA,IAAM,cAAA,EAAgB,CACpB,MAAA,EAAA,GACyD;AACzD,EAAA,MAAM,QAAA,EAAe,IAAA,CAAA,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,MAAM,CAAA;AAG/C,EAAA,GAAA,CAAI,CAAI,EAAA,CAAA,UAAA,CAAW,OAAO,CAAA,EAAG;AAE3B,IAAG,EAAA,CAAA,aAAA,CAAc,OAAA,EAAS,CAAA,kBAAA,EAAqB,MAAM,CAAA;AAAA,CAAI,CAAA;AACzD,IAAA,OAAO,EAAE,OAAA,EAAS,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,IAAA,EAAM,QAAQ,CAAA;AAAA,EACxD;AAGA,EAAA,MAAM,QAAA,EAAa,EAAA,CAAA,YAAA,CAAa,OAAA,EAAS,OAAO,CAAA;AAChD,EAAA,MAAM,MAAA,EAAQ,OAAA,CAAQ,KAAA,CAAM,IAAI,CAAA;AAGhC,EAAA,IAAI,MAAA,EAAQ,KAAA;AACZ,EAAA,MAAM,aAAA,EAAe,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAA,GAAS;AACvC,IAAA,GAAA,CAAI,IAAA,CAAK,UAAA,CAAW,oBAAoB,CAAA,EAAG;AACzC,MAAA,MAAA,EAAQ,IAAA;AACR,MAAA,OAAO,CAAA,kBAAA,EAAqB,MAAM,CAAA,CAAA;AACpC,IAAA;AACO,IAAA;AACR,EAAA;AAEW,EAAA;AAEoB,IAAA;AACV,MAAA;AACb,IAAA;AACiB,MAAA;AACxB,IAAA;AACF,EAAA;AAEuC,EAAA;AACL,EAAA;AACpC;AAEuD;AACjD,EAAA;AACqB,IAAA;AACf,IAAA;AACA,MAAA;AACJ,QAAA;AACF,MAAA;AACF,IAAA;AACY,IAAA;AAGiB,IAAA;AACF,IAAA;AAEQ,IAAA;AAGf,IAAA;AAEhB,IAAA;AAC+B,MAAA;AACf,MAAA;AACc,MAAA;AAClB,IAAA;AACD,MAAA;AACY,MAAA;AAC3B,IAAA;AAEY,IAAA;AACW,IAAA;AACA,IAAA;AACA,IAAA;AACX,IAAA;AAGmB,IAAA;AACvB,MAAA;AACA,MAAA;AACG,MAAA;AACoB,MAAA;AACI,QAAA;AACtB,UAAA;AACT,QAAA;AACuB,QAAA;AACd,UAAA;AACT,QAAA;AACO,QAAA;AACT,MAAA;AACD,IAAA;AAEqB,IAAA;AACK,MAAA;AACX,MAAA;AAChB,IAAA;AAEoC,IAAA;AAGJ,IAAA;AAEpB,IAAA;AACY,IAAA;AAED,IAAA;AACE,MAAA;AACK,IAAA;AACL,MAAA;AAClB,IAAA;AACkB,MAAA;AACzB,IAAA;AAEY,IAAA;AACY,IAAA;AACD,IAAA;AACA,IAAA;AACT,EAAA;AACN,IAAA;AACA,MAAA;AAEF,QAAA;AAEJ,MAAA;AACF,IAAA;AACc,IAAA;AAChB,EAAA;AACF;ADzByC;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/login-HX7WMLPL.js","sourcesContent":[null,"import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport prompts from \"prompts\";\nimport { DEFAULT_ENDPOINT } from \"@/internal/constants\";\n\nconst getEndpoint = (): string => {\n return process.env.LANGWATCH_ENDPOINT ?? DEFAULT_ENDPOINT;\n};\n\nconst updateEnvFile = (\n apiKey: string,\n): { created: boolean; updated: boolean; path: string } => {\n const envPath = path.join(process.cwd(), \".env\");\n\n // Check if .env exists\n if (!fs.existsSync(envPath)) {\n // Create new .env file\n fs.writeFileSync(envPath, `LANGWATCH_API_KEY=${apiKey}\\n`);\n return { created: true, updated: false, path: envPath };\n }\n\n // Read existing .env file\n const content = fs.readFileSync(envPath, \"utf-8\");\n const lines = content.split(\"\\n\");\n\n // Check if LANGWATCH_API_KEY already exists and update it\n let found = false;\n const updatedLines = lines.map((line) => {\n if (line.startsWith(\"LANGWATCH_API_KEY=\")) {\n found = true;\n return `LANGWATCH_API_KEY=${apiKey}`;\n }\n return line;\n });\n\n if (!found) {\n // Add to end of file\n if (content.endsWith(\"\\n\") || content === \"\") {\n updatedLines.push(`LANGWATCH_API_KEY=${apiKey}`);\n } else {\n updatedLines.push(\"\", `LANGWATCH_API_KEY=${apiKey}`);\n }\n }\n\n fs.writeFileSync(envPath, updatedLines.join(\"\\n\"));\n return { created: false, updated: found, path: envPath };\n};\n\nexport const loginCommand = async (): Promise<void> => {\n try {\n console.log(chalk.blue(\"🔐 LangWatch Login\"));\n console.log(\n chalk.gray(\n \"This will open your browser to get an API key from LangWatch.\",\n ),\n );\n console.log();\n\n // Get the authorization URL\n const endpoint = getEndpoint();\n const authUrl = `${endpoint}/authorize`;\n\n console.log(chalk.cyan(`Opening: ${authUrl}`));\n\n // Open browser\n const spinner = ora(\"Opening browser...\").start();\n\n try {\n const open = (await import(\"open\")).default;\n await open(authUrl);\n spinner.succeed(\"Browser opened\");\n } catch (error) {\n spinner.fail(\"Failed to open browser\");\n console.log(chalk.yellow(`Please manually open: ${chalk.cyan(authUrl)}`));\n }\n\n console.log();\n console.log(chalk.gray(\"1. Log in to LangWatch in your browser\"));\n console.log(chalk.gray(\"2. Copy your API key\"));\n console.log(chalk.gray(\"3. Come back here and paste it\"));\n console.log();\n\n // Wait for user input using prompts library\n const response = await prompts({\n type: \"password\",\n name: \"apiKey\",\n message: \"Paste your API key here:\",\n validate: (value: string) => {\n if (!value || value.trim() === \"\") {\n return \"API key is required\";\n }\n if (value.length < 10) {\n return \"API key seems too short. Please check and try again.\";\n }\n return true;\n },\n });\n\n if (!response.apiKey) {\n console.log(chalk.yellow(\"Login cancelled\"));\n process.exit(0);\n }\n\n const apiKey = response.apiKey.trim();\n\n // Save to .env file\n const envResult = updateEnvFile(apiKey);\n\n console.log();\n console.log(chalk.green(\"✓ API key saved successfully!\"));\n\n if (envResult.created) {\n console.log(chalk.gray(`• Created .env file with your API key`));\n } else if (envResult.updated) {\n console.log(chalk.gray(`• Updated existing API key in .env file`));\n } else {\n console.log(chalk.gray(`• Added API key to existing .env file`));\n }\n\n console.log();\n console.log(chalk.green(\"🎉 You're all set! You can now use:\"));\n console.log(chalk.cyan(\" langwatch prompt add <name>\"));\n console.log(chalk.cyan(\" langwatch prompt sync\"));\n } catch (error) {\n console.error(\n chalk.red(\n `Error during login: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`,\n ),\n );\n process.exit(1);\n }\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULT_ENDPOINT
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W6FD5ZO3.mjs";
|
|
4
4
|
import "./chunk-URTD2WOC.mjs";
|
|
5
5
|
|
|
6
6
|
// src/cli/commands/login.ts
|
|
@@ -111,4 +111,4 @@ var loginCommand = async () => {
|
|
|
111
111
|
export {
|
|
112
112
|
loginCommand
|
|
113
113
|
};
|
|
114
|
-
//# sourceMappingURL=login-
|
|
114
|
+
//# sourceMappingURL=login-TJ2NCUAJ.mjs.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, a as LangWatchExporterOptions, c as LangWatchLogger, L as LangWatchTraceExporter, a as LangWatchTraceExporterOptions, S as SpanProcessingExcludeRule, g as getLangWatchLogger, b as getLangWatchLoggerFromProvider, d as getLangWatchTracer, e as getLangWatchTracerFromProvider } from '../implementation-
|
|
1
|
+
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, a as LangWatchExporterOptions, c as LangWatchLogger, L as LangWatchTraceExporter, a as LangWatchTraceExporterOptions, S as SpanProcessingExcludeRule, g as getLangWatchLogger, b as getLangWatchLoggerFromProvider, d as getLangWatchTracer, e as getLangWatchTracerFromProvider } from '../implementation-CVrmD0bz.mjs';
|
|
2
2
|
import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
|
|
3
3
|
import { a as DataCaptureMode } from '../types-Dmazk5Bk.mjs';
|
|
4
4
|
export { b as DataCaptureConfig, c as DataCaptureContext, D as DataCaptureOptions, d as DataCapturePredicate } from '../types-Dmazk5Bk.mjs';
|
|
5
|
-
import { L as LangWatchSpan } from '../types-
|
|
6
|
-
export { f as INPUT_OUTPUT_TYPES, I as InputOutputType, J as JsonSerializable, b as LangWatchSpanMetrics, d as LangWatchSpanOptions, c as LangWatchSpanRAGContext, a as LangWatchTracer, e as SimpleChatMessage, S as SpanType, s as spanTypes } from '../types-
|
|
5
|
+
import { L as LangWatchSpan } from '../types-Kts5RGLY.mjs';
|
|
6
|
+
export { f as INPUT_OUTPUT_TYPES, I as InputOutputType, J as JsonSerializable, b as LangWatchSpanMetrics, d as LangWatchSpanOptions, c as LangWatchSpanRAGContext, a as LangWatchTracer, e as SimpleChatMessage, S as SpanType, s as spanTypes } from '../types-Kts5RGLY.mjs';
|
|
7
7
|
import { Span } from '@opentelemetry/api';
|
|
8
8
|
export { b as SemConvAttributeKey, S as SemConvAttributes, a as SemConvLogRecordAttributes, l as attributes } from '../types-DRiQaKFG.mjs';
|
|
9
9
|
import '@opentelemetry/sdk-trace-base';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, a as LangWatchExporterOptions, c as LangWatchLogger, L as LangWatchTraceExporter, a as LangWatchTraceExporterOptions, S as SpanProcessingExcludeRule, g as getLangWatchLogger, b as getLangWatchLoggerFromProvider, d as getLangWatchTracer, e as getLangWatchTracerFromProvider } from '../implementation-
|
|
1
|
+
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, a as LangWatchExporterOptions, c as LangWatchLogger, L as LangWatchTraceExporter, a as LangWatchTraceExporterOptions, S as SpanProcessingExcludeRule, g as getLangWatchLogger, b as getLangWatchLoggerFromProvider, d as getLangWatchTracer, e as getLangWatchTracerFromProvider } from '../implementation-CPxv2BdW.js';
|
|
2
2
|
import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
|
|
3
3
|
import { a as DataCaptureMode } from '../types-Dmazk5Bk.js';
|
|
4
4
|
export { b as DataCaptureConfig, c as DataCaptureContext, D as DataCaptureOptions, d as DataCapturePredicate } from '../types-Dmazk5Bk.js';
|
|
5
|
-
import { L as LangWatchSpan } from '../types-
|
|
6
|
-
export { f as INPUT_OUTPUT_TYPES, I as InputOutputType, J as JsonSerializable, b as LangWatchSpanMetrics, d as LangWatchSpanOptions, c as LangWatchSpanRAGContext, a as LangWatchTracer, e as SimpleChatMessage, S as SpanType, s as spanTypes } from '../types-
|
|
5
|
+
import { L as LangWatchSpan } from '../types-usU5mTCX.js';
|
|
6
|
+
export { f as INPUT_OUTPUT_TYPES, I as InputOutputType, J as JsonSerializable, b as LangWatchSpanMetrics, d as LangWatchSpanOptions, c as LangWatchSpanRAGContext, a as LangWatchTracer, e as SimpleChatMessage, S as SpanType, s as spanTypes } from '../types-usU5mTCX.js';
|
|
7
7
|
import { Span } from '@opentelemetry/api';
|
|
8
8
|
export { b as SemConvAttributeKey, S as SemConvAttributes, a as SemConvLogRecordAttributes, l as attributes } from '../types-DRiQaKFG.js';
|
|
9
9
|
import '@opentelemetry/sdk-trace-base';
|